Browse Source

meson: fix rpath handling

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 <rosenp@gmail.com>
lilik-openwrt-22.03
Rosen Penev 4 years ago
parent
commit
d88e1ae4dd
No known key found for this signature in database GPG Key ID: 36D31CFA845F0E3B
2 changed files with 35 additions and 1 deletions
  1. +1
    -1
      devel/meson/Makefile
  2. +34
    -0
      devel/meson/patches/010-Only-fix-RPATH-if-install_rpath-is-not-empty.patch

+ 1
- 1
devel/meson/Makefile View 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


+ 34
- 0
devel/meson/patches/010-Only-fix-RPATH-if-install_rpath-is-not-empty.patch View File

@ -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

Loading…
Cancel
Save