diff mbox series

[06/13] python3-yappi: backport a python 3.13 patch

Message ID 20241016193505.3459828-6-alex@linutronix.de
State Accepted
Headers show
Series [01/13] python3-meld: do not depend on python3-cgitb | expand

Commit Message

Alexander Kanavin Oct. 16, 2024, 7:34 p.m. UTC
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../python/python3-yappi/py3.13.patch         | 43 +++++++++++++++++++
 .../python/python3-yappi_1.6.0.bb             |  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 meta-python/recipes-devtools/python/python3-yappi/py3.13.patch
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-yappi/py3.13.patch b/meta-python/recipes-devtools/python/python3-yappi/py3.13.patch
new file mode 100644
index 000000000..48d81d56e
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-yappi/py3.13.patch
@@ -0,0 +1,43 @@ 
+From defc0291039184b640779e38471ece5e6d3c8cb8 Mon Sep 17 00:00:00 2001
+From: Alfredo Moralejo <amoralej@redhat.com>
+Date: Tue, 2 Jul 2024 10:48:24 +0200
+Subject: [PATCH] Add support for python 3.13
+
+_PyEval_SetProfile() has been moved to internal pycore_ceval.h and it is
+not longer exported [1]. PyEval_SetProfileAllThreads was introduced in 3.12 [2].
+
+[1] https://github.com/python/cpython/commit/c494fb333b57bdf43fc90189fc29a00c293b2987
+[2] https://github.com/python/cpython/commits/76af5c9153394f3d07562427168711a68f54ec66
+
+Upstream-Status: Backport [https://github.com/sumerc/yappi/commit/defc0291039184b640779e38471ece5e6d3c8cb8]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ yappi/_yappi.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/yappi/_yappi.c b/yappi/_yappi.c
+index 459f4dd..56187c9 100644
+--- a/yappi/_yappi.c
++++ b/yappi/_yappi.c
+@@ -1284,7 +1284,9 @@ _resume_greenlet_ctx(_ctx *ctx)
+ static void 
+ _eval_setprofile(PyThreadState *ts)
+ {
+-#if PY_VERSION_HEX > 0x030b0000
++#if PY_VERSION_HEX > 0x030c0000
++    PyEval_SetProfileAllThreads(_yapp_callback, NULL);
++#elif PY_VERSION_HEX > 0x030b0000
+     _PyEval_SetProfile(ts, _yapp_callback, NULL);
+ #elif PY_VERSION_HEX < 0x030a00b1
+     ts->use_tracing = 1;
+@@ -1298,7 +1300,9 @@ _eval_setprofile(PyThreadState *ts)
+ static void
+ _eval_unsetprofile(PyThreadState *ts)
+ {
+-#if PY_VERSION_HEX > 0x030b0000
++#if PY_VERSION_HEX > 0x030c0000
++    PyEval_SetProfileAllThreads(NULL, NULL);
++#elif PY_VERSION_HEX > 0x030b0000
+     _PyEval_SetProfile(ts, NULL, NULL);
+ #elif PY_VERSION_HEX < 0x030a00b1
+     ts->use_tracing = 0;
diff --git a/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb b/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb
index 4349cab1e..80d5012be 100644
--- a/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb
+++ b/meta-python/recipes-devtools/python/python3-yappi_1.6.0.bb
@@ -10,6 +10,7 @@  SRC_URI += " \
     file://run-ptest \
     file://0001-test_functionality-convert-line-endings-to-Unix.patch \
     file://0002-Fix-import-of-tests.utils-to-enable-pytest.patch \
+    file://py3.13.patch \
 "
 
 inherit pypi python_setuptools_build_meta ptest