From: Jakub Bogusz Date: Tue, 10 Mar 2020 20:01:02 +0000 (+0100) Subject: - provide PyQt4.sip module for PyQt4 >= 4.12.2 X-Git-Tag: auto/th/sip-4.19.21-2~1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=54dbd1b2762f62aa02288384cbc8c4cfd8d45d4c;p=packages%2Fsip.git - 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 --- 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