Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] PyQt5 5.15.0
@ 2020-08-10  0:48 sgn
  2020-08-10  0:50 ` sgn
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: sgn @ 2020-08-10  0:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 379 bytes --]

There is a new pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages pyqt5-5.15.0
https://github.com/void-linux/void-packages/pull/24182

PyQt5 5.15.0
- [ ] cross built for PyQt5
- [ ] test

Close #22109 
Close #23666
Close #24076 

A patch file from https://github.com/void-linux/void-packages/pull/24182.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pyqt5-5.15.0-24182.patch --]
[-- Type: text/x-diff, Size: 47486 bytes --]

From d78eb1872a47ac6cfe45d827e0005b3bade69fbd Mon Sep 17 00:00:00 2001
From: fosslinux <fosslinux@aussies.space>
Date: Tue, 19 May 2020 13:15:20 +1000
Subject: [PATCH 1/6] python-PyQt5: various fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- require qt5 in hostmakedepends, otherwise it errors out with an ugly qmake cannot find qt5 error.
- hide 'error' message, which isn't really an error but looks ominous.
- fix xlint

[ci skip]

Close: #22109
Co-authored-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 srcpkgs/python-PyQt5/template | 28 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/python-PyQt5/template b/srcpkgs/python-PyQt5/template
index a39f7d5f160..29018572a34 100644
--- a/srcpkgs/python-PyQt5/template
+++ b/srcpkgs/python-PyQt5/template
@@ -3,28 +3,27 @@ pkgname=python-PyQt5
 version=5.13.2
 revision=2
 _sipver=4.19.19
-lib32disabled=yes
 wrksrc="PyQt5-${version}"
-pycompile_module="PyQt5"
 hostmakedepends="pkg-config
- python-devel python3-devel python-sip-devel python3-sip-devel python-dbus-devel
- qt5-tools-devel qt5-connectivity-devel qt5-declarative-devel qt5-location-devel
- qt5-multimedia-devel qt5-sensors-devel qt5-serialport-devel qt5-svg-devel
- qt5-webchannel-devel qt5-webkit-devel qt5-websockets-devel
+ python-devel python3-devel python-sip-devel python3-sip-devel python-dbus-devel qt5
+ qt5-devel qt5-tools-devel qt5-connectivity-devel qt5-declarative-devel qt5-location-devel
+ qt5-multimedia-devel qt5-qmake qt5-sensors-devel qt5-serialport-devel
+ qt5-svg-devel qt5-webchannel-devel qt5-webkit-devel qt5-websockets-devel
  qt5-x11extras-devel qt5-xmlpatterns-devel qt5-networkauth-devel pulseaudio-devel
  python-enum34"
 makedepends="${hostmakedepends/pkg-config/}"
 depends="python-sip-PyQt5>=${_sipver} python-enum34"
 short_desc="Python2 bindings for the Qt5 toolkit"
 maintainer="Alessio Sergi <al3hex@gmail.com>"
-homepage="https://riverbankcomputing.com/software/pyqt/intro"
 license="GPL-3.0-only"
+homepage="https://riverbankcomputing.com/software/pyqt/intro"
 distfiles="https://www.riverbankcomputing.com/static/Downloads/PyQt5/${version}/PyQt5-${version}.tar.gz"
 checksum=adc17c077bf233987b8e43ada87d1e0deca9bd71a13e5fd5fc377482ed69c827
+lib32disabled=yes
 
 pre_build() {
 	mkdir -p pyqt5-${py2_ver}
-	mv * pyqt5-${py2_ver} || true
+	mv * pyqt5-${py2_ver} 2>/dev/null || true
 	cp -a pyqt5-${py2_ver} pyqt5-${py3_ver}
 	rm -rf pyqt5-${py2_ver}/pyuic/uic/port_v3
 	rm -rf pyqt5-${py3_ver}/pyuic/uic/port_v2
@@ -50,11 +49,11 @@ qt_shared = True
 [Qt ${qt_version}]
 # _QOpenGLFunctions_ES2 doesn't work
 pyqt_modules = QtCore QtGui QtHelp QtMultimedia
-    QtMultimediaWidgets QtNetwork QtOpenGL QtPrintSupport QtQml QtQuick
-    QtSql QtSvg QtTest QtWebKit QtWebKitWidgets QtWidgets QtXml
-    QtXmlPatterns QtDesigner QtDBus QtSensors QtSerialPort
-    QtX11Extras QtBluetooth QtPositioning QtQuickWidgets QtWebSockets
-    QtWebChannel QtLocation QtNfc QtNetworkAuth
+ QtMultimediaWidgets QtNetwork QtOpenGL QtPrintSupport QtQml QtQuick
+ QtSql QtSvg QtTest QtWebKit QtWebKitWidgets QtWidgets QtXml
+ QtXmlPatterns QtDesigner QtDBus QtSensors QtSerialPort
+ QtX11Extras QtBluetooth QtPositioning QtQuickWidgets QtWebSockets
+ QtWebChannel QtLocation QtNfc QtNetworkAuth
 EOF
 
 			_sysroot="--sysroot $XBPS_CROSS_BASE"
@@ -97,7 +96,6 @@ python-PyQt5-devel-tools_package() {
 	 pyqt5:pylupdate5:/usr/bin/python2-pylupdate5
 	 pyqt5:pyrcc5:/usr/bin/python2-pyrcc5
 	 pyqt5:pyuic5:/usr/bin/python2-pyuic5"
-	pycompile_module="PyQt5"
 	pkg_install() {
 		vmove usr/bin/python2-*
 		vmove ${py2_sitelib}/PyQt5/pylupdate.so
@@ -114,7 +112,6 @@ python3-PyQt5-devel-tools_package() {
 	 pyqt5:pylupdate5:/usr/bin/python3-pylupdate5
 	 pyqt5:pyrcc5:/usr/bin/python3-pyrcc5
 	 pyqt5:pyuic5:/usr/bin/python3-pyuic5"
-	pycompile_module="PyQt5"
 	pkg_install() {
 		vmove usr/bin/python3-*
 		vmove ${py3_sitelib}/PyQt5/pylupdate.so
@@ -280,7 +277,6 @@ python-PyQt5-xmlpatterns_package() {
 }
 python3-PyQt5_package() {
 	lib32disabled=yes
-	pycompile_module="PyQt5"
 	depends="python3-sip-PyQt5>=${_sipver}"
 	short_desc="${short_desc/Python2/Python3}"
 	pkg_install() {

From 854173005c48112fe4d5dc9bd716a60f962bae3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 9 Aug 2020 16:33:13 +0700
Subject: [PATCH 2/6] sip: update to 4.19.23

Close: #24076
---
 srcpkgs/sip/template | 39 +++++++++++++++++++++++----------------
 1 file changed, 23 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/sip/template b/srcpkgs/sip/template
index 96a8f1f5dc6..aaf8132a675 100644
--- a/srcpkgs/sip/template
+++ b/srcpkgs/sip/template
@@ -1,23 +1,24 @@
 # Template file for 'sip'
 pkgname=sip
-version=4.19.19
-revision=2
+version=4.19.23
+revision=1
+create_wrksrc=yes
 hostmakedepends="python-devel python3-devel"
 makedepends="${hostmakedepends}"
 short_desc="Python extension module generator for C/C++ libraries"
-maintainer="Alessio Sergi <al3hex@gmail.com>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-only, GPL-3.0-only, custom:SIP"
 homepage="https://riverbankcomputing.com/software/sip/intro"
 distfiles="https://www.riverbankcomputing.com/static/Downloads/sip/${version}/sip-${version}.tar.gz"
-checksum=5436b61a78f48c7e8078e93a6b59453ad33780f80c644e5f3af39f94be1ede44
+checksum=22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7
 
-pre_build() {
-	mkdir -p sip-${py2_ver}
-	mv * sip-${py2_ver} || true
+post_extract() {
+	mv sip-$version sip-${py2_ver}
 	cp -a sip-${py2_ver} sip-${py3_ver}
 	cp -a sip-${py2_ver} sip-${py3_ver}-PyQt5
 	cp -a sip-${py2_ver} sip-${py2_ver}-PyQt5
 }
+
 do_build() {
 	for pyver in $py2_ver $py3_ver ${py3_ver}-PyQt5 ${py2_ver}-PyQt5; do
 		if [ "${pyver%-PyQt5}" != "$py2_ver" ]; then
@@ -36,6 +37,7 @@ do_build() {
 		make ${makejobs}
 	done
 }
+
 do_install() {
 	cd ${wrksrc}/sip-${py2_ver}
 	# install sip
@@ -65,44 +67,47 @@ do_install() {
 
 python-sip_package() {
 	lib32disabled=yes
-	depends="${sourcepkg}-${version}_${revision} python"
-	pycompile_module="sipconfig.py"
+	depends="python"
 	short_desc="Python2 SIP bindings"
 	pkg_install() {
 		vmove ${py2_sitelib}/sip.so
 		vmove ${py2_sitelib}/sipconfig.py
 		vmove ${py2_sitelib}/sip.pyi
+		vlicense sip-${py2_ver}/LICENSE
 	}
 }
+
 python-sip-devel_package() {
-	depends="python-sip-${version}_${revision}"
-	pycompile_module="sipdistutils.py"
+	lib32disabled=yes
+	depends="sip-${version}_${revision} python-sip-${version}_${revision}"
 	short_desc="Python2 SIP bindings - development files"
 	pkg_install() {
 		vmove ${py2_inc}
 		vmove ${py2_sitelib}/sipdistutils.py
 	}
 }
+
 python3-sip_package() {
 	lib32disabled=yes
-	depends="${sourcepkg}-${version}_${revision} python3"
-	pycompile_module="sipconfig.py"
+	depends="python3"
 	short_desc="Python3 SIP bindings"
 	pkg_install() {
 		vmove ${py3_sitelib}/sip.so
 		vmove ${py3_sitelib}/sipconfig.py
 		vmove ${py3_sitelib}/sip.pyi
+		vlicense sip-${py3_ver}/LICENSE
 	}
 }
+
 python3-sip-devel_package() {
-	depends="python3-sip-${version}_${revision}"
-	pycompile_module="sipdistutils.py"
+	depends="python3-sip-${version}_${revision} sip-${version}_${revision}"
 	short_desc="Python3 SIP bindings - development files"
 	pkg_install() {
 		vmove ${py3_inc}
 		vmove ${py3_sitelib}/sipdistutils.py
 	}
 }
+
 python3-sip-PyQt5_package() {
 	lib32disabled=yes
 	depends="${sourcepkg}-${version}_${revision} python3"
@@ -112,12 +117,14 @@ python3-sip-PyQt5_package() {
 		vmove ${py3_sitelib}/PyQt5/sip.pyi
 	}
 }
+
 python-sip-PyQt5_package() {
 	lib32disabled=yes
-	depends="${sourcepkg}-${version}_${revision} python"
+	depends="python"
 	short_desc="Python2 SIP bindings (PyQt5 version)"
 	 pkg_install() {
 		vmove ${py2_sitelib}/PyQt5/sip.so
 		vmove ${py2_sitelib}/PyQt5/sip.pyi
+		vlicense sip-${py2_ver}-PyQt5/LICENSE
 	}
 }

From 43eaa8a5e8604b94c9f0889453199b88868ad61c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 9 Aug 2020 16:23:12 +0700
Subject: [PATCH 3/6] python3-sip-PyQt5: update to 12.8.0

---
 srcpkgs/python3-sip-PyQt5          |  1 -
 srcpkgs/python3-sip-PyQt5/template | 19 +++++++++++++++++++
 srcpkgs/sip/template               | 17 +----------------
 3 files changed, 20 insertions(+), 17 deletions(-)
 delete mode 120000 srcpkgs/python3-sip-PyQt5
 create mode 100644 srcpkgs/python3-sip-PyQt5/template

diff --git a/srcpkgs/python3-sip-PyQt5 b/srcpkgs/python3-sip-PyQt5
deleted file mode 120000
index 633f7c0bcce..00000000000
--- a/srcpkgs/python3-sip-PyQt5
+++ /dev/null
@@ -1 +0,0 @@
-sip
\ No newline at end of file
diff --git a/srcpkgs/python3-sip-PyQt5/template b/srcpkgs/python3-sip-PyQt5/template
new file mode 100644
index 00000000000..8d89681539a
--- /dev/null
+++ b/srcpkgs/python3-sip-PyQt5/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-sip-PyQt5'
+pkgname=python3-sip-PyQt5
+version=12.8.0
+revision=1
+wrksrc="PyQt5_sip-$version"
+build_style=python3-module
+hostmakedepends="python3-devel python3-setuptools sip5"
+makedepends="python3-devel"
+short_desc="Python 3 PyQt5 SIP bindings with C and C++"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-only, GPL-3.0-only, custom:SIP"
+homepage="https://riverbankcomputing.com/software/sip/intro"
+distfiles="${PYPI_SITE}/P/PyQt5_sip/PyQt5_sip-${version}.tar.gz"
+checksum=0a34b6596bdd28d52da3a51fa8d9bb0b287bcb605c2512aa3251b9028cc71f4d
+lib32disabled=yes
+
+post_install() {
+	vlicense /usr/share/licenses/sip5/LICENSE
+}
diff --git a/srcpkgs/sip/template b/srcpkgs/sip/template
index aaf8132a675..a197f8c5d50 100644
--- a/srcpkgs/sip/template
+++ b/srcpkgs/sip/template
@@ -15,12 +15,11 @@ checksum=22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7
 post_extract() {
 	mv sip-$version sip-${py2_ver}
 	cp -a sip-${py2_ver} sip-${py3_ver}
-	cp -a sip-${py2_ver} sip-${py3_ver}-PyQt5
 	cp -a sip-${py2_ver} sip-${py2_ver}-PyQt5
 }
 
 do_build() {
-	for pyver in $py2_ver $py3_ver ${py3_ver}-PyQt5 ${py2_ver}-PyQt5; do
+	for pyver in $py2_ver $py3_ver ${py2_ver}-PyQt5; do
 		if [ "${pyver%-PyQt5}" != "$py2_ver" ]; then
 			pyinc="$py3_inc"
 		else
@@ -54,10 +53,6 @@ do_install() {
 	vinstall sipconfig.py 644 $py3_sitelib
 	vinstall sipdistutils.py 644 $py3_sitelib
 
-	# install python3 PyQt5 sip
-	cd ${wrksrc}/sip-${py3_ver}-PyQt5
-	make DESTDIR=${DESTDIR} install -C siplib
-
 	# install python2 PyQt5 sip
 	cd ${wrksrc}/sip-${py2_ver}-PyQt5
 	make DESTDIR=${DESTDIR} install -C siplib
@@ -108,16 +103,6 @@ python3-sip-devel_package() {
 	}
 }
 
-python3-sip-PyQt5_package() {
-	lib32disabled=yes
-	depends="${sourcepkg}-${version}_${revision} python3"
-	short_desc="Python3 SIP bindings (PyQt5 version)"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/sip.so
-		vmove ${py3_sitelib}/PyQt5/sip.pyi
-	}
-}
-
 python-sip-PyQt5_package() {
 	lib32disabled=yes
 	depends="python"

From bb660a75b6045dfc88333cb2b28ba1660823e141 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 9 Aug 2020 14:30:39 +0700
Subject: [PATCH 4/6] New package: sip5-5.3.0

---
 srcpkgs/sip5/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/sip5/template

diff --git a/srcpkgs/sip5/template b/srcpkgs/sip5/template
new file mode 100644
index 00000000000..d689af00bbb
--- /dev/null
+++ b/srcpkgs/sip5/template
@@ -0,0 +1,20 @@
+# Template file for 'sip5'
+pkgname=sip5
+version=5.3.0
+revision=1
+wrksrc="sip-$version"
+build_style=python3-module
+hostmakedepends="python3-devel python3-setuptools python3-packaging python3-toml"
+makedepends="python3-devel"
+depends="python3-setuptools python3-packaging python3-toml"
+short_desc="SIP 5 - Python 3 bindings generator for C/C++ libraries"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-only, GPL-3.0-only, custom:SIP"
+homepage="https://riverbankcomputing.com/software/sip/intro"
+distfiles="${PYPI_SITE}/s/sip/sip-${version}.tar.gz"
+checksum=03a44e20b252ef03ca2891e9439d238af3fd8245f65cdcff238a843d4f455b80
+lib32disabled=yes
+
+post_install() {
+	vlicense LICENSE
+}

From 64c8a48f5328730d21ed7021ec5bb224afb41c37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 9 Aug 2020 22:35:28 +0700
Subject: [PATCH 5/6] python3-PyQt5: update to 5.15.0

---
 srcpkgs/python-PyQt5/template             | 274 +++-------------------
 srcpkgs/python3-PyQt5                     |   1 -
 srcpkgs/python3-PyQt5-connectivity        |   2 +-
 srcpkgs/python3-PyQt5-dbus                |   2 +-
 srcpkgs/python3-PyQt5-devel               |   1 +
 srcpkgs/python3-PyQt5-devel-tools         |   2 +-
 srcpkgs/python3-PyQt5-location            |   2 +-
 srcpkgs/python3-PyQt5-multimedia          |   2 +-
 srcpkgs/python3-PyQt5-networkauth         |   2 +-
 srcpkgs/python3-PyQt5-opengl              |   2 +-
 srcpkgs/python3-PyQt5-quick               |   2 +-
 srcpkgs/python3-PyQt5-sensors             |   2 +-
 srcpkgs/python3-PyQt5-serialport          |   2 +-
 srcpkgs/python3-PyQt5-sql                 |   2 +-
 srcpkgs/python3-PyQt5-svg                 |   2 +-
 srcpkgs/python3-PyQt5-tools               |   2 +-
 srcpkgs/python3-PyQt5-webchannel          |   2 +-
 srcpkgs/python3-PyQt5-webkit              |   2 +-
 srcpkgs/python3-PyQt5-websockets          |   2 +-
 srcpkgs/python3-PyQt5-x11extras           |   2 +-
 srcpkgs/python3-PyQt5-xmlpatterns         |   2 +-
 srcpkgs/python3-PyQt5/patches/cross.patch |  26 ++
 srcpkgs/python3-PyQt5/template            | 273 +++++++++++++++++++++
 srcpkgs/python3-PyQt5/update              |   1 +
 24 files changed, 353 insertions(+), 259 deletions(-)
 delete mode 120000 srcpkgs/python3-PyQt5
 create mode 120000 srcpkgs/python3-PyQt5-devel
 create mode 100644 srcpkgs/python3-PyQt5/patches/cross.patch
 create mode 100644 srcpkgs/python3-PyQt5/template
 create mode 100644 srcpkgs/python3-PyQt5/update

diff --git a/srcpkgs/python-PyQt5/template b/srcpkgs/python-PyQt5/template
index 29018572a34..ca570e7a142 100644
--- a/srcpkgs/python-PyQt5/template
+++ b/srcpkgs/python-PyQt5/template
@@ -1,11 +1,11 @@
 # Template file for 'python-PyQt5'
 pkgname=python-PyQt5
 version=5.13.2
-revision=2
+revision=3
 _sipver=4.19.19
 wrksrc="PyQt5-${version}"
 hostmakedepends="pkg-config
- python-devel python3-devel python-sip-devel python3-sip-devel python-dbus-devel qt5
+ python-devel python-sip-devel python-dbus-devel qt5
  qt5-devel qt5-tools-devel qt5-connectivity-devel qt5-declarative-devel qt5-location-devel
  qt5-multimedia-devel qt5-qmake qt5-sensors-devel qt5-serialport-devel
  qt5-svg-devel qt5-webchannel-devel qt5-webkit-devel qt5-websockets-devel
@@ -13,35 +13,28 @@ hostmakedepends="pkg-config
  python-enum34"
 makedepends="${hostmakedepends/pkg-config/}"
 depends="python-sip-PyQt5>=${_sipver} python-enum34"
-short_desc="Python2 bindings for the Qt5 toolkit"
-maintainer="Alessio Sergi <al3hex@gmail.com>"
+short_desc="Python 2 bindings for the Qt5 toolkit"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-only"
 homepage="https://riverbankcomputing.com/software/pyqt/intro"
 distfiles="https://www.riverbankcomputing.com/static/Downloads/PyQt5/${version}/PyQt5-${version}.tar.gz"
 checksum=adc17c077bf233987b8e43ada87d1e0deca9bd71a13e5fd5fc377482ed69c827
 lib32disabled=yes
 
-pre_build() {
-	mkdir -p pyqt5-${py2_ver}
-	mv * pyqt5-${py2_ver} 2>/dev/null || true
-	cp -a pyqt5-${py2_ver} pyqt5-${py3_ver}
-	rm -rf pyqt5-${py2_ver}/pyuic/uic/port_v3
-	rm -rf pyqt5-${py3_ver}/pyuic/uic/port_v2
+post_extract() {
+	rm -rf pyuic/uic/port_v3
 }
-do_build() {
-	local _sysroot= _configuration= py_abiver= qt_version
-	for pyver in $py2_ver $py3_ver; do
-		if [ "$pyver" = "$py3_ver" ]; then
-			py_abiver="$py3_abiver"
-		fi
 
-		cd $wrksrc/pyqt5-$pyver
-		if [ "$CROSS_BUILD" ]; then
-			qt_version=$(qmake -query QT_VERSION)
-cat > pyqt5_${XBPS_CROSS_TRIPLET}.cfg <<EOF
+do_configure() {
+	local _sysroot= _configuration= qt_version
+	if [ "$CROSS_BUILD" ]; then
+		qt_version=$(qmake -query QT_VERSION)
+		_sysroot="--sysroot $XBPS_CROSS_BASE"
+		_configuration="--configuration $wrksrc/pyqt5_${XBPS_CROSS_TRIPLET}.cfg"
+		cat >pyqt5_${XBPS_CROSS_TRIPLET}.cfg <<EOF
 py_platform = linux
-py_inc_dir = %(sysroot)/usr/include/python%(py_major).%(py_minor)${py_abiver}
-py_pyshlib = python%(py_major).%(py_minor)${py_abiver}.so
+py_inc_dir = %(sysroot)/usr/include/python%(py_major).%(py_minor)
+py_pyshlib = python%(py_major).%(py_minor).so
 pyqt_disabled_features = PyQt_Desktop_OpenGL PyQt_qreal_double
 
 qt_shared = True
@@ -55,37 +48,33 @@ pyqt_modules = QtCore QtGui QtHelp QtMultimedia
  QtX11Extras QtBluetooth QtPositioning QtQuickWidgets QtWebSockets
  QtWebChannel QtLocation QtNfc QtNetworkAuth
 EOF
+	fi
 
-			_sysroot="--sysroot $XBPS_CROSS_BASE"
-			_configuration="--configuration $wrksrc/pyqt5-$pyver/pyqt5_${XBPS_CROSS_TRIPLET}.cfg"
-		fi
-
-		python${pyver} configure.py --confirm-license --assume-shared --no-dist-info $_sysroot $_configuration \
-			QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
-			QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
+	python2 configure.py --confirm-license --assume-shared \
+		--no-dist-info $_sysroot $_configuration \
+		QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" \
+		QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
+		QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
+		QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
 
-		if [ "$CROSS_BUILD" ]; then
-			# Fix location of libraries
-			find . -name Makefile | xargs sed -i -E "s|(/usr/lib/libQt5[^ ]+so)|${XBPS_CROSS_BASE}\1|g"
-		fi
+	if [ "$CROSS_BUILD" ]; then
+		# Fix location of libraries
+		find . -name Makefile |
+		xargs sed -i -E "s|(/usr/lib/libQt5[^ ]+so)|${XBPS_CROSS_BASE}\1|g"
+	fi
+}
 
-		make ${makejobs}
-	done
+do_build() {
+	make ${makejobs}
 }
+
 do_install() {
 	# install python-pyqt5
-	make -C pyqt5-${py2_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
+	make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
 	for f in pylupdate5 pyrcc5 pyuic5; do
 		sed -i 's,/usr/bin/python2.7,/usr/bin/python2,' ${DESTDIR}/usr/bin/${f}
 		mv ${DESTDIR}/usr/bin/{,python2-}${f}
 	done
-
-	# install python3-pyqt5
-	make -C pyqt5-${py3_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
-	for f in pylupdate5 pyrcc5 pyuic5; do
-		sed -i 's,/usr/bin/python3[.0-9]*,/usr/bin/python3,' ${DESTDIR}/usr/bin/${f}
-		mv ${DESTDIR}/usr/bin/{,python3-}${f}
-	done
 }
 
 python-PyQt5-devel-tools_package() {
@@ -104,26 +93,10 @@ python-PyQt5-devel-tools_package() {
 		vmove ${py2_sitelib}/PyQt5/pyrcc_main.py
 	}
 }
-python3-PyQt5-devel-tools_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - development tools"
-	alternatives="
-	 pyqt5:pylupdate5:/usr/bin/python3-pylupdate5
-	 pyqt5:pyrcc5:/usr/bin/python3-pyrcc5
-	 pyqt5:pyuic5:/usr/bin/python3-pyuic5"
-	pkg_install() {
-		vmove usr/bin/python3-*
-		vmove ${py3_sitelib}/PyQt5/pylupdate.so
-		vmove ${py3_sitelib}/PyQt5/pylupdate_main.py
-		vmove ${py3_sitelib}/PyQt5/pyrcc.so
-		vmove ${py3_sitelib}/PyQt5/pyrcc_main.py
-	}
-}
 python-PyQt5-devel_package() {
-	depends="python-sip-devel python3-sip-devel
-	 python-PyQt5-${version}_${revision} python3-PyQt5-${version}_${revision}"
+	depends="python-sip-devel python-PyQt5-${version}_${revision}"
 	short_desc+=" - development files"
+	conflicts="python3-PyQt5-devel>=0"
 	pkg_install() {
 		vmove usr/share/sip
 	}
@@ -275,182 +248,3 @@ python-PyQt5-xmlpatterns_package() {
 		vmove ${py2_sitelib}/PyQt5/QtXmlPatterns.so
 	}
 }
-python3-PyQt5_package() {
-	lib32disabled=yes
-	depends="python3-sip-PyQt5>=${_sipver}"
-	short_desc="${short_desc/Python2/Python3}"
-	pkg_install() {
-		vmove ${py3_sitelib}
-	}
-}
-python3-PyQt5-dbus_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision} python3-dbus"
-	short_desc="${short_desc/Python2/Python3} - dbus support"
-	pkg_install() {
-		vmove ${py3_sitelib}/dbus/mainloop/pyqt5.so
-	}
-}
-python3-PyQt5-connectivity_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - connectivity module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtBluetooth.pyi
-		vmove ${py3_sitelib}/PyQt5/QtBluetooth.so
-		vmove ${py3_sitelib}/PyQt5/QtNfc.pyi
-		vmove ${py3_sitelib}/PyQt5/QtNfc.so
-	}
-}
-python3-PyQt5-multimedia_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - multimedia module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtMultimedia.pyi
-		vmove ${py3_sitelib}/PyQt5/QtMultimedia.so
-		vmove ${py3_sitelib}/PyQt5/QtMultimediaWidgets.pyi
-		vmove ${py3_sitelib}/PyQt5/QtMultimediaWidgets.so
-	}
-}
-python3-PyQt5-networkauth_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - networkauth module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtNetworkAuth.pyi
-		vmove ${py3_sitelib}/PyQt5/QtNetworkAuth.so
-	}
-}
-python3-PyQt5-opengl_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - opengl module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtOpenGL.pyi
-		vmove ${py3_sitelib}/PyQt5/QtOpenGL.so
-		if [ -z "$CROSS_BUILD" ]; then
-			vmove ${py3_sitelib}/PyQt5/_QOpenGLFunctions_*.so
-		fi
-	}
-}
-python3-PyQt5-location_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - location module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtLocation.pyi
-		vmove ${py3_sitelib}/PyQt5/QtLocation.so
-		vmove ${py3_sitelib}/PyQt5/QtPositioning.pyi
-		vmove ${py3_sitelib}/PyQt5/QtPositioning.so
-	}
-}
-python3-PyQt5-quick_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - quick module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtQml.pyi
-		vmove ${py3_sitelib}/PyQt5/QtQml.so
-		vmove ${py3_sitelib}/PyQt5/QtQuick.pyi
-		vmove ${py3_sitelib}/PyQt5/QtQuick.so
-		vmove ${py3_sitelib}/PyQt5/QtQuickWidgets.pyi
-		vmove ${py3_sitelib}/PyQt5/QtQuickWidgets.so
-		vmove usr/lib/qt5/plugins/PyQt5/libpyqt5qmlplugin.so
-	}
-}
-python3-PyQt5-sensors_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - sensors module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtSensors.pyi
-		vmove ${py3_sitelib}/PyQt5/QtSensors.so
-	}
-}
-python3-PyQt5-serialport_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - serialport module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtSerialPort.pyi
-		vmove ${py3_sitelib}/PyQt5/QtSerialPort.so
-	}
-}
-python3-PyQt5-sql_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - sql module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtSql.pyi
-		vmove ${py3_sitelib}/PyQt5/QtSql.so
-	}
-}
-python3-PyQt5-svg_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - svg module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtSvg.pyi
-		vmove ${py3_sitelib}/PyQt5/QtSvg.so
-	}
-}
-python3-PyQt5-tools_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - designer, help modules"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtHelp.pyi
-		vmove ${py3_sitelib}/PyQt5/QtHelp.so
-		vmove ${py3_sitelib}/PyQt5/QtDesigner.pyi
-		vmove ${py3_sitelib}/PyQt5/QtDesigner.so
-		vmove usr/lib/qt5/plugins/designer/libpyqt5.so
-	}
-}
-python3-PyQt5-webchannel_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - webchannel module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtWebChannel.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebChannel.so
-	}
-}
-python3-PyQt5-webkit_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - webkit module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtWebKit.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebKit.so
-		vmove ${py3_sitelib}/PyQt5/QtWebKitWidgets.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebKitWidgets.so
-	}
-}
-python3-PyQt5-websockets_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - websockets module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtWebSockets.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebSockets.so
-	}
-}
-python3-PyQt5-x11extras_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - x11extras module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtX11Extras.pyi
-		vmove ${py3_sitelib}/PyQt5/QtX11Extras.so
-	}
-}
-python3-PyQt5-xmlpatterns_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5-${version}_${revision}"
-	short_desc="${short_desc/Python2/Python3} - xmlpatterns module"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.pyi
-		vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.so
-	}
-}
diff --git a/srcpkgs/python3-PyQt5 b/srcpkgs/python3-PyQt5
deleted file mode 120000
index 7e24798936c..00000000000
--- a/srcpkgs/python3-PyQt5
+++ /dev/null
@@ -1 +0,0 @@
-python-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-connectivity b/srcpkgs/python3-PyQt5-connectivity
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-connectivity
+++ b/srcpkgs/python3-PyQt5-connectivity
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-dbus b/srcpkgs/python3-PyQt5-dbus
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-dbus
+++ b/srcpkgs/python3-PyQt5-dbus
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-devel b/srcpkgs/python3-PyQt5-devel
new file mode 120000
index 00000000000..75ad8e779a9
--- /dev/null
+++ b/srcpkgs/python3-PyQt5-devel
@@ -0,0 +1 @@
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-devel-tools b/srcpkgs/python3-PyQt5-devel-tools
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-devel-tools
+++ b/srcpkgs/python3-PyQt5-devel-tools
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-location b/srcpkgs/python3-PyQt5-location
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-location
+++ b/srcpkgs/python3-PyQt5-location
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-multimedia b/srcpkgs/python3-PyQt5-multimedia
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-multimedia
+++ b/srcpkgs/python3-PyQt5-multimedia
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-networkauth b/srcpkgs/python3-PyQt5-networkauth
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-networkauth
+++ b/srcpkgs/python3-PyQt5-networkauth
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-opengl b/srcpkgs/python3-PyQt5-opengl
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-opengl
+++ b/srcpkgs/python3-PyQt5-opengl
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-quick b/srcpkgs/python3-PyQt5-quick
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-quick
+++ b/srcpkgs/python3-PyQt5-quick
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-sensors b/srcpkgs/python3-PyQt5-sensors
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-sensors
+++ b/srcpkgs/python3-PyQt5-sensors
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-serialport b/srcpkgs/python3-PyQt5-serialport
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-serialport
+++ b/srcpkgs/python3-PyQt5-serialport
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-sql b/srcpkgs/python3-PyQt5-sql
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-sql
+++ b/srcpkgs/python3-PyQt5-sql
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-svg b/srcpkgs/python3-PyQt5-svg
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-svg
+++ b/srcpkgs/python3-PyQt5-svg
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-tools b/srcpkgs/python3-PyQt5-tools
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-tools
+++ b/srcpkgs/python3-PyQt5-tools
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-webchannel b/srcpkgs/python3-PyQt5-webchannel
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-webchannel
+++ b/srcpkgs/python3-PyQt5-webchannel
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-webkit b/srcpkgs/python3-PyQt5-webkit
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-webkit
+++ b/srcpkgs/python3-PyQt5-webkit
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-websockets b/srcpkgs/python3-PyQt5-websockets
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-websockets
+++ b/srcpkgs/python3-PyQt5-websockets
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-x11extras b/srcpkgs/python3-PyQt5-x11extras
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-x11extras
+++ b/srcpkgs/python3-PyQt5-x11extras
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-xmlpatterns b/srcpkgs/python3-PyQt5-xmlpatterns
index 7e24798936c..75ad8e779a9 120000
--- a/srcpkgs/python3-PyQt5-xmlpatterns
+++ b/srcpkgs/python3-PyQt5-xmlpatterns
@@ -1 +1 @@
-python-PyQt5
\ No newline at end of file
+python3-PyQt5
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5/patches/cross.patch b/srcpkgs/python3-PyQt5/patches/cross.patch
new file mode 100644
index 00000000000..9bb74b92798
--- /dev/null
+++ b/srcpkgs/python3-PyQt5/patches/cross.patch
@@ -0,0 +1,26 @@
+ For some reason, on cross-compiling,
+ sip5 thinks QList<double> is invalid type,
+
+ In the same time, sip works if double is typedef-ed to something else,
+ however the generated C++ code isn't compilable because it couldn't see
+ the typedef.
+
+ Use native Qt typedef `qreal`, which is typedef to double in all of our
+ platforms.
+--- sip/QtMultimedia/qvideoencodersettingscontrol.sip.orig	2020-08-10 07:15:46.353365212 +0700
++++ sip/QtMultimedia/qvideoencodersettingscontrol.sip	2020-08-10 07:19:16.238129127 +0700
+@@ -24,12 +24,13 @@
+ {
+ %TypeHeaderCode
+ #include <qvideoencodersettingscontrol.h>
++static_assert(std::is_same<qreal, double>::value, "qreal must be double");
+ %End
+ 
+ public:
+     virtual ~QVideoEncoderSettingsControl();
+     virtual QList<QSize> supportedResolutions(const QVideoEncoderSettings &settings, bool *continuous = 0) const = 0;
+-    virtual QList<double> supportedFrameRates(const QVideoEncoderSettings &settings, bool *continuous = 0) const = 0;
++    virtual QList<qreal> supportedFrameRates(const QVideoEncoderSettings &settings, bool *continuous = 0) const = 0;
+     virtual QStringList supportedVideoCodecs() const = 0;
+     virtual QString videoCodecDescription(const QString &codec) const = 0;
+     virtual QVideoEncoderSettings videoSettings() const = 0;
diff --git a/srcpkgs/python3-PyQt5/template b/srcpkgs/python3-PyQt5/template
new file mode 100644
index 00000000000..e902fc45670
--- /dev/null
+++ b/srcpkgs/python3-PyQt5/template
@@ -0,0 +1,273 @@
+# Template file for 'python3-PyQt5'
+pkgname=python3-PyQt5
+version=5.15.0
+revision=1
+_sipver=4.19.23
+wrksrc="PyQt5-${version}"
+hostmakedepends="pkg-config
+ python3-devel sip5 python-dbus-devel qt5 qt5-devel qt5-tools-devel
+ qt5-connectivity-devel qt5-declarative-devel qt5-location-devel
+ qt5-multimedia-devel qt5-qmake qt5-sensors-devel qt5-serialport-devel
+ qt5-svg-devel qt5-webchannel-devel qt5-webkit-devel qt5-websockets-devel
+ qt5-x11extras-devel qt5-xmlpatterns-devel qt5-networkauth-devel pulseaudio-devel"
+makedepends="${hostmakedepends/pkg-config/}"
+depends="python3-sip-PyQt5>=${_sipver}"
+short_desc="Python 3 bindings for the Qt5 toolkit"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-3.0-only"
+homepage="https://riverbankcomputing.com/software/pyqt/intro"
+distfiles="${PYPI_SITE}/P/PyQt5/PyQt5-${version}.tar.gz"
+checksum=c6f75488ffd5365a65893bc64ea82a6957db126fbfe33654bcd43ae1c30c52f9
+lib32disabled=yes
+
+post_extract() {
+	rm -rf pyuic/uic/port_v2
+}
+
+do_configure() {
+	local _sysroot= _configuration= qt_version
+	if [ "$CROSS_BUILD" ]; then
+		qt_version=$(qmake -query QT_VERSION)
+		_sysroot="--sysroot $XBPS_CROSS_BASE"
+		_configuration="--configuration $wrksrc/pyqt5_${XBPS_CROSS_TRIPLET}.cfg"
+		cat >pyqt5_${XBPS_CROSS_TRIPLET}.cfg <<EOF
+py_platform = linux
+py_inc_dir = %(sysroot)/usr/include/python%(py_major).%(py_minor)${py3_abiver}
+py_pyshlib = python%(py_major).%(py_minor)${py3_abiver}.so
+pyqt_disabled_features = PyQt_Desktop_OpenGL PyQt_qreal_double
+
+qt_shared = True
+
+[Qt ${qt_version}]
+# _QOpenGLFunctions_ES2 doesn't work
+pyqt_modules = QtCore QtGui QtHelp QtMultimedia
+ QtMultimediaWidgets QtNetwork QtOpenGL QtPrintSupport QtQml QtQuick
+ QtSql QtSvg QtTest QtWebKit QtWebKitWidgets QtWidgets QtXml
+ QtXmlPatterns QtDesigner QtDBus QtSensors QtSerialPort
+ QtX11Extras QtBluetooth QtPositioning QtQuickWidgets QtWebSockets
+ QtWebChannel QtLocation QtNfc QtNetworkAuth
+EOF
+
+	fi
+
+	python3 configure.py --confirm-license --assume-shared \
+		--no-dist-info $_sysroot $_configuration \
+		QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" \
+		QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
+		QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
+		QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
+
+	if [ "$CROSS_BUILD" ]; then
+		# Fix location of libraries
+		find . -name Makefile |
+		xargs sed -i -E "s|(/usr/lib/libQt5[^ ]+so)|${XBPS_CROSS_BASE}\1|g"
+	fi
+}
+
+do_build() {
+	make ${makejobs}
+}
+
+do_install() {
+	make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
+	for f in pylupdate5 pyrcc5 pyuic5; do
+		sed -i '1s,python3[.0-9]*,python3,' ${DESTDIR}/usr/bin/${f}
+		mv ${DESTDIR}/usr/bin/{,python3-}${f}
+	done
+}
+
+python3-PyQt5-devel-tools_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc+=" - development tools"
+	alternatives="
+	 pyqt5:pylupdate5:/usr/bin/python3-pylupdate5
+	 pyqt5:pyrcc5:/usr/bin/python3-pyrcc5
+	 pyqt5:pyuic5:/usr/bin/python3-pyuic5"
+	pkg_install() {
+		vmove usr/bin/python3-*
+		vmove ${py3_sitelib}/PyQt5/pylupdate.so
+		vmove ${py3_sitelib}/PyQt5/pylupdate_main.py
+		vmove ${py3_sitelib}/PyQt5/pyrcc.so
+		vmove ${py3_sitelib}/PyQt5/pyrcc_main.py
+	}
+}
+python3-PyQt5-devel_package() {
+	depends="sip5 python3-PyQt5-${version}_${revision}"
+	short_desc+=" - development files"
+	conflicts="python-PyQt5-devel>=0"
+	pkg_install() {
+		vmove usr/share/sip
+	}
+}
+python3-PyQt5-dbus_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision} python3-dbus"
+	short_desc="${short_desc} - dbus support"
+	pkg_install() {
+		vmove ${py3_sitelib}/dbus/mainloop/pyqt5.so
+	}
+}
+python3-PyQt5-connectivity_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - connectivity module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtBluetooth.pyi
+		vmove ${py3_sitelib}/PyQt5/QtBluetooth.so
+		vmove ${py3_sitelib}/PyQt5/QtNfc.pyi
+		vmove ${py3_sitelib}/PyQt5/QtNfc.so
+	}
+}
+python3-PyQt5-multimedia_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - multimedia module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtMultimedia.pyi
+		vmove ${py3_sitelib}/PyQt5/QtMultimedia.so
+		vmove ${py3_sitelib}/PyQt5/QtMultimediaWidgets.pyi
+		vmove ${py3_sitelib}/PyQt5/QtMultimediaWidgets.so
+	}
+}
+python3-PyQt5-networkauth_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - networkauth module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtNetworkAuth.pyi
+		vmove ${py3_sitelib}/PyQt5/QtNetworkAuth.so
+	}
+}
+python3-PyQt5-opengl_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - opengl module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtOpenGL.pyi
+		vmove ${py3_sitelib}/PyQt5/QtOpenGL.so
+		if [ -z "$CROSS_BUILD" ]; then
+			vmove ${py3_sitelib}/PyQt5/_QOpenGLFunctions_*.so
+		fi
+	}
+}
+python3-PyQt5-location_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - location module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtLocation.pyi
+		vmove ${py3_sitelib}/PyQt5/QtLocation.so
+		vmove ${py3_sitelib}/PyQt5/QtPositioning.pyi
+		vmove ${py3_sitelib}/PyQt5/QtPositioning.so
+	}
+}
+python3-PyQt5-quick_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - quick module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtQml.pyi
+		vmove ${py3_sitelib}/PyQt5/QtQml.so
+		vmove ${py3_sitelib}/PyQt5/QtQuick.pyi
+		vmove ${py3_sitelib}/PyQt5/QtQuick.so
+		vmove ${py3_sitelib}/PyQt5/QtQuickWidgets.pyi
+		vmove ${py3_sitelib}/PyQt5/QtQuickWidgets.so
+		vmove usr/lib/qt5/plugins/PyQt5/libpyqt5qmlplugin.so
+	}
+}
+python3-PyQt5-sensors_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - sensors module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtSensors.pyi
+		vmove ${py3_sitelib}/PyQt5/QtSensors.so
+	}
+}
+python3-PyQt5-serialport_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - serialport module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtSerialPort.pyi
+		vmove ${py3_sitelib}/PyQt5/QtSerialPort.so
+	}
+}
+python3-PyQt5-sql_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - sql module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtSql.pyi
+		vmove ${py3_sitelib}/PyQt5/QtSql.so
+	}
+}
+python3-PyQt5-svg_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - svg module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtSvg.pyi
+		vmove ${py3_sitelib}/PyQt5/QtSvg.so
+	}
+}
+python3-PyQt5-tools_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - designer, help modules"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtHelp.pyi
+		vmove ${py3_sitelib}/PyQt5/QtHelp.so
+		vmove ${py3_sitelib}/PyQt5/QtDesigner.pyi
+		vmove ${py3_sitelib}/PyQt5/QtDesigner.so
+		vmove usr/lib/qt5/plugins/designer/libpyqt5.so
+	}
+}
+python3-PyQt5-webchannel_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - webchannel module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtWebChannel.pyi
+		vmove ${py3_sitelib}/PyQt5/QtWebChannel.so
+	}
+}
+python3-PyQt5-webkit_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - webkit module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtWebKit.pyi
+		vmove ${py3_sitelib}/PyQt5/QtWebKit.so
+		vmove ${py3_sitelib}/PyQt5/QtWebKitWidgets.pyi
+		vmove ${py3_sitelib}/PyQt5/QtWebKitWidgets.so
+	}
+}
+python3-PyQt5-websockets_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - websockets module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtWebSockets.pyi
+		vmove ${py3_sitelib}/PyQt5/QtWebSockets.so
+	}
+}
+python3-PyQt5-x11extras_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - x11extras module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtX11Extras.pyi
+		vmove ${py3_sitelib}/PyQt5/QtX11Extras.so
+	}
+}
+python3-PyQt5-xmlpatterns_package() {
+	lib32disabled=yes
+	depends="python3-PyQt5-${version}_${revision}"
+	short_desc="${short_desc} - xmlpatterns module"
+	pkg_install() {
+		vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.pyi
+		vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.so
+	}
+}
diff --git a/srcpkgs/python3-PyQt5/update b/srcpkgs/python3-PyQt5/update
new file mode 100644
index 00000000000..0a0526fd4a8
--- /dev/null
+++ b/srcpkgs/python3-PyQt5/update
@@ -0,0 +1 @@
+pkgname="PyQt5"

From 1901deabf3bd764924f6e147ba35d598b1d85ba2 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Thu, 6 Aug 2020 10:24:55 +0200
Subject: [PATCH 6/6] python3-PyQt5-webengine: update to 5.15.0

---
 srcpkgs/python-PyQt5-webengine/template  | 55 ++++++------------------
 srcpkgs/python3-PyQt5-webengine          |  1 -
 srcpkgs/python3-PyQt5-webengine/template | 42 ++++++++++++++++++
 srcpkgs/python3-PyQt5-webengine/update   |  1 +
 4 files changed, 57 insertions(+), 42 deletions(-)
 delete mode 120000 srcpkgs/python3-PyQt5-webengine
 create mode 100644 srcpkgs/python3-PyQt5-webengine/template
 create mode 100644 srcpkgs/python3-PyQt5-webengine/update

diff --git a/srcpkgs/python-PyQt5-webengine/template b/srcpkgs/python-PyQt5-webengine/template
index a60800b52d7..77269c0140a 100644
--- a/srcpkgs/python-PyQt5-webengine/template
+++ b/srcpkgs/python-PyQt5-webengine/template
@@ -3,9 +3,9 @@ pkgname=python-PyQt5-webengine
 version=5.13.2
 revision=5
 wrksrc="PyQtWebEngine-${version}"
-hostmakedepends="pkg-config qt5-qmake python python-PyQt5 python3-PyQt5"
+hostmakedepends="pkg-config qt5-qmake python python-PyQt5"
 makedepends="qt5-declarative-devel qt5-webchannel-devel qt5-location-devel
- qt5-webengine-devel python-devel python3-devel python-PyQt5-devel"
+ qt5-webengine-devel python-devel python-PyQt5-devel"
 depends="python-PyQt5>=${version}_1 python-PyQt5-webchannel>=${version}_1"
 short_desc="Python2 bindings for the Qt5 toolkit - webengine module"
 maintainer="Alessio Sergi <al3hex@gmail.com>"
@@ -22,50 +22,23 @@ case "$XBPS_TARGET_MACHINE" in
 	arm*) broken="depends on qt5-webengine";;
 esac
 
-pre_build() {
-	mkdir -p pyqt5-${py2_ver}
-	mv * pyqt5-${py2_ver} || true
-	cp -a pyqt5-${py2_ver} pyqt5-${py3_ver}
-	rm -rf pyqt5-${py2_ver}/pyuic/uic/port_v3
-	rm -rf pyqt5-${py3_ver}/pyuic/uic/port_v2
+post_extract() {
+	rm -rf pyuic/uic/port_v3
 }
 
-do_build() {
-	for pyver in $py2_ver $py3_ver; do
-		cd $wrksrc/pyqt5-$pyver
-
-		python${pyver} configure.py --no-dist-info \
-			QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" \
-			QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
-			QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}"
-			QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
+do_configure() {
+	python2 configure.py --no-dist-info \
+		QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" \
+		QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
+		QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}"
+		QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
+}
 
-		make ${makejobs}
-	done
+do_build() {
+	make ${makejobs}
 }
 
 do_install() {
-	# install python-pyqt5
-	make -C pyqt5-${py2_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
-
-	# install python3-pyqt5
-	make -C pyqt5-${py3_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
-
-	# remove unneeded shared files
+	make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
 	rm -rf ${DESTDIR}/usr/share
 }
-
-python3-PyQt5-webengine_package() {
-	lib32disabled=yes
-	depends="python3-PyQt5>=${version}_1
-	 python3-PyQt5-webchannel>=${version}_1"
-	short_desc="${short_desc/Python2/Python3}"
-	pkg_install() {
-		vmove ${py3_sitelib}/PyQt5/QtWebEngine.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebEngine.so
-		vmove ${py3_sitelib}/PyQt5/QtWebEngineCore.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebEngineCore.so
-		vmove ${py3_sitelib}/PyQt5/QtWebEngineWidgets.pyi
-		vmove ${py3_sitelib}/PyQt5/QtWebEngineWidgets.so
-	}
-}
diff --git a/srcpkgs/python3-PyQt5-webengine b/srcpkgs/python3-PyQt5-webengine
deleted file mode 120000
index 0cd8ebf622a..00000000000
--- a/srcpkgs/python3-PyQt5-webengine
+++ /dev/null
@@ -1 +0,0 @@
-python-PyQt5-webengine
\ No newline at end of file
diff --git a/srcpkgs/python3-PyQt5-webengine/template b/srcpkgs/python3-PyQt5-webengine/template
new file mode 100644
index 00000000000..5397203d89c
--- /dev/null
+++ b/srcpkgs/python3-PyQt5-webengine/template
@@ -0,0 +1,42 @@
+# Template file for 'python3-PyQt5-webengine'
+pkgname=python3-PyQt5-webengine
+version=5.15.0
+revision=1
+wrksrc="PyQtWebEngine-${version}"
+hostmakedepends="pkg-config qt5-qmake python3-PyQt5 sip5"
+makedepends="qt5-declarative-devel qt5-webchannel-devel qt5-location-devel
+ qt5-webengine-devel python3-devel python3-PyQt5-devel"
+depends="python3-PyQt5>=${version}_1 python3-PyQt5-webchannel>=${version}_1"
+short_desc="Python 3 bindings for the Qt5 toolkit - webengine module"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-3.0-only"
+homepage="https://www.riverbankcomputing.com/software/pyqtwebengine/intro"
+distfiles="${PYPI_SITE}/P/PyQtWebEngine/PyQtWebEngine-${version}.tar.gz"
+checksum=670812688e40bf75f70ddf01eadd897d231300318d3856b275bf8e7e0085bf75
+lib32disabled=yes
+nocross="configure script is broken for cross builds"
+
+case "$XBPS_TARGET_MACHINE" in
+	ppc64le*) ;;
+	ppc*) broken="no webengine for big endian ppc";;
+	arm*) broken="depends on qt5-webengine";;
+esac
+
+pre_build() {
+	rm -rf pyuic/uic/port_v2
+}
+
+do_build() {
+	python3 configure.py --no-dist-info \
+		QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" \
+		QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
+		QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}"
+		QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
+
+	make ${makejobs}
+}
+
+do_install() {
+	make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
+	rm -rf ${DESTDIR}/usr/share
+}
diff --git a/srcpkgs/python3-PyQt5-webengine/update b/srcpkgs/python3-PyQt5-webengine/update
new file mode 100644
index 00000000000..07d64e6f49d
--- /dev/null
+++ b/srcpkgs/python3-PyQt5-webengine/update
@@ -0,0 +1 @@
+pkgname="PyQtWebEngine"

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-08-13  0:45 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-10  0:48 [PR PATCH] PyQt5 5.15.0 sgn
2020-08-10  0:50 ` sgn
2020-08-10  6:09 ` [PR REVIEW] " not-chicken
2020-08-10 11:24 ` sgn
2020-08-10 11:26 ` sgn
2020-08-10 11:51 ` not-chicken
2020-08-10 15:31 ` [PR PATCH] [Updated] " sgn
2020-08-11 15:37 ` sgn
2020-08-11 15:37 ` sgn
2020-08-11 16:30 ` sgn
2020-08-12 11:42 ` sgn
2020-08-12 11:42 ` sgn
2020-08-12 11:42 ` sgn
2020-08-12 11:44 ` sgn
2020-08-12 11:45 ` sgn
2020-08-13  0:45 ` [PR PATCH] [Merged]: " sgn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).