From 5bda4cb4e6e894b80a1218793ff1b83877b1ea94d1d2332ec8bcaa3c1140c43e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 4 Nov 2020 14:33:15 +0000 Subject: [PATCH] Accepting request 845975 from GNOME:Next Resubmit 0.56.0 - with additional patch to not break sysprof OBS-URL: https://build.opensuse.org/request/show/845975 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=191 --- 7930.patch | 53 ++++++++++++++++++++++++++++++++++ meson-0.55.3.tar.gz | 3 -- meson-0.55.3.tar.gz.asc | 16 ---------- meson-0.56.0.tar.gz | 3 ++ meson-0.56.0.tar.gz.asc | 16 ++++++++++ meson-test-installed-bin.patch | 12 ++++---- meson.changes | 31 ++++++++++++++++++++ meson.spec | 5 +++- 8 files changed, 113 insertions(+), 26 deletions(-) create mode 100644 7930.patch delete mode 100644 meson-0.55.3.tar.gz delete mode 100644 meson-0.55.3.tar.gz.asc create mode 100644 meson-0.56.0.tar.gz create mode 100644 meson-0.56.0.tar.gz.asc diff --git a/7930.patch b/7930.patch new file mode 100644 index 0000000..8b1bffe --- /dev/null +++ b/7930.patch @@ -0,0 +1,53 @@ +From 2b923f532c3e16687910fecb09cedb80a76597cf Mon Sep 17 00:00:00 2001 +From: Xavier Claessens +Date: Tue, 3 Nov 2020 09:39:39 -0500 +Subject: [PATCH] pkgconfig: Make external deps of static library public + +This fix a regression caused by +https://github.com/mesonbuild/meson/pull/7837, it wanted to make +InternalDependency's external_deps private but has side effect of making +StatisLibrary's external_deps private too. + +It is technically correct to make them private, but Meson used to make +StaticLibrary deps public so they are usable without `pkg-config +--static` when we know there is only a static library available. + +Fixes: #7929. +--- + mesonbuild/modules/pkgconfig.py | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py +index a863b33c93..62e1c1595c 100644 +--- a/mesonbuild/modules/pkgconfig.py ++++ b/mesonbuild/modules/pkgconfig.py +@@ -131,7 +131,7 @@ def _process_libs(self, libs, public): + if obj.found(): + processed_libs += obj.get_link_args() + processed_cflags += obj.get_compile_args() +- self._add_lib_dependencies(obj.libraries, obj.whole_libraries, obj.ext_deps, public) ++ self._add_lib_dependencies(obj.libraries, obj.whole_libraries, obj.ext_deps, public, private_external_deps=True) + elif isinstance(obj, dependencies.Dependency): + if obj.found(): + processed_libs += obj.get_link_args() +@@ -160,7 +160,7 @@ def _process_libs(self, libs, public): + + return processed_libs, processed_reqs, processed_cflags + +- def _add_lib_dependencies(self, link_targets, link_whole_targets, external_deps, public): ++ def _add_lib_dependencies(self, link_targets, link_whole_targets, external_deps, public, private_external_deps=False): + add_libs = self.add_pub_libs if public else self.add_priv_libs + # Recursively add all linked libraries + for t in link_targets: +@@ -173,7 +173,10 @@ def _add_lib_dependencies(self, link_targets, link_whole_targets, external_deps, + for t in link_whole_targets: + self._add_link_whole(t, public) + # And finally its external dependencies +- self.add_priv_libs(external_deps) ++ if private_external_deps: ++ self.add_priv_libs(external_deps) ++ else: ++ add_libs(external_deps) + + def _add_link_whole(self, t, public): + # Don't include static libraries that we link_whole. But we still need to diff --git a/meson-0.55.3.tar.gz b/meson-0.55.3.tar.gz deleted file mode 100644 index fb58294..0000000 --- a/meson-0.55.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6bed2a25a128bbabe97cf40f63165ebe800e4fcb46db8ab7ef5c2b5789f092a5 -size 1740465 diff --git a/meson-0.55.3.tar.gz.asc b/meson-0.55.3.tar.gz.asc deleted file mode 100644 index 0cb23e2..0000000 --- a/meson-0.55.3.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl9bo80ACgkQO/RpO/7r -lCir+A/9ETdoEiQl0VglrSZHmZ5YEGXMWWowZSKvZ4ZJTRunjP/O0yKg5TKxJn+f -5+qVrQH/w7Igasbp84dkUUbMqwsQuzX7NJkCjO5NswRSAS7NNECFM+3otCTsXGrp -2C5V/bmyk8/E8hlVH3+2j0xo50NeCpQhzvTZLIvOoNOgd2uD85WeymnMCwlF0HpV -V2WFE5N4YQQFLMRsUS+3gOlC0A5kOlLzlv9hc8HxzBnvLc0uPSAEBakHixjQl/VS -PKsi3BZNjZABTGxp3UJ7Xo95SMOU48XHuWqw2Vec+Px3EAVLyIC+ByCAgJ3IEOwv -B2XiRbD7X6pPEESFT80KlOrIeNetdy8T2CAaVB1Q2sjY5bi6u+lDZYlapxedubon -5lQivrwwFYe9xe3Ehe+wNMhcjUhJ7u42fyBzNzfMMBn7IGZFcKZQ1APctUDdvs9N -Lwx/cfooJdRhUWE0dGf0U1sWX/RY4ZnjW21slyplHhJzB6PWffoB3H0KvJwdhqxJ -b5gjIJ45IY36VGzHcUhHPSQvtmclZ06CVMg6PX7g9dhvZX6rn0yjq+6ZmzIKdjzW -t+KLybo/ct3nsWWGUKF4TFg0nrRIkhEXkvJ0gXErN0WCxld6dD/Gt800XsOlQsJb -Z2b4mIpfmMUn1MwEXnxZFk1z/l6PdfJsYlRYhh/2CLEq95NzZUk= -=3CN/ ------END PGP SIGNATURE----- diff --git a/meson-0.56.0.tar.gz b/meson-0.56.0.tar.gz new file mode 100644 index 0000000..0685566 --- /dev/null +++ b/meson-0.56.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:291dd38ff1cd55fcfca8fc985181dd39be0d3e5826e5f0013bf867be40117213 +size 1794974 diff --git a/meson-0.56.0.tar.gz.asc b/meson-0.56.0.tar.gz.asc new file mode 100644 index 0000000..97f916c --- /dev/null +++ b/meson-0.56.0.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAl+b2MoACgkQO/RpO/7r +lChjlg/6AsKeKgw+2kC9hLp7Fz6qrPUulWfI1uqZ/wCn/nkiWfVVPiyMjvin7KBU +k4t7fFZvEA2mAbp+Itm8LB9sEFlsKL3hGHB14OmKAbTjnjW+L4bPB0IgLvazxv9O +LRoWkxQTJA0deoWCAe0siJ5H7JUabc+1vUToGURTYfrhrmMzTudm/CiRDDpnLsB+ +wc6UPfYtpQ6zUB2uF/lWtUqnLU9O3tz5hNnYdzbjbxOTvOo9xo9d5LsnN+omOxIj +bqZq3hcKjlz06WmfabD/KAH13U1iS8+cn1Q15J2l64uKVr0YTgVALprpFXvoDEaW +az0snIk7CPR48D8xEpzyVHR1SGZZMX9AM+o564JMgfRWOWOk9YrQVg3+udh+XLc6 +U8RubTNBVzMB7Z8z+ce9KTFLekUDxxwCHSRr+bLcJ8UHbrkSn6fWhalPJ+UZ/pf/ +BfSQZ0bMoWBzDI+Ig6C604dNGg6N1rJlJP2X2W7UFjmjqV//snWhLNUvBf+T6du4 +sTEeYWs1yaFvIMUuPwACKQ6IDRKgkQOA6TVA1CLQ/1wptOtDfWkcoJm8pW/jXQfZ +7xWg0DwQsCfrrVd11BF484xGUsJVbi8+fBMUug3nJVAW0Rf4i0iAVKUOj81D2BU4 +6j0nSK2C3aEU7ZIqrbPtxn2M8lzj0L5tYK+dB1y6U91DrZdQLcc= +=xAl0 +-----END PGP SIGNATURE----- diff --git a/meson-test-installed-bin.patch b/meson-test-installed-bin.patch index ebffedd..12578a0 100644 --- a/meson-test-installed-bin.patch +++ b/meson-test-installed-bin.patch @@ -1,8 +1,8 @@ -Index: meson-0.54.0/run_tests.py +Index: meson-0.56.0/run_tests.py =================================================================== ---- meson-0.54.0.orig/run_tests.py -+++ meson-0.54.0/run_tests.py -@@ -152,18 +152,10 @@ def get_meson_script(): +--- meson-0.56.0.orig/run_tests.py ++++ meson-0.56.0/run_tests.py +@@ -153,18 +153,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). ''' @@ -23,10 +23,10 @@ Index: meson-0.54.0/run_tests.py def get_backend_args_for_dir(backend, builddir): ''' -@@ -366,12 +358,12 @@ def main(): +@@ -352,12 +344,12 @@ def main(): else: env['PYTHONPATH'] = temp_dir - if not cross: + if not options.cross: - cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v'] - if options.failfast: - cmd += ['--failfast'] diff --git a/meson.changes b/meson.changes index bd90aef..44f8f07 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Tue Nov 3 14:57:22 UTC 2020 - Dominique Leuenberger + +- Add 7930.patch: pkgconfig: Make external deps of static library + public. + +------------------------------------------------------------------- +Fri Oct 30 09:20:33 UTC 2020 - Dominique Leuenberger + +- Update to version 0.56.0: + + meson test can now filter tests by subproject + + Native (build machine) compilers not always required by + project(). + + New extra_files key in target introspection. + + meson.build_root() and meson.source_root() are deprecated. + + dep.as_link_whole(). + + Added NVidia HPC SDK compilers. + + CMake subproject cross compilation support. + + Machine file keys are stored case sensitive. + + Consistency between declare_dependency() and + pkgconfig.generate() variables. + + Qt5 compile_translations now supports qresource preprocessing. + + Controlling subproject dependencies with + dependency(allow_fallback: ...). + + Improvements for the builtin curses dependency. + + HDF5 dependency improvements. + + Dependencies listed in test and benchmark introspection. + + Deprecate Dependency.get_pkgconfig_variable and + Dependency.get_configtool_variable. +- Rebase meson-test-installed-bin.patch. + ------------------------------------------------------------------- Fri Sep 11 17:26:46 UTC 2020 - Dominique Leuenberger diff --git a/meson.spec b/meson.spec index 605b5e3..abfa300 100644 --- a/meson.spec +++ b/meson.spec @@ -28,7 +28,7 @@ %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} %bcond_with setuptools Name: meson%{name_ext} -Version: 0.55.3 +Version: 0.56.0 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -43,6 +43,8 @@ Patch0: meson-suse-ify-macros.patch Patch1: meson-test-installed-bin.patch # PATCH-FEATURE-OPENSUSE meson-distutils.patch tchvatal@suse.com -- build and install using distutils instead of full setuptools Patch2: meson-distutils.patch +# PATCH-FIX-UPSTREAM 7930.patch -- pkgconfig: Make external deps of static library public +Patch3: https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/7930.patch BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-base @@ -162,6 +164,7 @@ This package provides support for meson.build files in Vim. %if !%{with setuptools} %patch2 -p1 %endif +%patch3 -p1 # We do not have gmock available at this moment - can't run the test suite for it rm -r "test cases/frameworks/3 gmock" \