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-4.19.25-pyframe_getback.patch b/sip-4.19.25-pyframe_getback.patch new file mode 100644 index 0000000..30bab23 --- /dev/null +++ b/sip-4.19.25-pyframe_getback.patch @@ -0,0 +1,13 @@ +diff --git a/siplib/siplib.c b/siplib/siplib.c +index db52b68..8019e97 100644 +--- a/siplib/siplib.c ++++ b/siplib/siplib.c +@@ -13747,7 +13747,7 @@ static struct _frame *sip_api_get_frame(int depth) + + while (frame != NULL && depth > 0) + { +- frame = frame->f_back; ++ frame = PyFrame_GetBack(frame); + --depth; + } + diff --git a/sip.spec b/sip.spec index ac60d63..c4c77e6 100644 --- a/sip.spec +++ b/sip.spec @@ -47,10 +47,11 @@ Summary: SIP - Python/C++ Bindings Generator Name: sip Version: 4.19.25 -Release: 3%{?dist} +Release: 19%{?dist} # sipgen/parser.{c.h} is GPLv3+ with exceptions (bison) -License: GPLv2 or GPLv3 and (GPLv3+ with exceptions) +# Automatically converted from old format: GPLv2 or GPLv3 and (GPLv3+ with exceptions) - review is highly recommended. +License: GPL-2.0-only OR GPL-3.0-only AND (LicenseRef-Callaway-GPLv3+-with-exceptions) Url: https://riverbankcomputing.com/software/sip/intro Source0: https://riverbankcomputing.com/static/Downloads/sip/%{version}/sip-%{version}%{?snap:.%{snap}}.tar.gz @@ -70,6 +71,10 @@ Patch51: sip-4.18-no_rpath.patch Patch53: sip-4.19.18-no_hardcode_sip_so.patch # Recognize the py_ssize_t_clean directive to avoid FTBFS with PyQt 5.15.6 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 @@ -83,6 +88,8 @@ BuildRequires: sed BuildRequires: bison BuildRequires: flex +BuildRequires: python-setuptools + Obsoletes: sip-macros < %{version}-%{release} Provides: sip-macros = %{version}-%{release} @@ -217,10 +224,12 @@ This is the Python 3 build of wx-siplib. %setup -q -n %{name}-%{version}%{?snap:.%{snap}} -%patch50 -p1 -b .no_strip -%patch51 -p1 -b .no_rpath -%patch53 -p1 -b .no_sip_so -%patch54 -p1 -b .py_ssize_t_clean +%patch -P50 -p1 -b .no_strip +%patch -P51 -p1 -b .no_rpath +%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 @@ -475,6 +484,54 @@ 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 + +* Fri Aug 15 2025 Python Maint - 4.19.25-17 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 4.19.25-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 02 2025 Python Maint - 4.19.25-15 +- Rebuilt for Python 3.14 + +* Sun Jan 19 2025 Fedora Release Engineering - 4.19.25-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Sep 04 2024 Miroslav Suchý - 4.19.25-13 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 4.19.25-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 4.19.25-11 +- Rebuilt for Python 3.13 + +* Sat Jan 27 2024 Fedora Release Engineering - 4.19.25-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 4.19.25-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 4.19.25-8 +- Rebuilt for Python 3.12 + +* Tue Mar 07 2023 Than Ngo - 4.19.25-7 +- fixed bz#2154988, fails to build with Python 3.12: ModuleNotFoundError: No module named 'distutils' + +* Sat Jan 21 2023 Fedora Release Engineering - 4.19.25-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 4.19.25-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 4.19.25-4 +- Rebuilt for Python 3.11 + * Sat Jan 22 2022 Fedora Release Engineering - 4.19.25-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild