commit:     8385562ce1a2ada550150ec14b20e4b14aadf840
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 25 21:15:06 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Sep 12 07:45:32 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8385562c

python-utils-r1.eclass: Redo cross-prefix support using sysconfig

We recently supported cross-prefix by rewriting PYTHON_SITEDIR and
PYTHON_INCLUDEDIR from BROOT to EPREFIX. We now know that you can get
sysconfig to use EPREFIX in the first place, which is cleaner.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index f9c6d161d3f3..bd30c1203180 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -346,24 +346,22 @@ _python_export() {
                        PYTHON_SITEDIR)
                                [[ -n ${PYTHON} ]] || die "PYTHON needs to be 
set for ${var} to be exported, or requested before it"
                                PYTHON_SITEDIR=$(
-                                       "${PYTHON}" - <<-EOF || die
-                                               import sysconfig
-                                               
print(sysconfig.get_path("purelib"))
+                                       "${PYTHON}" - "${EPREFIX}/usr" <<-EOF 
|| die
+                                               import sys, sysconfig
+                                               
print(sysconfig.get_path("purelib", vars={"base": sys.argv[1]}))
                                        EOF
                                )
-                               
PYTHON_SITEDIR=${EPREFIX}${PYTHON_SITEDIR#"${BROOT-${EPREFIX}}"}
                                export PYTHON_SITEDIR
                                debug-print "${FUNCNAME}: PYTHON_SITEDIR = 
${PYTHON_SITEDIR}"
                                ;;
                        PYTHON_INCLUDEDIR)
                                [[ -n ${PYTHON} ]] || die "PYTHON needs to be 
set for ${var} to be exported, or requested before it"
                                PYTHON_INCLUDEDIR=$(
-                                       "${PYTHON}" - <<-EOF || die
-                                               import sysconfig
-                                               
print(sysconfig.get_path("platinclude"))
+                                       "${PYTHON}" - "${ESYSROOT}/usr" <<-EOF 
|| die
+                                               import sys, sysconfig
+                                               
print(sysconfig.get_path("platinclude", vars={"installed_platbase": 
sys.argv[1]}))
                                        EOF
                                )
-                               
PYTHON_INCLUDEDIR=${ESYSROOT}${PYTHON_INCLUDEDIR#"${BROOT-${EPREFIX}}"}
                                export PYTHON_INCLUDEDIR
                                debug-print "${FUNCNAME}: PYTHON_INCLUDEDIR = 
${PYTHON_INCLUDEDIR}"
 

Reply via email to