commit:     62b7b0e4655aba493f1baa0c98a807d6e27c6796
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 31 09:23:42 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 31 09:24:32 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62b7b0e4

dev-python/lazy-object-proxy: Enable py3.14

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/lazy-object-proxy-1.11.0-py314.patch     | 39 ++++++++++++++++++++++
 .../lazy-object-proxy-1.11.0.ebuild                |  8 +++--
 2 files changed, 44 insertions(+), 3 deletions(-)

diff --git 
a/dev-python/lazy-object-proxy/files/lazy-object-proxy-1.11.0-py314.patch 
b/dev-python/lazy-object-proxy/files/lazy-object-proxy-1.11.0-py314.patch
new file mode 100644
index 000000000000..ae80997a4165
--- /dev/null
+++ b/dev-python/lazy-object-proxy/files/lazy-object-proxy-1.11.0-py314.patch
@@ -0,0 +1,39 @@
+From daba375a4c424ee114123122e5c1285e3db4d62e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+Date: Sat, 31 May 2025 10:52:38 +0200
+Subject: [PATCH 1/5] Loosen exception regexps for Python 3.14
+
+Python 3.14 changes the exception message for passing wrong types
+to `await` to:
+
+    TypeError: 'int' object can't be awaited
+
+Loosen the regular expression to accept both the old and the new
+exception message.
+---
+ tests/test_async_py3.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test_async_py3.py b/tests/test_async_py3.py
+index 0d9450b..3fbba18 100644
+--- a/tests/test_async_py3.py
++++ b/tests/test_async_py3.py
+@@ -498,7 +498,7 @@ def test_await_1(lop):
+     async def foo():
+         await 1
+ 
+-    with pytest.raises(TypeError, match='object int can.t.*await'):
++    with pytest.raises(TypeError, match='int.*can.t.*await'):
+         run_async(lop.Proxy(foo))
+ 
+ 
+@@ -506,7 +506,7 @@ def test_await_2(lop):
+     async def foo():
+         await []
+ 
+-    with pytest.raises(TypeError, match='object list can.t.*await'):
++    with pytest.raises(TypeError, match='list.*can.t.*await'):
+         run_async(lop.Proxy(foo))
+ 
+ 
+

diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild 
b/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
index 9246939e914d..a913bf68d545 100644
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
+++ b/dev-python/lazy-object-proxy/lazy-object-proxy-1.11.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 DISTUTILS_EXT=1
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 )
 
 inherit distutils-r1 pypi
 
@@ -30,17 +30,19 @@ distutils_enable_tests pytest
 PATCHES=(
        # https://github.com/ionelmc/python-lazy-object-proxy/pull/79
        "${FILESDIR}/${PN}-1.10.0-pure-tests.patch"
+       # https://github.com/ionelmc/python-lazy-object-proxy/pull/88
+       "${FILESDIR}/${P}-py314.patch"
 )
 
 python_prepare_all() {
+       distutils-r1_python_prepare_all
+
        # No need to benchmark
        sed \
                -e '/benchmark/s:test_:_&:g' \
                -e '/pytest.mark.benchmark/d' \
                -i tests/test_lazy_object_proxy.py || die
 
-       distutils-r1_python_prepare_all
-
        if use native-extensions; then
                unset SETUPPY_FORCE_PURE
        else

Reply via email to