[arch-commits] Commit in meson/trunk (2 files)

Jan Steffens heftig at gemini.archlinux.org
Fri Jul 23 15:46:10 UTC 2021


    Date: Friday, July 23, 2021 @ 15:46:10
  Author: heftig
Revision: 420328

0.59.0-2: fix gst-build

Added:
  meson/trunk/0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch
Modified:
  meson/trunk/PKGBUILD

---------------------------------------------------------------+
 0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch |   42 ++++++++++
 PKGBUILD                                                      |    7 +
 2 files changed, 48 insertions(+), 1 deletion(-)

Added: 0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch
===================================================================
--- 0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch	                        (rev 0)
+++ 0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch	2021-07-23 15:46:10 UTC (rev 420328)
@@ -0,0 +1,42 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nirbheek Chauhan <nirbheek at centricular.com>
+Date: Wed, 14 Jul 2021 17:37:39 +0530
+Subject: [PATCH] gnome: Always pass absolute -L paths to g-ir-scanner
+
+g-ir-scanner does not convert relative -L paths to runtime paths which
+are added to -Wl,-rpath and LD_LIBRARY_PATH / DYLD_LIBRARY_PATH
+/ PATH. This means that the local library will either not be found at
+runtime (while building introspection data), or the system-wide
+library will be picked instead.
+
+See: giscanner/ccompiler.py:get_internal_link_flags() in
+gobject-introspection for more details.
+---
+ mesonbuild/modules/gnome.py | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index 1b68f6ccd..3cc8ebdc8 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -640,14 +640,18 @@ class GnomeModule(ExtensionModule):
+                 # Because of https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/72
+                 # we can't use the full path until this is merged.
+                 libpath = os.path.join(girtarget.get_subdir(), girtarget.get_filename())
++                # Must use absolute paths here because g-ir-scanner will not
++                # add them to the runtime path list if they're relative. This
++                # means we cannot use @BUILD_ROOT@
++                build_root = state.environment.get_build_dir()
+                 if isinstance(girtarget, build.SharedLibrary):
+                     # need to put our output directory first as we need to use the
+                     # generated libraries instead of any possibly installed system/prefix
+                     # ones.
+-                    ret += ["-L at BUILD_ROOT@/{}".format(os.path.dirname(libpath))]
++                    ret += ["-L{}/{}".format(build_root, os.path.dirname(libpath))]
+                     libname = girtarget.get_basename()
+                 else:
+-                    libname = os.path.join(f"@BUILD_ROOT@/{libpath}")
++                    libname = os.path.join(f"{build_root}/{libpath}")
+                 ret += ['--library', libname]
+                 # Needed for the following binutils bug:
+                 # https://github.com/mesonbuild/meson/issues/1911

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-07-23 14:48:53 UTC (rev 420327)
+++ PKGBUILD	2021-07-23 15:46:10 UTC (rev 420328)
@@ -4,7 +4,7 @@
 
 pkgname=meson
 pkgver=0.59.0
-pkgrel=1
+pkgrel=2
 pkgdesc='High productivity build system'
 url='https://mesonbuild.com/'
 arch=('any')
@@ -17,10 +17,12 @@
               'libwmf' 'valgrind' 'cmake' 'netcdf-fortran' 'openmpi' 'nasm' 'gnustep-base' 'libelf'
               'python-pytest-xdist' 'python2-setuptools' 'ldc' 'rust-bindgen' 'cuda' 'hotdoc')
 source=(https://github.com/mesonbuild/meson/releases/download/${pkgver/rc/.rc}/meson-${pkgver}.tar.gz{,.asc}
+        0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch
         skip-test.diff
         arch-meson)
 sha512sums=('a620f4dd192bd31da867d3deb162592425c0bdb4a6169d43f81ba8d3c10296d746e739c294a7908a350c383a90beedef03f3c75b549bddc67c0ee7093fa27d92'
             'SKIP'
+            '82b7d3866d327ec05efea2e16097b04a3fd99e0f7de522e4911df3d44f0e6f36c8293d2366fcab2b7a0107eed58ec61c808a87688d2b7d28902f2a355f5c5a91'
             'a40e3be7a4ea7048cbbab59d28fb355debdfcdc5e45244aad65ab57fa222f4a2cf3165f28cc7e1dba893a162de9c7563ef0e155fa6a77960c4d02ef622313ace'
             'f451f8a7ef9cf1dd724c2ce20bb85a3f1611b87b2e7a17ef0fdbe8ab82a67389f818ea30a5adfe8413143e4eac77ea2e0b8234b5b2466b41a892e2bd0435376c')
 validpgpkeys=('19E2D6D9B46D8DAA6288F877C24E631BABB1FE70') # Jussi Pakkanen <jpakkane at gmail.com>
@@ -28,6 +30,9 @@
 prepare() {
   cd ${pkgname}-${pkgver}
 
+  # Fix introspecting libraries that are also installed
+  patch -Np1 -i ../0001-gnome-Always-pass-absolute-L-paths-to-g-ir-scanner.patch
+
   # Our containers do not allow sanitizers to run
   patch -Np1 -i ../skip-test.diff
 }




More information about the arch-commits mailing list