mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
kore: rebuild for python3-3.13
This commit is contained in:
parent
55f513f544
commit
9c6830ce4e
2 changed files with 70 additions and 1 deletions
69
srcpkgs/kore/patches/python-3.13.patch
Normal file
69
srcpkgs/kore/patches/python-3.13.patch
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
From 4bd456a334bcf9679fe0f4e762d9c3a86915727d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joris Vink <joris@sanctorum.se>
|
||||||
|
Date: Fri, 8 Nov 2024 20:08:19 +0100
|
||||||
|
Subject: [PATCH] Support Python 3.13.
|
||||||
|
|
||||||
|
Since we're using some cpython internals that change from time to time
|
||||||
|
we have to adjust for the 3.13 release accordingly.
|
||||||
|
---
|
||||||
|
src/python.c | 29 ++++++++++++++++++++++++++---
|
||||||
|
1 file changed, 26 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/python.c b/src/python.c
|
||||||
|
index 48506620..01c094e7 100644
|
||||||
|
--- a/src/python.c
|
||||||
|
+++ b/src/python.c
|
||||||
|
@@ -55,10 +55,33 @@
|
||||||
|
|
||||||
|
#include <frameobject.h>
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * Python 3.13.x requires that Py_BUILD_CORE is defined before we pull
|
||||||
|
+ * in the pycore_frame header file, and it loves using unnamed unions
|
||||||
|
+ * so we have to turn off pendatic mode before including it.
|
||||||
|
+ *
|
||||||
|
+ * The f_code member was removed from _PyInterpreterFrame and is replaced
|
||||||
|
+ * with a PyObject called f_executable. There is an _PyFrame_GetCode()
|
||||||
|
+ * helper function now.
|
||||||
|
+ */
|
||||||
|
+#if PY_VERSION_HEX >= 0x030d0000
|
||||||
|
+#define Py_BUILD_CORE 1
|
||||||
|
+#pragma GCC diagnostic push
|
||||||
|
+#pragma GCC diagnostic ignored "-Wpedantic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if PY_VERSION_HEX < 0x030d0000
|
||||||
|
+#define _PyFrame_GetCode(frame) (frame->f_code)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#if PY_VERSION_HEX >= 0x030b0000
|
||||||
|
#include <internal/pycore_frame.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if PY_VERSION_HEX >= 0x030d0000
|
||||||
|
+#pragma GCC diagnostic pop
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#if PY_VERSION_HEX < 0x030A0000
|
||||||
|
typedef enum {
|
||||||
|
PYGEN_RETURN = 0,
|
||||||
|
@@ -1201,7 +1224,7 @@ python_resolve_frame_line(void *ptr)
|
||||||
|
|
||||||
|
frame = ptr;
|
||||||
|
addr = _PyInterpreterFrame_LASTI(frame) * sizeof(_Py_CODEUNIT);
|
||||||
|
- line = PyCode_Addr2Line(frame->f_code, addr);
|
||||||
|
+ line = PyCode_Addr2Line(_PyFrame_GetCode(frame), addr);
|
||||||
|
#else
|
||||||
|
line = PyFrame_GetLineNumber(ptr);
|
||||||
|
#endif
|
||||||
|
@@ -1232,8 +1255,8 @@ python_coro_trace(const char *label, struct python_coro *coro)
|
||||||
|
#else
|
||||||
|
frame = obj->cr_frame;
|
||||||
|
#endif
|
||||||
|
- if (frame != NULL && frame->f_code != NULL) {
|
||||||
|
- code = frame->f_code;
|
||||||
|
+ if (frame != NULL && _PyFrame_GetCode(frame) != NULL) {
|
||||||
|
+ code = _PyFrame_GetCode(frame);
|
||||||
|
func = PyUnicode_AsUTF8AndSize(code->co_name, NULL);
|
||||||
|
file = PyUnicode_AsUTF8AndSize(code->co_filename, NULL);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'kore'
|
# Template file for 'kore'
|
||||||
pkgname=kore
|
pkgname=kore
|
||||||
version=4.2.3
|
version=4.2.3
|
||||||
revision=5
|
revision=6
|
||||||
# arch specific seccomp stuff
|
# arch specific seccomp stuff
|
||||||
archs="x86_64* aarch64* ppc64*"
|
archs="x86_64* aarch64* ppc64*"
|
||||||
build_style=gnu-makefile
|
build_style=gnu-makefile
|
||||||
|
|
Loading…
Add table
Reference in a new issue