]> git.pld-linux.org Git - packages/python-PyQt5.git/blame - python-PyQt5.spec
- build for both python 2 and 3
[packages/python-PyQt5.git] / python-PyQt5.spec
CommitLineData
61afc5d4
JB
1# TODO: __pycache__ for python3-PyQt5-uic
2#
3# Conditional build:
4%bcond_without python2 # CPython 2.x modules
5%bcond_without python3 # CPython 3.x modules
6
a0dd6b04
JR
7%define module PyQt5
8# minimal required sip version
9%define sip_ver 2:4.16
61afc5d4 10# last qt version covered by these bindings (minimal required is currently 5.0.0)
a0dd6b04
JR
11%define qt_ver %{version}
12
61afc5d4
JB
13Summary: Python 2 bindings for the Qt5 toolkit
14Summary(pl.UTF-8): Wiązania Pythona 2 do toolkitu Qt5
a0dd6b04
JR
15Name: python-%{module}
16Version: 5.3.2
89cfaa25 17Release: 2
61afc5d4 18License: GPL v3
a0dd6b04
JR
19Group: Libraries/Python
20Source0: http://downloads.sourceforge.net/pyqt/PyQt-gpl-%{version}.tar.gz
21# Source0-md5: 81ef608fa4f3961918106d0ca07aa68a
6c47e556 22Patch0: printsupport.patch
a0dd6b04
JR
23URL: http://www.riverbankcomputing.com/software/pyqt/
24# most of BR comes from configure.py
6c47e556 25BuildRequires: Qt5Bluetooth-devel >= %{qt_ver}
a0dd6b04
JR
26BuildRequires: Qt5Core-devel >= %{qt_ver}
27BuildRequires: Qt5DBus-devel >= %{qt_ver}
6c47e556 28BuildRequires: Qt5Designer-devel >= %{qt_ver}
61afc5d4 29BuildRequires: Qt5Enginio-devel >= %{qt_ver}
a0dd6b04 30BuildRequires: Qt5Gui-devel >= %{qt_ver}
6c47e556
JR
31BuildRequires: Qt5Help-devel >= %{qt_ver}
32BuildRequires: Qt5Multimedia-devel >= %{qt_ver}
33BuildRequires: Qt5MultimediaWidgets-devel >= %{qt_ver}
a0dd6b04
JR
34BuildRequires: Qt5Network-devel >= %{qt_ver}
35BuildRequires: Qt5OpenGL-devel >= %{qt_ver}
6c47e556 36BuildRequires: Qt5Positioning-devel >= %{qt_ver}
6f470a9b 37BuildRequires: Qt5PrintSupport-devel >= %{qt_ver}
6c47e556
JR
38BuildRequires: Qt5Qml-devel >= %{qt_ver}
39BuildRequires: Qt5Quick-devel >= %{qt_ver}
40BuildRequires: Qt5Sensors-devel >= %{qt_ver}
41BuildRequires: Qt5SerialPort-devel >= %{qt_ver}
a0dd6b04 42BuildRequires: Qt5Sql-devel >= %{qt_ver}
6c47e556 43BuildRequires: Qt5Svg-devel >= %{qt_ver}
a0dd6b04 44BuildRequires: Qt5Test-devel >= %{qt_ver}
6c47e556
JR
45BuildRequires: Qt5WebKit-devel >= %{qt_ver}
46BuildRequires: Qt5WebSockets-devel >= %{qt_ver}
47BuildRequires: Qt5Widgets-devel >= %{qt_ver}
48BuildRequires: Qt5X11Extras-devel >= %{qt_ver}
a0dd6b04 49BuildRequires: Qt5Xml-devel >= %{qt_ver}
6c47e556 50BuildRequires: Qt5XmlPatterns-devel >= %{qt_ver}
a0dd6b04
JR
51BuildRequires: pkgconfig
52BuildRequires: python-dbus-devel >= 0.80
53BuildRequires: python-sip-devel >= %{sip_ver}
61afc5d4
JB
54BuildRequires: qt5-build >= %{qt_ver}
55BuildRequires: qt5-qmake >= %{qt_ver}
a0dd6b04
JR
56BuildRequires: rpm-pythonprov
57BuildRequires: rpmbuild(macros) >= 1.219
a0dd6b04
JR
58%pyrequires_eq python-libs
59Requires: python-dbus >= 0.80
60Requires: python-sip >= %{sip_ver}
61BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
a0dd6b04
JR
63%define _sipfilesdir %{_datadir}/sip
64
65%description
66PyQt5 is a set of Python bindings for the Qt5 toolkit. The bindings
67are implemented as a set of Python modules: QtCore, QtDeclarative,
68QtDesigner, QtGui, QtHelp, QtMultimedia, QtNetwork, QtOpenGL,
69QtScript, QtScriptTools, QtSql, QtSvg, QtTest, QtWebKit, QtXml,
61afc5d4 70QtXmlPatterns and phonon XXX FIXME.
a0dd6b04
JR
71
72%description -l pl.UTF-8
73PyQt5 to zbiór dowiązań do Qt5 dla Pythona. Dowiązania zostały
74zaimplementowane jako moduły Pythona: QtCore, QtDeclarative,
75QtDesigner, QtGui, QtHelp, QtMultimedia, QtNetwork, QtOpenGL,
76QtScript, QtScriptTools, QtSql, QtSvg, QtTest, QtWebKit, QtXml,
61afc5d4
JB
77QtXmlPatterns oraz phonon XXX FIXME.
78
79%package uic
80Summary: pyuic5 development tool for Python 2
81Summary(pl.UTF-8): Narzędzie programistyczne pyuic5 dla Pythona 2
82Group: Development/Tools
83Requires: %{name} = %{version}-%{release}
84
85%description uic
86pyuic5 development tool for Python 2.
87
88%description uic -l pl.UTF-8
89Narzędzie programistyczne pyuic5 dla Pythona 2.
90
91%package -n python3-PyQt5
92Summary: Python 2 bindings for the Qt5 toolkit
93Summary(pl.UTF-8): Wiązania Pythona 2 do toolkitu Qt5
94Group: Libraries/Python
95Requires: python3-libs
96Requires: python3-dbus >= 0.80
97Requires: python3-sip >= %{sip_ver}
98
99%description -n python3-PyQt5
100TODO
101
102%description -n python3-PyQt5 -l pl.UTF-8
103TODO
104
105%package -n python3-PyQt5-uic
106Summary: pyuic5 development tool for Python 3
107Summary(pl.UTF-8): Narzędzie programistyczne pyuic5 dla Pythona 3
108Group: Development/Tools
109Requires: python3-PyQt5 = %{version}-%{release}
110
111%description -n python3-PyQt5-uic
112pyuic5 development tool for Python 3.
113
114%description -n python3-PyQt5-uic -l pl.UTF-8
115Narzędzie programistyczne pyuic5 dla Pythona 3.
a0dd6b04
JR
116
117%package devel
61afc5d4
JB
118Summary: SIP files needed to build other bindings based on Qt5
119Summary(pl.UTF-8): Pliki SIP potrzebne do budowania innych wiązań opartych na Qt5
a0dd6b04 120Group: Development/Languages/Python
61afc5d4 121Requires: sip >= %{sip_ver}
a0dd6b04
JR
122
123%description devel
61afc5d4
JB
124SIP files needed to build other bindings for C++ classes that inherit
125from any of the Qt5 classes (e.g. KDE or your own).
126
127Note: this package doesn't depend on Python version.
a0dd6b04
JR
128
129%description devel -l pl.UTF-8
61afc5d4 130Pliki SIP potrzebne do budowania innych wiązań do klas C++
a0dd6b04
JR
131dziedziczących z dowolnej klasy Qt5 (np. KDE lub własnych).
132
61afc5d4
JB
133Uwaga: ten pakiet nie jest zależny od wersji Pythona.
134
a0dd6b04
JR
135%package devel-tools
136Summary: PyQt5 development tools
137Summary(pl.UTF-8): Narzędzia programistyczne PyQt5
61afc5d4
JB
138Group: Development/Tools
139Requires: Qt5Core >= %{qt_ver}
140Requires: Qt5Xml >= %{qt_ver}
a0dd6b04
JR
141
142%description devel-tools
61afc5d4
JB
143PyQt5 development tools: pylupdate5, pyrcc5.
144
145Note: this package doesn't depend on Python version.
a0dd6b04
JR
146
147%description devel-tools -l pl.UTF-8
61afc5d4
JB
148Narzędzia programistyczne PyQt5: pylupdate5, pyrcc5.
149
150Uwaga: ten pakiet nie jest zależny od wersji Pythona.
a0dd6b04
JR
151
152%package examples
153Summary: Examples for PyQt5
154Summary(pl.UTF-8): Przykłady do PyQt5
155Group: Libraries/Python
156Requires: %{name} = %{version}-%{release}
157
158%description examples
159Examples code demonstrating how to use the Python bindings for Qt5.
160
161%description examples -l pl.UTF-8
162Przykładowy kod demonstrujący jak używać PyQt5.
163
61afc5d4
JB
164%package -n Qt5Designer-plugin-pyqt5
165Summary: Qt5 Designer plugin for Python plugins with widgets
166Summary(pl.UTF-8): Wtyczka Qt5 Designera dla wtyczek Pythona zawierających widgety
167# can build only for one python version
168%if %{with python2}
169Requires: %{name} = %{version}-%{release}
170%else
171Requires: python3-PyQt5 = %{version}-%{release}
172%endif
173
174%description -n Qt5Designer-plugin-pyqt5
175This is the Qt5 Designer plugin that collects all the Python plugins
176it can find as a widget collection to Designer.
177
178%description -n Qt5Designer-plugin-pyqt5 -l pl.UTF-8
179Ten pakiet zawiera wtyczkę Qt5 Designera zbierającą wszystkie wtyczki
180Pythona, które jest w stanie znaleźć, jako zestaw widgetów dla
181Designera.
182
a0dd6b04
JR
183%package -n qscintilla2-%{module}-api
184Summary: PyQt5 API file for QScintilla
185Summary(pl.UTF-8): Plik API PyQt5 dla QScintilli
186Group: Libraries/Python
187Requires: python-qscintilla2 >= 2.2-2
188
189%description -n qscintilla2-%{module}-api
61afc5d4 190PyQt5 API file can be used by the QScintilla editor component to
a0dd6b04
JR
191enable the use of auto-completion and call tips when editing PyQt5
192code.
193
194%description -n qscintilla2-%{module}-api -l pl.UTF-8
61afc5d4 195Plik API PyQt5 może być używany przez komponent edytora QScintilla aby
a0dd6b04
JR
196umożliwić automatyczne dopełnianie i podpowiedzi przy modyfikowaniu
197kodu wykorzystującego PyQt5.
198
199%prep
200%setup -q -n PyQt-gpl-%{version}
6c47e556 201%patch0 -p1
a0dd6b04
JR
202
203%build
61afc5d4
JB
204%if %{with python2}
205install -d build-py2
206cd build-py2
207%{__python} ../configure.py \
208 --verbose \
6c47e556 209 --assume-shared \
a0dd6b04
JR
210 --confirm-license \
211 -c -j 3 \
212 -a \
213 -b %{_bindir} \
214 -d %{py_sitedir} \
215 -q "%{_bindir}/qmake-qt5" \
216 -v %{_sipfilesdir}/%{module} \
217 LIBDIR_QT="%{_libdir}" \
218 CC="%{__cc}" \
219 CXX="%{__cxx}"
220
221%{__make}
61afc5d4
JB
222cd ..
223%endif
224
225%if %{with python3}
226install -d build-py3
227cd build-py3
228%{__python3} ../configure.py \
229 --verbose \
230 --assume-shared \
231 --confirm-license \
232 -c -j 3 \
233 -a \
234 -b %{_bindir} \
235 -d %{py3_sitedir} \
236 -q "%{_bindir}/qmake-qt5" \
237 -v %{_sipfilesdir}/%{module} \
238 LIBDIR_QT="%{_libdir}" \
239 CC="%{__cc}" \
240 CXX="%{__cxx}"
241
242%{__make}
243cd ..
244%endif
a0dd6b04
JR
245
246%install
247rm -rf $RPM_BUILD_ROOT
248install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
249
61afc5d4
JB
250%if %{with python3}
251%{__make} -C build-py3 install \
252 DESTDIR=$RPM_BUILD_ROOT \
253 INSTALL_ROOT=$RPM_BUILD_ROOT
254
255%{__mv} $RPM_BUILD_ROOT%{_bindir}/pyuic5{,-3}
256%endif
257
258%if %{with python2}
259%{__make} -C build-py2 install \
a0dd6b04
JR
260 DESTDIR=$RPM_BUILD_ROOT \
261 INSTALL_ROOT=$RPM_BUILD_ROOT
262
263%py_comp $RPM_BUILD_ROOT%{py_sitedir}
264%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
265
266# don't use py_postclean, leave *.py in %{py_sitedir}/PyQt4/uic/widget-plugins
267%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt5/*.py
268%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt5/uic/*.py
269%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt5/uic/Compiler/*.py
270%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt5/uic/Loader/*.py
271%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt5/uic/port_v2/*.py
272%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt5/uic/port_v3/*.py
61afc5d4 273%endif
a0dd6b04
JR
274
275cp -R examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
276
277%clean
278rm -rf $RPM_BUILD_ROOT
279
61afc5d4 280%if %{with python2}
a0dd6b04
JR
281%files
282%defattr(644,root,root,755)
283%doc NEWS README
6c47e556
JR
284%dir %{_libdir}/qt5/plugins/PyQt5
285%attr(755,root,root) %{_libdir}/qt5/plugins/PyQt5/libpyqt5qmlplugin.so
a0dd6b04 286%dir %{py_sitedir}/PyQt5
61afc5d4 287%attr(755,root,root) %{py_sitedir}/PyQt5/Enginio.so
a0dd6b04 288%attr(755,root,root) %{py_sitedir}/PyQt5/Qt.so
61afc5d4 289%attr(755,root,root) %{py_sitedir}/PyQt5/QtBluetooth.so
a0dd6b04
JR
290%attr(755,root,root) %{py_sitedir}/PyQt5/QtCore.so
291%attr(755,root,root) %{py_sitedir}/PyQt5/QtDBus.so
292%attr(755,root,root) %{py_sitedir}/PyQt5/QtDesigner.so
293%attr(755,root,root) %{py_sitedir}/PyQt5/QtGui.so
294%attr(755,root,root) %{py_sitedir}/PyQt5/QtHelp.so
6c47e556
JR
295%attr(755,root,root) %{py_sitedir}/PyQt5/QtMultimedia.so
296%attr(755,root,root) %{py_sitedir}/PyQt5/QtMultimediaWidgets.so
61afc5d4
JB
297%attr(755,root,root) %{py_sitedir}/PyQt5/QtNetwork.so
298%attr(755,root,root) %{py_sitedir}/PyQt5/QtOpenGL.so
6c47e556
JR
299%attr(755,root,root) %{py_sitedir}/PyQt5/QtPositioning.so
300%attr(755,root,root) %{py_sitedir}/PyQt5/QtPrintSupport.so
301%attr(755,root,root) %{py_sitedir}/PyQt5/QtQml.so
302%attr(755,root,root) %{py_sitedir}/PyQt5/QtQuick.so
303%attr(755,root,root) %{py_sitedir}/PyQt5/QtQuickWidgets.so
304%attr(755,root,root) %{py_sitedir}/PyQt5/QtSensors.so
305%attr(755,root,root) %{py_sitedir}/PyQt5/QtSerialPort.so
61afc5d4 306%attr(755,root,root) %{py_sitedir}/PyQt5/QtSql.so
6c47e556 307%attr(755,root,root) %{py_sitedir}/PyQt5/QtSvg.so
61afc5d4 308%attr(755,root,root) %{py_sitedir}/PyQt5/QtTest.so
6c47e556
JR
309%attr(755,root,root) %{py_sitedir}/PyQt5/QtWebKit.so
310%attr(755,root,root) %{py_sitedir}/PyQt5/QtWebKitWidgets.so
311%attr(755,root,root) %{py_sitedir}/PyQt5/QtWebSockets.so
61afc5d4 312%attr(755,root,root) %{py_sitedir}/PyQt5/QtWidgets.so
6c47e556
JR
313%attr(755,root,root) %{py_sitedir}/PyQt5/QtX11Extras.so
314%attr(755,root,root) %{py_sitedir}/PyQt5/QtXmlPatterns.so
61afc5d4 315%attr(755,root,root) %{py_sitedir}/PyQt5/_QOpenGLFunctions_2_0.so
a0dd6b04
JR
316%{py_sitedir}/PyQt5/__init__.py[co]
317%attr(755,root,root) %{py_sitedir}/dbus/mainloop/pyqt5.so
318
61afc5d4
JB
319%files uic
320%defattr(644,root,root,755)
321%attr(755,root,root) %{_bindir}/pyuic5
322%{py_sitedir}/PyQt5/uic
323%endif
324
325%if %{with python3}
326%files -n python3-PyQt5
327%defattr(644,root,root,755)
328%if %{without python2}
329# if not building python2 module, this plugin is built in python3 version
330%dir %{_libdir}/qt5/plugins/PyQt5
331%attr(755,root,root) %{_libdir}/qt5/plugins/PyQt5/libpyqt5qmlplugin.so
332%endif
333%dir %{py3_sitedir}/PyQt5
334%attr(755,root,root) %{py3_sitedir}/PyQt5/Enginio.so
335%attr(755,root,root) %{py3_sitedir}/PyQt5/Qt.so
336%attr(755,root,root) %{py3_sitedir}/PyQt5/QtBluetooth.so
337%attr(755,root,root) %{py3_sitedir}/PyQt5/QtCore.so
338%attr(755,root,root) %{py3_sitedir}/PyQt5/QtDBus.so
339%attr(755,root,root) %{py3_sitedir}/PyQt5/QtDesigner.so
340%attr(755,root,root) %{py3_sitedir}/PyQt5/QtGui.so
341%attr(755,root,root) %{py3_sitedir}/PyQt5/QtHelp.so
342%attr(755,root,root) %{py3_sitedir}/PyQt5/QtMultimedia.so
343%attr(755,root,root) %{py3_sitedir}/PyQt5/QtMultimediaWidgets.so
344%attr(755,root,root) %{py3_sitedir}/PyQt5/QtNetwork.so
345%attr(755,root,root) %{py3_sitedir}/PyQt5/QtOpenGL.so
346%attr(755,root,root) %{py3_sitedir}/PyQt5/QtPositioning.so
347%attr(755,root,root) %{py3_sitedir}/PyQt5/QtPrintSupport.so
348%attr(755,root,root) %{py3_sitedir}/PyQt5/QtQml.so
349%attr(755,root,root) %{py3_sitedir}/PyQt5/QtQuick.so
350%attr(755,root,root) %{py3_sitedir}/PyQt5/QtQuickWidgets.so
351%attr(755,root,root) %{py3_sitedir}/PyQt5/QtSensors.so
352%attr(755,root,root) %{py3_sitedir}/PyQt5/QtSerialPort.so
353%attr(755,root,root) %{py3_sitedir}/PyQt5/QtSql.so
354%attr(755,root,root) %{py3_sitedir}/PyQt5/QtSvg.so
355%attr(755,root,root) %{py3_sitedir}/PyQt5/QtTest.so
356%attr(755,root,root) %{py3_sitedir}/PyQt5/QtWebKit.so
357%attr(755,root,root) %{py3_sitedir}/PyQt5/QtWebKitWidgets.so
358%attr(755,root,root) %{py3_sitedir}/PyQt5/QtWebSockets.so
359%attr(755,root,root) %{py3_sitedir}/PyQt5/QtWidgets.so
360%attr(755,root,root) %{py3_sitedir}/PyQt5/QtX11Extras.so
361%attr(755,root,root) %{py3_sitedir}/PyQt5/QtXmlPatterns.so
362%attr(755,root,root) %{py3_sitedir}/PyQt5/_QOpenGLFunctions_2_0.so
363%{py3_sitedir}/PyQt5/__init__.py
364%attr(755,root,root) %{py3_sitedir}/dbus/mainloop/pyqt5.so
365
366%files -n python3-PyQt5-uic
367%defattr(644,root,root,755)
368%attr(755,root,root) %{_bindir}/pyuic5-3
369%{py3_sitedir}/PyQt5/uic
370%endif
371
a0dd6b04
JR
372%files devel
373%defattr(644,root,root,755)
374%{_sipfilesdir}/PyQt5
375
376%files devel-tools
377%defattr(644,root,root,755)
378%attr(755,root,root) %{_bindir}/pylupdate5
379%attr(755,root,root) %{_bindir}/pyrcc5
a0dd6b04
JR
380
381%files examples
382%defattr(644,root,root,755)
383%{_examplesdir}/%{name}-%{version}
384
61afc5d4
JB
385%files -n Qt5Designer-plugin-pyqt5
386%defattr(644,root,root,755)
387%attr(755,root,root) %{_libdir}/qt5/plugins/designer/libpyqt5.so
388
a0dd6b04
JR
389%files -n qscintilla2-%{module}-api
390%defattr(644,root,root,755)
89cfaa25 391%dir %{_datadir}/qt5/qsci/api/python
a0dd6b04 392%{_datadir}/qt5/qsci/api/python/PyQt5.api
This page took 0.114565 seconds and 4 git commands to generate.