meson: fix rpath handling
authorRosen Penev <redacted>
Thu, 23 Apr 2020 00:01:13 +0000 (17:01 -0700)
committerRosen Penev <redacted>
Thu, 23 Apr 2020 01:37:33 +0000 (18:37 -0700)
This was uncovered with glib2 where the host builds were linking to the
actual host instead of the generated libraries.

Patch taken from buildroot.

Signed-off-by: Rosen Penev <redacted>
devel/meson/Makefile
devel/meson/patches/010-Only-fix-RPATH-if-install_rpath-is-not-empty.patch [new file with mode: 0644]

index 5762ad773d19957614dc51077f687fcf2631f6b7..6c06fefcc9892d420b72be8151bd39de1f886aca 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=meson
 PKG_VERSION:=0.54.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=meson
 PKG_HASH:=dde5726d778112acbd4a67bb3633ab2ee75d33d1e879a6283a7b4a44c3363c27
diff --git a/devel/meson/patches/010-Only-fix-RPATH-if-install_rpath-is-not-empty.patch b/devel/meson/patches/010-Only-fix-RPATH-if-install_rpath-is-not-empty.patch
new file mode 100644 (file)
index 0000000..c5651d2
--- /dev/null
@@ -0,0 +1,34 @@
+From 4db4fd79d9bb2b98cea1117f22b6c97942ab2ecd Mon Sep 17 00:00:00 2001
+From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
+Date: Sat, 14 Jul 2018 11:18:45 +0200
+Subject: [PATCH] Only fix RPATH if install_rpath is not empty
+
+Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
+[Fix: remove leftover from original/unconditional code]
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ mesonbuild/minstall.py | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
+index 8ac6aab1..7ef04116 100644
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -508,8 +508,14 @@ class Installer:
+             if file_copied:
+                 self.did_install_something = True
+                 try:
+-                    depfixer.fix_rpath(outname, install_rpath, final_path,
+-                                       install_name_mappings, verbose=False)
++                    # Buildroot check-host-rpath script expects RPATH
++                    # But if install_rpath is empty, it will stripped.
++                    # So, preserve it in this case
++                    if install_rpath:
++                        depfixer.fix_rpath(outname, install_rpath, final_path,
++                                           install_name_mappings, verbose=False)
++                    else:
++                        print("Skipping RPATH fixing")
+                 except SystemExit as e:
+                     if isinstance(e.code, int) and e.code == 0:
+                         pass
+
git clone https://git.99rst.org/PROJECT