Package: src:python-yappi
Version: TODO
User: [email protected]
Usertags: python3.15
Tags: patch, ftbfs, forky, sid
Hi!
While rebuilding the python related packages against the Python 3.15rc1
version we found that python-yappi fails to build from source [1].
The error is produced because IS_SUSPENDED in yappi/_yappi.c, that has a
block for each python version, and as python 3.15 is not explicitly
listed it uses the solution that was written for python 3.11. Using the
version for python 3.14 seems to work, I don't have the background to
actually be sure that no other change is needed.
I'm attaching the patch here.
I applied the fix in the sandbox [2] to be able to build the packages
that depend on python-yappi, please consider applying the patch to
support the upcoming 3.15 version.
Both the issue and the patch still need to be forwarded upstream, as
there is no work to support 3.15 there yet.
Happy hacking,
[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4389519/
[2]: https://debusine.debian.net/debian/r-python-python3.15/
--
"Can you imagine what I would do if I could do all I can?" -- Sun Tzu
Saludos /\/\ /\ >< `/
Description: Support Python 3.15
Detect frame suspension on Python 3.15+.
Author: Maximiliano Curia <[email protected]>
Last-Update: 2026-08-31
--- a/yappi/_yappi.c
+++ b/yappi/_yappi.c
@@ -227,7 +227,7 @@
if (gen == NULL) {
return 0;
}
-#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION == 14
+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 14
unsigned char curr_op_code = (*frame->f_frame->instr_ptr).op.code;
return curr_op_code == YIELD_VALUE || curr_op_code == INSTRUMENTED_YIELD_VALUE;
#elif PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION == 13