commit:     7184371bbcd814bbc9b0d98924b1d9309c4b990a
Author:     Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com>
AuthorDate: Fri May  2 10:33:11 2025 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Wed May 21 06:12:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7184371b

dev-lang/ghc: correct binary's ld for building under RAP

Closes: https://bugs.gentoo.org/911720
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Signed-off-by: Mark Wright <gienah <AT> gentoo.org>

 dev-lang/ghc/ghc-9.0.2-r4.ebuild | 11 ++++++++++-
 dev-lang/ghc/ghc-9.2.8.ebuild    |  9 +++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/dev-lang/ghc/ghc-9.0.2-r4.ebuild b/dev-lang/ghc/ghc-9.0.2-r4.ebuild
index 923302293c0e..68814a724753 100644
--- a/dev-lang/ghc/ghc-9.0.2-r4.ebuild
+++ b/dev-lang/ghc/ghc-9.0.2-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -148,6 +148,7 @@ RDEPEND="
 #    utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING
 PREBUILT_BINARY_DEPENDS="
        !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) )
+       prefix? ( dev-util/patchelf )
 "
 # This set of dependencies is needed to install
 # ghc[binary] in system. terminfo package is linked
@@ -407,6 +408,14 @@ relocate_ghc() {
 
        if use prefix; then
                hprefixify "${bin_libpath}"/${PN}*/settings
+               local interpreter=$(patchelf --print-interpreter 
"${EPREFIX}"/bin/bash)
+               ebegin "Changing interpreter to ${interpreter} for Gentoo 
prefix at ${ED}/opt/${P}/bin"
+               find "${bin_libpath}"/${PN}*/bin -type f -print0 | \
+                       while IFS=  read -r -d '' filename; do
+                               einfo "${filename}'s interpreter changed to 
${interpreter}"
+                               patchelf ${filename} --set-interpreter 
${interpreter} || die
+                       done
+               eend $?
        fi
 
        # regenerate the binary package cache

diff --git a/dev-lang/ghc/ghc-9.2.8.ebuild b/dev-lang/ghc/ghc-9.2.8.ebuild
index 4f32225a77cb..eee40e3d3e0b 100644
--- a/dev-lang/ghc/ghc-9.2.8.ebuild
+++ b/dev-lang/ghc/ghc-9.2.8.ebuild
@@ -166,6 +166,7 @@ RDEPEND="
 #    utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING
 PREBUILT_BINARY_DEPENDS="
        !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) )
+       prefix? ( dev-util/patchelf )
 "
 # This set of dependencies is needed to install
 # ghc[binary] in system. terminfo package is linked
@@ -426,6 +427,14 @@ relocate_ghc() {
 
        if use prefix; then
                hprefixify "${bin_libpath}"/${PN}*/settings
+               local interpreter=$(patchelf --print-interpreter 
"${EPREFIX}"/bin/bash)
+               ebegin "Changing interpreter to ${interpreter} for Gentoo 
prefix at ${ED}/opt/${P}/bin"
+               find "${bin_libpath}"/${PN}*/bin -type f -print0 | \
+                       while IFS=  read -r -d '' filename; do
+                               einfo "${filename}'s interpreter changed to 
${interpreter}"
+                               patchelf ${filename} --set-interpreter 
${interpreter} || die
+                       done
+               eend $?
        fi
 
        # regenerate the binary package cache

Reply via email to