Package: src:python-pure-eval
Version: 0.2.3-1
User: [email protected]
Usertags: python3.15
Tags: patch

Hi!

While rebuilding the python related packages against the python version
3.15rc1 we found that python-pure-eval fails to build from source [1].

The support for python 3.15 upstream is already added and will be part
of the next release, but I'm including the backported upstream patch
that we used in the building sandbox to satisfy packages that require
python-pure-eval.

Please consider applying this patch, or uploading the new upstream
release when ready, so it's not a blocker for python 3.15 in forky.

Happy hacking,

[1]: 
https://debusine.debian.net/debian/r-python-python3.15/work-request/1058574/
--
"Can you imagine what I would do if I could do all I can?" -- Sun Tzu
Saludos /\/\ /\ >< `/
commit d70a873553d3163373ebcbb4217a1144fd371df2
Author: Alex Hall <[email protected]>
Date:   Sun Jan 11 14:05:46 2026 +0200

    Test and fix python 3.15

Index: python-pure-eval/.github/workflows/pytest.yml
===================================================================
--- python-pure-eval.orig/.github/workflows/pytest.yml
+++ python-pure-eval/.github/workflows/pytest.yml
@@ -12,7 +12,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: [3.7, 3.8, 3.9, '3.10', 3.11, 3.12, 3.13-dev]
+        python-version: [3.7, 3.8, 3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.15-dev]
     steps:
     - uses: actions/checkout@v4
     - name: Set up Python ${{ matrix.python-version }}
Index: python-pure-eval/pure_eval/my_getattr_static.py
===================================================================
--- python-pure-eval.orig/pure_eval/my_getattr_static.py
+++ python-pure-eval/pure_eval/my_getattr_static.py
@@ -69,7 +69,7 @@ def getattr_static(obj, attr):
         klass = type(obj)
         dict_attr = _shadowed_dict(klass)
         if (dict_attr is _sentinel or
-                type(dict_attr) is types.MemberDescriptorType):
+                type(dict_attr) is types.MemberDescriptorType or type(dict_attr) is types.GetSetDescriptorType):
             instance_result = _check_instance(obj, attr)
         else:
             raise CannotEval
Index: python-pure-eval/setup.cfg
===================================================================
--- python-pure-eval.orig/setup.cfg
+++ python-pure-eval/setup.cfg
@@ -16,6 +16,8 @@ classifiers =
     Programming Language :: Python :: 3.11
     Programming Language :: Python :: 3.12
     Programming Language :: Python :: 3.13
+    Programming Language :: Python :: 3.14
+    Programming Language :: Python :: 3.15
     License :: OSI Approved :: MIT License
     Operating System :: OS Independent
 
Index: python-pure-eval/tox.ini
===================================================================
--- python-pure-eval.orig/tox.ini
+++ python-pure-eval/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py{37,38,39,310,311,312,313}
+envlist = py{37,38,39,310,311,312,313,314,315}
 
 [testenv]
 commands = pytest

Reply via email to