[packages/python-PySide] - build also python3-* packages; common part of -devel in -common-devel, .pc files renamed to pyside

qboosh qboosh at pld-linux.org
Fri Apr 23 16:46:13 CEST 2021


commit 573a26daa316959f23ba697b13bd81234aeed99f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Apr 23 16:47:48 2021 +0200

    - build also python3-* packages; common part of -devel in -common-devel, .pc files renamed to pyside-pyVER.pc

 python-PySide.spec | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 129 insertions(+), 6 deletions(-)
---
diff --git a/python-PySide.spec b/python-PySide.spec
index e0c2582..ca8c5b4 100644
--- a/python-PySide.spec
+++ b/python-PySide.spec
@@ -1,9 +1,10 @@
-# TODO: python3 version?
 %define		qt_ver		4.8
 %define		pyside_ver	1.2.4
 #
 # Conditional build:
 %bcond_with	apidocs		# build API documentation (needs Qt sources)
+%bcond_without	python2		# CPython 2.x module
+%bcond_without	python3		# CPython 3.x module
 #
 Summary:	PySide - Python bindings for the Qt 4 toolkit
 Summary(pl.UTF-8):	PySide - wiązania Pythona do toolkitu Qt 4
@@ -37,7 +38,8 @@ BuildRequires:	cmake >= 2.6
 BuildRequires:	phonon-devel
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.605
-BuildRequires:	shiboken-python2 >= %{pyside_ver}
+%{?with_python2:BuildRequires:	shiboken-python2 >= %{pyside_ver}}
+%{?with_python3:BuildRequires:	shiboken-python3 >= %{pyside_ver}}
 %if %{with apidocs}
 BuildRequires:	graphviz
 BuildRequires:	qt4-build
@@ -46,6 +48,8 @@ BuildRequires:	sphinx-pdg
 %endif
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define		py3_soabi	%(%{__python3} -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"));')
+
 %description
 PySide project provides LGPL-licensed Python bindings for the Qt. It
 also includes complete toolchain for rapidly generating bindings for
@@ -53,6 +57,8 @@ any Qt-based C++ class hierarchies. PySide Qt bindings allow both free
 open source and proprietary software development and ultimately aim to
 support Qt platforms.
 
+This package contains Python 2 bindings.
+
 %description -l pl.UTF-8
 Projekt PySide udostępnia na licencji LGPL wiązania Pythona dla
 tookitu Qt. Zawiera także pełny zestaw narzędzi do szybkiego
@@ -60,39 +66,114 @@ generowania wiązań dla dowolnej hierarchii klas C++ opartych na Qt.
 Wiązania Qt PySide pozwalają na tworzenie zarówno wolnodostępnego, jak
 i własnościowego oprogramowania i mają na celu wsparcie platform Qt.
 
+Ten pakiet zawiera wiązania Pythona 2.
+
 %package devel
 Summary:	Development files for PySide bindings
 Summary(pl.UTF-8):	Pliki programistyczne dla wiązań PySide
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
+Requires:	%{name}-common-devel = %{version}-%{release}
 Requires:	shiboken-python2 >= %{pyside_ver}
 
 %description devel
-Development files for PySide bindings.
+Development files for PySide bindings for Python 2.
 
 %description devel -l pl.UTF-8
-Pliki programistyczne dla wiązań PySide.
+Pliki programistyczne dla wiązań PySide dla Pythona 2.
+
+%package common-devel
+Summary:	Common development files for PySide bindings
+Summary(pl.UTF-8):	Wspólne pliki programistyczne dla wiązań PySide
+Group:		Development/Libraries
+Conflicts:	python-PySide-devel < 4.8_1.2.4-1
+
+%description common-devel
+Development files for PySide bindings, common for Python 2 and 3.
+
+%description common-devel -l pl.UTF-8
+Pliki programistyczne dla wiązań PySide, wspólne dla Pythona 2 i 3.
+
+%package -n python3-PySide
+Summary:	PySide - Python bindings for the Qt 4 toolkit
+Summary(pl.UTF-8):	PySide - wiązania Pythona do toolkitu Qt 4
+Group:		Libraries/Python
+
+%description -n python3-PySide
+PySide project provides LGPL-licensed Python bindings for the Qt. It
+also includes complete toolchain for rapidly generating bindings for
+any Qt-based C++ class hierarchies. PySide Qt bindings allow both free
+open source and proprietary software development and ultimately aim to
+support Qt platforms.
+
+This package contains Python 3 bindings.
+
+%description -n python3-PySide -l pl.UTF-8
+Projekt PySide udostępnia na licencji LGPL wiązania Pythona dla
+tookitu Qt. Zawiera także pełny zestaw narzędzi do szybkiego
+generowania wiązań dla dowolnej hierarchii klas C++ opartych na Qt.
+Wiązania Qt PySide pozwalają na tworzenie zarówno wolnodostępnego, jak
+i własnościowego oprogramowania i mają na celu wsparcie platform Qt.
+
+Ten pakiet zawiera wiązania Pythona 3.
+
+%package -n python3-PySide-devel
+Summary:	Development files for PySide bindings
+Summary(pl.UTF-8):	Pliki programistyczne dla wiązań PySide
+Group:		Development/Libraries
+Requires:	%{name}-common-devel = %{version}-%{release}
+Requires:	python3-PySide = %{version}-%{release}
+Requires:	shiboken-python3 >= %{pyside_ver}
+
+%description -n python3-PySide-devel
+Development files for PySide bindings for Python 3.
+
+%description -n python3-PySide-devel -l pl.UTF-8
+Pliki programistyczne dla wiązań PySide dla Pythona 3.
 
 %prep
 %setup -q -n PySide-%{pyside_ver}
 
 %build
+%if %{with python2}
 install -d build
 cd build
 %cmake ..
 
 %{__make}
 cd ..
+%endif
+
+%if %{with python3}
+install -d build-py3
+cd build-py3
+%cmake .. \
+	-DPYTHON_SUFFIX=.%{py3_soabi}
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with python2}
 %{__make} -C build install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+%{__mv} $RPM_BUILD_ROOT%{_pkgconfigdir}/{pyside,pyside-py%{py_ver}}.pc
+
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}/PySide
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}/PySide
 %py_postclean
+%endif
+
+%if %{with python3}
+%{__make} -C build-py3 install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+%{__mv} $RPM_BUILD_ROOT%{_pkgconfigdir}/{pyside,pyside-py%{py3_ver}}.pc
+
+%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/PySide
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/PySide
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -100,6 +181,7 @@ rm -rf $RPM_BUILD_ROOT
 %post	-p /sbin/ldconfig
 %postun	-p /sbin/ldconfig
 
+%if %{with python2}
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpyside-python%{py_ver}.so.*.*.*
@@ -128,8 +210,49 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpyside-python%{py_ver}.so
+%{_pkgconfigdir}/pyside-py%{py_ver}.pc
+%{_libdir}/cmake/PySide-%{pyside_ver}/PySideConfig-python%{py_ver}.cmake
+%endif
+
+%files common-devel
+%defattr(644,root,root,755)
 %{_includedir}/PySide
 %dir %{_datadir}/PySide
 %{_datadir}/PySide/typesystems
-%{_pkgconfigdir}/pyside.pc
-%{_libdir}/cmake/PySide-%{pyside_ver}
+%dir %{_libdir}/cmake/PySide-%{pyside_ver}
+%{_libdir}/cmake/PySide-%{pyside_ver}/PySideConfig.cmake
+%{_libdir}/cmake/PySide-%{pyside_ver}/PySideConfigVersion.cmake
+
+%if %{with python3}
+%files -n python3-PySide
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpyside.%{py3_soabi}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpyside.%{py3_soabi}.so.1.2
+%dir %{py3_sitedir}/PySide
+%attr(755,root,root) %{py3_sitedir}/PySide/QtCore.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtDeclarative.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtGui.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtHelp.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtMultimedia.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtNetwork.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtOpenGL.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtScript.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtScriptTools.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtSql.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtSvg.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtTest.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtUiTools.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtWebKit.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtXml.so
+%attr(755,root,root) %{py3_sitedir}/PySide/QtXmlPatterns.so
+%attr(755,root,root) %{py3_sitedir}/PySide/phonon.so
+%{py3_sitedir}/PySide/__init__.py
+%{py3_sitedir}/PySide/_utils.py
+%{py3_sitedir}/PySide/__pycache__
+
+%files -n python3-PySide-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpyside.%{py3_soabi}.so
+%{_pkgconfigdir}/pyside-py%{py3_ver}.pc
+%{_libdir}/cmake/PySide-%{pyside_ver}/PySideConfig.%{py3_soabi}.cmake
+%endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-PySide.git/commitdiff/573a26daa316959f23ba697b13bd81234aeed99f



More information about the pld-cvs-commit mailing list