diff --git a/extra/pyqt5/PKGBUILD b/extra/pyqt5/PKGBUILD new file mode 100644 index 000000000..ce926f3f6 --- /dev/null +++ b/extra/pyqt5/PKGBUILD @@ -0,0 +1,112 @@ +# $Id$ +# Maintainer: Andrea Scarpino +# Contributor: Yichao Yu +# Contributor: Douglas Soares de Andrade +# Contributor: riai Ben + +# ALARM: Kevin Mihelich +# - remove qt5-webengine makedepend, not built for ARM + +pkgbase=pyqt5 +pkgname=pyqt5 +pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5') +pkgver=5.4.0 +_pkgver=5.4 +pkgrel=2 +arch=('i686' 'x86_64') +url="http://riverbankcomputing.co.uk/software/pyqt/intro" +license=('GPL') +makedepends=('python-sip' 'python2-sip' 'python-opengl' 'python2-opengl' + 'python2-dbus' 'python-dbus' 'qt5-connectivity' 'qt5-enginio' + 'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg' + 'qt5-websockets' 'qt5-x11extras') +source=("http://downloads.sourceforge.net/project/pyqt/PyQt5/PyQt-${_pkgver}/PyQt-gpl-${_pkgver}.tar.gz") +md5sums=('7f2eb79eaf3d7e5e7df5a4e9c8c9340e') + +build() { + cp -r PyQt-gpl-${_pkgver} Py2Qt-gpl-${_pkgver} + + cd PyQt-gpl-${_pkgver} + python3 configure.py \ + --confirm-license \ + -v /usr/share/sip/PyQt5 \ + --qsci-api \ + -q /usr/bin/qmake-qt5 + + # Thanks Gerardo for the rpath fix + find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' + + make + + ### Python2 version ### + cd ../Py2Qt-gpl-${_pkgver} + python2 configure.py \ + --confirm-license \ + -v /usr/share/sip/Py2-PyQt5 \ + --qsci-api \ + -q /usr/bin/qmake-qt5 + + # Thanks Gerardo for the rpath fix + find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' + + make +} + +package_pyqt5-common(){ + pkgdesc="Common PyQt files shared between python-pyqt5 and python2-pyqt5" + depends=('qt5-base') + + cd PyQt-gpl-${_pkgver} + make -C pyrcc DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install + make -C pylupdate DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install + + install -Dm644 PyQt5.api "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt5.api +} + +package_python-pyqt5(){ + pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit" + depends=('python-sip' 'pyqt5-common' 'python' 'python') + optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications' + 'python-dbus: for python-dbus mainloop support' + 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets' + 'qt5-tools: QtHelp, QtDesigner' + 'qt5-svg: QtSvg' + 'qt5-webkit: QtWebKit, QtWebKitWidgets' + 'qt5-xmlpatterns: QtXmlPatterns' + 'qt5-declarative: QtQml, qmlplugin' + 'qt5-serialport: QtSerialPort') + + cd PyQt-gpl-${_pkgver} + # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR + make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install + + # Provided by pyqt-common + rm "${pkgdir}"/usr/bin/{pylupdate5,pyrcc5} + rm "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt5.api +} + +package_python2-pyqt5(){ + pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit" + depends=('python2-sip' 'pyqt5-common' 'python2') + optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications' + 'python-dbus: for python-dbus mainloop support' + 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets' + 'qt5-tools: QtHelp, QtDesigner' + 'qt5-svg: QtSvg' + 'qt5-webkit: QtWebKit, QtWebKitWidgets' + 'qt5-xmlpatterns: QtXmlPatterns' + 'qt5-declarative: QtQml, qmlplugin' + 'qt5-serialport: QtSerialPort') + + cd Py2Qt-gpl-${_pkgver} + # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR + make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install + + # Fix conflicts with python-pyqt5 + mv "${pkgdir}"/usr/bin/{,python2-}pyuic5 + + rm "${pkgdir}"/usr/bin/{pylupdate5,pyrcc5} + rm "${pkgdir}"/usr/lib/qt/plugins/designer/libpyqt5.so + rm "${pkgdir}"/usr/lib/qt/plugins/PyQt5/libpyqt5qmlplugin.so + rm "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt5.api +}