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@gentoo.org>
This commit is contained in:
Michał Górny
2022-12-13 15:21:16 +01:00
parent b1c6afa073
commit 577e72e886

View File

@@ -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