1 # TODO: __pycache__ for python3-PyQt4-uic
4 %bcond_without python2 # CPython 2.x modules
5 %bcond_without python3 # CPython 3.x modules
8 # minimal required sip version
9 %define sip_ver 2:4.19.1
10 # last qt version covered by these bindings (minimal required is currently 4.1.0)
13 Summary: Python 2 bindings for the Qt4 toolkit
14 Summary(pl.UTF-8): Wiązania Pythona 2 do toolkitu Qt4
15 Name: python-%{module}
20 Group: Libraries/Python
21 Source0: http://downloads.sourceforge.net/pyqt/PyQt4_gpl_x11-%{version}.tar.gz
22 # Source0-md5: 0112e15858cd7d318a09e7366922f874
23 Patch0: %{name}-dbuspath.patch
24 Patch1: %{name}-64bit.patch
25 URL: http://www.riverbankcomputing.com/software/pyqt/
26 # most of BR comes from configure.py
27 BuildRequires: QtAssistant-compat-devel >= 4.6.3
28 BuildRequires: QtCore-devel >= %{qt_ver}
29 BuildRequires: QtDBus-devel >= %{qt_ver}
30 BuildRequires: QtDeclarative-devel >= %{qt_ver}
31 BuildRequires: QtDesigner-devel >= %{qt_ver}
32 BuildRequires: QtGui-devel >= %{qt_ver}
33 BuildRequires: QtHelp-devel >= %{qt_ver}
34 BuildRequires: QtMultimedia-devel >= %{qt_ver}
35 BuildRequires: QtNetwork-devel >= %{qt_ver}
36 BuildRequires: QtOpenGL-devel >= %{qt_ver}
37 BuildRequires: QtScript-devel >= %{qt_ver}
38 BuildRequires: QtScriptTools-devel >= %{qt_ver}
39 BuildRequires: QtSql-devel >= %{qt_ver}
40 BuildRequires: QtSvg-devel >= %{qt_ver}
41 BuildRequires: QtTest-devel >= %{qt_ver}
42 BuildRequires: QtWebKit-devel >= %{qt_ver}
43 BuildRequires: QtXml-devel >= %{qt_ver}
44 BuildRequires: QtXmlPatterns-devel >= %{qt_ver}
45 BuildRequires: phonon-devel
46 BuildRequires: pkgconfig
47 BuildRequires: python-dbus-devel >= 0.80
49 BuildRequires: python-dbus >= 0.80
50 BuildRequires: python-sip-devel >= %{sip_ver}
53 BuildRequires: python3-dbus >= 0.80
54 BuildRequires: python3-sip-devel >= %{sip_ver}
56 BuildRequires: qt4-build >= 4.3.3-3
57 BuildRequires: qt4-qmake >= 4.3.3-3
58 BuildRequires: rpm-pythonprov
59 BuildRequires: rpmbuild(macros) >= 1.219
61 Requires: python-dbus >= 0.80
62 Requires: python-sip >= %{sip_ver}
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 %define _sipfilesdir %{_datadir}/sip
68 PyQt4 is a set of Python bindings for the Qt4 toolkit. The bindings
69 are implemented as a set of Python modules: QtCore, QtDeclarative,
70 QtDesigner, QtGui, QtHelp, QtMultimedia, QtNetwork, QtOpenGL,
71 QtScript, QtScriptTools, QtSql, QtSvg, QtTest, QtWebKit, QtXml,
72 QtXmlPatterns and phonon.
74 This package contains Python 2 bindings.
76 %description -l pl.UTF-8
77 PyQt4 to zbiór wiązań Qt4 dla Pythona. Dowiązania zostały
78 zaimplementowane jako moduły Pythona: QtCore, QtDeclarative,
79 QtDesigner, QtGui, QtHelp, QtMultimedia, QtNetwork, QtOpenGL,
80 QtScript, QtScriptTools, QtSql, QtSvg, QtTest, QtWebKit, QtXml,
81 QtXmlPatterns oraz phonon.
83 Ten pakiet zawiera wiązania Pythona 2.
86 Summary: pyuic4 development tool for Python 2
87 Summary(pl.UTF-8): Narzędzie programistyczne pyuic4 dla Pythona 2
88 Group: Development/Tools
89 Requires: %{name} = %{epoch}:%{version}-%{release}
92 pyuic4 development tool for Python 2.
94 %description uic -l pl.UTF-8
95 Narzędzie programistyczne pyuic4 dla Pythona 2.
97 %package -n python3-PyQt4
98 Summary: Python 2 bindings for the Qt4 toolkit
99 Summary(pl.UTF-8): Wiązania Pythona 2 do toolkitu Qt4
100 Group: Libraries/Python
101 Requires: python3-libs
102 Requires: python3-dbus >= 0.80
103 Requires: python3-sip >= %{sip_ver}
105 %description -n python3-PyQt4
106 PyQt4 is a set of Python bindings for the Qt4 toolkit. The bindings
107 are implemented as a set of Python modules: QtCore, QtDeclarative,
108 QtDesigner, QtGui, QtHelp, QtMultimedia, QtNetwork, QtOpenGL,
109 QtScript, QtScriptTools, QtSql, QtSvg, QtTest, QtWebKit, QtXml,
110 QtXmlPatterns and phonon.
112 This package contains Python 3 bindings.
114 %description -n python3-PyQt4 -l pl.UTF-8
115 PyQt4 to zbiór wiązań Qt4 dla Pythona. Dowiązania zostały
116 zaimplementowane jako moduły Pythona: QtCore, QtDeclarative,
117 QtDesigner, QtGui, QtHelp, QtMultimedia, QtNetwork, QtOpenGL,
118 QtScript, QtScriptTools, QtSql, QtSvg, QtTest, QtWebKit, QtXml,
119 QtXmlPatterns oraz phonon.
121 Ten pakiet zawiera wiązania Pythona 3.
123 %package -n python3-PyQt4-uic
124 Summary: pyuic4 development tool for Python 3
125 Summary(pl.UTF-8): Narzędzie programistyczne pyuic4 dla Pythona 3
126 Group: Development/Tools
127 Requires: python3-PyQt4 = %{epoch}:%{version}-%{release}
129 %description -n python3-PyQt4-uic
130 pyuic4 development tool for Python 3.
132 %description -n python3-PyQt4-uic -l pl.UTF-8
133 Narzędzie programistyczne pyuic4 dla Pythona 3.
136 Summary: PyQt4 development tools
137 Summary(pl.UTF-8): Narzędzia programistyczne PyQt4
138 Group: Development/Tools
139 Requires: QtCore >= %{qt_ver}
140 Requires: QtXml >= %{qt_ver}
142 %description devel-tools
143 PyQt4 development tools: pylupdate4, pyrcc4.
145 Note: this package doesn't depend on Python version.
147 %description devel-tools -l pl.UTF-8
148 Narzędzia programistyczne PyQt4: pylupdate4, pyrcc4.
150 Uwaga: ten pakiet nie jest zależny od wersji Pythona.
153 Summary: Examples for PyQt4
154 Summary(pl.UTF-8): Przykłady do PyQt4
155 Group: Libraries/Python
156 Requires: %{name} = %{epoch}:%{version}-%{release}
158 %description examples
159 Examples code demonstrating how to use the Python bindings for Qt4.
161 %description examples -l pl.UTF-8
162 Przykładowy kod demonstrujący jak używać PyQt4.
164 %package -n sip-PyQt4
165 Summary: SIP files needed to build other bindings based on Qt4
166 Summary(pl.UTF-8): Pliki SIP potrzebne do budowania innych wiązań opartych na Qt4
167 Group: Development/Languages/Python
168 Requires: sip >= %{sip_ver}
169 Obsoletes: python-PyQt4-devel < 4.11.3-2
171 %description -n sip-PyQt4
172 SIP files needed to build other bindings for C++ classes that inherit
173 from any of the Qt4 classes (e.g. KDE or your own).
175 %description -n sip-PyQt4 -l pl.UTF-8
176 Pliki SIP potrzebne do budowania innych wiązań do klas C++
177 dziedziczących z dowolnej klasy Qt4 (np. KDE lub własnych).
179 %package -n QtDesigner-plugin-pyqt4
180 Summary: Qt Designer plugin for Python plugins with widgets
181 Summary(pl.UTF-8): Wtyczka Qt Designera dla wtyczek Pythona zawierających widgety
182 # can build only for one python version
184 Requires: %{name} = %{epoch}:%{version}-%{release}
186 Requires: python3-PyQt4 = %{epoch}:%{version}-%{release}
189 %description -n QtDesigner-plugin-pyqt4
190 This is the Qt Designer plugin that collects all the Python plugins it
191 can find as a widget collection to Designer.
193 %description -n QtDesigner-plugin-pyqt4 -l pl.UTF-8
194 Ten pakiet zawiera wtyczkę Qt Designera zbierającą wszystkie wtyczki
195 Pythona, które jest w stanie znaleźć, jako zestaw widgetów dla
198 %package -n qscintilla2-%{module}-api
199 Summary: PyQt4 API file for QScintilla
200 Summary(pl.UTF-8): Plik API PyQt4 dla QScintilli
201 Group: Libraries/Python
202 Requires: qscintilla2-qt4 >= 2.8.4
204 %description -n qscintilla2-%{module}-api
205 PyQt4 API file can be used by the QScintilla editor component to
206 enable the use of auto-completion and call tips when editing PyQt4
209 %description -n qscintilla2-%{module}-api -l pl.UTF-8
210 Plik API PyQt4 może być używany przez komponent edytora QScintilla aby
211 umożliwić automatyczne dopełnianie i podpowiedzi przy modyfikowaniu
212 kodu wykorzystującego PyQt4.
215 %setup -q -n PyQt4_gpl_x11-%{version}
216 # small hack to build for shared libs - symbol QT_SHARED not defined anymore?
217 %{__sed} -i 's/qt_shared = lines\[.*\]/qt_shared = "y"/' configure.py
218 %{__sed} -i 's/resp = sys.stdin.readline.*/resp = "yes"/' configure.py
222 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python}\1,' \
223 examples/*/*/*/*.py \
231 %{__python} ../configure.py \
237 -q "%{_bindir}/qmake-qt4" \
238 -v %{_sipfilesdir}/%{module} \
239 --dbus-path="%{py_sitedir}/dbus/mainloop" \
240 LIBDIR_QT="%{_libdir}" \
251 %{__python3} ../configure.py \
257 -q "%{_bindir}/qmake-qt4" \
258 -v %{_sipfilesdir}/%{module} \
259 --dbus-path="%{py3_sitedir}/dbus/mainloop" \
260 LIBDIR_QT="%{_libdir}" \
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
273 %{__make} -C build-py3 install \
274 DESTDIR=$RPM_BUILD_ROOT \
275 INSTALL_ROOT=$RPM_BUILD_ROOT
277 %{__mv} $RPM_BUILD_ROOT%{_bindir}/pyuic4{,-3}
279 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
280 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
284 %{__make} -C build-py2 install \
285 DESTDIR=$RPM_BUILD_ROOT \
286 INSTALL_ROOT=$RPM_BUILD_ROOT
288 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
289 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
291 # don't use py_postclean, leave *.py in %{py_sitedir}/PyQt4/uic/widget-plugins
292 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt4/*.py
293 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt4/uic/*.py
294 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt4/uic/Compiler/*.py
295 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt4/uic/Loader/*.py
296 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt4/uic/port_v2/*.py
297 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/PyQt4/uic/port_v3/*.py
299 %{__sed} -i 's,pyuic.py,pyuic.pyc,' $RPM_BUILD_ROOT%{_bindir}/pyuic4
302 cp -R examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
305 rm -rf $RPM_BUILD_ROOT
309 %defattr(644,root,root,755)
310 %doc NEWS README THANKS
311 %dir %{py_sitedir}/PyQt4
312 %attr(755,root,root) %{py_sitedir}/PyQt4/Qt.so
313 %attr(755,root,root) %{py_sitedir}/PyQt4/QtAssistant.so
314 %attr(755,root,root) %{py_sitedir}/PyQt4/QtCore.so
315 %attr(755,root,root) %{py_sitedir}/PyQt4/QtDBus.so
316 %attr(755,root,root) %{py_sitedir}/PyQt4/QtDeclarative.so
317 %attr(755,root,root) %{py_sitedir}/PyQt4/QtDesigner.so
318 %attr(755,root,root) %{py_sitedir}/PyQt4/QtGui.so
319 %attr(755,root,root) %{py_sitedir}/PyQt4/QtHelp.so
320 %attr(755,root,root) %{py_sitedir}/PyQt4/QtMultimedia.so
321 %attr(755,root,root) %{py_sitedir}/PyQt4/QtNetwork.so
322 %attr(755,root,root) %{py_sitedir}/PyQt4/QtOpenGL.so
323 %attr(755,root,root) %{py_sitedir}/PyQt4/QtScript.so
324 %attr(755,root,root) %{py_sitedir}/PyQt4/QtScriptTools.so
325 %attr(755,root,root) %{py_sitedir}/PyQt4/QtSql.so
326 %attr(755,root,root) %{py_sitedir}/PyQt4/QtSvg.so
327 %attr(755,root,root) %{py_sitedir}/PyQt4/QtTest.so
328 %attr(755,root,root) %{py_sitedir}/PyQt4/QtWebKit.so
329 %attr(755,root,root) %{py_sitedir}/PyQt4/QtXml.so
330 %attr(755,root,root) %{py_sitedir}/PyQt4/QtXmlPatterns.so
331 %attr(755,root,root) %{py_sitedir}/PyQt4/phonon.so
332 %{py_sitedir}/PyQt4/__init__.py[co]
333 %{py_sitedir}/PyQt4/pyqtconfig.py[co]
334 %attr(755,root,root) %{py_sitedir}/dbus/mainloop/qt.so
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_bindir}/pyuic4
339 %{py_sitedir}/PyQt4/uic
343 %files -n python3-PyQt4
344 %defattr(644,root,root,755)
345 %doc NEWS README THANKS
346 %dir %{py3_sitedir}/PyQt4
347 %attr(755,root,root) %{py3_sitedir}/PyQt4/Qt.so
348 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtAssistant.so
349 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtCore.so
350 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtDBus.so
351 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtDeclarative.so
352 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtDesigner.so
353 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtGui.so
354 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtHelp.so
355 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtMultimedia.so
356 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtNetwork.so
357 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtOpenGL.so
358 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtScript.so
359 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtScriptTools.so
360 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtSql.so
361 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtSvg.so
362 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtTest.so
363 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtWebKit.so
364 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtXml.so
365 %attr(755,root,root) %{py3_sitedir}/PyQt4/QtXmlPatterns.so
366 %attr(755,root,root) %{py3_sitedir}/PyQt4/phonon.so
367 %{py3_sitedir}/PyQt4/__pycache__
368 %{py3_sitedir}/PyQt4/__init__.py
369 %{py3_sitedir}/PyQt4/pyqtconfig.py
370 %attr(755,root,root) %{py3_sitedir}/dbus/mainloop/qt.so
372 %files -n python3-PyQt4-uic
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_bindir}/pyuic4-3
375 %{py3_sitedir}/PyQt4/uic
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_bindir}/pylupdate4
381 %attr(755,root,root) %{_bindir}/pyrcc4
384 %defattr(644,root,root,755)
385 %{_examplesdir}/%{name}-%{version}
388 %defattr(644,root,root,755)
389 %{_sipfilesdir}/PyQt4
391 %files -n QtDesigner-plugin-pyqt4
392 %defattr(644,root,root,755)
393 %attr(755,root,root) %{_libdir}/qt4/plugins/designer/libpyqt4.so
395 %files -n qscintilla2-%{module}-api
396 %defattr(644,root,root,755)
397 %{_datadir}/qt4/qsci/api/python/PyQt4.api