summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2020-06-19 20:36:55 +0200
committerFabian Groffen <grobian@gentoo.org>2020-06-19 20:37:36 +0200
commit52e6f6885bc2ad773632576a5262b5f51509c4cc (patch)
tree0fb216f66ecf3e3a6bc1b6b3ef389b786263521c /dev-util/meson
parentdev-util/gitlab-ci-linter: linter for .gitlab-ci.yml files (diff)
downloadgentoo-52e6f6885bc2ad773632576a5262b5f51509c4cc.tar.gz
gentoo-52e6f6885bc2ad773632576a5262b5f51509c4cc.tar.bz2
gentoo-52e6f6885bc2ad773632576a5262b5f51509c4cc.zip
dev-util/meson-0.54.2: fix installing binaries on Prefix
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'dev-util/meson')
-rw-r--r--dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch25
-rw-r--r--dev-util/meson/meson-0.54.2.ebuild2
-rw-r--r--dev-util/meson/meson-9999.ebuild2
3 files changed, 29 insertions, 0 deletions
diff --git a/dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch b/dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch
new file mode 100644
index 000000000000..1fe2e1ac4cc1
--- /dev/null
+++ b/dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch
@@ -0,0 +1,25 @@
+https://bz-attachments.freebsd.org/attachment.cgi?id=204611
+https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238128
+
+Stripping RPATH on Prefix is really bad, because it means the default
+RPATH entries disappear, and any installed binaries don't work (get
+kernel traps).
+
+Extracted the minstall patch from the FreeBSD full patch.
+
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -488,8 +488,11 @@
+ printed_symlink_error = True
+ if os.path.isfile(outname):
+ try:
+- depfixer.fix_rpath(outname, install_rpath, final_path,
+- install_name_mappings, verbose=False)
++ if install_rpath:
++ depfixer.fix_rpath(outname, install_rpath, final_path,
++ install_name_mappings, verbose=False)
++ else:
++ print("RPATH changes at install time disabled")
+ except SystemExit as e:
+ if isinstance(e.code, int) and e.code == 0:
+ pass
diff --git a/dev-util/meson/meson-0.54.2.ebuild b/dev-util/meson/meson-0.54.2.ebuild
index 7f1a4c1f6523..eee417491e84 100644
--- a/dev-util/meson/meson-0.54.2.ebuild
+++ b/dev-util/meson/meson-0.54.2.ebuild
@@ -60,6 +60,8 @@ python_prepare_all() {
# Broken due to python2 script created by python_wrapper_setup
rm -r "test cases/frameworks/1 boost" || die
+ use prefix && eapply "${FILESDIR}"/0.54.2-prefix-dont-strip-rpath.patch
+
distutils-r1_python_prepare_all
}
diff --git a/dev-util/meson/meson-9999.ebuild b/dev-util/meson/meson-9999.ebuild
index 5cd9c5f13bb2..edbd30f51167 100644
--- a/dev-util/meson/meson-9999.ebuild
+++ b/dev-util/meson/meson-9999.ebuild
@@ -56,6 +56,8 @@ python_prepare_all() {
# Broken due to python2 script created by python_wrapper_setup
rm -r "test cases/frameworks/1 boost" || die
+ use prefix && eapply "${FILESDIR}"/0.54.2-prefix-dont-strip-rpath.patch
+
distutils-r1_python_prepare_all
}