commit: 577e72e88614511b08bee8c8b064e91702a1ffd4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 13 14:21:16 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec 13 14:24:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=577e72e8
dev-lang/python: Fix installing lib-dynload in 3.12
The Makefile rules are broken and fail to create the necessary
directories in DESTDIR if they are already present on the live system.
They also fail to handle install(1) errors. Therefore, if Python 3.12
was already installed in the system, the ebuild did not create
lib-dynload directory in DESTDIR, then failed to install extension
modules there and happily created a broken Python distribution.
Just create the directory early in the ebuild to workaround the problem
until upstream figures out how to fix the problem.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../{python-3.12.0_alpha3.ebuild => python-3.12.0_alpha3-r1.ebuild} | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dev-lang/python/python-3.12.0_alpha3.ebuild
b/dev-lang/python/python-3.12.0_alpha3-r1.ebuild
similarity index 99%
rename from dev-lang/python/python-3.12.0_alpha3.ebuild
rename to dev-lang/python/python-3.12.0_alpha3-r1.ebuild
index 6a277535661c..9cdbb7bfcca9 100644
--- a/dev-lang/python/python-3.12.0_alpha3.ebuild
+++ b/dev-lang/python/python-3.12.0_alpha3-r1.ebuild
@@ -398,6 +398,10 @@ src_test() {
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
+ # the Makefile rules are broken
+ # https://github.com/python/cpython/issues/100221
+ mkdir -p "${libdir}"/lib-dynload || die
+
# -j1 hack for now for bug #843458
emake -j1 DESTDIR="${D}" altinstall