diff --git a/.gitignore b/.gitignore index 1e2f99d..9f9eb15 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/macros.sip b/macros.sip index 6e07e48..bceeb12 100644 --- a/macros.sip +++ b/macros.sip @@ -1,3 +1,3 @@ %_sip_api_major 12 -%_sip_api_minor 5 +%_sip_api_minor 7 %_sip_api %{_sip_api_major}.%{_sip_api_minor} diff --git a/sip-4.18-no_rpath.patch b/sip-4.18-no_rpath.patch index 406a26c..0ae91e4 100644 --- a/sip-4.18-no_rpath.patch +++ b/sip-4.18-no_rpath.patch @@ -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) diff --git a/sip-4.18-no_strip.patch b/sip-4.18-no_strip.patch index 3273311..326759e 100644 --- a/sip-4.18-no_strip.patch +++ b/sip-4.18-no_strip.patch @@ -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, diff --git a/sip-4.19.18-no_hardcode_sip_so.patch b/sip-4.19.18-no_hardcode_sip_so.patch new file mode 100644 index 0000000..86c453c --- /dev/null +++ b/sip-4.19.18-no_hardcode_sip_so.patch @@ -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)) + 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-py_ssize_t_clean.patch b/sip-4.19.25-py_ssize_t_clean.patch new file mode 100644 index 0000000..a6f10db --- /dev/null +++ b/sip-4.19.25-py_ssize_t_clean.patch @@ -0,0 +1,52 @@ +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 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 778ee4a..c4c77e6 100644 --- a/sip.spec +++ b/sip.spec @@ -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 - 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 + +* Wed Jul 29 2020 Fedora Release Engineering - 4.19.23-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 20 2020 Merlin Mathesius - 4.19.23-1 +- Minor conditional fixes for ELN + +* Mon Jun 08 2020 Rex Dieter - 4.19.23-1 +- 4.19.23 + +* Sat May 23 2020 Miro Hrončok - 4.19.22-3 +- Rebuilt for Python 3.9 + +* Mon Apr 20 2020 FeRD (Frank Dana) - 4.19.22-2 +- Add documentation subpackage + +* Sat Apr 04 2020 Rex Dieter - 4.19.22-1 +- 4.19.22 + +* Fri Jan 31 2020 Rex Dieter - 4.19.21-1 +- 4.19.21 + +* Thu Jan 30 2020 Fedora Release Engineering - 4.19.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 20 2019 Rex Dieter - 4.19.20-1 +- 4.19.20, adjust whitespace + +* Fri Nov 15 2019 Rex Dieter - 4.19.19-4 +- disable python2 support on f32+ (#1752802) + +* Sun Nov 03 2019 Rex Dieter - 4.19.19-3 +- revert virtual provides (bad idea) + +* Thu Oct 31 2019 Nicolas Chauvet - 4.19.19-2 +- Add virtual provides python{2,3}-sip + +* Wed Sep 25 2019 Rex Dieter - 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 - 4.19.18-7 +- drop no_namespace variant for f31+ + +* Fri Sep 06 2019 Scott Talbert - 4.19.18-6 +- Simplify PYINCLUDE conditional and fix for F31 + +* Wed Aug 28 2019 Gwyn Ciesla 4.19.18-5 +- Conditionalize Python 3 include dir. + +* Mon Aug 19 2019 Scott Talbert - 4.19.18-4 +- Build a namespaced sip module, wx.siplib, for wxpython (#1739469) + +* Mon Aug 19 2019 Gwyn Ciesla - 4.19.18-3 +- Set paths for flatpak. + +* Thu Aug 15 2019 Miro Hrončok - 4.19.18-2 +- Rebuilt for Python 3.8 + +* Sun Aug 04 2019 Rex Dieter - 4.19.18-1 +- 4.19.18 + +* Fri Jul 26 2019 Fedora Release Engineering - 4.19.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon May 06 2019 Rex Dieter - 4.19.17-1 +- 4.19.17 + +* Thu Apr 11 2019 Rex Dieter - 4.19.16-1 +- 4.19.16 + +* Thu Mar 21 2019 Rex Dieter - 4.19.15-1 +- 4.19.15, - sip-api(12)=12.6 + +* Sat Feb 02 2019 Fedora Release Engineering - 4.19.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sun Oct 28 2018 Rex Dieter - 4.19.13-3 - restore non-namespaced python-sip module diff --git a/sources b/sources index accf137..bd8dd5d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sip-4.19.13.tar.gz) = eb456e1f7efa463f859047acc5301e19279e1627629d0bad3ac7a0a52b77575126bc3f2c64bb4278ae11d415c13d2731dfc8c816bba71307173d393a414aae98 +SHA512 (sip-4.19.25.tar.gz) = 60fb4133c68869bf0993144978b4847d94a0f9c7b477f64a346ea133cfe35bc11820204ab327dcf9a929b6f65a26d16cc7efbce65e49967c3347b39376e57001