commit: 6c71db48d1ed52ae84da892cae1950e1a670fe4b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 30 20:06:27 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 30 20:06:53 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c71db48
dev-lang/ada-bootstrap: fix prefix compatibility
Reported by phaebz.
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild | 15 +++++++++++++++
dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild | 15 +++++++++++++++
dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 15 +++++++++++++++
3 files changed, 45 insertions(+)
diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild
b/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild
index 507d35e2e89e..a34805d3d05f 100644
--- a/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild
+++ b/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild
@@ -65,6 +65,7 @@ S=${WORKDIR}
LICENSE="GPL-2 GPL-3"
SLOT="0"
KEYWORDS="-* amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc"
+IUSE="prefix"
RDEPEND="
>=dev-libs/gmp-4.3.2:0/10.4
@@ -73,6 +74,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).
@@ -119,6 +123,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?
diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild
b/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild
index 507d35e2e89e..a34805d3d05f 100644
--- a/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild
+++ b/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild
@@ -65,6 +65,7 @@ S=${WORKDIR}
LICENSE="GPL-2 GPL-3"
SLOT="0"
KEYWORDS="-* amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc"
+IUSE="prefix"
RDEPEND="
>=dev-libs/gmp-4.3.2:0/10.4
@@ -73,6 +74,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).
@@ -119,6 +123,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?
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?