From ac2c0a64309143ff1a9efae3651d57e3cc7b1ef617f2a314accd4ab41ba5a827 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Sun, 16 Dec 2018 22:15:56 +0000 Subject: [PATCH 1/8] - Update to version 0.45.0. OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=118 --- meson-0.48.2.tar.gz | 3 - meson-0.48.2.tar.gz.asc | 16 ---- meson-0.49.0.tar.gz | 3 + meson-0.49.0.tar.gz.asc | 16 ++++ meson-fix-gcc48.patch | 93 ++++---------------- meson-restore-python3.4.patch | 155 +++++++++++++++------------------ meson-suse-fix-llvm-3.8.patch | 19 +++- meson-test-installed-bin.patch | 28 ++++-- meson-testsuite.changes | 11 +++ meson-testsuite.spec | 54 ++++++------ meson.changes | 11 +++ meson.spec | 54 ++++++------ 12 files changed, 222 insertions(+), 241 deletions(-) delete mode 100644 meson-0.48.2.tar.gz delete mode 100644 meson-0.48.2.tar.gz.asc create mode 100644 meson-0.49.0.tar.gz create mode 100644 meson-0.49.0.tar.gz.asc 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-fix-gcc48.patch b/meson-fix-gcc48.patch index e590c35..b7bb7c5 100644 --- a/meson-fix-gcc48.patch +++ b/meson-fix-gcc48.patch @@ -1,80 +1,19 @@ ---- a/mesonbuild/compilers/cpp.py -+++ b/mesonbuild/compilers/cpp.py -@@ -137,8 +137,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 - -@@ -168,8 +168,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 - -@@ -194,10 +194,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', -@@ -271,7 +273,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= (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 index 498b441..f5a1a21 100644 --- a/meson-testsuite.changes +++ b/meson-testsuite.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Dec 11 06:02:55 UTC 2018 - sor.alexei@meowr.ru + +- Update to version 0.45.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-testsuite.spec b/meson-testsuite.spec index fd971f1..a8dc721 100644 --- a/meson-testsuite.spec +++ b/meson-testsuite.spec @@ -24,7 +24,7 @@ %endif %define _name mesonbuild 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 +37,25 @@ 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 - BuildRequires: python3-base BuildRequires: python3-setuptools BuildArch: noarch -%if %{testsuite} +%if !%{testsuite} +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} +%else BuildRequires: bison +BuildRequires: clang BuildRequires: cups-devel BuildRequires: flex BuildRequires: gcc-c++ @@ -85,22 +92,20 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(sdl2) 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 +BuildRequires: wxWidgets-any-devel +BuildRequires: mono(csharp) %else BuildRequires: boost-devel +BuildRequires: mono-core +BuildRequires: wxWidgets-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 @@ -139,7 +144,7 @@ This package provides support for meson.build files in Vim. %patch4 -p1 %endif -# 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 @@ -156,17 +161,16 @@ sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unitte 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 +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} +%if !%{testsuite} python3 setup.py install \ --root=%{buildroot} --prefix=%{_prefix} @@ -174,11 +178,11 @@ 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/ %endif %if %{testsuite} @@ -206,11 +210,11 @@ python3 run_tests.py %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/meson.changes b/meson.changes index 498b441..f5a1a21 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Dec 11 06:02:55 UTC 2018 - sor.alexei@meowr.ru + +- Update to version 0.45.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..d6fc8b3 100644 --- a/meson.spec +++ b/meson.spec @@ -24,7 +24,7 @@ %endif %define _name mesonbuild 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 +37,25 @@ 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 - BuildRequires: python3-base BuildRequires: python3-setuptools BuildArch: noarch -%if %{testsuite} +%if !%{testsuite} +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} +%else BuildRequires: bison +BuildRequires: clang BuildRequires: cups-devel BuildRequires: flex BuildRequires: gcc-c++ @@ -85,22 +92,20 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(sdl2) 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 +BuildRequires: wxWidgets-any-devel +BuildRequires: mono(csharp) %else BuildRequires: boost-devel +BuildRequires: mono-core +BuildRequires: wxWidgets-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 @@ -139,7 +144,7 @@ This package provides support for meson.build files in Vim. %patch4 -p1 %endif -# 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 @@ -156,17 +161,16 @@ sed -i "/def test_generate_gir_with_address_sanitizer/s/$/\n raise unitte 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 +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} +%if !%{testsuite} python3 setup.py install \ --root=%{buildroot} --prefix=%{_prefix} @@ -174,11 +178,11 @@ 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/ %endif %if %{testsuite} @@ -206,11 +210,11 @@ python3 run_tests.py %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 From 2eea602a6054a2f58f56f0a80f13fc9263b31facb507766a8088f177b10fb565 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Sun, 16 Dec 2018 22:20:42 +0000 Subject: [PATCH 2/8] OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=119 --- meson-fix-gcc48.patch | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/meson-fix-gcc48.patch b/meson-fix-gcc48.patch index b7bb7c5..b77d57b 100644 --- a/meson-fix-gcc48.patch +++ b/meson-fix-gcc48.patch @@ -1,3 +1,32 @@ +--- 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 From be391a380c2f3d8b0dbb7273d86607b7563991d80c3caeda9ca3abbca546a112 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Sun, 16 Dec 2018 22:31:04 +0000 Subject: [PATCH 3/8] OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=120 --- meson-fix-gcc48.patch | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/meson-fix-gcc48.patch b/meson-fix-gcc48.patch index b77d57b..0708037 100644 --- a/meson-fix-gcc48.patch +++ b/meson-fix-gcc48.patch @@ -1,5 +1,53 @@ --- a/mesonbuild/minit.py +++ b/mesonbuild/minit.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}', From 36e1899036f66381a23f5a0f087e36821ce43575ad219d19b536a2765745c013 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Sun, 16 Dec 2018 22:33:41 +0000 Subject: [PATCH 4/8] OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=121 --- meson-fix-gcc48.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson-fix-gcc48.patch b/meson-fix-gcc48.patch index 0708037..8e7b881 100644 --- a/meson-fix-gcc48.patch +++ b/meson-fix-gcc48.patch @@ -1,5 +1,5 @@ ---- a/mesonbuild/minit.py -+++ b/mesonbuild/minit.py +--- 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) From 5eb479be2cb73f2d85e903b9ca42f07b9c3ff243d2bcc4cbb41984b99e0bf6c6 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Fri, 28 Dec 2018 18:18:49 +0000 Subject: [PATCH 5/8] OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=122 --- meson-testsuite.changes | 2 +- meson.changes | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meson-testsuite.changes b/meson-testsuite.changes index f5a1a21..e2c25c2 100644 --- a/meson-testsuite.changes +++ b/meson-testsuite.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Tue Dec 11 06:02:55 UTC 2018 - sor.alexei@meowr.ru -- Update to version 0.45.0: +- 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, diff --git a/meson.changes b/meson.changes index f5a1a21..e2c25c2 100644 --- a/meson.changes +++ b/meson.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Tue Dec 11 06:02:55 UTC 2018 - sor.alexei@meowr.ru -- Update to version 0.45.0: +- 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, From bbb06c4b44ae304e2fa02047058c5a03f9ae4f6593c47f9b0b13e8deef0e7581 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 16 Jan 2019 11:19:24 +0000 Subject: [PATCH 6/8] Accepting request 664588 from home:scarabeus_iv:branches:devel:tools:building Fixed the traceback on exec - Remove succeeding supposed failing gtest test that checks gtest version, openSUSE ships the .pc file with the actual informations - Make sure the tests stop on the failure and output the failing test at the end for easier digging - Make the setuptools conditional so I can quickly switch around and verify things - Switch the package to use _multibuild rather than multiple spec files - 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 OBS-URL: https://build.opensuse.org/request/show/664588 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=123 --- _multibuild | 3 + meson-distutils.patch | 13 + meson-testsuite.changes | 620 ---------------------------------------- meson-testsuite.spec | 223 --------------- meson.changes | 34 +++ meson.spec | 82 ++++-- pre_checkin.sh | 5 - 7 files changed, 105 insertions(+), 875 deletions(-) create mode 100644 _multibuild create mode 100644 meson-distutils.patch delete mode 100644 meson-testsuite.changes delete mode 100644 meson-testsuite.spec delete mode 100644 pre_checkin.sh 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-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-testsuite.changes b/meson-testsuite.changes deleted file mode 100644 index e2c25c2..0000000 --- a/meson-testsuite.changes +++ /dev/null @@ -1,620 +0,0 @@ -------------------------------------------------------------------- -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 - -- 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 a8dc721..0000000 --- a/meson-testsuite.spec +++ /dev/null @@ -1,223 +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.49.0 -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-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 -BuildRequires: python3-base -BuildRequires: python3-setuptools -BuildArch: noarch -%if !%{testsuite} -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} -%else -BuildRequires: bison -BuildRequires: clang -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: java-headless -BuildRequires: libboost_log-devel -BuildRequires: libboost_system-devel -BuildRequires: libboost_test-devel -BuildRequires: libboost_thread-devel -BuildRequires: rust -BuildRequires: rust-std -BuildRequires: wxWidgets-any-devel -BuildRequires: mono(csharp) -%else -BuildRequires: boost-devel -BuildRequires: mono-core -BuildRequires: wxWidgets-devel -%endif -%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/". -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 !%{testsuite} -python3 setup.py build -%else -# Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH -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} - -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 e2c25c2..8185a82 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +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 diff --git a/meson.spec b/meson.spec index d6fc8b3..9cb80e5 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,13 +16,17 @@ # -%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_without setuptools Name: meson%{name_ext} Version: 0.49.0 Release: 0 @@ -43,13 +47,18 @@ Patch2: meson-restore-python3.4.patch 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 +Patch5: meson-distutils.patch +BuildRequires: fdupes +BuildRequires: python-rpm-macros BuildRequires: python3-base -BuildRequires: python3-setuptools BuildArch: noarch -%if !%{testsuite} -Requires: ninja +%if %{with setuptools} +BuildRequires: python3-setuptools Requires: python3-setuptools -Requires: python3-xml +%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} @@ -66,21 +75,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) @@ -89,7 +95,12 @@ 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 @@ -100,7 +111,10 @@ BuildRequires: libboost_thread-devel BuildRequires: rust BuildRequires: rust-std BuildRequires: wxWidgets-any-devel +# csharp is not on s390 machines +%ifnarch s390x BuildRequires: mono(csharp) +%endif %else BuildRequires: boost-devel BuildRequires: mono-core @@ -117,7 +131,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 @@ -143,6 +156,9 @@ This package provides support for meson.build files in Vim. %patch3 -p1 %patch4 -p1 %endif +%if !%{with setuptools} +%patch5 -p1 +%endif # Remove static boost tests from "test cases/frameworks/1 boost/". sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build @@ -160,19 +176,23 @@ 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 !%{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 -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 @@ -183,20 +203,30 @@ 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/ + +# 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} +%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-* @@ -205,9 +235,7 @@ 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}/ 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 - From cb32bb23a7a9192c7cf6c97dd109a1e9e083e9b0e785ccf11d92c59caa262bb8 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 16 Jan 2019 11:23:01 +0000 Subject: [PATCH 7/8] - Add meson-no-lrelease.patch: Don't require lrelease for qt. OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=124 --- meson-no-lrelease.patch | 26 ++++++++++++++++++++++++++ meson.changes | 5 +++++ meson.spec | 4 ++++ 3 files changed, 35 insertions(+) create mode 100644 meson-no-lrelease.patch diff --git a/meson-no-lrelease.patch b/meson-no-lrelease.patch new file mode 100644 index 0000000..3aa8b3f --- /dev/null +++ b/meson-no-lrelease.patch @@ -0,0 +1,26 @@ +From 391878e83aef4c2ba43e69c4850bbc84f409783e Mon Sep 17 00:00:00 2001 +From: Dylan Baker +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.changes b/meson.changes index 8185a82..51033c5 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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 diff --git a/meson.spec b/meson.spec index 9cb80e5..e6fac3e 100644 --- a/meson.spec +++ b/meson.spec @@ -47,7 +47,10 @@ Patch2: meson-restore-python3.4.patch 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 @@ -159,6 +162,7 @@ This package provides support for meson.build files in Vim. %if !%{with setuptools} %patch5 -p1 %endif +%patch6 -p1 # Remove static boost tests from "test cases/frameworks/1 boost/". sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build From 7e3e29d2a2a985c373d5453112f8ead8e914c4e1bd9d4a90c34fd4c39fdf0391 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 17 Jan 2019 12:16:42 +0000 Subject: [PATCH 8/8] Accepting request 666688 from home:scarabeus_iv:branches:devel:tools:building - Switch to distutils build and properly create egg-info OBS-URL: https://build.opensuse.org/request/show/666688 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=125 --- meson.changes | 5 +++++ meson.spec | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/meson.changes b/meson.changes index 51033c5..07ad2d8 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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 diff --git a/meson.spec b/meson.spec index e6fac3e..1159e12 100644 --- a/meson.spec +++ b/meson.spec @@ -26,7 +26,7 @@ %endif %define _name mesonbuild %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} -%bcond_without setuptools +%bcond_with setuptools Name: meson%{name_ext} Version: 0.49.0 Release: 0 @@ -218,6 +218,10 @@ 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