diff --git a/meson-0.54.3.tar.gz b/meson-0.54.3.tar.gz deleted file mode 100644 index 5088318..0000000 --- a/meson-0.54.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2bdf4cf0694e696b48261cdd14380fb1d0fe33d24744d8b2df0c12f33ebb662 -size 1690919 diff --git a/meson-0.54.3.tar.gz.asc b/meson-0.54.3.tar.gz.asc deleted file mode 100644 index cb04f30..0000000 --- a/meson-0.54.3.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl7nrU8ACgkQO/RpO/7r -lCgctQ//aaBmSPDXNxXuIbJBrfVT+yOqibmzqq1GC5ut2p2zi2JQqG8C+x0yqI/s -GMWubAnfXcmnSDITVH+6zN2fs2J4ejftZzxUF+oruvwztr6QtNmbkXZ43H5tsAJu -Q2eSou4sEmlEIW193uflkohgRUVXcbPS9TRwq33h09sEVIGE2zboYvdN9E9C4AVV -mlOsXmAtdZT3y3QLgnzvOXd+9gRz/QPjFECpkJJeKx/pPFEwWpkbi5b2XTH1CVmo -0QuZzL1YbUB7RhlkZAkpXoYyoaFg3wHTc5CfOgCsoTxfxpjzilhIsdXGzEgbeGfm -Wja5Cp0aoYahPKEVY9FeQtImsxz4aFuX7c+T70yLmDw0TFR6ezCpg5H84GLR34HP -gtpcPNuH6o19JsBar/7bXgbYcREt1fRHSVnsIjE17l/Ogf2keknW+zdiO85H45DC -MdlRi2CNRPcEwfiGV+0tfRC1vqowyg1i6zLyQm0Sill2Xu5tWzutsbxOXBPQnFzn -N8fSQHb510+9JIibBO5APB+1Zmg8SqRv21350aKi+1vNncOQTnkoz4uRx4j5Z7bH -D/L8PwwClM59e32/CWPpr0zGNgdFDeXoQQ/X0GUoZKlQ9uSPYtzQl6kO9CuiOkWA -OtB9tLosyf0BZHlNwf304+3EnDCJY3e1kbZDWyc+ja7ZwIquhiw= -=qN7q ------END PGP SIGNATURE----- diff --git a/meson-0.55.1.tar.gz b/meson-0.55.1.tar.gz new file mode 100644 index 0000000..73fd39b --- /dev/null +++ b/meson-0.55.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b5741f884e04928bdfa1947467ff06afa6c98e623c25cef75adf71ca39ce080 +size 1740517 diff --git a/meson-0.55.1.tar.gz.asc b/meson-0.55.1.tar.gz.asc new file mode 100644 index 0000000..7606360 --- /dev/null +++ b/meson-0.55.1.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl84KRIACgkQO/RpO/7r +lCjTtA//TYt4PrlN+c81Qpl3Bzk1MUTJD435i2aMTrOap30s7KZLnUJhnjhwMTkG +CZGIcXN9I20pUHXmWdnqPNMdnB411jnjtSx7VzP9/tjmdG69wHKb2C8BD7g8UTr2 +zIyGmSa/VQAEeCIXuKutNxVreRvFdFt8tP8WrQn37zNrXAogLb9TQ0sE/mvzRDzs +O8brztF6rpYZ2owP2W8IAH3xW1wAe4TfzwOVmpPAEeH5OMRpdn602xDXBbx6Zvbf +2jHFJqY8vGmLGpqUEih+vQEQ6oDHakxareUISMmhn2S7WnIEgPmLh6/+N4xNCFYy +vdyJMz1mzEG7aiT9+UxYHEb7iN+MQzqIOcYfwNB3s6KuC23xz+YzW59ev+3VYgjH +h0OVAIfr4l88iUYCuZdDMNjIghERz1yZttstkFvE2OyqPIRhysnv+9fYkkNZCaCQ +R2vCk4b470+XhpcarRFkFrrOaimLyfPpnTBe0bnzGPgui/W6tIzGN2iLoTYSWdM1 +T4iMSiN4RVO4BpfB6kAKbRgtKrUPsglERTW9i8GDdLlU9fIALkJtDvkwaBJs/ibW +JZKDLkNXJGRsrsbMaH3nvNnbmTItHeb9ocdxXBP1h9XNlw8Bn2KtmUN4nwtd+2P3 +Xt8o3KxekEkW6NbxPfOwIragFdv3UaM9qTUQmpUJqH9V109/lsk= +=Etlk +-----END PGP SIGNATURE----- diff --git a/meson-fix-gcc48.patch b/meson-fix-gcc48.patch deleted file mode 100644 index 8e7b881..0000000 --- a/meson-fix-gcc48.patch +++ /dev/null @@ -1,101 +0,0 @@ ---- a/mesonbuild/compilers/cpp.py -+++ b/mesonbuild/compilers/cpp.py -@@ -140,8 +140,8 @@ class ClangCPPCompiler(ClangCompiler, CP - def get_options(self): - opts = CPPCompiler.get_options(self) - opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', -- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a', -- 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'], -+ ['none', 'c++98', 'c++03', 'c++11', 'c++1y', 'c++14', 'c++17', 'c++1z', 'c++2a', -+ 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'], - 'none')}) - return opts - -@@ -171,8 +171,8 @@ class ArmclangCPPCompiler(ArmclangCompil - def get_options(self): - opts = CPPCompiler.get_options(self) - opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', -- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', -- 'gnu++98', 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17'], -+ ['none', 'c++98', 'c++03', 'c++11', 'c++1y', 'c++14', 'c++17', -+ 'gnu++98', 'gnu++03', 'gnu++11', 'gnu++1y', 'gnu++14', 'gnu++17'], - 'none')}) - return opts - -@@ -197,10 +197,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom - '3': default_warn_args + ['-Wextra', '-Wpedantic']} - - def get_options(self): -+ cpp_stds = ['c++98', 'c++03', 'c++11', 'c++1y', 'gnu++11', 'gnu++1y'] -+ if version_compare(self.version, '>=5.0.0'): -+ cpp_stds += ['c++14', 'c++17', 'c++1z', 'c++2a', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'] - opts = CPPCompiler.get_options(self) - opts.update({'cpp_std': coredata.UserComboOption('cpp_std', 'C++ language standard to use', -- ['none', 'c++98', 'c++03', 'c++11', 'c++14', 'c++17', 'c++1z', 'c++2a', -- 'gnu++03', 'gnu++11', 'gnu++14', 'gnu++17', 'gnu++1z', 'gnu++2a'], -+ ['none'] + cpp_stds, - 'none'), - 'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl', - 'STL debug mode', -@@ -276,7 +278,7 @@ class IntelCPPCompiler(IntelCompiler, CP - c_stds = ['c++98', 'c++03'] - g_stds = ['gnu++98', 'gnu++03'] - if version_compare(self.version, '>=15.0.0'): -- c_stds += ['c++11', 'c++14'] -+ c_stds += ['c++11', 'c++1y', 'c++14'] - g_stds += ['gnu++11'] - if version_compare(self.version, '>=16.0.0'): - c_stds += ['c++17'] ---- a/mesonbuild/minit.py -+++ b/mesonbuild/minit.py -@@ -143,7 +143,7 @@ int main(int argc, char **argv) {{ - hello_cpp_meson_template = '''project('{project_name}', 'cpp', - version : '{version}', - default_options : ['warning_level=3', -- 'cpp_std=c++14']) -+ 'cpp_std=c++1y']) - - exe = executable('{exe_name}', '{source_name}', - install : true) -@@ -214,7 +214,7 @@ int main(int argc, char **argv) {{ - - lib_cpp_meson_template = '''project('{project_name}', 'cpp', - version : '{version}', -- default_options : ['warning_level=3', 'cpp_std=c++14']) -+ default_options : ['warning_level=3', 'cpp_std=c++1y']) - - # These arguments are only used to build the shared library - # not the executables that use the library. -@@ -404,7 +404,7 @@ def create_meson_build(options): - default_options = ['warning_level=3'] - if options.language == 'cpp': - # This shows how to set this very common option. -- default_options += ['cpp_std=c++14'] -+ default_options += ['cpp_std=c++1y'] - # If we get a meson.build autoformatter one day, this code could - # be simplified quite a bit. - formatted_default_options = ', '.join("'{}'".format(x) for x in default_options) ---- "a/test cases/common/152 simd/simdchecker.c" -+++ "b/test cases/common/152 simd/simdchecker.c" -@@ -10,11 +10,12 @@ int check_simd_implementation(float *fou - const float *expected, - simd_func fptr, - const int blocksize) { -+ int i; - int rv = 0; - memcpy(four, four_initial, blocksize*sizeof(float)); - printf("Using %s.\n", simd_type); - fptr(four); -- for(int i=0; i -Date: Fri, 26 Jun 2020 11:45:30 -0500 -Subject: [PATCH] test: fix enum generation for GNOME - -Fixes: #7252 ---- - test cases/frameworks/7 gnome/mkenums/meson.build | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/test cases/frameworks/7 gnome/mkenums/meson.build b/test cases/frameworks/7 gnome/mkenums/meson.build -index af4a9017e..3d7adf052 100644 ---- a/test cases/frameworks/7 gnome/mkenums/meson.build -+++ b/test cases/frameworks/7 gnome/mkenums/meson.build -@@ -126,6 +126,14 @@ enums5 = gnome.mkenums_simple('enums5', sources : 'meson-sample.h', - install_header : true, - decorator : 'MESON_EXPORT', - header_prefix : '#include "meson-decls.h"') -+ -+conf = configuration_data() -+conf.set('ENUM_FILE', 'enums5.h') -+main = configure_file( -+ input : 'main.c', -+ output : 'main5.c', -+ configuration : conf) -+ - enumexe5 = executable('enumprog5', main, enums5, dependencies : gobj) - - # Generate template then use as input to mkenums --- -2.27.0 - diff --git a/meson-restore-python3.4.patch b/meson-restore-python3.4.patch deleted file mode 100644 index ecdf408..0000000 --- a/meson-restore-python3.4.patch +++ /dev/null @@ -1,392 +0,0 @@ ---- a/mesonbuild/backend/ninjabackend.py -+++ b/mesonbuild/backend/ninjabackend.py -@@ -32,7 +32,7 @@ from .. import compilers - from ..compilers import CompilerArgs, CCompiler, VisualStudioCCompiler - from ..linkers import ArLinker - from ..mesonlib import File, MesonException, OrderedSet --from ..mesonlib import get_compiler_for_source, has_path_sep -+from ..mesonlib import get_compiler_for_source, has_path_sep, commonpath - from .backends import CleanTrees - from ..build import InvalidArguments - -@@ -1025,8 +1025,8 @@ int dummy; - # Check if the vala file is in a subdir of --basedir - abs_srcbasedir = os.path.join(self.environment.get_source_dir(), target.get_subdir()) - abs_vala_file = os.path.join(self.environment.get_build_dir(), vala_file) -- if PurePath(os.path.commonpath((abs_srcbasedir, abs_vala_file))) == PurePath(abs_srcbasedir): -- vala_c_subdir = PurePath(abs_vala_file).parent.relative_to(abs_srcbasedir) -+ if PurePath(commonpath((abs_srcbasedir, abs_vala_file))) == PurePath(abs_srcbasedir): -+ vala_c_subdir = str(PurePath(abs_vala_file).parent.relative_to(abs_srcbasedir)) - vala_c_file = os.path.join(str(vala_c_subdir), vala_c_file) - else: - path_to_target = os.path.join(self.build_to_src, target.get_subdir()) ---- a/mesonbuild/coredata.py -+++ b/mesonbuild/coredata.py -@@ -18,7 +18,7 @@ import sys - from pathlib import PurePath - from collections import OrderedDict - from .mesonlib import ( -- MesonException, default_libdir, default_libexecdir, default_prefix -+ MesonException, default_libdir, default_libexecdir, default_prefix, commonpath - ) - from .wrap import WrapMode - import ast -@@ -379,7 +379,7 @@ class CoreData: - # commonpath will always return a path in the native format, so we - # must use pathlib.PurePath to do the same conversion before - # comparing. -- if os.path.commonpath([value, prefix]) != str(PurePath(prefix)): -+ if commonpath([value, prefix]) != str(PurePath(prefix)): - m = 'The value of the {!r} option is {!r} which must be a ' \ - 'subdir of the prefix {!r}.\nNote that if you pass a ' \ - 'relative path, it is assumed to be a subdir of prefix.' ---- a/mesonbuild/interpreterbase.py -+++ b/mesonbuild/interpreterbase.py -@@ -617,7 +617,9 @@ The result of this is undefined and will - - if cur.operation == 'add': - if isinstance(l, dict) and isinstance(r, dict): -- return {**l, **r} -+ ret = l.copy() -+ ret.update(r) -+ return ret - try: - return l + r - except Exception as e: -@@ -718,7 +720,8 @@ The result of this is undefined and will - elif isinstance(old_variable, dict): - if not isinstance(addition, dict): - raise InvalidArguments('The += operator requires a dict on the right hand side if the variable on the left is a dict') -- new_value = {**old_variable, **addition} -+ new_value = old_variable.copy() -+ new_value.update(addition) - # Add other data types here. - else: - raise InvalidArguments('The += operator currently only works with arrays, dicts, strings or ints ') ---- a/mesonbuild/mesonlib.py -+++ b/mesonbuild/mesonlib.py -@@ -20,6 +20,7 @@ import stat - import time - import platform, subprocess, operator, os, shutil, re - import collections -+import collections.abc - from enum import Enum - from functools import lru_cache - -@@ -1149,6 +1150,30 @@ def substring_is_in_list(substr, strlist - return True - return False - -+def commonpath(paths): -+ ''' -+ For use on Python 3.4 where os.path.commonpath is not available. -+ ''' -+ if sys.version_info >= (3, 5): -+ return os.path.commonpath(paths) -+ -+ import pathlib -+ if not paths: -+ raise ValueError('commonpath() arg is an empty sequence') -+ common = pathlib.PurePath(paths[0]) -+ for path in paths[1:]: -+ new = [] -+ path = pathlib.PurePath(path) -+ for c, p in zip(common.parts, path.parts): -+ if c != p: -+ break -+ new.append(c) -+ if not new: -+ raise ValueError("Can't mix absolute and relative paths") from None -+ new = os.path.join(*new) -+ common = pathlib.PurePath(new) -+ return str(common) -+ - class OrderedSet(collections.abc.MutableSet): - """A set that preserves the order in which items are added, by first - insertion. ---- a/mesonbuild/mesonmain.py -+++ b/mesonbuild/mesonmain.py -@@ -149,8 +149,8 @@ def run_script_command(script_name, scri - return 1 - - def run(original_args, mainfile): -- if sys.version_info < (3, 5): -- print('Meson works correctly only with python 3.5+.') -+ if sys.version_info < (3, 4): -+ print('Meson works correctly only with python 3.4+.') - print('You have python %s.' % sys.version) - print('Please update your environment') - return 1 ---- a/mesonbuild/minstall.py -+++ b/mesonbuild/minstall.py -@@ -348,8 +348,8 @@ class Installer: - if shutil.which('pkexec') is not None and 'PKEXEC_UID' not in os.environ: - print('Installation failed due to insufficient permissions.') - print('Attempting to use polkit to gain elevated privileges...') -- os.execlp('pkexec', 'pkexec', sys.executable, main_file, *sys.argv[1:], -- '-C', os.getcwd()) -+ os.execvp('pkexec', ['pkexec', sys.executable, main_file] + sys.argv[1:] + -+ ['-C', os.getcwd()]) - else: - raise - ---- a/mesonbuild/modules/python.py -+++ b/mesonbuild/modules/python.py -@@ -516,7 +516,7 @@ class PythonModule(ExtensionModule): - # Sanity check, we expect to have something that at least quacks in tune - try: - info = json.loads(run_command(python, INTROSPECT_COMMAND)) -- except json.JSONDecodeError: -+ except ValueError: - info = None - - if isinstance(info, dict) and 'version' in info and self._check_version(name_or_path, info['version']): ---- a/mesonbuild/mtest.py -+++ b/mesonbuild/mtest.py -@@ -114,7 +114,12 @@ def returncode_to_status(retcode): - if retcode < 0: - signum = -retcode - try: -- signame = signal.Signals(signum).name -+ if sys.version_info >= (3, 5): -+ signame = signal.Signals(signum).name -+ else: -+ try: signame = [next(n for n, i in signal.__dict__.items() -+ if i == signum)] -+ except StopIteration: raise ValueError - except ValueError: - signame = 'SIGinvalid' - return '(killed by signal %d %s)' % (signum, signame) -@@ -124,7 +129,12 @@ def returncode_to_status(retcode): - - signum = retcode - 128 - try: -- signame = signal.Signals(signum).name -+ if sys.version_info >= (3, 5): -+ signame = signal.Signals(signum).name -+ else: -+ try: signame = [next(n for n, i in signal.__dict__.items() -+ if i == signum)] -+ except StopIteration: raise ValueError - except ValueError: - signame = 'SIGinvalid' - return '(exit status %d or signal %d %s)' % (retcode, signum, signame) ---- a/mesonbuild/scripts/gtkdochelper.py -+++ b/mesonbuild/scripts/gtkdochelper.py -@@ -17,7 +17,7 @@ import subprocess - import shlex - import shutil - import argparse --from ..mesonlib import MesonException, Popen_safe, is_windows -+from ..mesonlib import MesonException, Popen_safe, commonpath, is_windows - from . import destdir_join - - parser = argparse.ArgumentParser() -@@ -108,7 +108,7 @@ def build_gtkdoc(source_root, build_root - # FIXME: Use mesonlib.File objects so we don't need to do this - if not os.path.isabs(f): - f = os.path.join(doc_src, f) -- elif os.path.commonpath([f, build_root]) == build_root: -+ elif commonpath([f, build_root]) == build_root: - continue - shutil.copyfile(f, os.path.join(abs_out, os.path.basename(f))) - ---- a/run_meson_command_tests.py -+++ b/run_meson_command_tests.py -@@ -19,6 +19,7 @@ import os - import tempfile - import unittest - import subprocess -+import sys - import zipapp - from pathlib import Path - -@@ -68,9 +69,15 @@ class CommandTests(unittest.TestCase): - # If this call hangs CI will just abort. It is very hard to distinguish - # between CI issue and test bug in that case. Set timeout and fail loud - # instead. -- p = subprocess.run(command, stdout=subprocess.PIPE, -- env=os.environ.copy(), universal_newlines=True, -- cwd=workdir, timeout=60 * 5) -+ if sys.version_info >= (3, 5): -+ p = subprocess.run(command, stdout=subprocess.PIPE, -+ env=os.environ.copy(), universal_newlines=True, -+ cwd=workdir, timeout=60 * 5) -+ else: -+ p = subprocess.Popen(command, stdout=subprocess.PIPE, -+ env=os.environ.copy(), universal_newlines=True, -+ cwd=workdir) -+ p.stdout = p.communicate(timeout=60 * 5)[0] - print(p.stdout) - if p.returncode != 0: - raise subprocess.CalledProcessError(p.returncode, command) ---- a/run_unittests.py -+++ b/run_unittests.py -@@ -956,6 +956,24 @@ class DataTests(unittest.TestCase): - defined = set([a.strip() for a in res.group().split('\\')][1:]) - self.assertEqual(defined, set(chain(interp.funcs.keys(), interp.builtin.keys()))) - -+ def test_commonpath(self): -+ from os.path import sep -+ commonpath = mesonbuild.mesonlib.commonpath -+ self.assertRaises(ValueError, commonpath, []) -+ self.assertEqual(commonpath(['/usr', '/usr']), sep + 'usr') -+ self.assertEqual(commonpath(['/usr', '/usr/']), sep + 'usr') -+ self.assertEqual(commonpath(['/usr', '/usr/bin']), sep + 'usr') -+ self.assertEqual(commonpath(['/usr/', '/usr/bin']), sep + 'usr') -+ self.assertEqual(commonpath(['/usr/./', '/usr/bin']), sep + 'usr') -+ self.assertEqual(commonpath(['/usr/bin', '/usr/bin']), sep + 'usr' + sep + 'bin') -+ self.assertEqual(commonpath(['/usr//bin', '/usr/bin']), sep + 'usr' + sep + 'bin') -+ self.assertEqual(commonpath(['/usr/./bin', '/usr/bin']), sep + 'usr' + sep + 'bin') -+ self.assertEqual(commonpath(['/usr/local', '/usr/lib']), sep + 'usr') -+ self.assertEqual(commonpath(['/usr', '/bin']), sep) -+ prefix = '/some/path/to/prefix' -+ libdir = '/some/path/to/prefix/libdir' -+ self.assertEqual(commonpath([prefix, libdir]), str(PurePath(prefix))) -+ - - class BasePlatformTests(unittest.TestCase): - def setUp(self): -@@ -1036,9 +1054,15 @@ class BasePlatformTests(unittest.TestCas - # If this call hangs CI will just abort. It is very hard to distinguish - # between CI issue and test bug in that case. Set timeout and fail loud - # instead. -- p = subprocess.run(command, stdout=subprocess.PIPE, -- stderr=subprocess.STDOUT, env=os.environ.copy(), -- universal_newlines=True, cwd=workdir, timeout=60 * 5) -+ if sys.version_info >= (3, 5): -+ p = subprocess.run(command, stdout=subprocess.PIPE, -+ stderr=subprocess.STDOUT, env=os.environ.copy(), -+ universal_newlines=True, cwd=workdir, timeout=60 * 5) -+ else: -+ p = subprocess.Popen(command, stdout=subprocess.PIPE, -+ stderr=subprocess.STDOUT, env=os.environ.copy(), -+ universal_newlines=True, cwd=workdir) -+ p.stdout = p.communicate(timeout=60 * 5)[0] - print(p.stdout) - if p.returncode != 0: - if 'MESON_SKIP_TEST' in p.stdout: -@@ -2849,17 +2873,23 @@ recommended as it is not supported on so - of = open(mfile, 'w') - of.write("project('foobar', 'c')\n") - of.close() -- pc = subprocess.run(self.setup_command, -- cwd=srcdir, -- stdout=subprocess.PIPE, -- stderr=subprocess.DEVNULL) -+ if sys.version_info >= (3, 5): -+ pc = subprocess.run(self.setup_command, -+ cwd=srcdir, -+ stdout=subprocess.PIPE, -+ stderr=subprocess.DEVNULL) -+ else: -+ pc = subprocess.Popen(self.setup_command, -+ cwd=srcdir, -+ stdout=subprocess.PIPE, -+ stderr=subprocess.DEVNULL) -+ pc.stdout = pc.communicate()[0] - self.assertIn(b'Must specify at least one directory name', pc.stdout) - with tempfile.TemporaryDirectory(dir=srcdir) as builddir: -- subprocess.run(self.setup_command, -- check=True, -- cwd=builddir, -- stdout=subprocess.DEVNULL, -- stderr=subprocess.DEVNULL) -+ subprocess.check_call(self.setup_command, -+ cwd=builddir, -+ stdout=subprocess.DEVNULL, -+ stderr=subprocess.DEVNULL) - - def get_opts_as_dict(self): - result = {} -@@ -4671,13 +4701,14 @@ class NativeFileTests(BasePlatformTests) - f.write(' print("{}", file=sys.{})\n'.format(value, kwargs.get('outfile', 'stdout'))) - f.write(' sys.exit(0)\n') - f.write(textwrap.dedent(''' -- ret = subprocess.run( -+ ret = subprocess.Popen( - ["{}"] + extra_args, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, -- encoding='utf-8') -- print(ret.stdout) -- print(ret.stderr, file=sys.stderr) -+ universal_newlines=True) -+ stdout, stderr = ret.communicate() -+ print(stdout) -+ print(stderr, file=sys.stderr) - sys.exit(ret.returncode) - - if __name__ == '__main__': ---- a/setup.py -+++ b/setup.py -@@ -16,9 +16,9 @@ - - import sys - --if sys.version_info < (3, 5, 0): -+if sys.version_info < (3, 4, 0): - print('Tried to install with an unsupported version of Python. ' -- 'Meson requires Python 3.5.0 or greater') -+ 'Meson requires Python 3.4.0 or greater') - sys.exit(1) - - from mesonbuild.coredata import version ---- "a/test cases/common/188 find override/subdir/converter.py" -+++ "b/test cases/common/188 find override/subdir/converter.py" -@@ -10,6 +10,7 @@ ftempl = '''int %s() { - } - ''' - --d = pathlib.Path(ifilename).read_text().split('\n')[0].strip() -- --pathlib.Path(ofilename).write_text(ftempl % d) -+with pathlib.Path(ifilename).open('r') as f: -+ d = f.readline().strip() -+with pathlib.Path(ofilename).open('w') as f: -+ f.write(ftempl % d) ---- "a/test cases/common/188 find override/subdir/gencodegen.py.in" -+++ "b/test cases/common/188 find override/subdir/gencodegen.py.in" -@@ -10,6 +10,7 @@ ftempl = '''int %s() { - } - ''' - --d = pathlib.Path(ifilename).read_text().split('\n')[0].strip() -- --pathlib.Path(ofilename).write_text(ftempl % d) -+with pathlib.Path(ifilename).open('r') as f: -+ d = f.readline().strip() -+with pathlib.Path(ofilename).open('w') as f: -+ f.write(ftempl % d) ---- "a/test cases/unit/35 dist script/replacer.py" -+++ "b/test cases/unit/35 dist script/replacer.py" -@@ -11,6 +11,8 @@ source_root = pathlib.Path(os.environ['M - - modfile = source_root / 'prog.c' - --contents = modfile.read_text() -+with modfile.open('r') as f: -+ contents = f.read() - contents = contents.replace(sys.argv[1], sys.argv[2]) --modfile.write_text(contents) -+with modfile.open('w') as f: -+ f.write(contents) ---- "a/test cases/unit/46 native dep pkgconfig var/cross_pkgconfig.py" -+++ "b/test cases/unit/46 native dep pkgconfig var/cross_pkgconfig.py" -@@ -9,4 +9,4 @@ environ['PKG_CONFIG_LIBDIR'] = os.path.j - os.path.dirname(os.path.realpath(__file__)), 'cross_pkgconfig') - - sys.exit( -- subprocess.run(['pkg-config'] + sys.argv[1:], env=environ).returncode) -+ subprocess.call(['pkg-config'] + sys.argv[1:], env=environ)) ---- "a/test cases/windows/13 test argument extra paths/test/test_run_exe.py" -+++ "b/test cases/windows/13 test argument extra paths/test/test_run_exe.py" -@@ -7,6 +7,6 @@ if __name__ == '__main__': - parser.add_argument('prog') - args = parser.parse_args() - -- res = subprocess.run(args.prog) -+ ret = subprocess.call(args.prog) - -- sys.exit(res.returncode - 42) -+ sys.exit(ret - 42) diff --git a/meson-suse-fix-llvm-3.8.patch b/meson-suse-fix-llvm-3.8.patch deleted file mode 100644 index 72712fc..0000000 --- a/meson-suse-fix-llvm-3.8.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/mesonbuild/dependencies/dev.py -+++ b/mesonbuild/dependencies/dev.py -@@ -343,10 +343,11 @@ class LLVMDependency(ConfigToolDependenc - not for shared-linnking, we have to figure those out ourselves, because - of course we do. - """ -- if self.static: -- self.link_args = self.get_config_value( -- ['--libs', '--ldflags', '--system-libs'] + list(self.required_modules), -- 'link_args') -+ #if self.static: -+ self.link_args = self.get_config_value( -+ ['--libs', '--ldflags', '--system-libs'] + list(self.required_modules), -+ 'link_args') -+ """ - else: - # llvm-config will provide arguments for static linking, so we get - # to figure out for ourselves what to link with. We'll do that by -@@ -365,6 +366,7 @@ class LLVMDependency(ConfigToolDependenc - else: - raise DependencyException( - 'Could not find a dynamically linkable library for LLVM.') -+ """ - - def check_components(self, modules, required=True): - """Check for llvm components (modules in meson terms). ---- a/run_unittests.py -+++ b/run_unittests.py -@@ -4771,6 +4771,11 @@ class NativeFileTests(BasePlatformTests) - # Do the skip at this level to avoid screwing up the cache - if not shutil.which('llvm-config'): - raise unittest.SkipTest('No llvm-installed, cannot test') -+ -+ output = subprocess.getoutput('llvm-config --version') -+ if version_compare(output, '< 3.9'): -+ raise unittest.SkipTest('llvm-config >= 3.9 needed for the test') -+ - self._simple_test('config_dep', 'llvm-config') - - def test_python3_module(self): diff --git a/meson-suse-ify-macros.patch b/meson-suse-ify-macros.patch index b94446d..1464623 100644 --- a/meson-suse-ify-macros.patch +++ b/meson-suse-ify-macros.patch @@ -1,19 +1,12 @@ -Index: meson-0.51.0/data/macros.meson -=================================================================== ---- meson-0.51.0.orig/data/macros.meson -+++ meson-0.51.0/data/macros.meson -@@ -1,6 +1,8 @@ +--- a/data/macros.meson ++++ b/data/macros.meson +@@ -1,9 +1,15 @@ %__meson %{_bindir}/meson %__meson_wrap_mode nodownload %__meson_auto_features enabled +%_vpath_srcdir . +%_vpath_builddir build - %_smp_mesonflags %([ -z "$MESON_BUILD_NCPUS" ] \\\ - && MESON_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ -@@ -9,7 +11,11 @@ - if [ "$MESON_BUILD_NCPUS" -gt 1 ]; then echo "--num-processes $MESON_BUILD_NCPUS"; fi) - %meson \ - %set_build_flags \ + export LANG=C.UTF-8 \ @@ -24,19 +17,30 @@ Index: meson-0.51.0/data/macros.meson %{shrink:%{__meson} \ --buildtype=plain \ --prefix=%{_prefix} \ -@@ -31,12 +37,15 @@ - %{nil}} +@@ -25,21 +31,24 @@ + %{nil}} %meson_build \ -+ export LANG=C.UTF-8 \ - %ninja_build -C %{_vpath_builddir} ++ export LANG=C.UTF-8 \ + %{shrink:%{__meson} compile \ + -C %{_vpath_builddir} \ +- -j %{_smp_build_ncpus} \ ++ %{?_smp_mflags} \ + --verbose \ + %{nil}} %meson_install \ + export LANG=C.UTF-8 \ - %ninja_install -C %{_vpath_builddir} + %{shrink:DESTDIR=%{buildroot} %{__meson} install \ + -C %{_vpath_builddir} \ + --no-rebuild \ + %{nil}} %meson_test \ + export LANG=C.UTF-8 \ - %{shrink: %{__meson} test \ + %{shrink:%{__meson} test \ -C %{_vpath_builddir} \ - %{?_smp_mesonflags} \ +- --num-processes %{_smp_build_ncpus} \ ++ %{?jobs:--num-processes %{jobs}} \ + --print-errorlogs \ + %{nil}} diff --git a/meson.changes b/meson.changes index 561d1c3..d0a937a 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Mon Aug 17 09:45:41 UTC 2020 - Dominique Leuenberger + +- Update to version 0.55.1: + + find_library: Print type of library not found. + + interpreter: Don't force fallback when subproject failed to + configure. + + Various fixes around cmake integration. + + mdata: Generate mesondata.py from */data folders. + + mdata: remove setuptools and use mesondata instead. +- Drop meson-pr7461-remove-setuptools-dependency.patch: fixed + upstream. + +------------------------------------------------------------------- +Sun Jul 26 15:59:52 UTC 2020 - Alexei Sorokin + +- Remove %_smp_build_ncpus in meson-suse-ify-macros.patch. +- Drop broken meson-restore-python3.4.patch, + meson-suse-fix-llvm-3.8.patch, meson-fix-gcc48.patch. + +------------------------------------------------------------------- +Wed Jul 22 17:51:19 UTC 2020 - Callum Farmer + +- Add meson-pr7461-remove-setuptools-dependency.patch: Fixes forced + requirement on setuptools (gh#mesonbuild/meson#7461). + +------------------------------------------------------------------- +Wed Jul 15 09:00:59 UTC 2020 - Callum Farmer + +- Update to version 0.55.0 + + rpath removal now more careful + + Added ability to specify targets in `meson compile` + + Added test protocol for gtest + + meson.add_*_script methods accept new types + + Native and cross files now support string and list concatenation + + Ability to configure CMake subprojects with meson.subproject_options + + find_program: Fixes when the program has been overridden by executable + + Response files enabled on Linux + + `unstable-kconfig` module renamed to `unstable-keyval` + + Config tool based dependencies no longer search PATH for cross compiling + + String concatenation in meson_options.txt + + Clang coverage support + + Implicit dependency fallback + + Added ability to specify backend arguments in `meson compile` +- Removed meson-fix-gnome-test.patch: contained in upstream +- Changed meson-suse-ify-macros.patch: to be compatible with new + version + ------------------------------------------------------------------- Fri Jun 26 16:51:35 UTC 2020 - Michael Gorse diff --git a/meson.spec b/meson.spec index 1d6dd56..53219e2 100644 --- a/meson.spec +++ b/meson.spec @@ -28,7 +28,7 @@ %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} %bcond_with setuptools Name: meson%{name_ext} -Version: 0.54.3 +Version: 0.55.1 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -41,16 +41,8 @@ Source2: meson.keyring Patch0: meson-suse-ify-macros.patch # PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package. Patch1: meson-test-installed-bin.patch -# PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009). -Patch2: meson-restore-python3.4.patch -# PATCH-FIX-OPENSUSE meson-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests. -Patch3: meson-suse-fix-llvm-3.8.patch -# PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. -Patch4: meson-fix-gcc48.patch # PATCH-FEATURE-OPENSUSE meson-distutils.patch tchvatal@suse.com -- build and install using distutils instead of full setuptools -Patch5: meson-distutils.patch -# PATCH-FIX-UPSTREAM meson-fix-gnome-test.patch bsc#1173025 mgorse@suse.com -- fix GNOME test that sometimes fails. -Patch6: meson-fix-gnome-test.patch +Patch2: meson-distutils.patch BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-base @@ -167,15 +159,9 @@ This package provides support for meson.build files in Vim. %setup -q -n meson-%{version} %patch0 -p1 %patch1 -p1 -%if 0%{?suse_version} < 1500 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%endif %if !%{with setuptools} -%patch5 -p1 +%patch2 -p1 %endif -%patch6 -p1 # We do not have gmock available at this moment - can't run the test suite for it rm -r "test cases/frameworks/3 gmock" \