Compare commits
24 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc94854a86 | ||
|
|
7245e3021a | ||
|
|
a85112733e | ||
|
|
6f3c12fee0 | ||
|
|
c50999f171 | ||
|
|
b9d9920e04 | ||
|
|
8c04d87abb | ||
|
|
e70f79adba | ||
|
|
5e32c23bbe | ||
|
|
0b47969ef1 | ||
|
|
675d011e68 | ||
|
|
ecd053a61b | ||
|
|
0c2f14c451 | ||
|
|
b6a3030410 | ||
|
|
0ad5d9db3a | ||
|
|
91d37abf48 | ||
|
|
2aa40956d6 | ||
|
|
842c544b1e | ||
|
|
40ebbaa6f4 | ||
|
|
36f2068ec1 | ||
|
|
4bbbecf718 | ||
|
|
78346fe8f2 | ||
|
|
dbfd3563ab | ||
|
|
2b020f6244 |
9 changed files with 204 additions and 21 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -14,3 +14,4 @@
|
|||
/sip-4.19.22.tar.gz
|
||||
/sip-4.19.23.tar.gz
|
||||
/sip-4.19.24.tar.gz
|
||||
/sip-4.19.25.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
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:
|
||||
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:
|
||||
if l_dir in ("", ".", ".."):
|
||||
continue
|
||||
|
||||
|
|
@ -10,7 +10,7 @@ diff -up sip-4.18/siputils.py.no_rpath sip-4.18/siputils.py
|
|||
|
||||
if self._python:
|
||||
incdir.append(self.config.py_inc_dir)
|
||||
@@ -612,7 +612,7 @@ class Makefile:
|
||||
@@ -613,7 +613,7 @@ class Makefile:
|
||||
# Handle library directories.
|
||||
libdir_qt = self.optional_list("LIBDIR_QT")
|
||||
libdir.extend(libdir_qt)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
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):
|
||||
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):
|
||||
"""
|
||||
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 -up sip-4.18/siputils.py.no_strip sip-4.18/siputils.py
|
|||
export_all=0, universal=None, arch=None,
|
||||
deployment_target=None):
|
||||
"""Initialise an instance of a module Makefile.
|
||||
@@ -1780,7 +1780,7 @@ class SIPModuleMakefile(ModuleMakefile):
|
||||
@@ -1784,7 +1784,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,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
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):
|
||||
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):
|
||||
if sys.platform == 'win32':
|
||||
mod = 'sip.lib' if opts.static else 'sip.pyd'
|
||||
else:
|
||||
|
|
|
|||
20
sip-4.19.25-ftbfs-python-3.15.patch
Normal file
20
sip-4.19.25-ftbfs-python-3.15.patch
Normal file
|
|
@ -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')
|
||||
52
sip-4.19.25-py_ssize_t_clean.patch
Normal file
52
sip-4.19.25-py_ssize_t_clean.patch
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
From: Jochen Sprickerhof <jspricke@debian.org>
|
||||
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;}
|
||||
<directive>timestamp {return TK_TIMESTAMP;}
|
||||
<directive>type {return TK_TYPE;}
|
||||
<directive>use_argument_names {return TK_USEARGNAMES;}
|
||||
+<directive>py_ssize_t_clean {return TK_PYSSIZETCLEAN;}
|
||||
<directive>use_limited_api {return TK_USELIMITEDAPI;}
|
||||
<directive>all_raise_py_exception {return TK_ALLRAISEPYEXC;}
|
||||
<directive>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;
|
||||
|
||||
13
sip-4.19.25-pyframe_getback.patch
Normal file
13
sip-4.19.25-pyframe_getback.patch
Normal file
|
|
@ -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;
|
||||
}
|
||||
|
||||
109
sip.spec
109
sip.spec
|
|
@ -37,13 +37,21 @@
|
|||
%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.24
|
||||
Release: 3%{?dist}
|
||||
Version: 4.19.25
|
||||
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
|
||||
|
||||
|
|
@ -61,6 +69,12 @@ 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
|
||||
|
|
@ -71,6 +85,10 @@ Source1: macros.sip
|
|||
BuildRequires: make
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: sed
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
|
||||
BuildRequires: python-setuptools
|
||||
|
||||
Obsoletes: sip-macros < %{version}-%{release}
|
||||
Provides: sip-macros = %{version}-%{release}
|
||||
|
|
@ -177,6 +195,7 @@ 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
|
||||
|
|
@ -184,6 +203,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
|
||||
|
|
@ -204,12 +224,17 @@ 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
|
||||
%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
|
||||
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
|
||||
|
|
@ -277,6 +302,7 @@ pushd %{_target_platform}-python3-pyqt4
|
|||
%make_build
|
||||
popd
|
||||
|
||||
%if %{?pyqt5_sip}
|
||||
mkdir %{_target_platform}-python3-pyqt5
|
||||
pushd %{_target_platform}-python3-pyqt5
|
||||
%{__python3} ../configure.py \
|
||||
|
|
@ -286,6 +312,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
|
||||
|
|
@ -312,7 +339,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
|
||||
|
|
@ -434,12 +463,14 @@ 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
|
||||
|
|
@ -453,6 +484,72 @@ popd
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Nov 27 2025 Than Ngo <than@redhat.com> - 4.19.25-19
|
||||
- Fix rhbz#2414555 - error: implicit declaration of function ‘PyWeakref_GetObject’
|
||||
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 4.19.25-18
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 4.19.25-17
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 4.19.25-15
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 4.19.25-13
|
||||
- convert license to SPDX
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 4.19.25-11
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 4.19.25-8
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue Mar 07 2023 Than Ngo <than@redhat.com> - 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 <releng@fedoraproject.org> - 4.19.25-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.19.25-4
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.25-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Nov 08 2021 Scott Talbert <swt@techie.net> - 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 <manisandro@gmail.com> - 4.19.25-1
|
||||
- Update to 4.19.25
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.24-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Jun 14 2021 Scott Talbert <swt@techie.net> - 4.19.24-5
|
||||
- Stop building python3-pyqt5-sip package on F35+ - replaced by separate pkg
|
||||
|
||||
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 4.19.24-4
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.24-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (sip-4.19.24.tar.gz) = c9acf8c66da6ff24ffaeed254c11deabbc587cea0eb50164f2016199af30b85980f96a2d754ae5e7fe080f9076673b1abc82e2a6a41ff2ac442fb2b326fca1c0
|
||||
SHA512 (sip-4.19.25.tar.gz) = 60fb4133c68869bf0993144978b4847d94a0f9c7b477f64a346ea133cfe35bc11820204ab327dcf9a929b6f65a26d16cc7efbce65e49967c3347b39376e57001
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue