summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2022-07-27 09:52:22 +0200
committerMichał Górny <mgorny@gentoo.org>2022-08-02 06:04:30 +0200
commit1746fd5774b828411e4feacf80b9bf8029d7fb43 (patch)
tree947c92ccfd8a262d4d411ef7d53cbdbda3cfb160 /eclass
parentdistutils-r1.eclass: Pass EPREFIX to addpredict (diff)
downloadgentoo-1746fd5774b828411e4feacf80b9bf8029d7fb43.tar.gz
gentoo-1746fd5774b828411e4feacf80b9bf8029d7fb43.tar.bz2
gentoo-1746fd5774b828411e4feacf80b9bf8029d7fb43.zip
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@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/distutils-r1.eclass36
1 files 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
}