extra/meson to 0.59.1-1

This commit is contained in:
David Beauchamp 2021-08-18 18:01:55 -04:00
parent 478a0fdf7b
commit 7f44ca6025
2 changed files with 3 additions and 50 deletions

View file

@ -1,42 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@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@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

View file

@ -6,8 +6,8 @@
# - disable lto in arch-meson # - disable lto in arch-meson
pkgname=meson pkgname=meson
pkgver=0.59.0 pkgver=0.59.1
pkgrel=2 pkgrel=1
pkgdesc='High productivity build system' pkgdesc='High productivity build system'
url='https://mesonbuild.com/' url='https://mesonbuild.com/'
arch=('any') arch=('any')
@ -20,12 +20,10 @@ checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt5-base' '
'libwmf' 'valgrind' 'cmake' 'netcdf-fortran' 'openmpi' 'nasm' 'gnustep-base' 'libelf' 'libwmf' 'valgrind' 'cmake' 'netcdf-fortran' 'openmpi' 'nasm' 'gnustep-base' 'libelf'
'python-pytest-xdist' 'python2-setuptools' 'ldc' 'rust-bindgen' 'cuda' 'hotdoc') '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} 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 skip-test.diff
arch-meson) arch-meson)
sha512sums=('a620f4dd192bd31da867d3deb162592425c0bdb4a6169d43f81ba8d3c10296d746e739c294a7908a350c383a90beedef03f3c75b549bddc67c0ee7093fa27d92' sha512sums=('c45e29869dc681675b2643c37c892e7fff365c051edce4f2ec278fc6cee25bac6818add819e4db69d2fe3c1ba9572fc55bb8f67fe791cdc9c187627c71b01963'
'SKIP' 'SKIP'
'82b7d3866d327ec05efea2e16097b04a3fd99e0f7de522e4911df3d44f0e6f36c8293d2366fcab2b7a0107eed58ec61c808a87688d2b7d28902f2a355f5c5a91'
'a40e3be7a4ea7048cbbab59d28fb355debdfcdc5e45244aad65ab57fa222f4a2cf3165f28cc7e1dba893a162de9c7563ef0e155fa6a77960c4d02ef622313ace' 'a40e3be7a4ea7048cbbab59d28fb355debdfcdc5e45244aad65ab57fa222f4a2cf3165f28cc7e1dba893a162de9c7563ef0e155fa6a77960c4d02ef622313ace'
'278f5e4de3aa1170d9b4f9f212985d664f44d90ffec727febeeea1ed570046c6469558a5d123a41bf4c2fdf99dbe7832515b06f1ace423c63e2e95ba6d0ef235') '278f5e4de3aa1170d9b4f9f212985d664f44d90ffec727febeeea1ed570046c6469558a5d123a41bf4c2fdf99dbe7832515b06f1ace423c63e2e95ba6d0ef235')
validpgpkeys=('19E2D6D9B46D8DAA6288F877C24E631BABB1FE70') # Jussi Pakkanen <jpakkane@gmail.com> validpgpkeys=('19E2D6D9B46D8DAA6288F877C24E631BABB1FE70') # Jussi Pakkanen <jpakkane@gmail.com>
@ -33,9 +31,6 @@ validpgpkeys=('19E2D6D9B46D8DAA6288F877C24E631BABB1FE70') # Jussi Pakkanen <jpak
prepare() { prepare() {
cd ${pkgname}-${pkgver} 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 # Our containers do not allow sanitizers to run
patch -Np1 -i ../skip-test.diff patch -Np1 -i ../skip-test.diff
} }