diff --git a/.gitignore b/.gitignore index 9f9eb15..f7b1e4a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,3 @@ /sip-4.19.22.tar.gz /sip-4.19.23.tar.gz /sip-4.19.24.tar.gz -/sip-4.19.25.tar.gz diff --git a/sip-4.18-no_rpath.patch b/sip-4.18-no_rpath.patch index 0ae91e4..406a26c 100644 --- a/sip-4.18-no_rpath.patch +++ b/sip-4.18-no_rpath.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference sip-4.19.25/siputils.py sip-4.19.25-new/siputils.py ---- sip-4.19.25/siputils.py 2021-10-21 13:45:54.808566613 +0200 -+++ sip-4.19.25-new/siputils.py 2021-10-21 13:45:54.812566611 +0200 -@@ -436,7 +436,7 @@ class Makefile: +diff -up sip-4.18/siputils.py.no_rpath sip-4.18/siputils.py +--- sip-4.18/siputils.py.no_rpath 2015-03-25 06:00:24.000000000 -0500 ++++ sip-4.18/siputils.py 2016-04-13 11:34:48.179894616 -0500 +@@ -435,7 +435,7 @@ class Makefile: if l_dir in ("", ".", ".."): continue @@ -10,7 +10,7 @@ diff -rupN --no-dereference sip-4.19.25/siputils.py sip-4.19.25-new/siputils.py if self._python: incdir.append(self.config.py_inc_dir) -@@ -613,7 +613,7 @@ class Makefile: +@@ -612,7 +612,7 @@ class Makefile: # Handle library directories. libdir_qt = self.optional_list("LIBDIR_QT") libdir.extend(libdir_qt) diff --git a/sip-4.18-no_strip.patch b/sip-4.18-no_strip.patch index 326759e..3273311 100644 --- a/sip-4.18-no_strip.patch +++ b/sip-4.18-no_strip.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference sip-4.19.25/siputils.py sip-4.19.25-new/siputils.py ---- sip-4.19.25/siputils.py 2021-02-26 16:17:35.156108000 +0100 -+++ sip-4.19.25-new/siputils.py 2021-10-21 13:45:54.780566626 +0200 -@@ -1473,7 +1473,7 @@ class ModuleMakefile(Makefile): +diff -up sip-4.18/siputils.py.no_strip sip-4.18/siputils.py +--- sip-4.18/siputils.py.no_strip 2015-03-25 06:00:24.000000000 -0500 ++++ sip-4.18/siputils.py 2016-04-13 11:34:23.718690341 -0500 +@@ -1469,7 +1469,7 @@ class ModuleMakefile(Makefile): """ def __init__(self, configuration, build_file, install_dir=None, static=0, console=0, qt=0, opengl=0, threaded=0, warnings=1, debug=0, @@ -10,7 +10,7 @@ diff -rupN --no-dereference sip-4.19.25/siputils.py sip-4.19.25-new/siputils.py export_all=0, universal=None, arch=None, deployment_target=None): """Initialise an instance of a module Makefile. -@@ -1784,7 +1784,7 @@ class SIPModuleMakefile(ModuleMakefile): +@@ -1780,7 +1780,7 @@ class SIPModuleMakefile(ModuleMakefile): """ def __init__(self, configuration, build_file, install_dir=None, static=0, console=0, qt=0, opengl=0, threaded=0, warnings=1, debug=0, diff --git a/sip-4.19.18-no_hardcode_sip_so.patch b/sip-4.19.18-no_hardcode_sip_so.patch index 86c453c..b6fe637 100644 --- a/sip-4.19.18-no_hardcode_sip_so.patch +++ b/sip-4.19.18-no_hardcode_sip_so.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference sip-4.19.25/configure.py sip-4.19.25-new/configure.py ---- sip-4.19.25/configure.py 2021-02-26 16:28:41.621025600 +0100 -+++ sip-4.19.25-new/configure.py 2021-10-21 13:45:54.845566597 +0200 -@@ -449,7 +449,7 @@ def create_makefiles(macros): +diff -up sip-4.19.18/configure.py.orig sip-4.19.18/configure.py +--- sip-4.19.18/configure.py.orig 2019-07-04 12:28:08.000000000 -0400 ++++ sip-4.19.18/configure.py 2019-08-27 21:56:33.871428348 -0400 +@@ -447,7 +447,7 @@ def create_makefiles(macros): if sys.platform == 'win32': mod = 'sip.lib' if opts.static else 'sip.pyd' else: diff --git a/sip-4.19.25-ftbfs-python-3.15.patch b/sip-4.19.25-ftbfs-python-3.15.patch deleted file mode 100644 index 31ec6b9..0000000 --- a/sip-4.19.25-ftbfs-python-3.15.patch +++ /dev/null @@ -1,20 +0,0 @@ -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-py_ssize_t_clean.patch b/sip-4.19.25-py_ssize_t_clean.patch deleted file mode 100644 index a6f10db..0000000 --- a/sip-4.19.25-py_ssize_t_clean.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: Jochen Sprickerhof -Date: Fri, 5 Nov 2021 09:13:14 +0100 -Subject: Make parser not break on py_ssize_t_clean directive from SIP v6.4 - ---- - sipgen/metasrc/lexer.l | 1 + - sipgen/metasrc/parser.y | 13 +++++++++++++ - 2 files changed, 14 insertions(+) - -diff --git a/sipgen/metasrc/lexer.l b/sipgen/metasrc/lexer.l -index a52b018..c328202 100644 ---- a/sipgen/metasrc/lexer.l -+++ b/sipgen/metasrc/lexer.l -@@ -174,6 +174,7 @@ SIP_QOBJECT {return TK_QOBJECT;} - timestamp {return TK_TIMESTAMP;} - type {return TK_TYPE;} - use_argument_names {return TK_USEARGNAMES;} -+py_ssize_t_clean {return TK_PYSSIZETCLEAN;} - use_limited_api {return TK_USELIMITEDAPI;} - all_raise_py_exception {return TK_ALLRAISEPYEXC;} - call_super_init {return TK_CALLSUPERINIT;} -diff --git a/sipgen/metasrc/parser.y b/sipgen/metasrc/parser.y -index 5623dca..2d98380 100644 ---- a/sipgen/metasrc/parser.y -+++ b/sipgen/metasrc/parser.y -@@ -389,6 +389,7 @@ static scopedNameDef *fullyQualifiedName(scopedNameDef *snd); - %token TK_TIMESTAMP - %token TK_TYPE - %token TK_USEARGNAMES -+%token TK_PYSSIZETCLEAN - %token TK_USELIMITEDAPI - %token TK_ALLRAISEPYEXC - %token TK_CALLSUPERINIT -@@ -2012,6 +2013,18 @@ module_arg: TK_KWARGS '=' TK_STRING_VALUE { - $$.call_super_init = -1; - $$.def_error_handler = NULL; - } -+ | TK_PYSSIZETCLEAN '=' bool_value { -+ $$.token = TK_PYSSIZETCLEAN; -+ -+ $$.c_module = FALSE; -+ $$.kwargs = defaultKwArgs; -+ $$.name = NULL; -+ $$.use_arg_names = FALSE; -+ $$.use_limited_api = FALSE; -+ $$.all_raise_py_exc = FALSE; -+ $$.call_super_init = -1; -+ $$.def_error_handler = NULL; -+ } - | TK_USELIMITEDAPI '=' bool_value { - $$.token = TK_USELIMITEDAPI; - diff --git a/sip-4.19.25-pyframe_getback.patch b/sip-4.19.25-pyframe_getback.patch deleted file mode 100644 index 30bab23..0000000 --- a/sip-4.19.25-pyframe_getback.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 c4c77e6..5194e6b 100644 --- a/sip.spec +++ b/sip.spec @@ -30,28 +30,13 @@ %global no_namespace 1 %endif -# Stop building siplib for wx on F34+ -%if 0%{?fedora} && 0%{?fedora} >= 34 -%global wx_siplib 0 -%else -%global wx_siplib 1 -%endif - -# Stop building PyQt5.sip on F35+ -%if 0%{?fedora} && 0%{?fedora} >= 35 -%global pyqt5_sip 0 -%else -%global pyqt5_sip 1 -%endif - Summary: SIP - Python/C++ Bindings Generator Name: sip -Version: 4.19.25 -Release: 19%{?dist} +Version: 4.19.24 +Release: 1%{?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. -License: GPL-2.0-only OR GPL-3.0-only AND (LicenseRef-Callaway-GPLv3+-with-exceptions) +License: GPLv2 or GPLv3 and (GPLv3+ with exceptions) Url: https://riverbankcomputing.com/software/sip/intro Source0: https://riverbankcomputing.com/static/Downloads/sip/%{version}/sip-%{version}%{?snap:.%{snap}}.tar.gz @@ -69,12 +54,6 @@ Patch51: sip-4.18-no_rpath.patch #Patch52: sip-4.19.3-python3_sip_bin.patch # Avoid hardcoding sip.so (needed for wxpython's siplib.so) 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 @@ -82,13 +61,8 @@ Source1: macros.sip %global _sip_api_minor 7 %global _sip_api %{_sip_api_major}.%{_sip_api_minor} -BuildRequires: make BuildRequires: gcc-c++ BuildRequires: sed -BuildRequires: bison -BuildRequires: flex - -BuildRequires: python-setuptools Obsoletes: sip-macros < %{version}-%{release} Provides: sip-macros = %{version}-%{release} @@ -195,7 +169,6 @@ Provides: python%{python3_pkgversion}-pyqt4-sip-api(%{_sip_api_major})%{?_isa} = %description -n python%{python3_pkgversion}-pyqt4-sip This is the Python 3 build of pyqt4-SIP. -%if %{?pyqt5_sip} %package -n python%{python3_pkgversion}-pyqt5-sip Summary: SIP - Python 3/C++ Bindings Generator for pyqt5 BuildRequires: python%{python3_pkgversion}-devel @@ -203,9 +176,7 @@ Provides: python%{python3_pkgversion}-pyqt5-sip-api(%{_sip_api_major}) = %{_sip_ Provides: python%{python3_pkgversion}-pyqt5-sip-api(%{_sip_api_major})%{?_isa} = %{_sip_api} %description -n python%{python3_pkgversion}-pyqt5-sip This is the Python 3 build of pyqt5-SIP. -%endif -%if %{?wx_siplib} %package -n python%{python3_pkgversion}-wx-siplib Summary: SIP - Python 3/C++ Bindings Generator for wx BuildRequires: python%{python3_pkgversion}-devel @@ -213,7 +184,6 @@ Provides: python%{python3_pkgversion}-wx-siplib-api(%{_sip_api_major}) = %{_sip_ Provides: python%{python3_pkgversion}-wx-siplib-api(%{_sip_api_major})%{?_isa} = %{_sip_api} %description -n python%{python3_pkgversion}-wx-siplib This is the Python 3 build of wx-siplib. -%endif %_description @@ -224,17 +194,12 @@ This is the Python 3 build of wx-siplib. %setup -q -n %{name}-%{version}%{?snap:.%{snap}} -%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 +%patch50 -p1 -b .no_strip +%patch51 -p1 -b .no_rpath +%patch53 -p1 -b .no_sip_so %build -flex --outfile=sipgen/lexer.c sipgen/metasrc/lexer.l -bison --yacc --defines=sipgen/parser.h --output=sipgen/parser.c sipgen/metasrc/parser.y %if %{with python2} %if 0%{?no_namespace} mkdir %{_target_platform}-python2 @@ -302,7 +267,6 @@ pushd %{_target_platform}-python3-pyqt4 %make_build popd -%if %{?pyqt5_sip} mkdir %{_target_platform}-python3-pyqt5 pushd %{_target_platform}-python3-pyqt5 %{__python3} ../configure.py \ @@ -312,9 +276,7 @@ pushd %{_target_platform}-python3-pyqt5 %make_build popd -%endif -%if %{?wx_siplib} sed -i -e 's|target = sip|target = siplib|g' siplib/siplib.sbf mkdir %{_target_platform}-python3-wx pushd %{_target_platform}-python3-wx @@ -326,7 +288,6 @@ pushd %{_target_platform}-python3-wx %make_build popd sed -i -e 's|target = siplib|target = sip|g' siplib/siplib.sbf -%endif %endif @@ -339,13 +300,9 @@ sed -i -e 's|target = siplib|target = sip|g' siplib/siplib.sbf %make_install -C %{_target_platform}-python3 %endif %make_install -C %{_target_platform}-python3-pyqt4 -%if %{?pyqt5_sip} %make_install -C %{_target_platform}-python3-pyqt5 -%endif -%if %{?wx_siplib} %make_install -C %{_target_platform}-python3-wx mv %{buildroot}%{python3_sitearch}/wx/sip.pyi %{buildroot}%{python3_sitearch}/wx/siplib.pyi -%endif ln -s sip %{buildroot}%{_bindir}/python3-sip ## toplevel __pycache__ creation is ... inconsistent @@ -367,14 +324,10 @@ mv %{buildroot}%{python2_sitearch}/wx/sip.pyi %{buildroot}%{python2_sitearch}/wx # sip-wrapper install %{SOURCE10} %{buildroot}%{_bindir}/sip-pyqt4 install %{SOURCE10} %{buildroot}%{_bindir}/sip-pyqt5 -%if %{?wx_siplib} install %{SOURCE10} %{buildroot}%{_bindir}/sip-wx -%endif sed -i -e 's|@SIP_MODULE@|PyQt4.sip|g' %{buildroot}%{_bindir}/sip-pyqt4 sed -i -e 's|@SIP_MODULE@|PyQt5.sip|g' %{buildroot}%{_bindir}/sip-pyqt5 -%if %{?wx_siplib} sed -i -e 's|@SIP_MODULE@|wx.siplib|g' %{buildroot}%{_bindir}/sip-wx -%endif mkdir -p %{buildroot}%{_datadir}/sip @@ -394,9 +347,7 @@ popd # sip-wrappers %{_bindir}/sip-pyqt4 %{_bindir}/sip-pyqt5 -%if %{?wx_siplib} %{_bindir}/sip-wx -%endif # compat symlink %{_bindir}/python3-sip %dir %{_datadir}/sip/ @@ -463,16 +414,13 @@ popd %{python3_sitearch}/PyQt4/sip.* %{python3_sitearch}/PyQt4_sip-%{version}.dist-info/ -%if %{?pyqt5_sip} %files -n python%{python3_pkgversion}-pyqt5-sip %doc NEWS README %license LICENSE LICENSE-GPL2 LICENSE-GPL3 %dir %{python3_sitearch}/PyQt5/ %{python3_sitearch}/PyQt5/sip.* %{python3_sitearch}/PyQt5_sip-%{version}.dist-info/ -%endif -%if %{?wx_siplib} %files -n python%{python3_pkgversion}-wx-siplib %doc NEWS README %license LICENSE LICENSE-GPL2 LICENSE-GPL3 @@ -480,82 +428,9 @@ popd %{python3_sitearch}/wx/siplib.* %{python3_sitearch}/wx_siplib-%{version}.dist-info/ %endif -%endif %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 - -* Mon Nov 08 2021 Scott Talbert - 4.19.25-2 -- Recognize the py_ssize_t_clean directive to avoid FTBFS with PyQt 5.15.6 - -* Thu Oct 21 2021 Sandro Mani - 4.19.25-1 -- Update to 4.19.25 - -* Fri Jul 23 2021 Fedora Release Engineering - 4.19.24-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jun 14 2021 Scott Talbert - 4.19.24-5 -- Stop building python3-pyqt5-sip package on F35+ - replaced by separate pkg - -* Thu Jun 03 2021 Python Maint - 4.19.24-4 -- Rebuilt for Python 3.10 - -* Wed Jan 27 2021 Fedora Release Engineering - 4.19.24-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sun Jan 17 2021 Scott Talbert - 4.19.24-2 -- Stop building wx.siplib on F34+ as wx has switched to sip 5 - * Mon Aug 17 2020 Rex Dieter - 4.19.24-1 - 4.19.24 diff --git a/sources b/sources index bd8dd5d..f458ce7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sip-4.19.25.tar.gz) = 60fb4133c68869bf0993144978b4847d94a0f9c7b477f64a346ea133cfe35bc11820204ab327dcf9a929b6f65a26d16cc7efbce65e49967c3347b39376e57001 +SHA512 (sip-4.19.24.tar.gz) = c9acf8c66da6ff24ffaeed254c11deabbc587cea0eb50164f2016199af30b85980f96a2d754ae5e7fe080f9076673b1abc82e2a6a41ff2ac442fb2b326fca1c0