* [gentoo-dev] [PATCH 1/8] python-any-r1.eclass: Fix python_gen_any_dep w/ PYTHON_REQ_USE
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 2/8] python-any-r1.eclass: Remove obsolete variable Michał Górny
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Fix `python_gen_any_dep()` to correctly strip the `:=` operator when
it does not occur at the end of `PYTHON_PKG_DEP`, i.e. when
`PYTHON_REQ_USE` is used and a USE dependency string is appended.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/python-any-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index 0c01a49f9000..ca2ddf146406 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -259,7 +259,7 @@ python_gen_any_dep() {
local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
i_depstr=${i_depstr//\$\{PYTHON_SINGLE_USEDEP\}/${PYTHON_SINGLE_USEDEP}}
# note: need to strip '=' slot operator for || deps
- out="( ${PYTHON_PKG_DEP%:=} ${i_depstr} ) ${out}"
+ out="( ${PYTHON_PKG_DEP/:=} ${i_depstr} ) ${out}"
done
echo "|| ( ${out})"
}
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 2/8] python-any-r1.eclass: Remove obsolete variable
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 1/8] python-any-r1.eclass: Fix python_gen_any_dep w/ PYTHON_REQ_USE Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Depend on dev-lang/pypy directly Michał Górny
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Remove a leftover variable from before PYTHON_PKG_DEP was used.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/python-any-r1.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index ca2ddf146406..adc7b1bfec47 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -167,8 +167,7 @@ inherit python-utils-r1
# @CODE
_python_any_set_globals() {
- local usestr deps i PYTHON_PKG_DEP
- [[ ${PYTHON_REQ_USE} ]] && usestr="[${PYTHON_REQ_USE}]"
+ local deps i PYTHON_PKG_DEP
_python_set_impls
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Depend on dev-lang/pypy directly
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 1/8] python-any-r1.eclass: Fix python_gen_any_dep w/ PYTHON_REQ_USE Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 2/8] python-any-r1.eclass: Remove obsolete variable Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 4/8] python-utils-r1.eclass: Move python3_13t before other python* Michał Górny
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Depend on `>=dev-lang/pypy-3.10:=` rather than the backwards
compatibility `dev-python/pypy3` package. Note that the package needs
to remain at least for some time after the next subslot bump, so that
users rebuild all packages and get the updated dependency across
the system.
Note that this requires pkgcheck to be updated first.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/python-utils-r1.eclass | 9 ++-------
eclass/tests/python-utils-r1.sh | 4 +++-
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 555b6c561a18..1c0e63a2621f 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -450,20 +450,15 @@ _python_export() {
local d
case ${impl} in
python*)
- PYTHON_PKG_DEP="dev-lang/python:${impl#python}"
+ PYTHON_PKG_DEP="dev-lang/python:${impl#python}${PYTHON_REQ_USE:+[${PYTHON_REQ_USE}]}"
;;
pypy3)
- PYTHON_PKG_DEP="dev-python/${impl}:="
+ PYTHON_PKG_DEP=">=dev-lang/pypy-3.10:=[symlink${PYTHON_REQ_USE:+,${PYTHON_REQ_USE}}]"
;;
*)
die "Invalid implementation: ${impl}"
esac
- # use-dep
- if [[ ${PYTHON_REQ_USE} ]]; then
- PYTHON_PKG_DEP+=[${PYTHON_REQ_USE}]
- fi
-
export PYTHON_PKG_DEP
debug-print "${FUNCNAME}: PYTHON_PKG_DEP = ${PYTHON_PKG_DEP}"
;;
diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh
index 732f53381b22..81c3c6f78158 100755
--- a/eclass/tests/python-utils-r1.sh
+++ b/eclass/tests/python-utils-r1.sh
@@ -79,6 +79,7 @@ for minor in {10..13} 13t; do
test_var PYTHON_LIBS "python3_${minor}" "*-lpython3.${minor}*"
fi
test_var PYTHON_PKG_DEP "python3_${minor}" "*dev-lang/python*:3.${minor}"
+ PYTHON_REQ_USE=sqlite test_var PYTHON_PKG_DEP "python3_${minor}" "*dev-lang/python*:3.${minor}\[sqlite\]"
test_var PYTHON_SCRIPTDIR "python3_${minor}" "/usr/lib/python-exec/python3.${minor}"
tbegin "Testing that python3_${minor} is present in an impl array"
@@ -126,7 +127,8 @@ if [[ -x /usr/bin/pypy3 ]]; then
test_var PYTHON_SITEDIR pypy3 "/usr/lib*/pypy3.*/site-packages"
test_var PYTHON_INCLUDEDIR pypy3 "/usr/include/pypy3.*"
fi
-test_var PYTHON_PKG_DEP pypy3 '*dev-python/pypy3*:='
+test_var PYTHON_PKG_DEP pypy3 '*dev-lang/pypy*:=\[symlink\]'
+PYTHON_REQ_USE=sqlite test_var PYTHON_PKG_DEP pypy3 '*dev-lang/pypy*:=\[symlink,sqlite\]'
test_var PYTHON_SCRIPTDIR pypy3 /usr/lib/python-exec/pypy3
eoutdent
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 4/8] python-utils-r1.eclass: Move python3_13t before other python*
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
` (2 preceding siblings ...)
2024-11-22 13:38 ` [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Depend on dev-lang/pypy directly Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Update maturin's skip auditwheel option Michał Górny
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Move the python3_13t target on the list before other CPython targets.
This means it's technically "less preferred", so e.g. *all phases
would rather be performed with regular CPython, which should generally
be more faster.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/python-utils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 1c0e63a2621f..0cb132b72e3a 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -40,8 +40,8 @@ inherit multiprocessing toolchain-funcs
# All supported Python implementations, most preferred last.
_PYTHON_ALL_IMPLS=(
pypy3
- python3_{10..13}
python3_13t
+ python3_{10..13}
)
readonly _PYTHON_ALL_IMPLS
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Update maturin's skip auditwheel option
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
` (3 preceding siblings ...)
2024-11-22 13:38 ` [gentoo-dev] [PATCH 4/8] python-utils-r1.eclass: Move python3_13t before other python* Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Use HATCH_METADATA_CLASSIFIERS_NO_VERIFY Michał Górny
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Ionen Wolkens, Michał Górny
From: Ionen Wolkens <ionen@gentoo.org>
>=maturin-1.7.1 has deprecated --skip-auditwheel and added
--auditwheel=<check|repair|skip> to replace it. Update and set
the lower bound to latest stable rather than use has_version.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39204
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 7ab8dcae3265..7e65bcb964a1 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -271,7 +271,7 @@ _distutils_set_globals() {
;;
maturin)
bdep+='
- >=dev-util/maturin-1.4.0[${PYTHON_USEDEP}]
+ >=dev-util/maturin-1.7.4[${PYTHON_USEDEP}]
'
;;
no)
@@ -1262,8 +1262,8 @@ distutils_pep517_install() {
# `maturin pep517 build-wheel --help` for options
local maturin_args=(
"${DISTUTILS_ARGS[@]}"
+ --auditwheel=skip # see bug #831171
--jobs="$(makeopts_jobs)"
- --skip-auditwheel # see bug #831171
$(in_iuse debug && usex debug '--profile=dev' '')
)
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Use HATCH_METADATA_CLASSIFIERS_NO_VERIFY
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
` (4 preceding siblings ...)
2024-11-22 13:38 ` [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Update maturin's skip auditwheel option Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 7/8] distutils-r1.eclass: Also do SETUPTOOLS_RUST_CARGO_PROFILE uncond Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 8/8] distutils-r1.eclass: Disable setuptools trove-classifier validation Michał Górny
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Bug: https://github.com/pypa/hatch/issues/1368
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 7e65bcb964a1..51bf005271c1 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1257,6 +1257,9 @@ distutils_pep517_install() {
cmd+=( cargo_env )
fi
+ # set it globally in case we were using "standalone" wrapper
+ local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1
+
case ${DISTUTILS_USE_PEP517} in
maturin)
# `maturin pep517 build-wheel --help` for options
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 7/8] distutils-r1.eclass: Also do SETUPTOOLS_RUST_CARGO_PROFILE uncond.
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
` (5 preceding siblings ...)
2024-11-22 13:38 ` [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Use HATCH_METADATA_CLASSIFIERS_NO_VERIFY Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
2024-11-22 13:38 ` [gentoo-dev] [PATCH 8/8] distutils-r1.eclass: Disable setuptools trove-classifier validation Michał Górny
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 51bf005271c1..de54b17fa9b3 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1259,6 +1259,9 @@ distutils_pep517_install() {
# set it globally in case we were using "standalone" wrapper
local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1
+ if in_iuse debug && use debug; then
+ local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
+ fi
case ${DISTUTILS_USE_PEP517} in
maturin)
@@ -1351,9 +1354,6 @@ distutils_pep517_install() {
)
;;
setuptools)
- if in_iuse debug && use debug; then
- local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
- fi
if [[ -n ${DISTUTILS_ARGS[@]} ]]; then
config_settings=$(
"${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-dev] [PATCH 8/8] distutils-r1.eclass: Disable setuptools trove-classifier validation
2024-11-22 13:38 [gentoo-dev] [PATCH 0/8] Next Python eclass batch (incl. PyPy slots and non-urgent changes) Michał Górny
` (6 preceding siblings ...)
2024-11-22 13:38 ` [gentoo-dev] [PATCH 7/8] distutils-r1.eclass: Also do SETUPTOOLS_RUST_CARGO_PROFILE uncond Michał Górny
@ 2024-11-22 13:38 ` Michał Górny
7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-11-22 13:38 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index de54b17fa9b3..9691c9067b7e 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1259,6 +1259,8 @@ distutils_pep517_install() {
# set it globally in case we were using "standalone" wrapper
local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1
+ local -x VALIDATE_PYPROJECT_NO_NETWORK=1
+ local -x VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS=1
if in_iuse debug && use debug; then
local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
fi
--
2.47.0
^ permalink raw reply related [flat|nested] 9+ messages in thread