python-qt5/python-qt5.spec
2014-02-15 14:10:19 -06:00

245 lines
6.7 KiB
RPMSpec

%if 0%{?fedora}
%global with_python3 1
%endif
%global with_python2 1
Summary: Python bindings for Qt5
Name: python-qt5
Version: 5.2
Release: 4%{?dist}
# all BSD, except for GPLv2+ dbus bindings and examples
License: BSD and GPLv2+
Url: http://www.riverbankcomputing.com/software/pyqt/
Source0: http://downloads.sourceforge.net/project/pyqt/PyQt5/PyQt-%{version}/PyQt-gpl-%{version}.tar.gz
## upstreamable patches
# configure.py assumes qreal != double on arm, fail.
Patch50: PyQt-gpl-5.2-qreal_arm.patch
BuildRequires: chrpath
BuildRequires: findutils
BuildRequires: pkgconfig(dbus-1) pkgconfig(dbus-python)
BuildRequires: pkgconfig(phonon4qt5)
BuildRequires: pkgconfig(Qt5Core) >= 5.2.0
BuildRequires: pkgconfig(Qt5DBus) pkgconfig(Qt5Declarative)
BuildRequires: pkgconfig(Qt5Designer)
BuildRequires: pkgconfig(Qt5Gui) pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5Network) pkgconfig(QtOpenGL)
BuildRequires: pkgconfig(Qt5Script)
BuildRequires: pkgconfig(Qt5Sql) pkgconfig(Qt5Svg) pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Xml) pkgconfig(Qt5XmlPatterns)
BuildRequires: pkgconfig(Qt5WebKit) pkgconfig(Qt5WebKitWidgets)
BuildRequires: python2-devel
BuildRequires: sip-devel >= 4.15.4
%if 0%{?with_python3}
BuildRequires: python3-devel
BuildRequires: python3-sip-devel >= 4.15.0
%endif # with_python3
Requires: dbus-python
%{?_qt5_version:Requires: qt5-qtbase%{?_isa} >= %{_qt5_version}}
%{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
%filter_provides_in %{python_sitearch} %{?_qt5_plugindir}
%if 0%{?with_python3}
%filter_provides_in %{python3_sitearch} %{?_qt5_plugindir}
%endif
%filter_setup
Provides: PyQt5 = %{version}-%{release}
Provides: PyQt5%{?_isa} = %{version}-%{release}
%description
These are Python bindings for Qt5.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: qt5-qtbase-devel
Requires: sip-devel
Provides: PyQt5-devel = %{version}-%{release}
%description devel
Files needed to build other bindings for C++ classes that inherit from any
of the Qt5 classes (e.g. KDE or your own).
%package -n python3-qt5
Summary: Python 3 bindings for Qt5
%{?_sip_api:Requires: python3-sip-api(%{_sip_api_major}) >= %{_sip_api}}
Provides: python3-PyQt5 = %{version}-%{release}
%description -n python3-qt5
%{summary}.
%package -n python3-qt5-devel
Summary: Python 3 bindings for Qt5
Requires: python3-qt5%{?_isa} = %{version}-%{release}
Requires: python3-sip-devel
Provides: python3-PyQt5-devel = %{version}-%{release}
%description -n python3-qt5-devel
Files needed to build other bindings for C++ classes that inherit from any
of the Qt5 classes (e.g. KDE or your own).
%package doc
Summary: Developer documentation for %{name}
Provides: PyQt5-doc = %{version}-%{release}
BuildArch: noarch
%description doc
%{summary}.
%prep
%setup -q -n PyQt-gpl-%{version}
%patch50 -p1 -b .qreal_arm
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif # with_python3
%build
PATH=%{_qt5_bindir}:$PATH ; export PATH
# Python 2 build:
%if 0%{?with_python2}
%{__python2} configure.py \
--assume-shared \
--confirm-license \
--no-timestamp \
--qmake=%{_qt5_qmake} \
--verbose
make %{?_smp_mflags}
%endif # with_python2
# Python 3 build:
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} configure.py \
--assume-shared \
--confirm-license \
--no-timestamp \
--qmake=%{_qt5_qmake} \
--verbose
make %{?_smp_mflags}
popd
%endif # with_python3
%install
# Python 3 build:
%if 0%{?with_python3}
make install DESTDIR=%{buildroot} INSTALL_ROOT=%{buildroot} -C %{py3dir}
%endif # with_python3
# Python 2 build:
%if 0%{?with_python2}
make install DESTDIR=%{buildroot} INSTALL_ROOT=%{buildroot}
%endif # with_python2
# remove Python3 code from Python2 directory, fixes FTBFS like PyQt4 (#564633)
rm -rfv %{buildroot}%{python_sitearch}/PyQt5/uic/port_v3/
# remove Python2 code from Python3 directory (for when/if we support python3 here)
rm -rfv %{buildroot}%{python3_sitearch}/PyQt5/uic/port_v2/
%if 0%{?with_python2}
%files
%doc NEWS README
%doc LICENSE
%{python_sitelib}/dbus/mainloop/pyqt5.so
%{_qt5_plugindir}/PyQt5/
%dir %{python_sitearch}/PyQt5/
%{python_sitearch}/PyQt5/__init__.py*
%{python_sitearch}/PyQt5/Qt.so
%{python_sitearch}/PyQt5/QtCore.so
%{python_sitearch}/PyQt5/QtDBus.so
%{python_sitearch}/PyQt5/QtDesigner.so
%{python_sitearch}/PyQt5/QtGui.so
%{python_sitearch}/PyQt5/QtHelp.so
%{python_sitearch}/PyQt5/QtMultimedia.so
%{python_sitearch}/PyQt5/QtMultimediaWidgets.so
%{python_sitearch}/PyQt5/QtNetwork.so
%{python_sitearch}/PyQt5/QtOpenGL.so
%{python_sitearch}/PyQt5/QtPrintSupport.so
%{python_sitearch}/PyQt5/QtQml.so
%{python_sitearch}/PyQt5/QtQuick.so
%{python_sitearch}/PyQt5/QtSql.so
%{python_sitearch}/PyQt5/QtSvg.so
%{python_sitearch}/PyQt5/QtTest.so
%{python_sitearch}/PyQt5/QtWebKit.so
%{python_sitearch}/PyQt5/QtWebKitWidgets.so
%{python_sitearch}/PyQt5/QtWidgets.so
%{python_sitearch}/PyQt5/QtX11Extras.so
%{python_sitearch}/PyQt5/QtXmlPatterns.so
%{python_sitearch}/PyQt5/_QOpenGLFunctions_2_0.so
%{python_sitearch}/PyQt5/uic/
%{_qt5_plugindir}/designer/libpyqt5.so
%files devel
%{_bindir}/pylupdate5
%{_bindir}/pyrcc5
%{_bindir}/pyuic5
%{_datadir}/sip/PyQt5/
%endif
%if 0%{?with_python3}
%files -n python3-qt5
%doc NEWS README
%doc LICENSE
%dir %{python3_sitearch}/PyQt5/
%{python3_sitearch}/PyQt5/__pycache__/
%{python3_sitearch}/PyQt5/__init__.py*
%{python3_sitearch}/PyQt5/Qt.so
%{python3_sitearch}/PyQt5/QtCore.so
%{python3_sitearch}/PyQt5/QtDBus.so
%{python3_sitearch}/PyQt5/QtDesigner.so
%{python3_sitearch}/PyQt5/QtGui.so
%{python3_sitearch}/PyQt5/QtHelp.so
%{python3_sitearch}/PyQt5/QtMultimedia.so
%{python3_sitearch}/PyQt5/QtMultimediaWidgets.so
%{python3_sitearch}/PyQt5/QtNetwork.so
%{python3_sitearch}/PyQt5/QtOpenGL.so
%{python3_sitearch}/PyQt5/QtPrintSupport.so
%{python3_sitearch}/PyQt5/QtQml.so
%{python3_sitearch}/PyQt5/QtQuick.so
%{python3_sitearch}/PyQt5/QtSql.so
%{python3_sitearch}/PyQt5/QtSvg.so
%{python3_sitearch}/PyQt5/QtTest.so
%{python3_sitearch}/PyQt5/QtWebKit.so
%{python3_sitearch}/PyQt5/QtWebKitWidgets.so
%{python3_sitearch}/PyQt5/QtWidgets.so
%{python3_sitearch}/PyQt5/QtX11Extras.so
%{python3_sitearch}/PyQt5/QtXmlPatterns.so
%{python3_sitearch}/PyQt5/_QOpenGLFunctions_2_0.so
%{python3_sitearch}/PyQt5/uic/
# FIXME/TODO
#files -n python3-qt5-devel
%endif # with_python3
%files doc
%doc doc/*
%doc examples/
%changelog
* Sat Feb 15 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2-4
- python3-qt5 support
* Thu Feb 13 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2-3
- Provides: PyQt5
* Thu Feb 06 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2-2
- BR: python2-devel, use %%__python2 macro
* Wed Jan 08 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2-1
- PyQt-5.2