commit: 1746fd5774b828411e4feacf80b9bf8029d7fb43
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 27 07:52:22 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 2 04:04:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1746fd57
distutils-r1.eclass: Let gpep517 compile bytecode when 9+ is used
Use the new --optimize option of gpep517 >= 9 when it is installed,
and remove the python_optimize call then. This conditional logic is
meant to give some additional testing while gpep517-9 is still in ~arch.
Note that this also removes python_optimize call for "no" mode.
However, this mode is used only by a handful of ebuilds, so if any of
them needs an explicit python_optimize call, we can quickly fix them.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 36 ++++++++++++++++++++++++++----------
1 file changed, 26 insertions(+), 10 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 495eead1d5fd..60f81473c0a6 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1270,13 +1270,25 @@ distutils_wheel_install() {
local wheel=${2}
einfo " Installing ${wheel##*/} to ${root}"
- local cmd=(
- gpep517 install-wheel
- --destdir="${root}"
- --interpreter="${PYTHON}"
- --prefix="${EPREFIX}/usr"
- "${wheel}"
- )
+ if has_version -b ">=dev-python/gpep517-9"; then
+ # TODO: inline when we dep on >=9
+ local cmd=(
+ gpep517 install-wheel
+ --destdir="${root}"
+ --interpreter="${PYTHON}"
+ --prefix="${EPREFIX}/usr"
+ --optimize=all
+ "${wheel}"
+ )
+ else
+ local cmd=(
+ gpep517 install-wheel
+ --destdir="${root}"
+ --interpreter="${PYTHON}"
+ --prefix="${EPREFIX}/usr"
+ "${wheel}"
+ )
+ fi
printf '%s\n' "${cmd[*]}"
"${cmd[@]}" || die "Wheel install failed"
@@ -1994,9 +2006,13 @@ _distutils-r1_post_python_install() {
done
if [[ ${DISTUTILS_USE_PEP517} ]]; then
- # we need to recompile everything here in order to embed
- # the correct paths
- python_optimize "${sitedir}"
+ if ! has_version -b ">=dev-python/gpep517-9"
+ then
+ # TODO: remove when we dep on >=9
+ # we need to recompile everything here in order
to embed
+ # the correct paths
+ python_optimize "${sitedir}"
+ fi
fi
fi
}