author | Antonio Rojas
<arojas@archlinux.org> 2019-12-13 23:01:34 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2019-12-13 23:01:34 UTC |
parent | 5208b650f68476ec4efce7da8f87fb5d9f183b12 |
PKGBUILD | +26 | -32 |
pyqt5-no-write-check.patch | +13 | -0 |
diff --git a/PKGBUILD b/PKGBUILD index 92154b3..b36b556 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,3 +1,4 @@ +# Maintainer: Antonio Rojas <arojas@archlinux.org> # Maintainer: Felix Yan <felixonmars@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Yichao Yu <yyc1992@gmail.com> @@ -5,52 +6,45 @@ # Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net> pkgbase=pyqt5 -pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5') +pkgname=('python-pyqt5' 'python2-pyqt5') pkgver=5.13.2 -pkgrel=5 +pkgrel=6 arch=('x86_64') url="https://riverbankcomputing.com/software/pyqt/intro" license=('GPL') -makedepends=('python-sip-pyqt5' 'python2-sip-pyqt5' 'sip' 'python-opengl' 'python2-opengl' 'python2-enum34' +makedepends=('sip5' 'pyqt-builder' 'python2-sip-pyqt5' 'sip' 'python-opengl' 'python2-opengl' 'python2-enum34' 'python-pip' 'python2-dbus' 'python-dbus' 'qt5-connectivity' 'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg' 'qt5-webkit' 'qt5-websockets' 'qt5-x11extras' 'qt5-networkauth' 'qt5-xmlpatterns' 'qt5-remoteobjects') -source=("https://www.riverbankcomputing.com/static/Downloads/PyQt5/$pkgver/PyQt5-$pkgver.tar.gz") -sha256sums=('adc17c077bf233987b8e43ada87d1e0deca9bd71a13e5fd5fc377482ed69c827') +source=("https://www.riverbankcomputing.com/static/Downloads/PyQt5/$pkgver/PyQt5-$pkgver.tar.gz" + pyqt5-no-write-check.patch) +sha256sums=('adc17c077bf233987b8e43ada87d1e0deca9bd71a13e5fd5fc377482ed69c827' + '253aa14e27be010ffb2ae21cbeedfecaa608f00ae25539deb1364690e8a8739d') prepare() { cp -a PyQt5-$pkgver{,-py2} + + cd PyQt5-$pkgver + patch -p1 -i ../pyqt5-no-write-check.patch # Don't check if target dirs are writtable https://www.riverbankcomputing.com/pipermail/pyqt/2019-December/042390.html } build() { cd "$srcdir"/PyQt5-$pkgver - python configure.py \ + sip-build \ --confirm-license \ - --no-sip-files \ - --qsci-api - make + --no-make + cd build + make cd "$srcdir"/PyQt5-$pkgver-py2 python2 configure.py \ --confirm-license \ - --no-sip-files \ - --qsci-api + --sip='/usr/bin/sip' make } -package_pyqt5-common(){ - pkgdesc="Common PyQt files shared between python-pyqt5 and python2-pyqt5" - depends=('qt5-base') - - cd PyQt5-$pkgver - install -Dm644 PyQt5.api "$pkgdir"/usr/share/qt/qsci/api/python/PyQt5.api - - install -d "$pkgdir"/usr/share/sip/PyQt5 - cp -a sip/* "$pkgdir"/usr/share/sip/PyQt5 -} - package_python-pyqt5(){ - pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit" - depends=('python-sip-pyqt5' 'pyqt5-common') + pkgdesc="A set of Python bindings for the Qt5 toolkit" + depends=('python' 'qt5-base') optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications' 'python-dbus: for python-dbus mainloop support' 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets' @@ -66,9 +60,8 @@ package_python-pyqt5(){ 'qt5-networkauth: QtNetworkAuth' 'qt5-remoteobjects: QtRemoteObjects') - cd PyQt5-$pkgver - # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR - make DESTDIR="$pkgdir" INSTALL_ROOT="$pkgdir" install -j1 + cd PyQt5-$pkgver/build + make INSTALL_ROOT="$pkgdir" install -j1 # Remove unused py2 version of uic modules: rm -r "$pkgdir"/usr/lib/python*/site-packages/PyQt5/uic/port_v2 @@ -77,13 +70,14 @@ package_python-pyqt5(){ python -m compileall -d / "$pkgdir"/usr/lib python -O -m compileall -d / "$pkgdir"/usr/lib - # Provided by pyqt-common - rm "$pkgdir"/usr/share/qt/qsci/api/python/PyQt5.api + # install sip module + sip-module --sdist PyQt5.sip + pip install PyQt5_sip-*.tar.gz --root "$pkgdir" } package_python2-pyqt5(){ - pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit" - depends=('python2-sip-pyqt5' 'pyqt5-common' 'python2-enum34') + pkgdesc="A set of Python 2 bindings for the Qt5 toolkit" + depends=('python2-sip-pyqt5' 'qt5-base' 'python2-enum34') optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications' 'python-dbus: for python-dbus mainloop support' 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets' @@ -98,6 +92,7 @@ package_python2-pyqt5(){ 'qt5-x11extras: QtX11Extras' 'qt5-networkauth: QtNetworkAuth' 'qt5-remoteobjects: QtRemoteObjects') + conflicts=('pyqt5-common') cd PyQt5-$pkgver-py2 # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR @@ -117,5 +112,4 @@ package_python2-pyqt5(){ 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 } diff --git a/pyqt5-no-write-check.patch b/pyqt5-no-write-check.patch new file mode 100644 index 0000000..4c8516b --- /dev/null +++ b/pyqt5-no-write-check.patch @@ -0,0 +1,13 @@ +--- PyQt5-5.13.2/project.py.orig 2019-12-13 19:02:20.618573711 +0000 ++++ PyQt5-5.13.2/project.py 2019-12-13 19:02:31.142055299 +0000 +@@ -306,10 +306,6 @@ + target_plugin_dir = os.path.join( + builder.qt_configuration['QT_INSTALL_PLUGINS'], target_subdir) + +- if not os.access(target_plugin_dir, os.W_OK): +- self.progress("The {0} plugin was disabled because you do not have write permission on '{1}'.".format(user_name, target_plugin_dir)) +- return +- + # Create the buildable and add it to the builder. + buildable = Buildable(self, name) + self.buildables.append(buildable)