diff options
| author | Sam James <sam@gentoo.org> | 2025-09-30 21:06:27 +0100 |
|---|---|---|
| committer | Sam James <sam@gentoo.org> | 2025-09-30 21:06:53 +0100 |
| commit | 6c71db48d1ed52ae84da892cae1950e1a670fe4b (patch) | |
| tree | 7f0828eb356b91e5c28efc095492a43d7d43fcca /dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | |
| parent | 9cdb541ebc99e6b83b12b5e202328b1d70632413 (diff) | |
| download | gentoo-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.ebuild | 15 |
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? |
