summaryrefslogtreecommitdiff
path: root/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2025-09-30 21:06:27 +0100
committerSam James <sam@gentoo.org>2025-09-30 21:06:53 +0100
commit6c71db48d1ed52ae84da892cae1950e1a670fe4b (patch)
tree7f0828eb356b91e5c28efc095492a43d7d43fcca /dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild
parent9cdb541ebc99e6b83b12b5e202328b1d70632413 (diff)
downloadgentoo-6c71db48d1ed52ae84da892cae1950e1a670fe4b.tar.gz
gentoo-6c71db48d1ed52ae84da892cae1950e1a670fe4b.tar.bz2
gentoo-6c71db48d1ed52ae84da892cae1950e1a670fe4b.zip
dev-lang/ada-bootstrap: fix prefix compatibility
Reported by phaebz. Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild')
-rw-r--r--dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild15
1 files changed, 15 insertions, 0 deletions
diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild b/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild
index b9ebac7293cb..af09867d3f85 100644
--- a/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild
+++ b/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild
@@ -68,6 +68,7 @@ S=${WORKDIR}
LICENSE="GPL-2 GPL-3"
SLOT="0"
KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc"
+IUSE="prefix"
RDEPEND="
>=dev-libs/gmp-4.3.2:0/10.4
@@ -76,6 +77,9 @@ RDEPEND="
sys-libs/zlib
virtual/libiconv
"
+BDEPEND="
+ prefix? ( dev-util/patchelf )
+"
src_unpack() {
# We want to unpack only the appropriate tarball for CHOST (e.g. on arm).
@@ -122,6 +126,17 @@ src_install() {
# This gives us the same layout as older dev-lang/ada-bootstrap
dosym -r /usr/lib/ada-bootstrap/bin /usr/lib/ada-bootstrap/usr/bin
dosym -r /usr/lib/ada-bootstrap/usr/libexec /usr/lib/ada-bootstrap/libexec
+
+ if use prefix ; then
+ local ret=0
+ local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash)
+ ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/usr/lib/ada-bootstrap/usr/bin"
+ find "${ED}"/usr/lib/ada-bootstrap/usr/bin -type f -print0 | \
+ while IFS= read -r -d '' filename; do
+ patchelf ${filename} --set-interpreter ${interpreter} \; || ret=1
+ done
+ eend ${ret} || die "patchelf invocation failed"
+ fi
}
# TODO: pkg_postinst warning/log?