From fbbdadda9a5e0c65ef13da2e333deac208603d47a8ccd27f286ea441a26b571f Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Tue, 14 Jan 2020 19:34:25 +0000 Subject: [PATCH 1/2] Accepting request 764407 from home:dimstar:Factory - Update to version 0.53.0: + A new module for filesystem operations. + meson dist --include-subprojects. + Added new Meson templates for Dlang, Rust, Objective-C + Add a new summary() function + Generic Overrider for Dynamic Linker selection + fortran_std option + python.dependency() embed kwarg + Scalapack + Search directories for find_program() + Source tags targets + Dictionary entry using string variable as key + Improved CMake subprojects support + compiler.get_linker_id() + CUDA dependency + Added global option to disable C++ RTTI + Introspection API changes OBS-URL: https://build.opensuse.org/request/show/764407 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=151 --- gcc9-sanitizer.patch | 13 -------- meson-0.51.2.tar.gz | 3 -- meson-0.51.2.tar.gz.asc | 16 --------- meson-0.53.0.tar.gz | 3 ++ meson-0.53.0.tar.gz.sig | Bin 0 -> 566 bytes meson-distutils.patch | 10 +++--- meson-pkgconf-libdir.patch | 47 ++++++++++++++++++++++++++ meson-test-installed-bin.patch | 18 +++++----- meson-testsuite-boost.patch | 36 ++++++++++++++++++++ meson.changes | 58 +++++++++++++++++++++++++++++++++ meson.spec | 19 +++++++---- 11 files changed, 172 insertions(+), 51 deletions(-) delete mode 100644 gcc9-sanitizer.patch delete mode 100644 meson-0.51.2.tar.gz delete mode 100644 meson-0.51.2.tar.gz.asc create mode 100644 meson-0.53.0.tar.gz create mode 100644 meson-0.53.0.tar.gz.sig create mode 100644 meson-pkgconf-libdir.patch create mode 100644 meson-testsuite-boost.patch diff --git a/gcc9-sanitizer.patch b/gcc9-sanitizer.patch deleted file mode 100644 index 1f9cd50..0000000 --- a/gcc9-sanitizer.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py -index e27ae2b..bc10824 100644 ---- a/mesonbuild/compilers/compilers.py -+++ b/mesonbuild/compilers/compilers.py -@@ -427,7 +427,7 @@ def sanitizer_compile_args(value): - def sanitizer_link_args(value): - if value == 'none': - return [] -- args = ['-fsanitize=' + value] -+ args = ['-fsanitize=' + value, '-ldl', '-lrt', '-lm', '-lpthread'] - return args - - def option_enabled(boptions, options, option): diff --git a/meson-0.51.2.tar.gz b/meson-0.51.2.tar.gz deleted file mode 100644 index ff7d194..0000000 --- a/meson-0.51.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23688f0fc90be623d98e80e1defeea92bbb7103bf9336a5f5b9865d36e892d76 -size 1453251 diff --git a/meson-0.51.2.tar.gz.asc b/meson-0.51.2.tar.gz.asc deleted file mode 100644 index aa331c6..0000000 --- a/meson-0.51.2.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl1kEFQACgkQO/RpO/7r -lCj0uhAAghXcnktZEMFIaWnAcoRgd7t6s27s/hDej5b1X8PsujaeXwItvgLQli1I -ZZaPkkwDFcaOz3RiXeoRjvJKN3lD3Lb0UoEBOslcBgWRzb8zG+2npXmGeaEjGMe+ -9X0i1Eq0ZogOVt3Dqm7+ZMSBA0RR4YRQ2nIsZhsWCZD6WoMV68y5ACnkAKfLe9ho -Me1gZaDCMqAzINiCeyPO1dRqLxN7UgveXC49bv+i38ah4SpDoHNkr6ZW8fkDEaXP -dmlnOKuQBL6BOcEvuTSelPjUIUZMOSBykFAS7YzmMoEOAAe4T212ca7e93WMA4Ez -+V/zx9aMnpD2KUNcAzndPzMr4NFPnIBg+vQdOq3OYubupnMOxRRzhDbKzmPc9hVp -gXlDFxCGWDWhn0/F48L+V1oSIFXc4QPLKUF3XMQ4yNskrmKAnhQmNM5YAxMbg7Wo -5At1gQc5M8laWBJnJ/2cFDJ6CrYSAGUXQFgH2Uw14BqLsG2prGYPF2KDTq5J/99R -W3QEXXjDYJvAhTlVLzJE3nMA3JzxDztg4pry+zeJJ7XZmfvSs5KVFyqiA76r63xO -OCbmtb0ZKflqqy3dCWsCbc0fFIfgNGJN6H+jQ4J0VkdRuAyEqWUDCkc3wxxHTCJ1 -5p60NxwX3C4HDdbn8eM9nhSQriDHjwhlmo/Kl2uqlw0Q6UErGZw= -=6j53 ------END PGP SIGNATURE----- diff --git a/meson-0.53.0.tar.gz b/meson-0.53.0.tar.gz new file mode 100644 index 0000000..d416c6b --- /dev/null +++ b/meson-0.53.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:035e75993ab6fa6c9ebf902b835c64cf397a763eb8e65c9bb6e1cc9730a9d3f6 +size 1548224 diff --git a/meson-0.53.0.tar.gz.sig b/meson-0.53.0.tar.gz.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..778f68626e3b49e41e7d789d9ddc4b58a3d85333b391e03ff7b58a2124e8cba3 GIT binary patch literal 566 zcmV-60?GY}0y6{v0SW*e79j+c7#~jU6#ew%8&Qor^l3Z(>y#)30$vpCTL20P5Igi~ zJO1mGD93UT0ES2bs=0^|baU}50eG`dM8_%}`*}i5nuKp97ojeNe|rc#)7oy~%=+>j zGMG=l^{wxfeQ-Y@ofDq~K^Ea~kkCGef6 zhHMZ%PZ4oT--tFM7(W&NX^;}oOQ$7p=N~#Ia0+3eEXg`^7Sw1$`e1c6Z6cY}%kKgR zVbdBIxvvvZwq-f?7-VOP)jS?P9}k_w5!xRUcCMz_wxX^zO5+q`#R*>?5#MW`tZ?iJ zN%E55qpoT*t!D{3Ps<`vgR-vb0U?19&0(VS{%L z3j_^&g?f+u;9h)-h08rEI=T9Fij3!%Dt2dktSHM5=(&O{11=RLMkiXfpTlWO1_la` zrX#8xvWw*Cz}}p37mDMK%JE298WQP0z9evHaBKsfU%kZUrb8>1c`s5~_Cv&%NcVaU E%^x)a6#xJL literal 0 HcmV?d00001 diff --git a/meson-distutils.patch b/meson-distutils.patch index 55ee5dc..ef4ff63 100644 --- a/meson-distutils.patch +++ b/meson-distutils.patch @@ -1,9 +1,9 @@ -Index: meson-0.49.0/setup.py +Index: meson-0.52.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) +--- meson-0.52.0.orig/setup.py ++++ meson-0.52.0/setup.py +@@ -21,7 +21,7 @@ if sys.version_info < (3, 5, 2): + '\nMeson requires Python 3.5.2 or greater'.format(sys.version)) from mesonbuild.coredata import version -from setuptools import setup diff --git a/meson-pkgconf-libdir.patch b/meson-pkgconf-libdir.patch new file mode 100644 index 0000000..c2930a7 --- /dev/null +++ b/meson-pkgconf-libdir.patch @@ -0,0 +1,47 @@ +From 1ce668f9163e1c912382eeb0e6ae40d123c0cca9 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Mon, 13 Jan 2020 23:46:09 -0500 +Subject: [PATCH] test_pkgconfig_gen_deps: set + PKG_CONFIG_SYSTEM_LIBRARY_PATH=/usr/lib + +pkgconf automatically prunes "system library paths" from its output. The +system library paths depend on the system toolchain. A common value on a +64-bit system is as follows: + +/lib64:/usr/lib64:/usr/local/lib64 + +So, if -L/usr/lib64 appears in the Libs section, it will be pruned from +the output of pkg-config --libs. + +The pc files generated for this test contain something like this: + +libdir=/usr/lib +Libs: -L${libdir} ... + +pkgconf may not consider /usr/lib to be a system library path, so it is +not pruned as the test expects. To work around this, override the +compiled-in list of paths via the PKG_CONFIG_SYSTEM_LIBRARY_PATH +environment variable. + +Fixes: https://github.com/mesonbuild/meson/issues/6004 +--- + run_unittests.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/run_unittests.py b/run_unittests.py +index 898f05e54d..5a60b9b6a4 100755 +--- a/run_unittests.py ++++ b/run_unittests.py +@@ -4832,7 +4832,10 @@ def test_pkgconfig_gen_deps(self): + privatedir2 = self.privatedir + + os.environ +- env = {'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2])} ++ env = { ++ 'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2]), ++ 'PKG_CONFIG_SYSTEM_LIBRARY_PATH': '/usr/lib', ++ } + self._run(['pkg-config', 'dependency-test', '--validate'], override_envvars=env) + + # pkg-config strips some duplicated flags so we have to parse the + diff --git a/meson-test-installed-bin.patch b/meson-test-installed-bin.patch index ddca6c9..6415460 100644 --- a/meson-test-installed-bin.patch +++ b/meson-test-installed-bin.patch @@ -1,11 +1,13 @@ ---- a/run_tests.py -+++ b/run_tests.py -@@ -104,18 +104,10 @@ def get_meson_script(): +Index: meson-0.53.0/run_tests.py +=================================================================== +--- meson-0.53.0.orig/run_tests.py ++++ meson-0.53.0/run_tests.py +@@ -134,18 +134,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). ''' - # Is there a meson.py next to the mesonbuild currently in use? -- mesonbuild_dir = Path(mesonbuild.__file__).resolve().parent.parent +- mesonbuild_dir = Path(mesonmain.__file__).resolve().parent.parent - meson_script = mesonbuild_dir / 'meson.py' - if meson_script.is_file(): - return str(meson_script) @@ -21,7 +23,7 @@ def get_backend_args_for_dir(backend, builddir): ''' -@@ -296,12 +288,12 @@ def main(): +@@ -363,12 +355,12 @@ def main(): else: env['PYTHONPATH'] = temp_dir if not cross: @@ -37,6 +39,6 @@ + #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'] + if no_unittests: + print('Skipping all unit tests.') + returncode = 0 diff --git a/meson-testsuite-boost.patch b/meson-testsuite-boost.patch new file mode 100644 index 0000000..303cee8 --- /dev/null +++ b/meson-testsuite-boost.patch @@ -0,0 +1,36 @@ +Index: meson-0.53.0/test cases/frameworks/1 boost/meson.build +=================================================================== +--- meson.build ++++ meson.build +@@ -35,16 +35,7 @@ python3dep = python3.dependency(required + + # compile python 2/3 modules only if we found a corresponding python version + if(python2dep.found() and host_machine.system() == 'linux') +- if(dep.version().version_compare('>=1.67')) +- # if we have a new version of boost, we need to construct the module name based +- # on the installed version of python (and hope that they match the version boost +- # was compiled against) +- py2version_string = ''.join(python2dep.version().split('.')) +- bpython2dep = dependency('boost', modules : ['python' + py2version_string]) +- else +- # if we have an older version of boost, we need to use the old module names +- bpython2dep = dependency('boost', modules : ['python']) +- endif ++ bpython2dep = dependency('boost', modules : ['python']) + + if not (bpython2dep.found()) + bpython2dep = disabler() +@@ -55,12 +46,7 @@ else + endif + + if(python3dep.found() and host_machine.system() == 'linux') +- if(dep.version().version_compare('>=1.67')) +- py3version_string = ''.join(python3dep.version().split('.')) +- bpython3dep = dependency('boost', modules : ['python' + py3version_string]) +- else +- bpython3dep = dependency('boost', modules : ['python3']) +- endif ++ bpython3dep = dependency('boost', modules : ['python3']) + + if not (bpython3dep.found()) + bpython3dep = disabler() diff --git a/meson.changes b/meson.changes index b3530cc..338a7aa 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Wed Jan 8 11:48:50 UTC 2020 - Dominique Leuenberger + +- Update to version 0.53.0: + + A new module for filesystem operations. + + meson dist --include-subprojects. + + Added new Meson templates for Dlang, Rust, Objective-C + + Add a new summary() function + + Generic Overrider for Dynamic Linker selection + + fortran_std option + + python.dependency() embed kwarg + + Scalapack + + Search directories for find_program() + + Source tags targets + + Dictionary entry using string variable as key + + Improved CMake subprojects support + + compiler.get_linker_id() + + CUDA dependency + + Added global option to disable C++ RTTI + + Introspection API changes +- Add meson-testsuite-boost.patch: Fix detection of boost_python + names. This is apparently inconsistent accross distros. + +------------------------------------------------------------------- +Sat Nov 30 12:25:34 UTC 2019 - Dominique Leuenberger + +- Update to version 0.52.1: + + linkers: Concatenate -L and the directory. + + Remove duplicated object files in static libraries. + + Revert "Add `-Wl,-rpath-link` for secondary dependencies". +- Drop meson-testsuite.patch: fixed upstream. + ------------------------------------------------------------------- Thu Oct 24 09:39:45 UTC 2019 - Frederic Crozat @@ -8,6 +40,32 @@ Mon Oct 21 11:26:06 UTC 2019 - Frederic Crozat - Do not buildrequires mono(csharp) or mono-core on SLE. +------------------------------------------------------------------- +Mon Oct 7 09:56:54 UTC 2019 - Dominique Leuenberger + +- Update to version 0.52.0: + + Gettext targets are ignored if gettext is not installed. + + Support taking environment values from a dictionary. + + Enhancements to the pkg_config_path argument. + + The meson test program now accepts an additional "--gdb-path" + argument to specify the GDB binary. + + Splitting of Compiler.get_function_attribute('visibility'). + + Compiler and dynamic linker representation split. + + Enhancements to the source_set module. + + added --only test(s) option to run_project_tests.py. + + Experimental Webassembly support via Emscripten. + + Version check in find_program(). + + Improved support for static libraries. + + Enhancements to the kconfig module. + + Enhancements to configure_file(). + + Projects args can be set separately for build and host machines + (potentially breaking change). + + Dist is now a top level command. +- Rebase meson-test-installed-bin.patch and meson-distutils.patch. +- Drop gcc9-sanitizer.patch: no longer needed. +- Add meson-testsuite.patch: linkers: Concatenate -L and the + directory. + ------------------------------------------------------------------- Tue Aug 27 11:08:21 UTC 2019 - Dominique Leuenberger diff --git a/meson.spec b/meson.spec index 3f9cff5..7155245 100644 --- a/meson.spec +++ b/meson.spec @@ -1,7 +1,7 @@ # # spec file for package meson # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,16 +26,16 @@ %endif %define _name mesonbuild %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} -%bcond_with setuptools +%bcond_with setuptools Name: meson%{name_ext} -Version: 0.51.2 +Version: 0.53.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 +Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.sig 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 @@ -49,7 +49,10 @@ Patch3: meson-suse-fix-llvm-3.8.patch 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 -Patch6: gcc9-sanitizer.patch +# PATCH-FIX-UPSTREAM meson-pkgconf-libdir.patch dimstar@opensuse.org -- https://github.com/mesonbuild/meson/pull/6458 +Patch6: meson-pkgconf-libdir.patch +# PATCH-FIX-UPSREAM meson-testsuite-boost.patch dimstar@opensuse.org -- https://github.com/mesonbuild/meson/issues/4788 +Patch7: meson-testsuite-boost.patch BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-base @@ -108,6 +111,8 @@ BuildRequires: pkgconfig(zlib) %if 0%{?suse_version} >= 1500 BuildRequires: java-headless BuildRequires: libboost_log-devel +BuildRequires: libboost_python-devel +BuildRequires: libboost_python3-devel BuildRequires: libboost_system-devel BuildRequires: libboost_test-devel BuildRequires: libboost_thread-devel @@ -166,6 +171,9 @@ This package provides support for meson.build files in Vim. %patch5 -p1 %endif %patch6 -p1 +(cd "test cases/frameworks/1 boost" +%patch7 -p0 +) # Remove static boost tests from "test cases/frameworks/1 boost/". sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build @@ -190,7 +198,6 @@ rm -rf test\ cases/failing/85\ gtest\ dependency\ with\ version %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 From be83d6d910b845ce79279db6385b50d06986c0df1af011514e4839ff02c51eb8 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 14 Jan 2020 20:23:06 +0000 Subject: [PATCH 2/2] - Add meson-pkgconf-libdir.patch: pkgconf does not honor /usr/lib as 'system directory' on biarch systems. OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=152 --- meson.changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meson.changes b/meson.changes index 338a7aa..3f94003 100644 --- a/meson.changes +++ b/meson.changes @@ -20,6 +20,8 @@ Wed Jan 8 11:48:50 UTC 2020 - Dominique Leuenberger + Introspection API changes - Add meson-testsuite-boost.patch: Fix detection of boost_python names. This is apparently inconsistent accross distros. +- Add meson-pkgconf-libdir.patch: pkgconf does not honor /usr/lib + as 'system directory' on biarch systems. ------------------------------------------------------------------- Sat Nov 30 12:25:34 UTC 2019 - Dominique Leuenberger