diff --git a/sip-4.19.25-ftbfs-python-3.15.patch b/sip-4.19.25-ftbfs-python-3.15.patch new file mode 100644 index 0000000..31ec6b9 --- /dev/null +++ b/sip-4.19.25-ftbfs-python-3.15.patch @@ -0,0 +1,20 @@ +diff -up sip-4.19.25/siplib/qtlib.c.pyweekref_getobject sip-4.19.25/siplib/qtlib.c +--- sip-4.19.25/siplib/qtlib.c.pyweekref_getobject 2021-02-26 16:17:35.136483000 +0100 ++++ sip-4.19.25/siplib/qtlib.c 2025-11-12 18:23:13.020805318 +0100 +@@ -24,6 +24,16 @@ + + #include "sipint.h" + ++// Fix FTBFS with python3.15 ++#if PY_VERSION_HEX >= 0x30F00A1 ++static inline PyObject *compat_PyWeakref_GetObject(PyObject *ref) { ++ PyObject *obj = NULL; ++ if (PyWeakref_GetRef(ref, &obj) < 0) ++ return NULL; ++ return obj; ++} ++#define PyWeakref_GetObject compat_PyWeakref_GetObject ++#endif + + /* This is how Qt "types" signals and slots. */ + #define isQtSlot(s) (*(s) == '1') diff --git a/sip.spec b/sip.spec index b8b05a5..c4c77e6 100644 --- a/sip.spec +++ b/sip.spec @@ -47,7 +47,7 @@ Summary: SIP - Python/C++ Bindings Generator Name: sip Version: 4.19.25 -Release: 18%{?dist} +Release: 19%{?dist} # sipgen/parser.{c.h} is GPLv3+ with exceptions (bison) # Automatically converted from old format: GPLv2 or GPLv3 and (GPLv3+ with exceptions) - review is highly recommended. @@ -73,6 +73,8 @@ Patch53: sip-4.19.18-no_hardcode_sip_so.patch Patch54: sip-4.19.25-py_ssize_t_clean.patch # Fix error: invalid use of undefined type 'struct _frame' Patch55: sip-4.19.25-pyframe_getback.patch +# Fix error: implicit declaration of function ‘PyWeakref_GetObject’ +Patch56: sip-4.19.25-ftbfs-python-3.15.patch # extracted from sip.h, SIP_API_MAJOR_NR SIP_API_MINOR_NR defines Source1: macros.sip @@ -227,6 +229,7 @@ This is the Python 3 build of wx-siplib. %patch -P53 -p1 -b .no_sip_so %patch -P54 -p1 -b .py_ssize_t_clean %patch -P55 -p1 -b .pyframe_getback +%patch -P56 -p1 -b .pyweekref_getobject %build @@ -481,6 +484,9 @@ popd %changelog +* Thu Nov 27 2025 Than Ngo - 4.19.25-19 +- Fix rhbz#2414555 - error: implicit declaration of function ‘PyWeakref_GetObject’ + * Fri Sep 19 2025 Python Maint - 4.19.25-18 - Rebuilt for Python 3.14.0rc3 bytecode