public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support
@ 2022-05-08 18:26 Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 1/6] python-utils-r1.eclass: Add support for python3.11 Michał Górny
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Hi,

Here's a patchset to enable Python 3.11 support in the eclasses.
Along with the usual mechanical changes, I have refactored the tests
to avoid repetition and cover verifying that all the mechanical changes
were done.

-- 
Best regards,
Michał Górny

Michał Górny (6):
  python-utils-r1.eclass: Add support for python3.11
  eclass/tests/python-utils-r1.sh: Streamline the tests
  eclass/tests/python-utils-r1.eclass: Add tests for adding new impls
  profiles: Add flags for python3.11
  dev-lang/python-exec: Enable python3.11 support
  dev-lang/python: Add python-exec dep to 3.11.0_beta1

 dev-lang/python-exec/python-exec-2.4.8.ebuild |   2 +-
 ...1.ebuild => python-3.11.0_beta1-r1.ebuild} |   3 +-
 eclass/python-utils-r1.eclass                 |  10 +-
 eclass/tests/python-utils-r1.sh               | 133 +++++++++---------
 profiles/base/package.use.force               |   1 +
 profiles/base/use.stable.mask                 |   7 +-
 profiles/desc/python_single_target.desc       |   1 +
 profiles/desc/python_targets.desc             |   1 +
 8 files changed, 80 insertions(+), 78 deletions(-)
 rename dev-lang/python/{python-3.11.0_beta1.ebuild => python-3.11.0_beta1-r1.ebuild} (99%)

-- 
2.35.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 1/6] python-utils-r1.eclass: Add support for python3.11
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
@ 2022-05-08 18:26 ` Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 2/6] eclass/tests/python-utils-r1.sh: Streamline the tests Michał Górny
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/python-utils-r1.eclass   | 10 ++++++----
 eclass/tests/python-utils-r1.sh | 14 ++++++++++++++
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 7b1bd012a37e..2b22b0539ecb 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -43,7 +43,7 @@ inherit multiprocessing toolchain-funcs
 # All supported Python implementations, most preferred last.
 _PYTHON_ALL_IMPLS=(
 	pypy3
-	python3_{8..10}
+	python3_{8..11}
 )
 readonly _PYTHON_ALL_IMPLS
 
@@ -83,7 +83,7 @@ _python_verify_patterns() {
 	local impl pattern
 	for pattern; do
 		case ${pattern} in
-			-[23]|3.[89]|3.10)
+			-[23]|3.[89]|3.1[01])
 				continue
 				;;
 		esac
@@ -132,7 +132,7 @@ _python_set_impls() {
 			# please keep them in sync with _PYTHON_ALL_IMPLS
 			# and _PYTHON_HISTORICAL_IMPLS
 			case ${i} in
-				pypy3|python2_7|python3_[89]|python3_10)
+				pypy3|python2_7|python3_[89]|python3_1[01])
 					;;
 				jython2_7|pypy|pypy1_[89]|pypy2_0|python2_[5-6]|python3_[1-7])
 					obsolete+=( "${i}" )
@@ -245,7 +245,7 @@ _python_impl_matches() {
 				[[ ${impl} == python${pattern/./_} || ${impl} == pypy3 ]] &&
 					return 0
 				;;
-			3.8|3.10)
+			3.8|3.1[01])
 				[[ ${impl} == python${pattern/./_} ]] && return 0
 				;;
 			*)
@@ -461,6 +461,8 @@ _python_export() {
 						PYTHON_PKG_DEP=">=dev-lang/python-3.9.9-r1:3.9";;
 					python3.10)
 						PYTHON_PKG_DEP=">=dev-lang/python-3.10.0_p1-r1:3.10";;
+					python3.11)
+						PYTHON_PKG_DEP=">=dev-lang/python-3.11.0_beta1:3.11";;
 					python*)
 						PYTHON_PKG_DEP="dev-lang/python:${impl#python}";;
 					pypy)
diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh
index 9c41798c4727..e0fc0aab3c03 100755
--- a/eclass/tests/python-utils-r1.sh
+++ b/eclass/tests/python-utils-r1.sh
@@ -147,6 +147,20 @@ fi
 test_var PYTHON_PKG_DEP python3_10 '*dev-lang/python*:3.10'
 test_var PYTHON_SCRIPTDIR python3_10 /usr/lib/python-exec/python3.10
 
+test_var EPYTHON python3_11 python3.11
+test_var PYTHON python3_11 /usr/bin/python3.11
+if [[ -x /usr/bin/python3.11 ]]; then
+	abiflags=$(/usr/bin/python3.11 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
+	test_var PYTHON_SITEDIR python3_11 "/usr/lib/python3.11/site-packages"
+	test_var PYTHON_INCLUDEDIR python3_11 "/usr/include/python3.11${abiflags}"
+	test_var PYTHON_LIBPATH python3_11 "/usr/lib*/libpython3.11${abiflags}$(get_libname)"
+	test_var PYTHON_CONFIG python3_11 "/usr/bin/python3.11${abiflags}-config"
+	test_var PYTHON_CFLAGS python3_11 "*-I/usr/include/python3.11*"
+	test_var PYTHON_LIBS python3_11 "*-lpython3.11*"
+fi
+test_var PYTHON_PKG_DEP python3_11 '*dev-lang/python*:3.11'
+test_var PYTHON_SCRIPTDIR python3_11 /usr/lib/python-exec/python3.11
+
 test_var EPYTHON pypy3 pypy3
 test_var PYTHON pypy3 /usr/bin/pypy3
 if [[ -x /usr/bin/pypy3 ]]; then
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 2/6] eclass/tests/python-utils-r1.sh: Streamline the tests
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 1/6] python-utils-r1.eclass: Add support for python3.11 Michał Górny
@ 2022-05-08 18:26 ` Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 3/6] eclass/tests/python-utils-r1.eclass: Add tests for adding new impls Michał Górny
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Streamline the python-utils-r1.eclass tests to use a for loop instead
of copying the same tests over and over again.  While at it, group tests
by purpose.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/tests/python-utils-r1.sh | 112 ++++++++------------------------
 1 file changed, 28 insertions(+), 84 deletions(-)

diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh
index e0fc0aab3c03..d971c524b373 100755
--- a/eclass/tests/python-utils-r1.sh
+++ b/eclass/tests/python-utils-r1.sh
@@ -64,6 +64,8 @@ tmpfile=$(mktemp)
 
 inherit python-utils-r1
 
+ebegin "Testing python2.7"
+eindent
 test_var EPYTHON python2_7 python2.7
 test_var PYTHON python2_7 /usr/bin/python2.7
 if [[ -x /usr/bin/python2.7 ]]; then
@@ -76,91 +78,29 @@ if [[ -x /usr/bin/python2.7 ]]; then
 fi
 test_var PYTHON_PKG_DEP python2_7 '*dev-lang/python*:2.7'
 test_var PYTHON_SCRIPTDIR python2_7 /usr/lib/python-exec/python2.7
+eoutdent
 
-test_var EPYTHON python3_6 python3.6
-test_var PYTHON python3_6 /usr/bin/python3.6
-if [[ -x /usr/bin/python3.6 ]]; then
-	abiflags=$(/usr/bin/python3.6 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
-	test_var PYTHON_SITEDIR python3_6 "/usr/lib*/python3.6/site-packages"
-	test_var PYTHON_INCLUDEDIR python3_6 "/usr/include/python3.6${abiflags}"
-	test_var PYTHON_LIBPATH python3_6 "/usr/lib*/libpython3.6${abiflags}$(get_libname)"
-	test_var PYTHON_CONFIG python3_6 "/usr/bin/python3.6${abiflags}-config"
-	test_var PYTHON_CFLAGS python3_6 "*-I/usr/include/python3.6*"
-	test_var PYTHON_LIBS python3_6 "*-lpython3.6*"
-fi
-test_var PYTHON_PKG_DEP python3_6 '*dev-lang/python*:3.6'
-test_var PYTHON_SCRIPTDIR python3_6 /usr/lib/python-exec/python3.6
-
-test_var EPYTHON python3_7 python3.7
-test_var PYTHON python3_7 /usr/bin/python3.7
-if [[ -x /usr/bin/python3.7 ]]; then
-	abiflags=$(/usr/bin/python3.7 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
-	test_var PYTHON_SITEDIR python3_7 "/usr/lib/python3.7/site-packages"
-	test_var PYTHON_INCLUDEDIR python3_7 "/usr/include/python3.7${abiflags}"
-	test_var PYTHON_LIBPATH python3_7 "/usr/lib*/libpython3.7${abiflags}$(get_libname)"
-	test_var PYTHON_CONFIG python3_7 "/usr/bin/python3.7${abiflags}-config"
-	test_var PYTHON_CFLAGS python3_7 "*-I/usr/include/python3.7*"
-	test_var PYTHON_LIBS python3_7 "*-lpython3.7*"
-fi
-test_var PYTHON_PKG_DEP python3_7 '*dev-lang/python*:3.7'
-test_var PYTHON_SCRIPTDIR python3_7 /usr/lib/python-exec/python3.7
-
-test_var EPYTHON python3_8 python3.8
-test_var PYTHON python3_8 /usr/bin/python3.8
-if [[ -x /usr/bin/python3.8 ]]; then
-	abiflags=$(/usr/bin/python3.8 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
-	test_var PYTHON_SITEDIR python3_8 "/usr/lib/python3.8/site-packages"
-	test_var PYTHON_INCLUDEDIR python3_8 "/usr/include/python3.8${abiflags}"
-	test_var PYTHON_LIBPATH python3_8 "/usr/lib*/libpython3.8${abiflags}$(get_libname)"
-	test_var PYTHON_CONFIG python3_8 "/usr/bin/python3.8${abiflags}-config"
-	test_var PYTHON_CFLAGS python3_8 "*-I/usr/include/python3.8*"
-	test_var PYTHON_LIBS python3_8 "*-lpython3.8*"
-fi
-test_var PYTHON_PKG_DEP python3_8 '*dev-lang/python*:3.8'
-test_var PYTHON_SCRIPTDIR python3_8 /usr/lib/python-exec/python3.8
-
-test_var EPYTHON python3_9 python3.9
-test_var PYTHON python3_9 /usr/bin/python3.9
-if [[ -x /usr/bin/python3.9 ]]; then
-	abiflags=$(/usr/bin/python3.9 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
-	test_var PYTHON_SITEDIR python3_9 "/usr/lib/python3.9/site-packages"
-	test_var PYTHON_INCLUDEDIR python3_9 "/usr/include/python3.9${abiflags}"
-	test_var PYTHON_LIBPATH python3_9 "/usr/lib*/libpython3.9${abiflags}$(get_libname)"
-	test_var PYTHON_CONFIG python3_9 "/usr/bin/python3.9${abiflags}-config"
-	test_var PYTHON_CFLAGS python3_9 "*-I/usr/include/python3.9*"
-	test_var PYTHON_LIBS python3_9 "*-lpython3.9*"
-fi
-test_var PYTHON_PKG_DEP python3_9 '*dev-lang/python*:3.9'
-test_var PYTHON_SCRIPTDIR python3_9 /usr/lib/python-exec/python3.9
-
-test_var EPYTHON python3_10 python3.10
-test_var PYTHON python3_10 /usr/bin/python3.10
-if [[ -x /usr/bin/python3.10 ]]; then
-	abiflags=$(/usr/bin/python3.10 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
-	test_var PYTHON_SITEDIR python3_10 "/usr/lib/python3.10/site-packages"
-	test_var PYTHON_INCLUDEDIR python3_10 "/usr/include/python3.10${abiflags}"
-	test_var PYTHON_LIBPATH python3_10 "/usr/lib*/libpython3.10${abiflags}$(get_libname)"
-	test_var PYTHON_CONFIG python3_10 "/usr/bin/python3.10${abiflags}-config"
-	test_var PYTHON_CFLAGS python3_10 "*-I/usr/include/python3.10*"
-	test_var PYTHON_LIBS python3_10 "*-lpython3.10*"
-fi
-test_var PYTHON_PKG_DEP python3_10 '*dev-lang/python*:3.10'
-test_var PYTHON_SCRIPTDIR python3_10 /usr/lib/python-exec/python3.10
-
-test_var EPYTHON python3_11 python3.11
-test_var PYTHON python3_11 /usr/bin/python3.11
-if [[ -x /usr/bin/python3.11 ]]; then
-	abiflags=$(/usr/bin/python3.11 -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
-	test_var PYTHON_SITEDIR python3_11 "/usr/lib/python3.11/site-packages"
-	test_var PYTHON_INCLUDEDIR python3_11 "/usr/include/python3.11${abiflags}"
-	test_var PYTHON_LIBPATH python3_11 "/usr/lib*/libpython3.11${abiflags}$(get_libname)"
-	test_var PYTHON_CONFIG python3_11 "/usr/bin/python3.11${abiflags}-config"
-	test_var PYTHON_CFLAGS python3_11 "*-I/usr/include/python3.11*"
-	test_var PYTHON_LIBS python3_11 "*-lpython3.11*"
-fi
-test_var PYTHON_PKG_DEP python3_11 '*dev-lang/python*:3.11'
-test_var PYTHON_SCRIPTDIR python3_11 /usr/lib/python-exec/python3.11
+for minor in 6 7 8 9 10 11; do
+	ebegin "Testing python3.${minor}"
+	eindent
+	test_var EPYTHON "python3_${minor}" "python3.${minor}"
+	test_var PYTHON "python3_${minor}" "/usr/bin/python3.${minor}"
+	if [[ -x /usr/bin/python3.${minor} ]]; then
+		abiflags=$(/usr/bin/python3.${minor} -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS"))')
+		test_var PYTHON_SITEDIR "python3_${minor}" "/usr/lib*/python3.${minor}/site-packages"
+		test_var PYTHON_INCLUDEDIR "python3_${minor}" "/usr/include/python3.${minor}${abiflags}"
+		test_var PYTHON_LIBPATH "python3_${minor}" "/usr/lib*/libpython3.${minor}${abiflags}$(get_libname)"
+		test_var PYTHON_CONFIG "python3_${minor}" "/usr/bin/python3.${minor}${abiflags}-config"
+		test_var PYTHON_CFLAGS "python3_${minor}" "*-I/usr/include/python3.${minor}*"
+		test_var PYTHON_LIBS "python3_${minor}" "*-lpython3.${minor}*"
+	fi
+	test_var PYTHON_PKG_DEP "python3_${minor}" "*dev-lang/python*:3.${minor}"
+	test_var PYTHON_SCRIPTDIR "python3_${minor}" "/usr/lib/python-exec/python3.${minor}"
+	eoutdent
+done
 
+ebegin "Testing pypy3"
+eindent
 test_var EPYTHON pypy3 pypy3
 test_var PYTHON pypy3 /usr/bin/pypy3
 if [[ -x /usr/bin/pypy3 ]]; then
@@ -169,9 +109,10 @@ if [[ -x /usr/bin/pypy3 ]]; then
 fi
 test_var PYTHON_PKG_DEP pypy3 '*dev-python/pypy3*:0='
 test_var PYTHON_SCRIPTDIR pypy3 /usr/lib/python-exec/pypy3
+eoutdent
 
 for EPREFIX in '' /foo; do
-	einfo "with EPREFIX=${EPREFIX@Q}"
+	einfo "Testing python_fix_shebang with EPREFIX=${EPREFIX@Q}"
 	eindent
 	# generic shebangs
 	test_fix_shebang '#!/usr/bin/python' python3.6 \
@@ -226,6 +167,8 @@ for EPREFIX in '' /foo; do
 done
 
 # check _python_impl_matches behavior
+einfo "Testing python_impl_matches"
+eindent
 test_is "_python_impl_matches python3_6 -3" 0
 test_is "_python_impl_matches python3_7 -3" 0
 test_is "_python_impl_matches pypy3 -3" 0
@@ -246,6 +189,7 @@ test_is "_python_impl_matches python3_9 3.10" 1
 test_is "_python_impl_matches pypy3 3.8" 1
 test_is "_python_impl_matches pypy3 3.9" 0
 test_is "_python_impl_matches pypy3 3.10" 1
+eoutdent
 
 rm "${tmpfile}"
 
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 3/6] eclass/tests/python-utils-r1.eclass: Add tests for adding new impls
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 1/6] python-utils-r1.eclass: Add support for python3.11 Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 2/6] eclass/tests/python-utils-r1.sh: Streamline the tests Michał Górny
@ 2022-05-08 18:26 ` Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 4/6] profiles: Add flags for python3.11 Michał Górny
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Add tests that verify that new Python implementations are added to all
the places that need them.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/tests/python-utils-r1.sh | 35 +++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh
index d971c524b373..6abf10cadabd 100755
--- a/eclass/tests/python-utils-r1.sh
+++ b/eclass/tests/python-utils-r1.sh
@@ -96,6 +96,41 @@ for minor in 6 7 8 9 10 11; do
 	fi
 	test_var PYTHON_PKG_DEP "python3_${minor}" "*dev-lang/python*:3.${minor}"
 	test_var PYTHON_SCRIPTDIR "python3_${minor}" "/usr/lib/python-exec/python3.${minor}"
+
+	tbegin "Testing that python3_${minor} is present in an impl array"
+	has "python3_${minor}" "${_PYTHON_ALL_IMPLS[@]}"
+	has_in_all=${?}
+	has "python3_${minor}" "${_PYTHON_HISTORICAL_IMPLS[@]}"
+	has_in_historical=${?}
+	if [[ ${has_in_all} -eq ${has_in_historical} ]]; then
+		if [[ ${has_in_all} -eq 1 ]]; then
+			eerror "python3_${minor} not found in _PYTHON_ALL_IMPLS or _PYTHON_HISTORICAL_IMPLS"
+		else
+			eerror "python3_${minor} listed both in _PYTHON_ALL_IMPLS and _PYTHON_HISTORICAL_IMPLS"
+		fi
+	fi
+	tend ${?}
+
+	tbegin "Testing that PYTHON_COMPAT accepts the impl"
+	(
+		# NB: we add pypy3 as we need to always have at least one
+		# non-historical impl
+		PYTHON_COMPAT=( pypy3 "python3_${minor}" )
+		_python_set_impls
+	)
+	tend ${?}
+
+	# these tests apply to py3.8+ only
+	if [[ ${minor} -ge 8 ]]; then
+		tbegin "Testing that _python_verify_patterns accepts stdlib version"
+		( _python_verify_patterns "3.${minor}" )
+		tend ${?}
+
+		tbegin "Testing _python_impl_matches on stdlib version"
+		_python_impl_matches "python3_${minor}" "3.${minor}"
+		tend ${?}
+	fi
+
 	eoutdent
 done
 
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 4/6] profiles: Add flags for python3.11
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
                   ` (2 preceding siblings ...)
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 3/6] eclass/tests/python-utils-r1.eclass: Add tests for adding new impls Michał Górny
@ 2022-05-08 18:26 ` Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 5/6] dev-lang/python-exec: Enable python3.11 support Michał Górny
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 profiles/base/package.use.force         | 1 +
 profiles/base/use.stable.mask           | 7 ++++++-
 profiles/desc/python_single_target.desc | 1 +
 profiles/desc/python_targets.desc       | 1 +
 4 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index abd8fbe4ffb3..79717a6a79fa 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -219,6 +219,7 @@ app-shells/bash:0 readline
 dev-lang/python-exec python_targets_python3_8
 dev-lang/python-exec python_targets_python3_9
 dev-lang/python-exec python_targets_python3_10
+dev-lang/python-exec python_targets_python3_11
 dev-lang/python-exec python_targets_pypy3
 
 # Zac Medico <zmedico@gentoo.org> (2010-10-20)
diff --git a/profiles/base/use.stable.mask b/profiles/base/use.stable.mask
index 23119a063249..db3f89d740ed 100644
--- a/profiles/base/use.stable.mask
+++ b/profiles/base/use.stable.mask
@@ -1,9 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # This file requires eapi 5 or later. New entries go on top.
 # Please use the same syntax as in use.mask
 
+# Michał Górny <mgorny@gentoo.org> (2022-05-08)
+# Mask until dev-lang/python:3.11 becomes stable.
+python_targets_python3_11
+python_single_target_python3_11
+
 # Brian Evans <grknight@gentoo.org> (2021-11-29)
 # Mask 8.1 as it is currently unstable only
 php_targets_php8-1
diff --git a/profiles/desc/python_single_target.desc b/profiles/desc/python_single_target.desc
index d670f950de72..6c978694943c 100644
--- a/profiles/desc/python_single_target.desc
+++ b/profiles/desc/python_single_target.desc
@@ -6,4 +6,5 @@
 python3_8 - Build for Python 3.8 only
 python3_9 - Build for Python 3.9 only
 python3_10 - Build for Python 3.10 only
+python3_11 - Build for Python 3.11 only
 pypy3 - Build for PyPy3 only
diff --git a/profiles/desc/python_targets.desc b/profiles/desc/python_targets.desc
index ba8b8ea5eff8..ad77fbf5b60f 100644
--- a/profiles/desc/python_targets.desc
+++ b/profiles/desc/python_targets.desc
@@ -6,4 +6,5 @@
 python3_8 - Build with Python 3.8
 python3_9 - Build with Python 3.9
 python3_10 - Build with Python 3.10
+python3_11 - Build with Python 3.11
 pypy3 - Build with PyPy3
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 5/6] dev-lang/python-exec: Enable python3.11 support
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
                   ` (3 preceding siblings ...)
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 4/6] profiles: Add flags for python3.11 Michał Górny
@ 2022-05-08 18:26 ` Michał Górny
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 6/6] dev-lang/python: Add python-exec dep to 3.11.0_beta1 Michał Górny
  2022-05-08 23:11 ` [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Sam James
  6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 dev-lang/python-exec/python-exec-2.4.8.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dev-lang/python-exec/python-exec-2.4.8.ebuild b/dev-lang/python-exec/python-exec-2.4.8.ebuild
index 7cab7a668f31..4fd31fa50604 100644
--- a/dev-lang/python-exec/python-exec-2.4.8.ebuild
+++ b/dev-lang/python-exec/python-exec-2.4.8.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
+PYTHON_COMPAT=( python3_{8..11} pypy3 )
 inherit python-any-r1
 
 DESCRIPTION="Python script wrapper"
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-dev] [PATCH 6/6] dev-lang/python: Add python-exec dep to 3.11.0_beta1
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
                   ` (4 preceding siblings ...)
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 5/6] dev-lang/python-exec: Enable python3.11 support Michał Górny
@ 2022-05-08 18:26 ` Michał Górny
  2022-05-08 23:11 ` [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Sam James
  6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2022-05-08 18:26 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 ...ython-3.11.0_beta1.ebuild => python-3.11.0_beta1-r1.ebuild} | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
 rename dev-lang/python/{python-3.11.0_beta1.ebuild => python-3.11.0_beta1-r1.ebuild} (99%)

diff --git a/dev-lang/python/python-3.11.0_beta1.ebuild b/dev-lang/python/python-3.11.0_beta1-r1.ebuild
similarity index 99%
rename from dev-lang/python/python-3.11.0_beta1.ebuild
rename to dev-lang/python/python-3.11.0_beta1-r1.ebuild
index 856edae9f10c..b26c9312a617 100644
--- a/dev-lang/python/python-3.11.0_beta1.ebuild
+++ b/dev-lang/python/python-3.11.0_beta1-r1.ebuild
@@ -79,8 +79,7 @@ BDEPEND="
 RDEPEND+="
 	!build? ( app-misc/mime-types )
 "
-# TODO: enable this after adding eclass support
-if [[ ${PV} != *_alpha* ]] && false; then
+if [[ ${PV} != *_alpha* ]]; then
 	RDEPEND+="
 		dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
 	"
-- 
2.35.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support
  2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
                   ` (5 preceding siblings ...)
  2022-05-08 18:26 ` [gentoo-dev] [PATCH 6/6] dev-lang/python: Add python-exec dep to 3.11.0_beta1 Michał Górny
@ 2022-05-08 23:11 ` Sam James
  6 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-05-08 23:11 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

[-- Attachment #1: Type: text/plain, Size: 1558 bytes --]



> On 8 May 2022, at 19:26, Michał Górny <mgorny@gentoo.org> wrote:
> 
> Hi,
> 
> Here's a patchset to enable Python 3.11 support in the eclasses.
> Along with the usual mechanical changes, I have refactored the tests
> to avoid repetition and cover verifying that all the mechanical changes
> were done.
> 

LGTM. As discussed on the PR (https://github.com/gentoo/gentoo/pull/25383), we want
the Python guide to be updated too, but you're already covering that.

> --
> Best regards,
> Michał Górny
> 
> Michał Górny (6):
>  python-utils-r1.eclass: Add support for python3.11
>  eclass/tests/python-utils-r1.sh: Streamline the tests
>  eclass/tests/python-utils-r1.eclass: Add tests for adding new impls
>  profiles: Add flags for python3.11
>  dev-lang/python-exec: Enable python3.11 support
>  dev-lang/python: Add python-exec dep to 3.11.0_beta1
> 
> dev-lang/python-exec/python-exec-2.4.8.ebuild |   2 +-
> ...1.ebuild => python-3.11.0_beta1-r1.ebuild} |   3 +-
> eclass/python-utils-r1.eclass                 |  10 +-
> eclass/tests/python-utils-r1.sh               | 133 +++++++++---------
> profiles/base/package.use.force               |   1 +
> profiles/base/use.stable.mask                 |   7 +-
> profiles/desc/python_single_target.desc       |   1 +
> profiles/desc/python_targets.desc             |   1 +
> 8 files changed, 80 insertions(+), 78 deletions(-)
> rename dev-lang/python/{python-3.11.0_beta1.ebuild => python-3.11.0_beta1-r1.ebuild} (99%)
> 

Best,
sam

> --
> 2.35.1
> 
> 


[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-05-08 23:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-08 18:26 [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Michał Górny
2022-05-08 18:26 ` [gentoo-dev] [PATCH 1/6] python-utils-r1.eclass: Add support for python3.11 Michał Górny
2022-05-08 18:26 ` [gentoo-dev] [PATCH 2/6] eclass/tests/python-utils-r1.sh: Streamline the tests Michał Górny
2022-05-08 18:26 ` [gentoo-dev] [PATCH 3/6] eclass/tests/python-utils-r1.eclass: Add tests for adding new impls Michał Górny
2022-05-08 18:26 ` [gentoo-dev] [PATCH 4/6] profiles: Add flags for python3.11 Michał Górny
2022-05-08 18:26 ` [gentoo-dev] [PATCH 5/6] dev-lang/python-exec: Enable python3.11 support Michał Górny
2022-05-08 18:26 ` [gentoo-dev] [PATCH 6/6] dev-lang/python: Add python-exec dep to 3.11.0_beta1 Michał Górny
2022-05-08 23:11 ` [gentoo-dev] [PATCH 0/6] python-utils-r1.eclass: Python 3.11 support Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox