diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/meson-0.48.2.tar.gz b/meson-0.48.2.tar.gz deleted file mode 100644 index ae1946e..0000000 --- a/meson-0.48.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39ead8bfd0dc9c7b0af15e23ea975c864600bf871fba279c9918625bb9a85506 -size 1310363 diff --git a/meson-0.48.2.tar.gz.asc b/meson-0.48.2.tar.gz.asc deleted file mode 100644 index a7c4aa7..0000000 --- a/meson-0.48.2.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAlvkvcUACgkQO/RpO/7r -lCgoag//SSYQYHJIBa09Ty4LDdJvsdCOa2YGhu2mKQROjnngxvhR15Nb16DRQ3k0 -PgoCRHLEp6I/WQRtn8lXpFpge8BwbBmTw8+vgGGpmk4ayn+dFeahijAh1j9G8jS0 -BNoYC6/UGd0Y7xGa3kDxUdJVF0CaUEB+hMQvRqvz/eO6C7ujs0Me7JuVxYlg4FSi -hF3BeWBBp8BtlfDpYO7vhllLceMKpzN6rjwtu1/B43diVFS5Nk6j4gVSFj5LHrUo -US5av424YO5QIiJX88AFwXunlxQr7wPREEqehKJmuK/lxBMFaCooXHdVlJR9smJn -LCH6iec6PiRxRTCrqsHaR8OmxkmtwWLLHniMoB386jX5rSYQpB8tAcTzhl9cxj8O -hUT+oe549UVoF9Xqvbv3Rx7KGPe3uweFHAOrelCUxU52hfBm2jlPQqcUeKGVJeWe -fZVfUDoon4jjsIepwnG2mS7ISVgx3UtvqCb2VH6azEpAR4LzjwynzsJ+je8O/nFP -uTJ+pEfk40+9CmzIwbA+SsQ0ANMWH7tz5AkckwJ2tld9FleyO7U/4WJ9pE4UEpzq -IRC2ZrGGCtO3i5tICM+DPxEaTskc3R7I0aVsfV7TEUkAAyGgdN9MWGmv4acmEWUc -LKxlo0PGOkAo4r+2cYfEG2E0CQQcuDTvQkc9ppGrY5trYzMJwLU= -=f+xM ------END PGP SIGNATURE----- diff --git a/meson-0.49.0.tar.gz b/meson-0.49.0.tar.gz new file mode 100644 index 0000000..cb3c6be --- /dev/null +++ b/meson-0.49.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551 +size 1338583 diff --git a/meson-0.49.0.tar.gz.asc b/meson-0.49.0.tar.gz.asc new file mode 100644 index 0000000..81f1d0b --- /dev/null +++ b/meson-0.49.0.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAlwNdRwACgkQO/RpO/7r +lCi6AhAAhHYSnNDjXrLecIuVdN8VvaliDzFDM8MKf6kEgat1bN8SpofGXujUmmzO +YQa7E0tGyAMc1/MZgnEppXWXdfVhNjnEwIetmUNnxviPVxcliQ9Ygty2MvT5H1ng +1oIWnZRAOecf1Yvm4uYCuq7JRMobT9qx54nevsmEKqUgqZQWg8w53HgjhDrXSqN2 +ymfLSIAyOvGjcISHz9aJTuxhvjIqeH2zwVsSAvD6xeTxWqnLOhZ7tWI3vqRT7Y7S +0p0hshNZXN8R0+ixSvOjv9za/GjzB1/TFU7wrwxFkT9/jccUnEDcKcxN8L7yx/TN +BlkJMS/4ruqarLyerIQWGaxmIaBsaJQSg4A1zupOxHQI1NkLn840HJBYOyo3jZUV +z7/hdAexjiHPHTYpOibLvzDT9XJCdV3268s5DRx0kDULuSC7sqsnO0u5Fl2WZWp5 +0tHiR/Z3EvacRRUzDZ/FEmc7IQoZzHnJDvL2i3sDnwJBT3pYqDfoBx9lj3IBMpfb +3MJw8CDe8SJmZ5kt9z/iC8DfZ0ZuIufNnCJJN39nnMb/FMUZsnaPB37VYV66NCr1 +KrAlXY57BhCPMsbx8lT2sWe3DBTnu/dQRaU5qk5oAkGNM83CaHeS4AOQH3EUb0N5 +a/S1aJHk3xq4Vedkkilcq7IMHeLDcui3LD5kCOs54ZQeNJO9ICI= +=+Y3s +-----END PGP SIGNATURE----- diff --git a/meson-distutils.patch b/meson-distutils.patch new file mode 100644 index 0000000..55ee5dc --- /dev/null +++ b/meson-distutils.patch @@ -0,0 +1,13 @@ +Index: meson-0.49.0/setup.py +=================================================================== +--- meson-0.49.0.orig/setup.py ++++ meson-0.49.0/setup.py +@@ -22,7 +22,7 @@ if sys.version_info < (3, 5, 0): + sys.exit(1) + + from mesonbuild.coredata import version +-from setuptools import setup ++from distutils.core import setup + + # On windows, will create Scripts/meson.exe and Scripts/meson-script.py + # Other platforms will create bin/meson diff --git a/meson-fix-gcc48.patch b/meson-fix-gcc48.patch index e590c35..8e7b881 100644 --- a/meson-fix-gcc48.patch +++ b/meson-fix-gcc48.patch @@ -1,6 +1,6 @@ --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py -@@ -137,8 +137,8 @@ class ClangCPPCompiler(ClangCompiler, CP +@@ -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', @@ -11,7 +11,7 @@ 'none')}) return opts -@@ -168,8 +168,8 @@ class ArmclangCPPCompiler(ArmclangCompil +@@ -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', @@ -22,7 +22,7 @@ 'none')}) return opts -@@ -194,10 +194,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom +@@ -197,10 +197,12 @@ class GnuCPPCompiler(GnuCompiler, CPPCom '3': default_warn_args + ['-Wextra', '-Wpedantic']} def get_options(self): @@ -37,7 +37,7 @@ 'none'), 'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl', 'STL debug mode', -@@ -271,7 +273,7 @@ class IntelCPPCompiler(IntelCompiler, CP +@@ -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'): @@ -75,6 +75,22 @@ # 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: Tue, 18 Dec 2018 14:13:05 -0800 +Subject: [PATCH] dependencies/ui: Don't require lrelease for qt + +We previously didn't require it so we shouldn't silently start doing so. + +Fixes #4654 +--- + mesonbuild/dependencies/ui.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py +index e8fba91a23..1f65c3b86f 100644 +--- a/mesonbuild/dependencies/ui.py ++++ b/mesonbuild/dependencies/ui.py +@@ -243,7 +243,7 @@ def gen_bins(): + if self.bindir: + yield os.path.join(self.bindir, b), b, False + yield '{}-{}'.format(b, self.name), b, False +- yield b, b, self.required ++ yield b, b, self.required if b != 'lrelease' else False + + for b, name, required in gen_bins(): + if found[name].found(): + diff --git a/meson-restore-python3.4.patch b/meson-restore-python3.4.patch index 52621ab..ecdf408 100644 --- a/meson-restore-python3.4.patch +++ b/meson-restore-python3.4.patch @@ -1,7 +1,7 @@ --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -32,7 +32,7 @@ from .. import compilers - from ..compilers import CompilerArgs, CCompiler + 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 @@ -9,7 +9,7 @@ from .backends import CleanTrees from ..build import InvalidArguments -@@ -1011,8 +1011,8 @@ int dummy; +@@ -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) @@ -25,13 +25,13 @@ @@ -18,7 +18,7 @@ import sys from pathlib import PurePath from collections import OrderedDict - from .mesonlib import MesonException --from .mesonlib import default_libdir, default_libexecdir, default_prefix -+from .mesonlib import default_libdir, default_libexecdir, default_prefix, commonpath + from .mesonlib import ( +- MesonException, default_libdir, default_libexecdir, default_prefix ++ MesonException, default_libdir, default_libexecdir, default_prefix, commonpath + ) from .wrap import WrapMode import ast - import argparse -@@ -302,7 +302,7 @@ class CoreData: +@@ -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. @@ -42,7 +42,7 @@ 'relative path, it is assumed to be a subdir of prefix.' --- a/mesonbuild/interpreterbase.py +++ b/mesonbuild/interpreterbase.py -@@ -574,7 +574,9 @@ The result of this is undefined and will +@@ -617,7 +617,9 @@ The result of this is undefined and will if cur.operation == 'add': if isinstance(l, dict) and isinstance(r, dict): @@ -53,7 +53,7 @@ try: return l + r except Exception as e: -@@ -661,7 +662,8 @@ The result of this is undefined and will +@@ -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') @@ -65,17 +65,15 @@ raise InvalidArguments('The += operator currently only works with arrays, dicts, strings or ints ') --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py -@@ -19,7 +19,8 @@ import sys - import stat +@@ -20,6 +20,7 @@ import stat import time import platform, subprocess, operator, os, shutil, re --import collections -+import collections + import collections +import collections.abc - from mesonbuild import mlog + from enum import Enum + from functools import lru_cache - have_fcntl = False -@@ -1062,6 +1062,30 @@ def substring_is_in_list(substr, strlist +@@ -1149,6 +1150,30 @@ def substring_is_in_list(substr, strlist return True return False @@ -108,8 +106,8 @@ insertion. --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py -@@ -269,8 +269,8 @@ def set_meson_command(mainfile): - mlog.log('meson_command is {!r}'.format(mesonlib.meson_command)) +@@ -149,8 +149,8 @@ def run_script_command(script_name, scri + return 1 def run(original_args, mainfile): - if sys.version_info < (3, 5): @@ -121,7 +119,7 @@ return 1 --- a/mesonbuild/minstall.py +++ b/mesonbuild/minstall.py -@@ -353,8 +353,8 @@ class Installer: +@@ -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...') @@ -134,7 +132,7 @@ --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py -@@ -512,7 +512,7 @@ class PythonModule(ExtensionModule): +@@ -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)) @@ -145,7 +143,7 @@ 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 -@@ -115,7 +115,12 @@ def returncode_to_status(retcode): +@@ -114,7 +114,12 @@ def returncode_to_status(retcode): if retcode < 0: signum = -retcode try: @@ -159,7 +157,7 @@ except ValueError: signame = 'SIGinvalid' return '(killed by signal %d %s)' % (signum, signame) -@@ -125,7 +130,12 @@ def returncode_to_status(retcode): +@@ -124,7 +129,12 @@ def returncode_to_status(retcode): signum = retcode - 128 try: @@ -173,19 +171,6 @@ except ValueError: signame = 'SIGinvalid' return '(exit status %d or signal %d %s)' % (retcode, signum, signame) ---- a/mesonbuild/scripts/dist.py -+++ b/mesonbuild/scripts/dist.py -@@ -87,8 +87,8 @@ def run_dist_scripts(dist_root, dist_scr - silent=True) - if not ep.found(): - sys.exit('Script %s could not be found in dist directory.' % d) -- pc = subprocess.run(ep.command, env=env) -- if pc.returncode != 0: -+ pc = subprocess.call(ep.command, env=env) -+ if pc != 0: - sys.exit('Dist script errored out.') - - def create_dist_git(dist_name, src_root, bld_root, dist_sub, dist_scripts): --- a/mesonbuild/scripts/gtkdochelper.py +++ b/mesonbuild/scripts/gtkdochelper.py @@ -17,7 +17,7 @@ import subprocess @@ -193,11 +178,11 @@ import shutil import argparse -from ..mesonlib import MesonException, Popen_safe, is_windows -+from ..mesonlib import MesonException, Popen_safe, is_windows, commonpath ++from ..mesonlib import MesonException, Popen_safe, commonpath, is_windows from . import destdir_join parser = argparse.ArgumentParser() -@@ -107,7 +107,7 @@ def build_gtkdoc(source_root, build_root +@@ -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) @@ -208,7 +193,7 @@ --- a/run_meson_command_tests.py +++ b/run_meson_command_tests.py -@@ -18,6 +18,7 @@ import os +@@ -19,6 +19,7 @@ import os import tempfile import unittest import subprocess @@ -216,52 +201,28 @@ import zipapp from pathlib import Path -@@ -73,13 +74,27 @@ class CommandTests(unittest.TestCase): +@@ -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, -- stderr=subprocess.STDOUT, env=os.environ.copy(), -- universal_newlines=True, cwd=workdir, timeout=60 * 5) -- print(p.stdout) -- if p.returncode != 0: -- raise subprocess.CalledProcessError(p.returncode, command) -- return p.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, ++ env=os.environ.copy(), universal_newlines=True, + cwd=workdir, timeout=60 * 5) -+ print(p.stdout) -+ if p.returncode != 0: -+ raise subprocess.CalledProcessError(p.returncode, command) -+ return p.stdout + else: -+ try: -+ po = subprocess.check_output(command, stderr=subprocess.STDOUT, -+ env=os.environ.copy(), -+ universal_newlines=True, -+ cwd=workdir, timeout=60 * 5) -+ except subprocess.CalledProcessError as e: -+ print(e.output) -+ raise subprocess.CalledProcessError(e.returncode, e.cmd) -+ else: -+ print(po) -+ return po - - def assertMesonCommandIs(self, line, cmd): - self.assertTrue(line.startswith('meson_command '), msg=line) ++ 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 -@@ -21,6 +21,7 @@ import tempfile - import textwrap - import os - import shutil -+import sys - import unittest - import platform - from itertools import chain -@@ -892,6 +893,24 @@ class DataTests(unittest.TestCase): +@@ -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()))) @@ -286,7 +247,7 @@ class BasePlatformTests(unittest.TestCase): def setUp(self): -@@ -972,9 +991,16 @@ class BasePlatformTests(unittest.TestCas +@@ -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. @@ -296,17 +257,16 @@ + 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) ++ 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] ++ p.stdout = p.communicate(timeout=60 * 5)[0] print(p.stdout) if p.returncode != 0: if 'MESON_SKIP_TEST' in p.stdout: -@@ -2698,17 +2724,23 @@ recommended as it is not supported on so +@@ -2849,17 +2873,23 @@ recommended as it is not supported on so of = open(mfile, 'w') of.write("project('foobar', 'c')\n") of.close() @@ -339,11 +299,30 @@ 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 -@@ -18,9 +18,9 @@ import sys +@@ -16,9 +16,9 @@ - from mesonbuild.coredata import version + import sys -if sys.version_info < (3, 5, 0): +if sys.version_info < (3, 4, 0): @@ -352,7 +331,7 @@ + 'Meson requires Python 3.4.0 or greater') sys.exit(1) - from setuptools import setup + 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() { @@ -381,17 +360,25 @@ + f.write(ftempl % d) --- "a/test cases/unit/35 dist script/replacer.py" +++ "b/test cases/unit/35 dist script/replacer.py" -@@ -7,6 +7,8 @@ source_root = pathlib.Path(os.environ['M +@@ -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('"incorrect"', '"correct"') + 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__': diff --git a/meson-suse-fix-llvm-3.8.patch b/meson-suse-fix-llvm-3.8.patch index 37120ce..72712fc 100644 --- a/meson-suse-fix-llvm-3.8.patch +++ b/meson-suse-fix-llvm-3.8.patch @@ -1,6 +1,6 @@ --- a/mesonbuild/dependencies/dev.py +++ b/mesonbuild/dependencies/dev.py -@@ -205,10 +205,10 @@ class LLVMDependency(ConfigToolDependenc +@@ -343,10 +343,11 @@ class LLVMDependency(ConfigToolDependenc not for shared-linnking, we have to figure those out ourselves, because of course we do. """ @@ -8,6 +8,7 @@ - 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') @@ -15,7 +16,7 @@ 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 -@@ -227,6 +227,7 @@ class LLVMDependency(ConfigToolDependenc +@@ -365,6 +366,7 @@ class LLVMDependency(ConfigToolDependenc else: raise DependencyException( 'Could not find a dynamically linkable library for LLVM.') @@ -23,3 +24,17 @@ 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-test-installed-bin.patch b/meson-test-installed-bin.patch index 71ffb1b..ddca6c9 100644 --- a/meson-test-installed-bin.patch +++ b/meson-test-installed-bin.patch @@ -1,6 +1,6 @@ --- a/run_tests.py +++ b/run_tests.py -@@ -54,18 +54,10 @@ def get_meson_script(): +@@ -104,18 +104,10 @@ def get_meson_script(): Also used by run_unittests.py to determine what meson to run when not running in-process (which is the default). ''' @@ -21,12 +21,22 @@ def get_backend_args_for_dir(backend, builddir): ''' -@@ -244,7 +236,7 @@ if __name__ == '__main__': - env['COVERAGE_PROCESS_START'] = '.coveragerc' - env['PYTHONPATH'] = os.pathsep.join([td] + env.get('PYTHONPATH', [])) +@@ -296,12 +288,12 @@ def main(): + else: + env['PYTHONPATH'] = temp_dir if not cross: -- returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env) -+ #returncode += subprocess.call(mesonlib.python_command + ['run_meson_command_tests.py', '-v'], env=env) - returncode += subprocess.call(mesonlib.python_command + ['run_unittests.py', '-v'], env=env) - returncode += subprocess.call(mesonlib.python_command + ['run_project_tests.py'] + sys.argv[1:], env=env) - else: +- cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v'] +- if options.failfast: +- cmd += ['--failfast'] +- returncode += subprocess.call(cmd, env=env) +- if options.failfast and returncode != 0: +- return returncode ++ #cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v'] ++ #if options.failfast: ++ # cmd += ['--failfast'] ++ #returncode += subprocess.call(cmd, env=env) ++ #if options.failfast and returncode != 0: ++ # return returncode + cmd = mesonlib.python_command + ['run_unittests.py', '-v'] + if options.failfast: + cmd += ['--failfast'] diff --git a/meson-testsuite.changes b/meson-testsuite.changes deleted file mode 100644 index 498b441..0000000 --- a/meson-testsuite.changes +++ /dev/null @@ -1,609 +0,0 @@ -------------------------------------------------------------------- -Mon Nov 12 23:52:33 UTC 2018 - sor.alexei@meowr.ru - -- Update to version 0.48.2: - * See https://github.com/mesonbuild/meson/milestone/32?closed=1 - -------------------------------------------------------------------- -Thu Oct 18 12:52:39 UTC 2018 - bjorn.lie@gmail.com - -- Update to version 0.48.1: - * See https://github.com/mesonbuild/meson/milestone/31?closed=1 -- Drop meson-Fix-handling-generated-desktop-files.patch: Fixed - upstream. - -------------------------------------------------------------------- -Fri Oct 5 22:21:26 UTC 2018 - bjorn.lie@gmail.com - -- Add meson-Fix-handling-generated-desktop-files.patch: Fix - handling generated .desktop files. - -------------------------------------------------------------------- -Mon Oct 1 09:53:58 UTC 2018 - Dominique Leuenberger - -- Require python3-setuptools. - -------------------------------------------------------------------- -Fri Sep 28 15:39:17 UTC 2018 - sor.alexei@meowr.ru - -- Update to version 0.48.0: - * See http://mesonbuild.com/Release-notes-for-0-48-0.html -- Disable test_generate_gir_with_address_sanitizer with a regex, - for it fails with ulimits defined in OBS. -- Test against Rust in meson-testsuite on Leap 15.0 or later. -- Rebase meson-suse-ify-macros.patch, - meson-restore-python3.4.patch, meson-fix-gcc48.patch. - -------------------------------------------------------------------- -Sat Aug 25 17:52:38 UTC 2018 - sor.alexei@meowr.ru - -- Update to version 0.47.2: - * https://github.com/mesonbuild/meson/milestone/29?closed=1 -- Rebase meson-restore-python3.4.patch, meson-fix-gcc48.patch. - -------------------------------------------------------------------- -Fri Aug 3 21:00:12 UTC 2018 - sor.alexei@meowr.ru - -- Update to version 0.47.1: - * See https://mesonbuild.com/Release-notes-for-0-47-0.html -- Remove Don-t-raise-StopIteration-in-generators-no-longer-al.patch. -- Add a new dependency for tests: - libqt5-qtbase-private-headers-devel. -- Set MESON_EXE for tests. -- Adjust meson-test-installed-bin.patch. -- Rebase meson-restore-python3.4.patch, meson-fix-gcc48.patch. -- No longer test with OpenMPI: starting with this release - "-Wl,--no-undefined -Wl,--as-needed" appears in the gfortran - arguments, causing an error similiar to lp#1727474. - -------------------------------------------------------------------- -Sat Jul 28 21:08:48 UTC 2018 - bjorn.lie@gmail.com - -- Update to version 0.46.1: - * See https://github.com/mesonbuild/meson/milestone/26?closed=1 -- Drop meson-keep-spaces-in-pc-files.patch: Fixed upstream. - -------------------------------------------------------------------- -Fri Jul 13 06:00:48 UTC 2018 - jslaby@suse.com - -- Add Don-t-raise-StopIteration-in-generators-no-longer-al.patch - -------------------------------------------------------------------- -Sun May 20 14:20:31 UTC 2018 - dimstar@opensuse.org - -- BuildRequire python3-base instead of python3: make building a bit - cheaper. - -------------------------------------------------------------------- -Mon Apr 30 07:03:53 UTC 2018 - dimstar@opensuse.org - -- Add meson-keep-spaces-in-pc-files.patch: Keep spaces in generated - pkgconfig files (gh#mesonbuild/meson#3479). -- Rebase meson-restore-python3.4.patch. - -------------------------------------------------------------------- -Wed Apr 25 18:53:17 UTC 2018 - sor.alexei@meowr.ru - -- Update to version 0.46.0: - * See http://mesonbuild.com/Release-notes-for-0-46-0.html -- Rebase meson-test-installed-bin.patch, - meson-restore-python3.4.patch, meson-fix-gcc48.patch. - -------------------------------------------------------------------- -Wed Mar 21 23:46:12 UTC 2018 - sor.alexei@meowr.ru - -- Only apply meson-suse-fix-llvm-3.8.patch, - meson-restore-python3.4.patch, meson-fix-gcc48.patch on Leap 42.x - or older. - -------------------------------------------------------------------- -Wed Mar 21 10:20:37 UTC 2018 - sor.alexei@meowr.ru - -- Fix meson-fix-gcc48.patch. -- Add meson-restore-python3.4.patch: Restore Python 3.4 support for - SLE 12 and openSUSE Leap 42.x. -- Add meson-suse-fix-llvm-3.8.patch: Fix LLVM 3.8 tests for SLE 12 - and openSUSE Leap 42.x.. - -------------------------------------------------------------------- -Mon Mar 12 22:04:53 UTC 2018 - dimstar@opensuse.org - -- Add libjpeg-devel BuildRequires to test testsuite. - -------------------------------------------------------------------- -Mon Mar 5 17:00:19 UTC 2018 - dimstar@opensuse.org - -- Update to version 0.45.0: - + Config-Tool based dependencies can be specified in a cross - file. - + Visual Studio C# compiler support. - + Removed two deprecated features: - - The standalone find_library function has been a no-op for a - long time. From now on it's an error. - - There used to be a keywordless version of run_target, which - is no longer valid. - + Experimental FPGA support. - + Generator outputs can preserve directory structure. - + Hexadecimal string literals. - + install_data()` defaults to `{datadir}/{projectname}`. - + install_subdir() supports strip_directory. - + Integer options. - + New method meson.project_license(). - + Rust cross-compilation. - + Rust compiler-private library disambiguation. - + Project templates. - + Improve test setup selection. - + Yielding subproject option to superproject. -- Rebase meson-suse-ify-macros.patch. - -------------------------------------------------------------------- -Thu Feb 22 10:36:33 UTC 2018 - dimstar@opensuse.org - -- Update to version 0.44.1: - + Support running out-of-tree tests against a meson in PATH. - + Don't add rpaths to system libraries. - + Fix meson location detection from other meson tools. - + Various boost, pkg-config and vala related fixes. -- Testsuite changes: Remove mesonbuild directory and meson.py - again before running the test: ensure we test meson as it was - installed onto the system. - -------------------------------------------------------------------- -Mon Feb 5 15:06:54 UTC 2018 - dimstar@opensuse.org - -- Update to version 0.44.0: - + New features: - - Added warning function. - - Adds support for additional Qt5-Module keyword - moc_extra_arguments. - - Prefix-dependent defaults for sysconfdir, localstatedir and - sharedstatedir. - - An array type for user options. - - LLVM dependency supports both dynamic and static linking. - - Added if_found to subdir. - - get_unquoted() method for the configuration data object. - - Added disabler object. - - Config-Tool based dependencies gained a method to get - arbitrary options. - - Embedded Python in Windows MSI packages. -- Rebase meson-suse-ify-macros.patch, meson-fix-gcc48.patch and - meson-test-installed-bin.patch. -- Testsuite changes: - + Disable tests for static llvm: we don't ship the static libs. - + Add cmake(Qt5LinguistTools), libwmf-devel BuildRequires and - zlib-devel-static: new dependencies for various tests. - -------------------------------------------------------------------- -Wed Nov 22 17:47:29 UTC 2017 - sor.alexei@meowr.ru - -- Require python3-xml: mesonbuild/modules/qt5.py imports the xml - module (boo#1068818). - -------------------------------------------------------------------- -Mon Oct 23 12:30:03 UTC 2017 - dimstar@opensuse.org - -- Setup MPI runtime environment before running the test suite. -- Remove tests for static boost libraries from - test\ cases/frameworks/1\ boost/meson.build. - -------------------------------------------------------------------- -Thu Oct 19 15:00:49 UTC 2017 - badshah400@gmail.com - -- Update to version 0.43.0: - + Generator learned capture: Generators can now be configured to - capture the standard output. - + Can index CustomTarget objects: The CustomTarget object can - now be indexed like an array. The resulting object can be used - as a source file for other Targets, this will create a - dependency on the original CustomTarget, but will only insert - the generated file corresponding to the index value of the - CustomTarget's output keyword. - + The cross file can now be used for overriding the result of - find_program. Then issuing the command find_program('objdump') - will return the version specified in the cross file. - + Easier handling of supported compiler arguments. - + Better support for shared libraries in non-system paths: This - release adds feature parity to shared libraries that are - either in non-standard system paths or shipped as part of your - project. On systems that support rpath, Meson automatically - adds rpath entries to built targets using manually found - external libraries. - + The Wrap dependency system now supports Subversion (svn). This - support is rudimentary. The repository url has to point to a - specific (sub)directory containing the meson.build file - (typically trunk/). However, providing a revision is - supported. -- Rebase meson-test-installed-bin.patch. -- Run sed to strip the hashbang from a non-executable file; this - prevents an rpmlint warning. - -------------------------------------------------------------------- -Wed Oct 11 15:43:16 UTC 2017 - sor.alexei@meowr.ru - -- Don't use obsolete boost-devel for openSUSE Leap 15.0 and newer - (boo#1062785). - -------------------------------------------------------------------- -Mon Oct 2 14:53:40 CEST 2017 - jdelvare@suse.com - -- Update to version 0.42.1. This is a stable update with various - bug fixes. - -------------------------------------------------------------------- -Fri Sep 8 12:22:38 UTC 2017 - sor.alexei@meowr.ru - -- Rebase meson-fix-gcc48.patch (boo#1057701). - -------------------------------------------------------------------- -Tue Aug 15 11:00:02 UTC 2017 - dimstar@opensuse.org - -- Extend meson-test-installed-bin.patch: catch some more cases - where the test suite referenced meson.py from the source - directory. -- Add vulkan-devel and libpcap-devel BuildRequires for the test - suite: new dependencies. - -------------------------------------------------------------------- -Tue Aug 15 09:35:51 UTC 2017 - zaitor@opensuse.org - -- Update to version 0.42.0: - + Distribution tarballs from Mercurial repositories. Creating - distribution tarballs can now be made out of projects based on - Mercurial. As before, this remains possible only with the Ninja - backend. - + Keyword argument verification. Meson will now check the keyword - arguments used when calling any function and print a warning if - any of the keyword arguments is not known. In the future this - will become a hard error. - + Add support for Genie to Vala compiler. The Vala compiler has - an alternative syntax, Genie, that uses the .gs file extension. - Meson now recognises and uses Genie files. - + Pkgconfig support for additional cflags. The Pkgconfig module - object can add arbitrary extra cflags to the Cflags value in - the .pc file, using the "extra_cflags" keyword. - + Base options accessible via get_option(). Base options are now - accessible via the get_option() function. - + Allow crate type configuration for Rust compiler. Rust targets - now take an optional rust_crate_type keyword, allowing you to - set the crate type of the resulting artifact. Valid crate types - are dylib or cdylib for shared libraries, and rlib or staticlib - for static libraries. For more, see Rust's linkage reference. - + Simultaneous use of Address- and Undefined Behavior Sanitizers. - Both the address- and undefined behavior sanitizers can now be - used simultaneously by passing -Db_sanitize=address,undefined - to Meson. - + Unstable SIMD module. A new experimental module to compile code - with many different SIMD instruction sets and selecting the - best one at runtime. This module is unstable, meaning it's API - is subject to change in later releases. It might also be - removed altogether. - + Import libraries for executables on Windows. The new keyword - implib to executable() allows generation of an import library - for the executable. - + Added build_rpath keyword argument. You can specify - build_rpath: '/foo/bar' in build targets and the given path - will get added to the target's rpath in the build tree. It is - removed during the install step. - + Meson will print a warning when the user tries to add an rpath - linker flag manually, e.g. via link_args to a target. This is - not recommended because having multiple rpath causes them to - stomp on each other. This warning will become a hard error in - some future release. - + Vulkan dependency module. Vulkan can now be used as native - dependency. The dependency module will detect the VULKAN_SDK - environment variable or otherwise try to receive the vulkan - library and header via pkgconfig or from the system. - + Limiting the maximum number of linker processes. With the Ninja - backend it is now possible to limit the maximum number of - concurrent linker processes. This is usually only needed for - projects that have many large link steps that cause the system - to run out of memory if they are run in parallel. This limit - can be set with the new backend_max_links option. - + Disable implicit include directories. By default Meson adds the - current source and build directories to the header search path. - On some rare occasions this is not desired. Setting the - implicit_include_directories keyword argument to false these - directories are not used. - + Support for MPI dependency. MPI is now supported as a - dependency. Because dependencies are language-specific, you - must specify the requested language with the language keyword, - i.e., dependency('mpi', language='c') will request the C MPI - headers and libraries. See the MPI dependency for more - information. - + Allow excluding files or directories from install_subdir. The - install_subdir command accepts the new exclude_files and - exclude_directories keyword arguments that allow specified - files or directories to be excluded from the installed - subdirectory. - + Make all Meson functionality invokable via the main executable. - Previously Meson had multiple executables such as - mesonintrospect and mesontest. They are now invokable via the - main Meson executable like this: meson configure # - equivalent to mesonconf meson test # - equivalent to mesontest The old commands are still - available but they are deprecated and will be removed in some - future release. - + Pcap dependency detector. Meson will automatically obtain - dependency information for pcap using the pcap-config tool. It - is used like any other dependency. - + GNOME module mkenums_simple() addition. Most libraries and - applications use the same standard templates for glib-mkenums. - There is now a new mkenums_simple() convenience method that - passes those default templates to glib-mkenums and allows some - tweaks such as optional function decorators or leading - underscores. -- Rebase meson-fix-gcc48.patch and meson-test-installed-bin.patch. - -------------------------------------------------------------------- -Sat Jul 22 13:55:52 UTC 2017 - mailaender@opensuse.org - -- Update to version 0.41.2: - + Various gtkdoc fixes. - + Fix how rpath directories are handled. - + pkgconfig: avoid appending slash at Cflags. - + Fix a missing path issue causing Python traceback. - + Qt4 support. - + Skip handling non-available dependencies. - + vala: Only add --use-header for unity builds regression. - + Tag functions in asm properly. - -------------------------------------------------------------------- -Tue Jun 27 14:19:46 UTC 2017 - rodrigo.z.lourenco@tecnico.ulisboa.pt - -- Add a vim subpackage to add Meson support to Vim. - -------------------------------------------------------------------- -Fri Jun 23 21:47:40 UTC 2017 - dimstar@opensuse.org - -- Split testsuite into an own package, in order to keep the build - dep chain of meson minimal. -- Drop meson-disable-untested-code.patch: no longer required. -- Add meson-test-installed-bin.patch: use /usr/bin/meson instead of - meson.py from the source tarball. We want to test the meson - binary package we produced, not the sources directly. - -------------------------------------------------------------------- -Fri Jun 23 19:27:31 UTC 2017 - dimstar@opensuse.org - -- Update to version 0.41.1: - + wxwidgets: Fix usage of multiple dependency() calls. - + Make external library no-op when used with incompatible - target (gh#mesonbuild/meson#1941). - + Failing test for -D dedupping. - + Preserve standalone -D arguments always. - + Handle both pkg-config and pkgconf argument order - (gh#mesonbuild/meson#1934). - -------------------------------------------------------------------- -Fri Jun 23 13:56:37 UTC 2017 - dimstar@opensuse.org - -- Update meson-suse-ify-macros.patch: export LANG for all macros. - -------------------------------------------------------------------- -Mon Jun 19 12:35:49 UTC 2017 - rpm@fthiessen.de - -- Update to version 0.41.0: - * Native support for linking against LLVM using - the dependency function. - * Pkgconfig support for custom variables. - * A target for creating tarballs using 'ninja dist'. - * Support for passing arguments to Rust compiler. - * All known issues regarding reproducible builds are fixed. - * Extended template substitution in configure_file - for @BASENAME@ and @PLAINNAME@ . - * Support for capturing stdout of a command in configure_file. -- Removed SDL2 test to reduce dependencies (smaller build footprint) -- Dropped upstreamed patch meson-handle-skipped-tests.patch -- Rebased meson-suse-ify-macros.patch and meson-fix-gcc48.patch - -------------------------------------------------------------------- -Tue Jun 6 13:08:19 UTC 2017 - dimstar@opensuse.org - -- Make the build footprint smaller to enter ring1: This means we - skip a couple tests though. Removed BuildRequires: java-devel, - libqt5-qtbase-devel, mono-core, mono-devel, wxWidgets-devel, - pkgconfig(protobuf) and pkgconfig(gtk+-3.0). - -------------------------------------------------------------------- -Wed May 17 20:26:25 UTC 2017 - dimstar@opensuse.org - -- Add meson-handle-skipped-tests.patch: Actually do skip tests that - are marked as MESON_SKIP_TEST (gh#mesonbuild/meson#1804). - -------------------------------------------------------------------- -Mon May 8 07:53:20 UTC 2017 - dimstar@opensuse.org - -- Update to version 0.40.1: - + Outputs of generators can be used in custom targets in the VS - backend. - + Visual Studio 2017 support. - + Automatic initialization of subprojects that are git - submodules. - + No download mode for wraps. - + Overriding options per target. - + Compiler object get define. - + Cygwin support. - + Multiple install directories. - + Can specify method of obtaining dependencies. - + Link whole contents of static libraries. - + Unity builds only for subprojects. - + Running mesonintrospect from scripts. - -------------------------------------------------------------------- -Mon Mar 20 11:21:10 UTC 2017 - dimstar@opensuse.org - -- Add meson-disable-untested-code.patch: meson has code in the test - suite that assumes different behaviour between glib 2.51.5 (rc) - and 2.52.0 (final); this must be a wrong assumption to start with - and the test suite fails with 2.52.0. When this was added by - upstream 4 months before glib-2.52.0 was released, there must - have been no way at all to test this. We revert back to a state - like with the previous glib verison, where this test was simply - skipped (gh#mesonbuild/meson#1480). - -------------------------------------------------------------------- -Thu Mar 16 11:04:13 UTC 2017 - sor.alexei@meowr.ru - -- Update to version 0.39.1 (changes since 0.38.1): - * Allow specifying extra arguments for tests. - * Bug fixes and minor polishes. -- Add meson-fix-gcc48.patch: fix GCC 4.8 handling for - openSUSE Leap 42.x. - -------------------------------------------------------------------- -Sat Mar 4 14:50:28 UTC 2017 - dimstar@opensuse.org - -- Update to version 0.38.1: - + New Uninstall target. - + Support for arbitrary test setups. - + Intel C/C++ compiler support. - + Get values from configuration data objects. - + Python 3 module support simplified. - + Default options to subprojects. - + Set targets to be built (or not) by default. - + Add option to mesonconf to wipe cached data. - + Can specify file permissions and owner when installing data. - + has_header() checks are now faster. - + Array indexing now supports fallback values. - + Silent mode for Mesontest. -- Rebase meson-suse-ify-macros.patch. - -------------------------------------------------------------------- -Tue Jan 10 16:14:32 UTC 2017 - dimstar@opensuse.org - -- Add meson-suse-ify-macros.patch: Make the meson macros also work - on openSUSE. We do not (yet?) have separate macros for CFLAGS, - CXXFLAGS, FFLAGS and LDFLAGS, but only carry optflags. This is no - issue, since openSUSE so far only added flags that work accross - compilers/languages. This might change in the future, making the - patch obsolete. - -------------------------------------------------------------------- -Sun Jan 1 12:51:36 UTC 2017 - sor.alexei@meowr.ru - -- Update to version 0.37.1: - * No changelog available. - -------------------------------------------------------------------- -Sun Jan 1 11:38:34 UTC 2017 - jengelh@inai.de - -- Trim boasting words from descriptions. Add to description two - points from the feature list. - -------------------------------------------------------------------- -Mon Dec 19 05:55:00 UTC 2016 - dev@antergos.com - -- Update to version 0.37.0: - * Mesontest: a new testing tool that allows you to run your - tests in many different ways. - * New shared_module function allows shared modules creation. - * GNOME module now detects required programs and prints useful - errors if any are missing. - * GNOME module uses depfile support available in GLib >= 2.52.0. - * i18n module has a new merge_file() function for creating - translated files. - * LLVM IR compilation is now supported. - * .wrap files for subprojects can now include a separate push - URL to allow developers to push changes directly from a - subproject git checkout. - * Multiple version restrictions while searching for pkg-config - dependencies is now supported. - * Support for localstatedir has been added. - * You can now pass arguments to install scripts added with - meson.add_install_script(). - * Added new options sbindir and infodir that can be used for - installation. -- Remove meson-0.36.0-fix-old-pkgconfig-test.patch. - -------------------------------------------------------------------- -Sat Dec 10 20:38:23 UTC 2016 - sor.alexei@meowr.ru - -- Add meson-0.36.0-fix-old-pkgconfig-test.patch: tests/common/51: - Skip validate if pkg-config is too old (commit 2f804e9). - -------------------------------------------------------------------- -Tue Nov 22 15:04:05 UTC 2016 - dimstar@opensuse.org - -- Update to version 0.36.0: - + Add option to run under gdb. - + Always specify installed data with a File object - (gh#mesonbuild/meson#858). - + Made has_function survive optimization flags - (gh#mesonbuild/meson#1053). - + Can give many alternative names to find_program to simplify - searching. - + Can set compiler arguments in Java. -- Export SUSE_ASNEEDED=0 when running the test suite: linking the - test libraries/binaries is not done optimally. - -------------------------------------------------------------------- -Tue Oct 18 20:43:34 UTC 2016 - sor.alexei@meowr.ru - -- Update to version 0.35.1: - * No changelog available. - -------------------------------------------------------------------- -Fri Oct 14 20:46:56 UTC 2016 - zaitor@opensuse.org - -- Update to version 0.35.0: - + No changelog available from upstream. -- Changes from version 0.34.0: - + No changelog available from upstream. -- Drop meson-633.patch and meson-typelib-install.patch : Fixed - upstream. - -------------------------------------------------------------------- -Wed Aug 17 15:43:57 UTC 2016 - dimstar@opensuse.org - -- Update to version 0.33.0: - + Correctly install .typelib files to libdir. - + Add option for as-needed link option. - + Print the CFLAGS/LDFLAGS/etc inherited from the environment. - + Only append compile flags to the link flags when appropriate. -- Add meson-633.patch: Handle both DT_RPATH as well as DT_RUNPATH - when fixing rpath settings (gh#mesonbuild/meson#663). -- Add meson-typelib-install.patch: Fix installation path for - gpobject introspection typelib files. - -------------------------------------------------------------------- -Sat Jul 23 16:15:39 UTC 2016 - sor.alexei@meowr.ru - -- Update to version 0.32.0: - * No changelog available. -- Remove meson-gui package: GUI was removed upstream. - -------------------------------------------------------------------- -Mon May 9 16:47:26 UTC 2016 - jengelh@inai.de - -- Avoid unnecessary bashism in %install script (run with /bin/sh) - -------------------------------------------------------------------- -Sat May 7 07:12:54 UTC 2016 - sor.alexei@meowr.ru - -- Update to version 0.31.0. - -------------------------------------------------------------------- -Thu Feb 11 16:26:54 UTC 2016 - sor.alexei@meowr.ru - -- Update to 0.29.0. - -------------------------------------------------------------------- -Tue Dec 29 05:32:40 UTC 2015 - sor.alexei@meowr.ru - -- Update to 0.28.0. - -------------------------------------------------------------------- -Fri Dec 4 10:29:26 UTC 2015 - sor.alexei@meowr.ru - -- Update to 0.27.0. - -------------------------------------------------------------------- -Sun Sep 13 10:21:57 UTC 2015 - sor.alexei@meowr.ru - -- Update to 0.26.0. -- Use signed tarball. - -------------------------------------------------------------------- -Sun Jul 12 21:02:38 UTC 2015 - sor.alexei@meowr.ru - -- Initial package based on the work of Igor Gnatenko. diff --git a/meson-testsuite.spec b/meson-testsuite.spec deleted file mode 100644 index fd971f1..0000000 --- a/meson-testsuite.spec +++ /dev/null @@ -1,219 +0,0 @@ -# -# spec file for package meson-testsuite -# -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - -%define testsuite 1 -%if %{testsuite} -%define name_ext -testsuite -%else -%define name_ext %{nil} -%endif -%define _name mesonbuild -Name: meson%{name_ext} -Version: 0.48.2 -Release: 0 -Summary: Python-based build system -License: Apache-2.0 -Group: Development/Tools/Building -URL: http://mesonbuild.com/ -Source: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz -Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.asc -Source2: meson.keyring -# PATCH-FIX-OPENSUSE meson-suse-ify-macros.patch dimstar@opensuse.org -- Make the macros non-RedHat specific: so far there are no separate {C,CXX,F}FLAGS. -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-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests. -Patch2: meson-suse-fix-llvm-3.8.patch -# PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009). -Patch3: meson-restore-python3.4.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 - -BuildRequires: python3-base -BuildRequires: python3-setuptools -BuildArch: noarch -%if %{testsuite} -BuildRequires: bison -BuildRequires: cups-devel -BuildRequires: flex -BuildRequires: gcc-c++ -BuildRequires: gcc-fortran -BuildRequires: gcc-obj-c++ -BuildRequires: gcc-objc -BuildRequires: gettext -BuildRequires: git -BuildRequires: gnustep-make -BuildRequires: googletest-devel -BuildRequires: gtk-doc -BuildRequires: itstool -BuildRequires: libjpeg-devel -BuildRequires: libpcap-devel -BuildRequires: libqt5-qtbase-private-headers-devel -BuildRequires: libwmf-devel -BuildRequires: llvm-devel -BuildRequires: meson = %{version} -BuildRequires: ncurses-devel -BuildRequires: ninja -BuildRequires: pkgconfig -BuildRequires: python3-devel >= 3.4 -BuildRequires: python3-gobject -BuildRequires: vala -BuildRequires: vulkan-devel -BuildRequires: zlib-devel-static -BuildRequires: cmake(Qt5Core) -BuildRequires: cmake(Qt5Gui) -BuildRequires: cmake(Qt5LinguistTools) -BuildRequires: cmake(Qt5Widgets) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gobject-introspection-1.0) -BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: pkgconfig(sdl2) -BuildRequires: pkgconfig(zlib) -%if 0%{?suse_version} >= 1500 -BuildRequires: libboost_log-devel -BuildRequires: libboost_system-devel -BuildRequires: libboost_test-devel -BuildRequires: libboost_thread-devel -BuildRequires: rust -BuildRequires: rust-std -%else -BuildRequires: boost-devel -%endif -%else -Requires: ninja -Requires: python3-setuptools -Requires: python3-xml -# meson-gui was last used in openSUSE Leap 42.1. -Provides: meson-gui = %{version} -Obsoletes: meson-gui < %{version} -%endif - -%description -Meson is a build system designed to optimise programmer productivity. -It aims to do this by providing support for software development -tools and practices, such as unit tests, coverage reports, Valgrind, -CCache and the like. Supported languages include C, C++, Fortran, -Java, Rust. Build definitions are written in a non-turing complete -Domain Specific Language. - -%package vim -%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} -Summary: Vim support for meson.build files -Group: Productivity/Text/Editors -Requires: vim -Supplements: packageand(vim:%{name}) -BuildArch: noarch - -%description vim -Meson is a build system designed to optimise programmer productivity. -It aims to do this by providing support for software development -tools and practices, such as unit tests, coverage reports, Valgrind, -CCache and the like. Supported languages include C, C++, Fortran, -Java, Rust. Build definitions are written in a non-turing complete -Domain Specific Language. - -This package provides support for meson.build files in Vim. - -%prep -%setup -q -n meson-%{version} -%patch0 -p1 -%patch1 -p1 -%if 0%{?suse_version} < 1500 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%endif - -# Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) -sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build - -# Disable test of llvm-static libs: openSUSE does not package/ship them -sed -i "s/foreach static : \[true, false\]/foreach static : \[false\]/" test\ cases/frameworks/15\ llvm/meson.build - -# We do not have gmock available at this moment - can't run the test suite for it -rm -r "test cases/frameworks/3 gmock" \ - "test cases/objc/2 nsstring" - -# AddressSanitizer fails here because of ulimit. -sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unittest.SkipTest('ulimit')/" run_unittests.py - -# Remove hashbang from non-exec script -sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py - -%build -# If this is the test suite, we don't need anything else but the meson package -%if !%{testsuite} -python3 setup.py build -%else -# Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH -rm -rf meson.py mesonbuild -%endif - -%install -# If this is the test suite, we don't need anything else but the meson package -%if ! %{testsuite} -python3 setup.py install \ - --root=%{buildroot} --prefix=%{_prefix} - -install -Dpm 0644 data/macros.meson \ - %{buildroot}%{_rpmconfigdir}/macros.d/macros.meson - -install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \ - -t %{buildroot}%{vim_data_dir}/site/ftdetect -install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \ - -t %{buildroot}%{vim_data_dir}/site/indent -install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \ - -t %{buildroot}%{vim_data_dir}/site/syntax -%endif - -%if %{testsuite} -%check -export LANG=C.UTF-8 -export MESON_EXE=%{_bindir}/meson -export MESON_PRINT_TEST_OUTPUT=1 -export SUSE_ASNEEDED=0 -python3 run_tests.py -%endif - -%files -%license COPYING -%if !%{testsuite} -%{_bindir}/meson -%{python3_sitelib}/%{_name}/ -%{python3_sitelib}/meson-* -%dir %{_datadir}/polkit-1/ -%dir %{_datadir}/polkit-1/actions/ -%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy -%{_rpmconfigdir}/macros.d/macros.meson -%{_mandir}/man1/meson.1%{?ext_man} -%endif - -%if !%{testsuite} -%files vim -%doc data/syntax-highlighting/vim/README -%dir %{vim_data_dir} -%dir %{vim_data_dir}/site -%dir %{vim_data_dir}/site/ftdetect -%dir %{vim_data_dir}/site/indent -%dir %{vim_data_dir}/site/syntax -%{vim_data_dir}/site/ftdetect/meson.vim -%{vim_data_dir}/site/indent/meson.vim -%{vim_data_dir}/site/syntax/meson.vim -%endif - -%changelog diff --git a/meson.changes b/meson.changes index 498b441..07ad2d8 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Thu Jan 17 11:57:17 UTC 2019 - Tomáš Chvátal + +- Switch to distutils build and properly create egg-info + +------------------------------------------------------------------- +Wed Jan 16 11:20:15 UTC 2019 - Dominique Leuenberger + +- Add meson-no-lrelease.patch: Don't require lrelease for qt. + +------------------------------------------------------------------- +Wed Jan 9 14:00:46 UTC 2019 - Tomáš Chvátal + +- Remove succeeding supposed failing gtest test that checks + gtest version, openSUSE ships the .pc file with the actual + informations + +------------------------------------------------------------------- +Wed Jan 9 13:24:56 UTC 2019 - Tomáš Chvátal + +- Make sure the tests stop on the failure and output the failing + test at the end for easier digging + +------------------------------------------------------------------- +Wed Jan 9 12:47:37 UTC 2019 - Tomáš Chvátal + +- Make the setuptools conditional so I can quickly switch around + and verify things + +------------------------------------------------------------------- +Wed Jan 9 09:19:05 UTC 2019 - Tomáš Chvátal + +- Switch the package to use _multibuild rather than multiple + spec files + +------------------------------------------------------------------- +Tue Jan 8 14:06:25 UTC 2019 - Tomáš Chvátal + +- Use distutils to build/run rather than setuptools to reduce + buildcycle +- Add patch to be able to build and install using distutils instead + of full setuptools: + * meson-distutils.patch + +------------------------------------------------------------------- +Tue Dec 11 06:02:55 UTC 2018 - sor.alexei@meowr.ru + +- Update to version 0.49.0: + * See https://mesonbuild.com/Release-notes-for-0-49-0.html +- Rebase meson-test-installed-bin.patch. +- Rebase meson-suse-fix-llvm-3.8.patch, + meson-restore-python3.4.patch. +- Add more testsuite dependencies: clang, java-headless, + mono(csharp), wxWidgets-any-devel. + ------------------------------------------------------------------- Mon Nov 12 23:52:33 UTC 2018 - sor.alexei@meowr.ru diff --git a/meson.spec b/meson.spec index f560d5d..1159e12 100644 --- a/meson.spec +++ b/meson.spec @@ -1,7 +1,7 @@ # -# spec file for package meson-testsuite +# spec file for package meson # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,15 +16,19 @@ # -%define testsuite 0 -%if %{testsuite} -%define name_ext -testsuite +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define name_ext -test +%bcond_without test %else %define name_ext %{nil} +%bcond_with test %endif %define _name mesonbuild +%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} +%bcond_with setuptools Name: meson%{name_ext} -Version: 0.48.2 +Version: 0.49.0 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -37,18 +41,33 @@ 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-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests. -Patch2: meson-suse-fix-llvm-3.8.patch # PATCH-FIX-OPENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009). -Patch3: meson-restore-python3.4.patch +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-no-lrelease.patch dimstar@opensuse.org -- Don't require lrelease for qt +Patch6: meson-no-lrelease.patch +BuildRequires: fdupes +BuildRequires: python-rpm-macros BuildRequires: python3-base -BuildRequires: python3-setuptools BuildArch: noarch -%if %{testsuite} +%if %{with setuptools} +BuildRequires: python3-setuptools +Requires: python3-setuptools +%endif +%if !%{with test} +Requires: ninja +Requires: python3-base +# meson-gui was last used in openSUSE Leap 42.1. +Provides: meson-gui = %{version} +Obsoletes: meson-gui < %{version} +%else BuildRequires: bison +BuildRequires: clang BuildRequires: cups-devel BuildRequires: flex BuildRequires: gcc-c++ @@ -59,21 +78,18 @@ BuildRequires: gettext BuildRequires: git BuildRequires: gnustep-make BuildRequires: googletest-devel -BuildRequires: gtk-doc BuildRequires: itstool BuildRequires: libjpeg-devel BuildRequires: libpcap-devel +BuildRequires: libqt5-qtbase-common-devel BuildRequires: libqt5-qtbase-private-headers-devel BuildRequires: libwmf-devel BuildRequires: llvm-devel BuildRequires: meson = %{version} -BuildRequires: ncurses-devel BuildRequires: ninja BuildRequires: pkgconfig -BuildRequires: python3-devel >= 3.4 +BuildRequires: python2-devel BuildRequires: python3-gobject -BuildRequires: vala -BuildRequires: vulkan-devel BuildRequires: zlib-devel-static BuildRequires: cmake(Qt5Core) BuildRequires: cmake(Qt5Gui) @@ -82,25 +98,31 @@ BuildRequires: cmake(Qt5Widgets) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk-doc) +BuildRequires: pkgconfig(ncurses) +BuildRequires: pkgconfig(python3) >= 3.4 BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(vapigen) +BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(zlib) %if 0%{?suse_version} >= 1500 +BuildRequires: java-headless BuildRequires: libboost_log-devel BuildRequires: libboost_system-devel BuildRequires: libboost_test-devel BuildRequires: libboost_thread-devel BuildRequires: rust BuildRequires: rust-std -%else -BuildRequires: boost-devel +BuildRequires: wxWidgets-any-devel +# csharp is not on s390 machines +%ifnarch s390x +BuildRequires: mono(csharp) %endif %else -Requires: ninja -Requires: python3-setuptools -Requires: python3-xml -# meson-gui was last used in openSUSE Leap 42.1. -Provides: meson-gui = %{version} -Obsoletes: meson-gui < %{version} +BuildRequires: boost-devel +BuildRequires: mono-core +BuildRequires: wxWidgets-devel +%endif %endif %description @@ -112,7 +134,6 @@ Java, Rust. Build definitions are written in a non-turing complete Domain Specific Language. %package vim -%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} Summary: Vim support for meson.build files Group: Productivity/Text/Editors Requires: vim @@ -138,8 +159,12 @@ This package provides support for meson.build files in Vim. %patch3 -p1 %patch4 -p1 %endif +%if !%{with setuptools} +%patch5 -p1 +%endif +%patch6 -p1 -# Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) +# Remove static boost tests from "test cases/frameworks/1 boost/". sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build # Disable test of llvm-static libs: openSUSE does not package/ship them @@ -155,44 +180,61 @@ sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unitte # Remove hashbang from non-exec script sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py +# remove gtest check that actually works because our gtest has .pc files +rm -rf test\ cases/failing/85\ gtest\ dependency\ with\ version + %build -# If this is the test suite, we don't need anything else but the meson package -%if !%{testsuite} -python3 setup.py build +%if !%{with test} +%python3_build %else +# FIXME: you should use %%meson macros # Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH -rm -rf meson.py mesonbuild +rm -r meson.py mesonbuild %endif %install # If this is the test suite, we don't need anything else but the meson package -%if ! %{testsuite} -python3 setup.py install \ - --root=%{buildroot} --prefix=%{_prefix} +%if !%{with test} +%python3_install +%fdupes %{buildroot}%{python3_sitelib} install -Dpm 0644 data/macros.meson \ %{buildroot}%{_rpmconfigdir}/macros.d/macros.meson install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \ - -t %{buildroot}%{vim_data_dir}/site/ftdetect + -t %{buildroot}%{vim_data_dir}/site/ftdetect/ install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \ - -t %{buildroot}%{vim_data_dir}/site/indent + -t %{buildroot}%{vim_data_dir}/site/indent/ install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \ - -t %{buildroot}%{vim_data_dir}/site/syntax + -t %{buildroot}%{vim_data_dir}/site/syntax/ + +# entry points are not distutils-able +%if !%{with setuptools} +mkdir -p %{buildroot}%{_bindir} +echo """#!%{_bindir}/python3 +import sys + +from mesonbuild.mesonmain import main +sys.exit(main()) +""" > %{buildroot}%{_bindir}/%{name} +chmod +x %{buildroot}%{_bindir}/%{name} + +# ensure egg-info is a directory +rm %{buildroot}%{python3_sitelib}/*.egg-info +cp -r meson.egg-info %{buildroot}%{python3_sitelib}/meson-%{version}-py%{python3_version}.egg-info +%endif %endif -%if %{testsuite} +%if %{with test} %check export LANG=C.UTF-8 export MESON_EXE=%{_bindir}/meson -export MESON_PRINT_TEST_OUTPUT=1 -export SUSE_ASNEEDED=0 -python3 run_tests.py +python3 run_tests.py --failfast %endif %files %license COPYING -%if !%{testsuite} +%if !%{with test} %{_bindir}/meson %{python3_sitelib}/%{_name}/ %{python3_sitelib}/meson-* @@ -201,16 +243,14 @@ python3 run_tests.py %{_datadir}/polkit-1/actions/com.mesonbuild.install.policy %{_rpmconfigdir}/macros.d/macros.meson %{_mandir}/man1/meson.1%{?ext_man} -%endif -%if !%{testsuite} %files vim %doc data/syntax-highlighting/vim/README -%dir %{vim_data_dir} -%dir %{vim_data_dir}/site -%dir %{vim_data_dir}/site/ftdetect -%dir %{vim_data_dir}/site/indent -%dir %{vim_data_dir}/site/syntax +%dir %{vim_data_dir}/ +%dir %{vim_data_dir}/site/ +%dir %{vim_data_dir}/site/ftdetect/ +%dir %{vim_data_dir}/site/indent/ +%dir %{vim_data_dir}/site/syntax/ %{vim_data_dir}/site/ftdetect/meson.vim %{vim_data_dir}/site/indent/meson.vim %{vim_data_dir}/site/syntax/meson.vim diff --git a/pre_checkin.sh b/pre_checkin.sh deleted file mode 100644 index a3504f3..0000000 --- a/pre_checkin.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -sed meson.spec -e "s:%define testsuite 0:%define testsuite 1:" > meson-testsuite.spec -cp meson.changes meson-testsuite.changes -