Compare commits

...
Sign in to create a new pull request.

58 commits

Author SHA1 Message Date
Than Ngo
cc94854a86 Fix rhbz#2414555 - error: implicit declaration of function ‘PyWeakref_GetObject’ 2025-11-27 12:49:29 +01:00
Python Maint
7245e3021a Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:56:40 +02:00
Python Maint
a85112733e Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 15:17:58 +02:00
Fedora Release Engineering
6f3c12fee0 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 18:21:44 +00:00
Python Maint
c50999f171 Rebuilt for Python 3.14 2025-06-02 20:37:55 +02:00
Fedora Release Engineering
b9d9920e04 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 10:50:49 +00:00
Miroslav Suchý
8c04d87abb convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-04 21:58:26 +02:00
Fedora Release Engineering
e70f79adba Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 05:43:23 +00:00
Python Maint
5e32c23bbe Rebuilt for Python 3.13 2024-06-07 09:00:39 +02:00
Software Management Team
0b47969ef1 Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:49 +02:00
Fedora Release Engineering
675d011e68 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 03:23:33 +00:00
Fedora Release Engineering
ecd053a61b Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 01:49:05 +00:00
Python Maint
0c2f14c451 Rebuilt for Python 3.12 2023-06-13 20:50:10 +02:00
Than Ngo
b6a3030410 fixed bz#2154988, fails to build with Python 3.12: ModuleNotFoundError: No module named 'distutils' 2023-03-07 20:20:56 +01:00
Fedora Release Engineering
0ad5d9db3a Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 03:23:11 +00:00
Fedora Release Engineering
91d37abf48 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 08:43:59 +00:00
Victor Stinner
2aa40956d6 Fix error: invalid use of undefined type 'struct _frame' 2022-06-17 12:58:53 +02:00
Python Maint
842c544b1e Rebuilt for Python 3.11 2022-06-13 15:17:57 +02:00
Fedora Release Engineering
40ebbaa6f4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 01:01:16 +00:00
Scott Talbert
36f2068ec1 Recognize the py_ssize_t_clean directive to avoid FTBFS with PyQt 5.15.6
Unfortunately, sip 6.4.0 introduced a new directive, py_ssite_t_clean,
and PyQt 5.15.6 makes use of this directive.  sip 4 doesn't recognize
this directive, so any packages that use PyQt5 and still use sip 4 now
FTBFS.  In order to work around this problem, cherry pick a patch from
Debian which adds the new directive to sip 4 (but doesn't do anything)
to resolve this FTBFS.  This fixes FTBFS for scidavis and krita, at
least.
2021-11-08 19:19:43 -05:00
Sandro Mani
4bbbecf718 Update to 4.19.25 2021-10-21 13:46:41 +02:00
Fedora Release Engineering
78346fe8f2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 17:40:55 +00:00
Scott Talbert
dbfd3563ab Stop building python3-pyqt5-sip package on F35+ - replaced by separate pkg 2021-06-16 23:04:45 -04:00
Python Maint
2b020f6244 Rebuilt for Python 3.10 2021-06-03 15:14:27 +02:00
Fedora Release Engineering
cd29bc8f75 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 20:30:19 +00:00
Scott Talbert
4735f6efad Stop building wx.siplib on F34+ as wx has switched to sip 5 2021-01-17 13:01:04 -05:00
Tom Stellard
65ccdbf611 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 21:32:45 +00:00
Rex Dieter
2c315db360 4.19.24 2020-08-17 15:32:06 -05:00
Fedora Release Engineering
bb87f41a4a - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 10:51:22 +00:00
Merlin Mathesius
bfb3f476c4 Minor conditional fixes for ELN
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2020-07-20 15:47:48 -05:00
Rex Dieter
57cd99d55a 4.19.23 2020-06-08 09:25:58 -05:00
Miro Hrončok
511fc72f86 Rebuilt for Python 3.9 2020-05-23 11:04:19 +02:00
FeRD (Frank Dana)
1b926dea3d Add doc subpackage 2020-04-20 08:51:24 -05:00
Rex Dieter
774146ea69 4.19.22 2020-04-04 14:28:29 -05:00
Rex Dieter
f5b657d749 4.19.21 2020-01-31 13:54:18 -06:00
Fedora Release Engineering
860ebc410c - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 23:34:28 +00:00
Rex Dieter
5943a42c70 4.19.20, adjust whitespace 2019-12-20 10:04:02 -06:00
Rex Dieter
54aa2c6288 disable python2 support on f32+ (#1752802) 2019-11-15 16:06:32 -06:00
Rex Dieter
1eb3bcf67a revert virtual provides (bad idea)
Bad idea because anything depending on those will not work,
better to highlight that fact so we know what needs fixing.
2019-11-03 18:01:42 -06:00
Nicolas Chauvet
49b6fedc3f Update changelog 2019-10-31 15:23:37 +01:00
Nicolas Chauvet
abd8828da9 Add virtual provides when no namespace 2019-10-31 15:21:44 +01:00
Rex Dieter
8fd958b1a4 4.19.19, sip-api(12)=12.7
Obsoletes: python2-sip python3-sip (when omitted for f31+)
2019-09-25 13:58:48 -05:00
Rex Dieter
f7175e4e20 drop no_namespace variant for f31+ 2019-09-16 09:04:56 -05:00
Scott Talbert
50ea82423b Simplify PYINCLUDE conditional and fix for F31 2019-09-05 20:39:33 -04:00
Gwyn Ciesla
ab0dc0f34d Conditionalize python 3 includes. 2019-08-29 08:40:19 -05:00
Scott Talbert
13805b5303 Build a namespaced sip module, wx.siplib, for wxpython (#1739469) 2019-08-27 22:04:01 -04:00
Gwyn Ciesla
b01a723e42 Drop m. 2019-08-27 08:58:44 -05:00
Gwyn Ciesla
d6e206c17d Revert "Dropped an m."
This reverts commit 6855bded9d.
2019-08-27 08:31:45 -05:00
Gwyn Ciesla
6855bded9d Dropped an m. 2019-08-19 15:14:55 -05:00
Gwyn Ciesla
c168cce08e include macros. 2019-08-19 14:56:04 -05:00
Gwyn Ciesla
74792297b3 Path fixes for flatpak. 2019-08-19 14:37:32 -05:00
Miro Hrončok
47b525caad Rebuilt for Python 3.8 2019-08-16 00:33:43 +02:00
Rex Dieter
87a0446bdc 4.19.18 2019-08-04 07:02:52 -05:00
Fedora Release Engineering
abd3d929a2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 23:25:32 +00:00
Rex Dieter
71abe04177 4.19.17 2019-05-06 14:02:37 -05:00
Rex Dieter
6acf967ef7 4.19.16 2019-04-11 08:19:34 -05:00
Rex Dieter
13c08eecad 4.19.15, - sip-api(12)=12.6 2019-03-21 20:38:51 -05:00
Fedora Release Engineering
54e158b0a7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 15:31:23 +00:00
10 changed files with 444 additions and 30 deletions

11
.gitignore vendored
View file

@ -4,3 +4,14 @@
/sip-4.19.9.dev1805261119.tar.gz
/sip-4.19.12.tar.gz
/sip-4.19.13.tar.gz
/sip-4.19.15.tar.gz
/sip-4.19.16.tar.gz
/sip-4.19.17.tar.gz
/sip-4.19.18.tar.gz
/sip-4.19.19.tar.gz
/sip-4.19.20.tar.gz
/sip-4.19.21.tar.gz
/sip-4.19.22.tar.gz
/sip-4.19.23.tar.gz
/sip-4.19.24.tar.gz
/sip-4.19.25.tar.gz

View file

@ -1,3 +1,3 @@
%_sip_api_major 12
%_sip_api_minor 5
%_sip_api_minor 7
%_sip_api %{_sip_api_major}.%{_sip_api_minor}

View file

@ -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)

View file

@ -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,

View file

@ -0,0 +1,12 @@
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:
- mod = 'libsip.a' if opts.static else 'sip.so'
+ mod = 'libsip.a' if opts.static else sip_module_name.split('.')[-1] + '.so'
all_installs.append((mod, sip_module_dest_dir))

View 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')

View 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;

View 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;
}

342
sip.spec
View file

@ -1,4 +1,7 @@
%bcond_without python3
%if (0%{?fedora} && 0%{?fedora} < 32) || (0%{?rhel} && 0%{?rhel} < 9)
%bcond_without python2
%endif
%if %{with python3}
%{!?python3_inc:%global python3_inc %(%{__python3} -c "from distutils.sysconfig import get_python_inc; print(get_python_inc(1))")}
@ -7,6 +10,12 @@
%{!?python2_sitearch:%global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%{!?python2_inc:%global python2_inc %(%{__python2} -c "from distutils.sysconfig import get_python_inc; print get_python_inc(1)")}
%if 0%{?fedora} > 31 || 0%{?rhel} > 8
%global PYINCLUDE %{_includedir}/python%{python3_version}
%else
%global PYINCLUDE %{_includedir}/python%{python3_version}m
%endif
%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
# trim changelog included in binary rpms
@ -15,26 +24,36 @@
# see also https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JQQ66XJSIT2FGTK2YQY7AXMEH5IXMPUX/
%undefine _strict_symbol_defs_build
#global snap dev1807041651
# provide non-namespace python modules
# needed by at least some non-qt consumers, e.g. wxpython4
# needed by at least some legacy/non-qt consumers, e.g. pykde4
%if 0%{?fedora} && 0%{?fedora} < 31
%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.13
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)
Url: http://www.riverbankcomputing.com/software/sip/intro
#URL: http://sourceforge.net/projects/pyqt/
%if 0%{?snap:1}
Source0: https://www.riverbankcomputing.com/static/Downloads/sip/sip-%{version}%{?snap:.%{snap}}.tar.gz
%else
Source0: http://downloads.sourceforge.net/pyqt/sip-%{version}.tar.gz
%endif
# 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
Source10: sip-wrapper.sh
@ -48,19 +67,38 @@ Patch51: sip-4.18-no_rpath.patch
# set sip_bin properly for python3 build (needswork to be upstreamable)
# no longer needed? keep for a little while before dropping completely -- rex
#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
%global _sip_api_major 12
%global _sip_api_minor 5
%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}
# upgrade path when no_namespace variants are dropped
%if ! 0%{?no_namespace}
Obsoletes: python2-sip < %{version}-%{release}
Obsoletes: python3-sip < %{version}-%{release}
%endif
%global _description\
SIP is a tool for generating bindings for C++ classes so that they can be\
accessed as normal Python classes. SIP takes many of its ideas from SWIG but,\
@ -74,6 +112,14 @@ class library.
%description %_description
%package doc
Summary: Documentation for %summary
BuildArch: noarch
%description doc
This package contains HTML documentation for SIP.
%_description
%if %{with python2}
%if 0%{?no_namespace}
%package -n python2-sip
Summary: %summary
@ -112,6 +158,14 @@ Provides: python2-pyqt5-sip-api(%{_sip_api_major})%{?_isa} = %{_sip_api}
%{?python_provide:%python_provide python2-pyqt5-sip}
%description -n python2-pyqt5-sip %_description
%package -n python2-wx-siplib
Summary: %summary
Provides: python2-wx-siplib-api(%{_sip_api_major}) = %{_sip_api}
Provides: python2-wx-siplib-api(%{_sip_api_major})%{?_isa} = %{_sip_api}
%{?python_provide:%python_provide python2-wx-siplib}
%description -n python2-wx-siplib %_description
%endif
%if %{with python3}
%if 0%{?no_namespace}
%package -n python%{python3_pkgversion}-sip
@ -141,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
@ -148,6 +203,17 @@ 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
Provides: python%{python3_pkgversion}-wx-siplib-api(%{_sip_api_major}) = %{_sip_api}
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
@ -158,15 +224,23 @@ This is the Python 3 build of pyqt5-SIP.
%setup -q -n %{name}-%{version}%{?snap:.%{snap}}
%patch50 -p1 -b .no_strip
%patch51 -p1 -b .no_rpath
%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
pushd %{_target_platform}-python2
%{__python2} ../configure.py \
-b %{_bindir} -d %{python2_sitearch} -e %{_includedir}/python%{python2_version} \
CFLAGS+="%{optflags}" CXXFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
@ -177,6 +251,7 @@ mkdir %{_target_platform}-python2-pyqt4
pushd %{_target_platform}-python2-pyqt4
%{__python2} ../configure.py \
--sip-module=PyQt4.sip \
-b %{_bindir} -d %{python2_sitearch} -e %{_includedir}/python%{python2_version} \
CFLAGS+="%{optflags}" CXXFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
@ -186,16 +261,31 @@ mkdir %{_target_platform}-python2-pyqt5
pushd %{_target_platform}-python2-pyqt5
%{__python2} ../configure.py \
--sip-module=PyQt5.sip \
-b %{_bindir} -d %{python2_sitearch} -e %{_includedir}/python%{python2_version} \
CFLAGS+="%{optflags}" CXXFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
popd
sed -i -e 's|target = sip|target = siplib|g' siplib/siplib.sbf
mkdir %{_target_platform}-python2-wx
pushd %{_target_platform}-python2-wx
%{__python2} ../configure.py \
--sip-module=wx.siplib \
-b %{_bindir} -d %{python2_sitearch} -e %{_includedir}/python%{python2_version} \
CFLAGS+="%{optflags}" CXXFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
popd
%endif
sed -i -e 's|target = siplib|target = sip|g' siplib/siplib.sbf
%if %{with python3}
%if 0%{?no_namespace}
mkdir %{_target_platform}-python3
pushd %{_target_platform}-python3
%{__python3} ../configure.py \
-b %{_bindir} -d %{python3_sitearch} -e %{PYINCLUDE} \
CXXFLAGS+="%{optflags}" CFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
@ -206,19 +296,37 @@ mkdir %{_target_platform}-python3-pyqt4
pushd %{_target_platform}-python3-pyqt4
%{__python3} ../configure.py \
--sip-module=PyQt4.sip \
-b %{_bindir} -d %{python3_sitearch} -e %{PYINCLUDE} \
CXXFLAGS+="%{optflags}" CFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
popd
%if %{?pyqt5_sip}
mkdir %{_target_platform}-python3-pyqt5
pushd %{_target_platform}-python3-pyqt5
%{__python3} ../configure.py \
--sip-module=PyQt5.sip \
-b %{_bindir} -d %{python3_sitearch} -e %{PYINCLUDE} \
CXXFLAGS+="%{optflags}" CFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%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
%{__python3} ../configure.py \
--sip-module=wx.siplib \
-b %{_bindir} -d %{python3_sitearch} -e %{PYINCLUDE} \
CXXFLAGS+="%{optflags}" CFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}"
%make_build
popd
sed -i -e 's|target = siplib|target = sip|g' siplib/siplib.sbf
%endif
%endif
@ -231,7 +339,13 @@ popd
%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
@ -240,23 +354,38 @@ mkdir -p %{buildroot}%{python3_sitearch}/__pycache__/exclude_rpm_hack
%endif
# Python 2 installation:
%if %{with python2}
%if 0%{?no_namespace}
%make_install -C %{_target_platform}-python2
%endif
%make_install -C %{_target_platform}-python2-pyqt4
%make_install -C %{_target_platform}-python2-pyqt5
%make_install -C %{_target_platform}-python2-wx
mv %{buildroot}%{python2_sitearch}/wx/sip.pyi %{buildroot}%{python2_sitearch}/wx/siplib.pyi
%endif
# 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
# Macros used by -devel subpackages:
install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip
# Copy documentation from source dir
pushd doc
find html/ -type f -exec install -m0644 -D {} %{buildroot}%{_pkgdocdir}/{} \;
popd
%files
%doc README
@ -265,13 +394,20 @@ install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip
# sip-wrappers
%{_bindir}/sip-pyqt4
%{_bindir}/sip-pyqt5
%if %{?wx_siplib}
%{_bindir}/sip-wx
%endif
# compat symlink
%{_bindir}/python3-sip
%dir %{_datadir}/sip/
%{rpm_macros_dir}/macros.sip
%files doc
%{_pkgdocdir}/html
%if %{with python2}
%files -n python2-sip-devel
%{python2_inc}/sip.h
%{_prefix}/include/python2.7/sip.h
%{python2_sitearch}/sipconfig.py*
%{python2_sitearch}/sipdistutils.py*
@ -296,9 +432,17 @@ install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip
%{python2_sitearch}/PyQt5/sip.*
%{python2_sitearch}/PyQt5_sip-%{version}.dist-info/
%files -n python2-wx-siplib
%doc NEWS README
%license LICENSE LICENSE-GPL2 LICENSE-GPL3
%dir %{python2_sitearch}/wx/
%{python2_sitearch}/wx/siplib.*
%{python2_sitearch}/wx_siplib-%{version}.dist-info/
%endif
%if %{with python3}
%files -n python%{python3_pkgversion}-sip-devel
%{python3_inc}/sip.h
%{PYINCLUDE}/sip.h
%{python3_sitearch}/sipconfig.py*
%{python3_sitearch}/sipdistutils.py*
%{python3_sitearch}/__pycache__/*
@ -319,6 +463,7 @@ install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip
%{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
@ -327,8 +472,169 @@ install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.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
%dir %{python3_sitearch}/wx/
%{python3_sitearch}/wx/siplib.*
%{python3_sitearch}/wx_siplib-%{version}.dist-info/
%endif
%endif
%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
* Sun Jan 17 2021 Scott Talbert <swt@techie.net> - 4.19.24-2
- Stop building wx.siplib on F34+ as wx has switched to sip 5
* Mon Aug 17 2020 Rex Dieter <rdieter@fedoraproject.org> - 4.19.24-1
- 4.19.24
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 20 2020 Merlin Mathesius <mmathesi@redhat.com> - 4.19.23-1
- Minor conditional fixes for ELN
* Mon Jun 08 2020 Rex Dieter <rdieter@fedoraproject.org> - 4.19.23-1
- 4.19.23
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 4.19.22-3
- Rebuilt for Python 3.9
* Mon Apr 20 2020 FeRD (Frank Dana) <ferdnyc@gmail.com> - 4.19.22-2
- Add documentation subpackage
* Sat Apr 04 2020 Rex Dieter <rdieter@fedoraproject.org> - 4.19.22-1
- 4.19.22
* Fri Jan 31 2020 Rex Dieter <rdieter@fedoraproject.org> - 4.19.21-1
- 4.19.21
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Dec 20 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.20-1
- 4.19.20, adjust whitespace
* Fri Nov 15 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.19-4
- disable python2 support on f32+ (#1752802)
* Sun Nov 03 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.19-3
- revert virtual provides (bad idea)
* Thu Oct 31 2019 Nicolas Chauvet <kwizart@gmail.com> - 4.19.19-2
- Add virtual provides python{2,3}-sip
* Wed Sep 25 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.19-1
- 4.19.19, sip-api(12)=12.7
- Obsoletes: python2-sip python3-sip (when omitted for f31+)
* Mon Sep 16 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.18-7
- drop no_namespace variant for f31+
* Fri Sep 06 2019 Scott Talbert <swt@techie.net> - 4.19.18-6
- Simplify PYINCLUDE conditional and fix for F31
* Wed Aug 28 2019 Gwyn Ciesla <gwync@protonmail.com> 4.19.18-5
- Conditionalize Python 3 include dir.
* Mon Aug 19 2019 Scott Talbert <swt@techie.net> - 4.19.18-4
- Build a namespaced sip module, wx.siplib, for wxpython (#1739469)
* Mon Aug 19 2019 Gwyn Ciesla <gwync@protonmail.com> - 4.19.18-3
- Set paths for flatpak.
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 4.19.18-2
- Rebuilt for Python 3.8
* Sun Aug 04 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.18-1
- 4.19.18
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon May 06 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.17-1
- 4.19.17
* Thu Apr 11 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.16-1
- 4.19.16
* Thu Mar 21 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.19.15-1
- 4.19.15, - sip-api(12)=12.6
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.13-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Oct 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 4.19.13-3
- restore non-namespaced python-sip module

View file

@ -1 +1 @@
SHA512 (sip-4.19.13.tar.gz) = eb456e1f7efa463f859047acc5301e19279e1627629d0bad3ac7a0a52b77575126bc3f2c64bb4278ae11d415c13d2731dfc8c816bba71307173d393a414aae98
SHA512 (sip-4.19.25.tar.gz) = 60fb4133c68869bf0993144978b4847d94a0f9c7b477f64a346ea133cfe35bc11820204ab327dcf9a929b6f65a26d16cc7efbce65e49967c3347b39376e57001