diff --git a/.gitignore b/.gitignore index 7faf0d6..4d66822 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/sip-4.19.24.tar.gz +SOURCES/sip-4.19.25.tar.gz diff --git a/.sip.metadata b/.sip.metadata index fb7ce6b..55694d1 100644 --- a/.sip.metadata +++ b/.sip.metadata @@ -1 +1 @@ -bc509d2a9999e454751f1ccb674d01d204c09286 SOURCES/sip-4.19.24.tar.gz +dea579470269fabeb920976c405fa7f5e67cd4bd SOURCES/sip-4.19.25.tar.gz diff --git a/SOURCES/sip-4.18-no_rpath.patch b/SOURCES/sip-4.18-no_rpath.patch index 406a26c..0ae91e4 100644 --- a/SOURCES/sip-4.18-no_rpath.patch +++ b/SOURCES/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/SOURCES/sip-4.18-no_strip.patch b/SOURCES/sip-4.18-no_strip.patch index 3273311..326759e 100644 --- a/SOURCES/sip-4.18-no_strip.patch +++ b/SOURCES/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/SOURCES/sip-4.19.18-no_hardcode_sip_so.patch b/SOURCES/sip-4.19.18-no_hardcode_sip_so.patch index b6fe637..86c453c 100644 --- a/SOURCES/sip-4.19.18-no_hardcode_sip_so.patch +++ b/SOURCES/sip-4.19.18-no_hardcode_sip_so.patch @@ -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: diff --git a/SOURCES/sip-4.19.25-py_ssize_t_clean.patch b/SOURCES/sip-4.19.25-py_ssize_t_clean.patch new file mode 100644 index 0000000..a6f10db --- /dev/null +++ b/SOURCES/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/SPECS/sip.spec b/SPECS/sip.spec index 4683c61..b228284 100644 --- a/SPECS/sip.spec +++ b/SPECS/sip.spec @@ -10,6 +10,8 @@ %global PYINCLUDE %{_includedir}/python%{python3_version}m %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) +%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + # trim changelog included in binary rpms %global _changelog_trimtime %(date +%s -d "1 year ago") @@ -24,8 +26,8 @@ Summary: SIP - Python/C++ Bindings Generator Name: sip -Version: 4.19.24 -Release: 2%{?dist} +Version: 4.19.25 +Release: 1%{?dist} # sipgen/parser.{c.h} is GPLv3+ with exceptions (bison) License: GPLv2 or GPLv3 and (GPLv3+ with exceptions) @@ -46,6 +48,8 @@ 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 # extracted from sip.h, SIP_API_MAJOR_NR SIP_API_MINOR_NR defines Source1: macros.sip @@ -80,7 +84,7 @@ class library. %description %_description -%if 0%{with python3} +%if %{with python3} %if 0%{?no_namespace} %package -n python%{python3_pkgversion}-sip Summary: SIP - Python 3/C++ Bindings Generator @@ -128,6 +132,7 @@ This is the Python 3 build of wx-siplib. %patch50 -p1 -b .no_strip %patch51 -p1 -b .no_rpath %patch53 -p1 -b .no_sip_so +%patch54 -p1 -b .py_ssize_t_clean %build sed -i -e 's|target = siplib|target = sip|g' siplib/siplib.sbf @@ -252,6 +257,10 @@ install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip %changelog +* Mon Apr 04 2022 Jan Grulich - 4.19.25-1 +- 4.19.25 + sync with Fedora + Resolves: bz#2071606 + * Wed Apr 28 2021 Jan Grulich - 4.19.24-2 - Rebuild (binutils) Resolves: bz#1949080