diff --git a/.gitignore b/.gitignore index 2f74dbf..5b3057a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /sip-4.19.7.tar.gz /sip-4.19.8.tar.gz /sip-4.19.9.dev1805261119.tar.gz +/sip-4.19.12.tar.gz diff --git a/sip-4.19.9-python3_ftbfs.patch b/sip-4.19.9-python3_ftbfs.patch deleted file mode 100644 index 993af5b..0000000 --- a/sip-4.19.9-python3_ftbfs.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up sip-4.19.9.dev1805261119/siplib/siplib.c.in.rex sip-4.19.9.dev1805261119/siplib/siplib.c.in ---- sip-4.19.9.dev1805261119/siplib/siplib.c.in.rex 2018-05-28 20:30:19.000000000 -0500 -+++ sip-4.19.9.dev1805261119/siplib/siplib.c.in 2018-05-29 11:23:00.868228044 -0500 -@@ -6323,6 +6323,7 @@ static PyObject *createContainerType(sip - if (py_type == NULL) - goto relargs; - -+#if PY_VERSION_HEX >= 0x03030000 - /* Fix __qualname__ if there is a scope. */ - if (scope_td != NULL) - { -@@ -6337,6 +6338,7 @@ static PyObject *createContainerType(sip - Py_CLEAR(ht->ht_qualname); - ht->ht_qualname = qualname; - } -+#endif - - /* Add the type to the "parent" dictionary. */ - if (PyDict_SetItem(scope_dict, name, py_type) < 0) diff --git a/sip.spec b/sip.spec index a9f345a..c101555 100644 --- a/sip.spec +++ b/sip.spec @@ -1,8 +1,4 @@ -%if 0%{?fedora} > 12 || 0%{?rhel} > 6 %bcond_without python3 -%else -%bcond_with python3 -%endif %if %{with python3} %{!?python3_inc:%global python3_inc %(%{__python3} -c "from distutils.sysconfig import get_python_inc; print(get_python_inc(1))")} @@ -19,12 +15,12 @@ # see also https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JQQ66XJSIT2FGTK2YQY7AXMEH5IXMPUX/ %undefine _strict_symbol_defs_build -%global snap dev1805261119 +#global snap dev1807041651 Summary: SIP - Python/C++ Bindings Generator Name: sip -Version: 4.19.9 -Release: 0.2.%{snap}%{?dist} +Version: 4.19.12 +Release: 1%{?dist} # sipgen/parser.{c.h} is GPLv3+ with exceptions (bison) License: GPLv2 or GPLv3 and (GPLv3+ with exceptions) @@ -45,8 +41,6 @@ Patch50: sip-4.18-no_strip.patch Patch51: sip-4.18-no_rpath.patch # set sip_bin properly for python3 build (needswork to be upstreamable) Patch52: sip-4.19.3-python3_sip_bin.patch -# fix ftbfs -Patch53: sip-4.19.9-python3_ftbfs.patch # extracted from sip.h, SIP_API_MAJOR_NR SIP_API_MINOR_NR defines Source1: macros.sip @@ -58,6 +52,9 @@ BuildRequires: gcc-c++ BuildRequires: python2-devel BuildRequires: sed +Obsoletes: sip-macros < %{version}-%{release} +Provides: sip-macros = %{version}-%{release} + %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,\ @@ -75,6 +72,8 @@ class library. Summary: %summary Provides: sip-api(%{_sip_api_major}) = %{_sip_api} Provides: sip-api(%{_sip_api_major})%{?_isa} = %{_sip_api} +Provides: python2-sip-api(%{_sip_api_major}) = %{_sip_api} +Provides: python2-sip-api(%{_sip_api_major})%{?_isa} = %{_sip_api} %{?python_provide:%python_provide python2-sip} # Remove before F30 Provides: sip = %{version}-%{release} @@ -83,31 +82,12 @@ Obsoletes: sip < %{version}-%{release} %description -n python2-sip %_description -%package -n python2-sip-devel -Summary: Files needed to generate Python bindings for any C++ class library -Requires: python2-sip%{?_isa} = %{version}-%{release} -Requires: %{name}-macros = %{version}-%{release} -Requires: python2-devel -# Remove before F30 -Provides: sip-devel = %{version}-%{release} -Provides: sip-devel%{?_isa} = %{version}-%{release} -Obsoletes: sip-devel < %{version}-%{release} - -%description -n python2-sip-devel -This package contains files needed to generate Python bindings for any C++ -classes library. - -%package macros -Summary: RPM macros for use when working with SIP -Requires: rpm -# when arch->noarch happened -Obsoletes: sip-macros < 4.15.5 -BuildArch: noarch -%description macros -This package contains RPM macros for use when working with SIP. -%if %{with python3} -It is used by both the sip-devel (python 2) and python%{python3_pkgversion}-sip-devel subpackages. -%endif +%package -n python2-pyqt5-sip +Summary: %summary +Provides: python2-pyqt5-sip-api(%{_sip_api_major}) = %{_sip_api} +Provides: python2-pyqt5-sip-api(%{_sip_api_major})%{?_isa} = %{_sip_api} +%{?python_provide:%python_provide python2-pyqt5-sip} +%description -n python2-pyqt5-sip %_description %if %{with python3} %package -n python%{python3_pkgversion}-sip @@ -120,16 +100,38 @@ This is the Python 3 build of SIP. %_description -%package -n python%{python3_pkgversion}-sip-devel -Summary: Files needed to generate Python 3 bindings for any C++ class library -Requires: %{name}-macros = %{version}-%{release} -Requires: python%{python3_pkgversion}-sip%{?_isa} = %{version}-%{release} -Requires: python%{python3_pkgversion}-devel -%description -n python%{python3_pkgversion}-sip-devel -This package contains files needed to generate Python 3 bindings for any C++ -classes library. +%package -n python%{python3_pkgversion}-pyqt5-sip +Summary: SIP - Python 3/C++ Bindings Generator for pyqt5 +BuildRequires: python%{python3_pkgversion}-devel +Provides: python%{python3_pkgversion}-pyqt5-sip-api(%{_sip_api_major}) = %{_sip_api} +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. + +%_description + +%package -n python3-sip-devel +Summary: Files needed to generate Python bindings for any C++ class library +#Requires: python3-sip%{?_isa} = %{version}-%{release} +Requires: python3-devel +%description -n python3-sip-devel +%{summary}. + + %endif +%package -n python2-sip-devel +Summary: Files needed to generate Python bindings for any C++ class library +#Requires: python2-sip%{?_isa} = %{version}-%{release} +Requires: python2-devel +# Remove before F30 +Provides: sip-devel = %{version}-%{release} +Provides: sip-devel%{?_isa} = %{version}-%{release} +Obsoletes: sip-devel < %{version}-%{release} +%description -n python2-sip-devel +%{summary}. + + %prep @@ -137,32 +139,49 @@ classes library. %patch50 -p1 -b .no_strip %patch51 -p1 -b .no_rpath -%patch53 -p1 -b .python3_ftbfs %build -mkdir %{_target_platform} -pushd %{_target_platform} +mkdir %{_target_platform}-python2 +pushd %{_target_platform}-python2 %{__python2} ../configure.py \ --no-dist-info \ - -d %{python2_sitearch} \ - CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" LFLAGS="%{?__global_ldflags}" + CFLAGS+="%{optflags}" CXXFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}" + +%make_build +popd + +mkdir %{_target_platform}-python2-pyqt5 +pushd %{_target_platform}-python2-pyqt5 +%{__python2} ../configure.py \ + --no-dist-info \ + --sip-module=PyQt5.sip \ + CFLAGS+="%{optflags}" CXXFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}" %make_build popd %if %{with python3} -patch -p1 < %{PATCH52} +#patch -p1 < %{PATCH52} mkdir %{_target_platform}-python3 pushd %{_target_platform}-python3 %{__python3} ../configure.py \ - -d %{python3_sitearch} \ --no-dist-info \ - --sipdir=%{_datadir}/python3-sip \ - CXXFLAGS="%{optflags}" CFLAGS="%{optflags}" LFLAGS="%{?__global_ldflags}" + CXXFLAGS+="%{optflags}" CFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}" %make_build popd + +mkdir %{_target_platform}-python3-pyqt5 +pushd %{_target_platform}-python3-pyqt5 +%{__python3} ../configure.py \ + --no-dist-info \ + --sip-module=PyQt5.sip \ + CXXFLAGS+="%{optflags}" CFLAGS+="%{optflags}" LFLAGS+="%{?__global_ldflags}" + +%make_build +popd + %endif @@ -171,8 +190,7 @@ popd # /usr/bin/sip: %if %{with python3} %make_install -C %{_target_platform}-python3 -mkdir -p %{buildroot}%{_datadir}/python3-sip -mv %{buildroot}%{_bindir}/sip %{buildroot}%{_bindir}/python3-sip +%make_install -C %{_target_platform}-python3-pyqt5 ## toplevel __pycache__ creation is ... inconsistent ## rawhide makes one, f23 local builds do not, so let's *make* it consistent @@ -180,28 +198,40 @@ mkdir -p %{buildroot}%{python3_sitearch}/__pycache__/exclude_rpm_hack %endif # Python 2 installation: -%make_install -C %{_target_platform} +%make_install -C %{_target_platform}-python2 +%make_install -C %{_target_platform}-python2-pyqt5 + mkdir -p %{buildroot}%{_datadir}/sip # Macros used by -devel subpackages: install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip +%files +%doc README +%license LICENSE LICENSE-GPL2 LICENSE-GPL3 +%{_bindir}/sip +%dir %{_datadir}/sip/ +%{rpm_macros_dir}/macros.sip + +%files -n python2-sip-devel +%{python2_inc}/sip.h + %files -n python2-sip %doc NEWS README %license LICENSE LICENSE-GPL2 LICENSE-GPL3 %{python2_sitearch}/sip.so %{python2_sitearch}/sip*.py* -%files -n python2-sip-devel -%{_bindir}/sip -%{_datadir}/sip/ -%{python2_inc}/sip.h - -%files macros -%{rpm_macros_dir}/macros.sip +%files -n python2-pyqt5-sip +%doc NEWS README +%license LICENSE LICENSE-GPL2 LICENSE-GPL3 +%{python2_sitearch}/PyQt5/ %if %{with python3} +%files -n python%{python3_pkgversion}-sip-devel +%{python3_inc}/sip.h + %files -n python%{python3_pkgversion}-sip %doc NEWS README %license LICENSE LICENSE-GPL2 LICENSE-GPL3 @@ -210,16 +240,28 @@ install -D -p -m644 %{SOURCE1} %{buildroot}%{rpm_macros_dir}/macros.sip %{python3_sitearch}/__pycache__/* %exclude %{python3_sitearch}/__pycache__/exclude_rpm_hack -%files -n python%{python3_pkgversion}-sip-devel -# Note that the "sip" binary is invoked by name in a few places higher up -# in the KDE-Python stack; these will need changing to "python3-sip": -%{_bindir}/python3-sip -%{_datadir}/python3-sip/ -%{python3_inc}/sip.h +%files -n python%{python3_pkgversion}-pyqt5-sip +%doc NEWS README +%license LICENSE LICENSE-GPL2 LICENSE-GPL3 +%{python3_sitearch}/PyQt5/ +%{python3_sitearch}/__pycache__/* +%exclude %{python3_sitearch}/__pycache__/exclude_rpm_hack %endif %changelog +* Tue Jul 10 2018 Rex Dieter - 4.19.12-1 +- 4.19.12 + +* Thu Jul 05 2018 Rex Dieter - 4.19.12-0.1.dev1807041651 +- 4.19.12 snapshot + +* Mon Jul 02 2018 Rex Dieter - 4.19.11-1 +- 4.19.11 + +* Sun Jul 01 2018 Rex Dieter - 4.19.10-1 +- 4.19.10 + * Sat Jun 16 2018 Miro HronĨok - 4.19.9-0.2.dev1805261119 - Rebuilt for Python 3.7 diff --git a/sources b/sources index 3046193..5873bbd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sip-4.19.9.dev1805261119.tar.gz) = 9fdc9b04b685a85a579c34be66646228cab2850445c52fde5ac66353a3467bf0607d63cf89a26619d37f575f482d3893446294b47818a075ba75ae685992c7ae +SHA512 (sip-4.19.12.tar.gz) = 9b9680172357aaf4a1ebc3bf1f4d2badaaa8643e50665fed6e17d27283a499ceac56c4f1db190de4d9516c8f0f794159485cc6f8fd68daafcbe1ccac85161972