Remove freethreading support from dev-lang/python in favor of a separate
package.  These two variations of Python are not ABI compatible and use
separate installation trees.

Signed-off-by: Michał Górny <mgo...@gentoo.org>
---
 dev-lang/python/metadata.xml         |  4 ----
 dev-lang/python/python-3.13.0.ebuild | 15 ++++++++-------
 profiles/base/make.defaults          |  3 +--
 profiles/base/package.use.force      |  6 ------
 4 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml
index 97c6bd965b9f..22ce986e0676 100644
--- a/dev-lang/python/metadata.xml
+++ b/dev-lang/python/metadata.xml
@@ -14,10 +14,6 @@
                        to bootstrap pip and setuptools (if disabled, it will
                        be only possible to use venv `--without-pip`)
                </flag>
-               <flag name="gil">
-                       Build with Global Interpreter Lock.  Disable to use
-                       the experimental freethreading mode.
-               </flag>
                <flag name="jit">
                        Enable experimental Just-In-Time compilation support.
                </flag>
diff --git a/dev-lang/python/python-3.13.0.ebuild 
b/dev-lang/python/python-3.13.0.ebuild
index 1f61895afb04..46dc39bae618 100644
--- a/dev-lang/python/python-3.13.0.ebuild
+++ b/dev-lang/python/python-3.13.0.ebuild
@@ -34,7 +34,7 @@ LICENSE="PSF-2"
 SLOT="${PYVER}"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
 IUSE="
-       bluetooth build debug +ensurepip examples gdbm +gil jit
+       bluetooth build debug +ensurepip examples gdbm jit
        libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
 "
 REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
@@ -124,12 +124,12 @@ pkg_pretend() {
                check-reqs_pkg_pretend
        fi
 
-       if ! use gil || use jit; then
-               ewarn "USE=-gil and USE=jit flags are considered experimental 
upstream.  Using"
-               ewarn "them could lead to unexpected breakage, including race 
conditions"
+       if use jit; then
+               ewarn "USE=jit is considered experimental upstream.  Using it"
+               ewarn "could lead to unexpected breakage, including race 
conditions"
                ewarn "and crashes, respectively.  Please do not file Gentoo 
bugs, unless"
-               ewarn "you can reproduce the problem with 
dev-lang/python[gil,-jit].  Instead,"
-               ewarn "please consider reporting freethreading / JIT problems 
upstream."
+               ewarn "you can reproduce the problem with 
dev-lang/python[-jit].  Instead,"
+               ewarn "please consider reporting JIT problems upstream."
        fi
 }
 
@@ -431,9 +431,10 @@ src_configure() {
                --with-platlibdir=lib
                --with-pkg-config=yes
                --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+               # for freethreading version, see dev-lang/python-freethreading
+               --enable-gil
 
                $(use_with debug assertions)
-               $(use_enable gil)
                $(use_enable jit experimental-jit)
                $(use_enable pgo optimizations)
                $(use_with readline readline "$(usex libedit editline 
readline)")
diff --git a/profiles/base/make.defaults b/profiles/base/make.defaults
index 181383d87993..ac0a704fc11d 100644
--- a/profiles/base/make.defaults
+++ b/profiles/base/make.defaults
@@ -123,8 +123,7 @@ PYTHONDONTWRITEBYTECODE="1"
 # This MUST be kept in sync with the PYTHON_TARGETS below
 # Mike Gilbert <flop...@gentoo.org> (2018-05-23)
 # sys-apps/baselayout-2.5 needs split-usr enabled.
-# dev-lang/python:3.13 and later needs gil enabled
-BOOTSTRAP_USE="unicode pkg-config split-usr xml python_targets_python3_12 
python_single_target_python3_12 gil"
+BOOTSTRAP_USE="unicode pkg-config split-usr xml python_targets_python3_12 
python_single_target_python3_12"
 
 # Mike Gilbert <flop...@gentoo.org> (2012-05-15)
 # Default target(s) for python-r1.eclass
diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index fe7d666017ea..9d51b4e49703 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -7,12 +7,6 @@
 # as it'll always build Ada.
 dev-lang/gnat-gpl ada
 
-# Michał Górny <mgo...@gentoo.org> (2024-06-29)
-# Disabling GIL (enabling freethreading) is experimental and prone
-# to break packages.  Should you choose to test it, please do not file
-# Gentoo bugs and report any issues you hit upstream.
-dev-lang/python gil
-
 # Sam James <s...@gentoo.org> (2024-06-03)
 # Poor rendering performance otherwise (bug #931215).
 kde-plasma/kwin caps
-- 
2.47.0


Reply via email to