[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