commit:     f6f893c3222bf5c86d67f8df17db501a7cb624fc
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 14 05:17:47 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Jan 14 05:18:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6f893c3

dev-util/meson: fix test_pkgconfig_gen_deps

Closes: https://bugs.gentoo.org/705352
Package-Manager: Portage-2.3.84_p2, Repoman-2.3.20_p24
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../files/0.52.1-test_pkgconfig_gen_deps.patch     | 46 ++++++++++++++++++++++
 dev-util/meson/meson-0.52.1.ebuild                 |  4 ++
 dev-util/meson/meson-0.53.0.ebuild                 |  4 ++
 3 files changed, 54 insertions(+)

diff --git a/dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch 
b/dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch
new file mode 100644
index 00000000000..ec753e00230
--- /dev/null
+++ b/dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch
@@ -0,0 +1,46 @@
+From 1ce668f9163e1c912382eeb0e6ae40d123c0cca9 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <[email protected]>
+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/dev-util/meson/meson-0.52.1.ebuild 
b/dev-util/meson/meson-0.52.1.ebuild
index 85edd45c7d1..3b5f7e24d00 100644
--- a/dev-util/meson/meson-0.52.1.ebuild
+++ b/dev-util/meson/meson-0.52.1.ebuild
@@ -35,6 +35,10 @@ DEPEND="${RDEPEND}
 "
 
 python_prepare_all() {
+       local PATCHES=(
+               "${FILESDIR}"/0.52.1-test_pkgconfig_gen_deps.patch
+       )
+
        # ASAN and sandbox both want control over LD_PRELOAD
        # https://bugs.gentoo.org/673016
        sed -i -e 's/test_generate_gir_with_address_sanitizer/_&/' 
run_unittests.py || die

diff --git a/dev-util/meson/meson-0.53.0.ebuild 
b/dev-util/meson/meson-0.53.0.ebuild
index e7ca1f73f7b..c9252fd5abd 100644
--- a/dev-util/meson/meson-0.53.0.ebuild
+++ b/dev-util/meson/meson-0.53.0.ebuild
@@ -35,6 +35,10 @@ DEPEND="${RDEPEND}
 "
 
 python_prepare_all() {
+       local PATCHES=(
+               "${FILESDIR}"/0.52.1-test_pkgconfig_gen_deps.patch
+       )
+
        # ASAN and sandbox both want control over LD_PRELOAD
        # https://bugs.gentoo.org/673016
        sed -i -e 's/test_generate_gir_with_address_sanitizer/_&/' 
run_unittests.py || die

Reply via email to