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?

Reply via email to