diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-06-21 17:50:24 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-06-21 17:50:24 +0100 |
commit | feb0daf81d888e9160f9f94502de09b66f2a63fd (patch) | |
tree | b6e5c40ce2abef3da27ed50a023153f475e0ddef /dev-python/cython/files | |
parent | 9452a6e87b6c2c70513bc47a2470bf9f1168920e (diff) |
gentoo resync : 21.06.2020
Diffstat (limited to 'dev-python/cython/files')
-rw-r--r-- | dev-python/cython/files/cython-0.29.20-py39-classmeth.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/dev-python/cython/files/cython-0.29.20-py39-classmeth.patch b/dev-python/cython/files/cython-0.29.20-py39-classmeth.patch new file mode 100644 index 000000000000..914269a5a232 --- /dev/null +++ b/dev-python/cython/files/cython-0.29.20-py39-classmeth.patch @@ -0,0 +1,34 @@ +From c29a7818d3b6806a457af698aec446d3d28d4f80 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sun, 14 Jun 2020 13:45:21 +0200 +Subject: [PATCH] Always bind Cython functions in py3 + +Rebased for cython 0.29.x, and made conditional to Python 3. This +does not solve the original staticmethod problem in Python 2 but it does +resolve classmethod problems in Python 3.9. Therefore, it unbreaks +other packages on Python 3.9, improves overall state for Python 3 +and does not introduce regressions in Python 2. +--- + Cython/Utility/CythonFunction.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Cython/Utility/CythonFunction.c b/Cython/Utility/CythonFunction.c +index a65c8eee36..33d0a4750a 100644 +--- a/Cython/Utility/CythonFunction.c ++++ b/Cython/Utility/CythonFunction.c +@@ -548,6 +548,7 @@ static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, + + static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) + { ++#if PY_MAJOR_VERSION < 3 + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + + if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { +@@ -563,6 +564,7 @@ static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObj + + if (obj == Py_None) + obj = NULL; ++#endif + return __Pyx_PyMethod_New(func, obj, type); + } + |