python-qt5/python-qt5.spec
2014-07-06 14:32:37 -05:00

286 lines
8.2 KiB
RPMSpec

%if 0%{?fedora}
%global with_python3 1
%endif
%global with_python2 1
Summary: Python bindings for Qt5
Name: python-qt5
Version: 5.3.1
Release: 1%{?dist}
# all BSD, except for GPLv2+ dbus bindings and examples
License: BSD and GPLv2+
Url: http://www.riverbankcomputing.com/software/pyqt/
%if 0%{?snap:1}
Source0: http://www.riverbankcomputing.com/static/Downloads/PyQt5/PyQt-gpl-%{version}%{?snap:-snapshot-%{snap}}.tar.gz
%else
Source0: http://downloads.sourceforge.net/project/pyqt/PyQt5/PyQt-%{version}/PyQt-gpl-%{version}.tar.gz
%endif
## upstreamable patches
BuildRequires: chrpath
BuildRequires: findutils
BuildRequires: pkgconfig(dbus-1) pkgconfig(dbus-python)
BuildRequires: pkgconfig(phonon4qt5)
BuildRequires: pkgconfig(Qt5Core) >= 5.3
BuildRequires: pkgconfig(Qt5Bluetooth)
BuildRequires: pkgconfig(Qt5DBus) pkgconfig(Qt5Declarative)
BuildRequires: pkgconfig(Qt5Designer)
BuildRequires: pkgconfig(Qt5Gui) pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5Network) pkgconfig(QtOpenGL)
BuildRequires: pkgconfig(Qt5Positioning)
BuildRequires: pkgconfig(Qt5Quick) pkgconfig(Qt5QuickWidgets)
BuildRequires: pkgconfig(Qt5Script)
BuildRequires: pkgconfig(Qt5Sensors)
BuildRequires: pkgconfig(Qt5SerialPort)
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.16
%if 0%{?with_python3}
BuildRequires: python3-devel
BuildRequires: python3-sip-devel >= 4.16
BuildRequires: python3-dbus
%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}
Requires: python3-dbus
%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 -n PyQt-gpl-%{version}%{?snap:-snapshot-%{snap}}
%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}%{python2_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
%{python2_sitelib}/dbus/mainloop/pyqt5.so
%{_qt5_plugindir}/PyQt5/
%dir %{python2_sitearch}/PyQt5/
%{python2_sitearch}/PyQt5/__init__.py*
%{python2_sitearch}/PyQt5/Qt.so
%{python2_sitearch}/PyQt5/QtBluetooth.so
%{python2_sitearch}/PyQt5/QtCore.so
%{python2_sitearch}/PyQt5/QtDBus.so
%{python2_sitearch}/PyQt5/QtDesigner.so
%{python2_sitearch}/PyQt5/QtGui.so
%{python2_sitearch}/PyQt5/QtHelp.so
%{python2_sitearch}/PyQt5/QtMultimedia.so
%{python2_sitearch}/PyQt5/QtMultimediaWidgets.so
%{python2_sitearch}/PyQt5/QtNetwork.so
%{python2_sitearch}/PyQt5/QtOpenGL.so
%{python2_sitearch}/PyQt5/QtPositioning.so
%{python2_sitearch}/PyQt5/QtPrintSupport.so
%{python2_sitearch}/PyQt5/QtQml.so
%{python2_sitearch}/PyQt5/QtQuick.so
%{python2_sitearch}/PyQt5/QtQuickWidgets.so
%{python2_sitearch}/PyQt5/QtSensors.so
%{python2_sitearch}/PyQt5/QtSerialPort.so
%{python2_sitearch}/PyQt5/QtSql.so
%{python2_sitearch}/PyQt5/QtSvg.so
%{python2_sitearch}/PyQt5/QtTest.so
%{python2_sitearch}/PyQt5/QtWebKit.so
%{python2_sitearch}/PyQt5/QtWebKitWidgets.so
%{python2_sitearch}/PyQt5/QtWidgets.so
%{python2_sitearch}/PyQt5/QtX11Extras.so
%{python2_sitearch}/PyQt5/QtXmlPatterns.so
%{python2_sitearch}/PyQt5/_QOpenGLFunctions_2_0.so
%{python2_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
%{python3_sitelib}/dbus/mainloop/pyqt5.so
%dir %{python3_sitearch}/PyQt5/
%{python3_sitearch}/PyQt5/__pycache__/
%{python3_sitearch}/PyQt5/__init__.py*
%{python3_sitearch}/PyQt5/Qt.so
%{python3_sitearch}/PyQt5/QtBluetooth.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/QtPositioning.so
%{python3_sitearch}/PyQt5/QtPrintSupport.so
%{python3_sitearch}/PyQt5/QtQml.so
%{python3_sitearch}/PyQt5/QtQuick.so
%{python3_sitearch}/PyQt5/QtQuickWidgets.so
%{python3_sitearch}/PyQt5/QtSensors.so
%{python3_sitearch}/PyQt5/QtSerialPort.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
* Sun Jul 06 2014 Rex Dieter <rdieter@fedoraproject.org> 5.3.1-1
- PyQt-gpl-5.3.1
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Jun 02 2014 Rex Dieter <rdieter@fedoraproject.org> 5.3-2
- python3: (Build)Requires: python3-dbus
* Mon Jun 02 2014 Rex Dieter <rdieter@fedoraproject.org> 5.3-1
- PyQt-gpl-5.3
- +Qt5Bluetooth,Qt5Quick,Qt5SerialPorts support
* Mon May 12 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-2
- rebuild (f21-python)
- +Qt5Positioning,Qt5Sensors support
* Sun Mar 16 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-1
- PyQt-5.2.1
* Sat Mar 08 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> 5.2-5
- Rebuild against fixed qt5-qtbase to fix -debuginfo (#1065636)
* 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