dev-lang/ada-bootstrap: fix prefix compatibility

Reported by phaebz.

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-09-30 21:06:27 +01:00
parent 9cdb541ebc
commit 6c71db48d1
3 changed files with 45 additions and 0 deletions

View File

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

View File

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

View File

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