[packages/sip] - provide PyQt4.sip module for PyQt4 >= 4.12.2 (hardlink .pyi file with same content; .so file con

qboosh qboosh at pld-linux.org
Tue Mar 10 21:00:03 CET 2020


commit 54dbd1b2762f62aa02288384cbc8c4cfd8d45d4c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Mar 10 21:01:02 2020 +0100

    - provide PyQt4.sip module for PyQt4 >= 4.12.2
      (hardlink .pyi file with same content; .so file contains embedded full module name, so must be built separately)
    - release 2

 sip.spec | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 127 insertions(+), 11 deletions(-)
---
diff --git a/sip.spec b/sip.spec
index e3c3d31..83d75ef 100644
--- a/sip.spec
+++ b/sip.spec
@@ -2,12 +2,14 @@
 # Conditional build:
 %bcond_without	python2	# CPython 2.x modules
 %bcond_without	python3	# CPython 3.x modules
+%bcond_without	pyqt4	# PyQt4.sip module
+%bcond_without	pyqt5	# PyQt5.sip module
 
 Summary:	Python bindings generator for C++ class libraries
 Summary(pl.UTF-8):	Generator powiązań Pythona z bibliotekami klas C++
 Name:		sip
 Version:	4.19.21
-Release:	1
+Release:	2
 Epoch:		2
 License:	SIP (redistributable, see LICENSE) or GPL v2 or GPL v3
 Group:		Development/Languages/Python
@@ -62,6 +64,37 @@ using SIP.
 Pliki programistyczne Pythona 2 potrzebne do budowania wiązań dla klas
 C++ przy użyciu SIP-a.
 
+%package -n python-PyQt4-sip
+Summary:	Python 2 module needed by SIP generated bindings for PyQt4
+Summary(pl.UTF-8):	Moduł Pythona 2 wymagany przez wiązania wygenerowane przez SIP dla PyQt4
+Group:		Libraries/Python
+Requires:	python-libs
+
+%description -n python-PyQt4-sip
+SIP generates Python bindings for C++ class libraries from a set of
+class specification files. This package includes Python 2 runtime
+library needed by all generated bindings for PyQt4.
+
+%description -n python-PyQt4-sip -l pl.UTF-8
+SIP generuje powiązania Pythona z bibliotekami klas C++ ze zbioru
+plików ze specyfikacjami klas. Ten pakiet zawiera bibliotekę Pythona 2
+potrzebną do uruchomienia wszystkich wygenerowanych wiązań dla PyQt4.
+
+%package -n python-PyQt4-sip-devel
+Summary:	Python 2 development files needed to build bindings for PyQt4 using SIP
+Summary(pl.UTF-8):	Pliki programistyczne Pythona 2 potrzebne do budowania wiązań dla PyQt4 przy użyciu SIP-a
+Group:		Development/Libraries
+Requires:	python-PyQt4-sip = %{epoch}:%{version}-%{release}
+Requires:	python-sip-devel = %{epoch}:%{version}-%{release}
+
+%description -n python-PyQt4-sip-devel
+Python 2 development files needed to build bindings for C++ classes
+for PyQt4 using SIP.
+
+%description -n python-PyQt4-sip-devel -l pl.UTF-8
+Pliki programistyczne Pythona 2 potrzebne do budowania wiązań dla klas
+C++ dla PyQt4 przy użyciu SIP-a.
+
 %package -n python-PyQt5-sip
 Summary:	Python 2 module needed by SIP generated bindings for PyQt5
 Summary(pl.UTF-8):	Moduł Pythona 2 wymagany przez wiązania wygenerowane przez SIP dla PyQt5
@@ -125,6 +158,37 @@ using SIP.
 Pliki programistyczne Pythona 3 potrzebne do budowania wiązań dla klas
 C++ przy użyciu SIP-a.
 
+%package -n python3-PyQt4-sip
+Summary:	Python 3 module needed by SIP generated bindings for PyQt4
+Summary(pl.UTF-8):	Moduł Pythona 3 wymagany przez wiązania wygenerowane przez SIP dla PyQt4
+Group:		Libraries/Python
+Requires:	python3-libs
+
+%description -n python3-PyQt4-sip
+SIP generates Python bindings for C++ class libraries from a set of
+class specification files. This package includes Python 2 runtime
+library needed by all generated bindings for PyQt4.
+
+%description -n python3-PyQt4-sip -l pl.UTF-8
+SIP generuje powiązania Pythona z bibliotekami klas C++ ze zbioru
+plików ze specyfikacjami klas. Ten pakiet zawiera bibliotekę Pythona 2
+potrzebną do uruchomienia wszystkich wygenerowanych wiązań dla PyQt4.
+
+%package -n python3-PyQt4-sip-devel
+Summary:	Python 3 development files needed to build bindings for PyQt4 using SIP
+Summary(pl.UTF-8):	Pliki programistyczne Pythona 3 potrzebne do budowania wiązań dla PyQt4 przy użyciu SIP-a
+Group:		Development/Libraries
+Requires:	python3-PyQt4-sip = %{epoch}:%{version}-%{release}
+Requires:	python3-sip-devel = %{epoch}:%{version}-%{release}
+
+%description -n python3-PyQt4-sip-devel
+Python 3 development files needed to build bindings for C++ classes
+for PyQt4 using SIP.
+
+%description -n python3-PyQt4-sip-devel -l pl.UTF-8
+Pliki programistyczne Pythona 3 potrzebne do budowania wiązań dla klas
+C++ dla PyQt4 przy użyciu SIP-a.
+
 %package -n python3-PyQt5-sip
 Summary:	Python 3 module needed by SIP generated bindings for PyQt5
 Summary(pl.UTF-8):	Moduł Pythona 3 wymagany przez wiązania wygenerowane przez SIP dla PyQt5
@@ -182,10 +246,12 @@ cd build-py2
 %{__make}
 cd ..
 
-install -d build-py2-PyQt5
-cd build-py2-PyQt5
+%if %{with pyqt4} || %{with pyqt5}
+for mod in %{?with_pyqt4:PyQt4} %{?with_pyqt5:PyQt5} ; do
+install -d build-py2-${mod}
+cd build-py2-${mod}
 %{__python} ../configure.py \
-	--sip-module=PyQt5.sip \
+	--sip-module=${mod}.sip \
 	-b %{_bindir} \
 	-e %{py_incdir} \
 	-v %{_sipfilesdir} \
@@ -199,6 +265,8 @@ cd build-py2-PyQt5
 
 %{__make}
 cd ..
+done
+%endif
 %endif
 
 %if %{with python3}
@@ -219,10 +287,12 @@ cd build-py3
 %{__make}
 cd ..
 
-install -d build-py3-PyQt5
-cd build-py3-PyQt5
+%if %{with pyqt4} || %{with pyqt5}
+for mod in %{?with_pyqt4:PyQt4} %{?with_pyqt5:PyQt5} ; do
+install -d build-py3-${mod}
+cd build-py3-${mod}
 %{__python3} ../configure.py \
-	--sip-module=PyQt5.sip \
+	--sip-module=${mod}.sip \
 	-b %{_bindir} \
 	-e %{py3_incdir} \
 	-v %{_sipfilesdir} \
@@ -236,6 +306,8 @@ cd build-py3-PyQt5
 
 %{__make}
 cd ..
+done
+%endif
 %endif
 
 %install
@@ -246,24 +318,42 @@ install -d $RPM_BUILD_ROOT%{_sipfilesdir}
 %{__make} -C build-py2 install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-%{__make} -C build-py2-PyQt5 install \
+%if %{with pyqt4} || %{with pyqt5}
+for mod in %{?with_pyqt4:PyQt4} %{?with_pyqt5:PyQt5} ; do
+%{__make} -C build-py2-${mod} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/${mod}_sip-%{version}.dist-info
+# ensure content is the same and hardlink
+cmp $RPM_BUILD_ROOT%{py_sitedir}/sip.pyi $RPM_BUILD_ROOT%{py_sitedir}/${mod}/sip.pyi
+ln -f $RPM_BUILD_ROOT%{py_sitedir}/sip.pyi $RPM_BUILD_ROOT%{py_sitedir}/${mod}/sip.pyi
+done
+%endif
+
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/{sip,PyQt5_sip}-%{version}.dist-info
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/sip-%{version}.dist-info
 %endif
 
 %if %{with python3}
 %{__make} -C build-py3 install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-%{__make} -C build-py3-PyQt5 install \
+%if %{with pyqt4} || %{with pyqt5}
+for mod in %{?with_pyqt4:PyQt4} %{?with_pyqt5:PyQt5} ; do
+%{__make} -C build-py3-${mod} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/${mod}_sip-%{version}.dist-info
+# ensure content is the same and hardlink
+cmp $RPM_BUILD_ROOT%{py3_sitedir}/sip.pyi $RPM_BUILD_ROOT%{py3_sitedir}/${mod}/sip.pyi
+ln -f $RPM_BUILD_ROOT%{py3_sitedir}/sip.pyi $RPM_BUILD_ROOT%{py3_sitedir}/${mod}/sip.pyi
+done
+%endif
+
 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
-%{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/{sip,PyQt5_sip}-%{version}.dist-info
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/sip-%{version}.dist-info
 %endif
 
 %clean
@@ -289,6 +379,18 @@ rm -rf $RPM_BUILD_ROOT
 %{py_sitedir}/sip.pyi
 %{py_incdir}/sip.h
 
+%if %{with pyqt4}
+%files -n python-PyQt4-sip
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/PyQt4
+%attr(755,root,root) %{py_sitedir}/PyQt4/sip.so
+
+%files -n python-PyQt4-sip-devel
+%defattr(644,root,root,755)
+%{py_sitedir}/PyQt4/sip.pyi
+%endif
+
+%if %{with pyqt5}
 %files -n python-PyQt5-sip
 %defattr(644,root,root,755)
 %dir %{py_sitedir}/PyQt5
@@ -298,6 +400,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{py_sitedir}/PyQt5/sip.pyi
 %endif
+%endif
 
 %if %{with python3}
 %files -n python3-sip
@@ -313,6 +416,18 @@ rm -rf $RPM_BUILD_ROOT
 %{py3_sitedir}/sip.pyi
 %{py3_incdir}/sip.h
 
+%if %{with pyqt4}
+%files -n python3-PyQt4-sip
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/PyQt4
+%attr(755,root,root) %{py3_sitedir}/PyQt4/sip.so
+
+%files -n python3-PyQt4-sip-devel
+%defattr(644,root,root,755)
+%{py3_sitedir}/PyQt4/sip.pyi
+%endif
+
+%if %{with pyqt5}
 %files -n python3-PyQt5-sip
 %defattr(644,root,root,755)
 %dir %{py3_sitedir}/PyQt5
@@ -322,3 +437,4 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{py3_sitedir}/PyQt5/sip.pyi
 %endif
+%endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/sip.git/commitdiff/54dbd1b2762f62aa02288384cbc8c4cfd8d45d4c



More information about the pld-cvs-commit mailing list