diff options
Diffstat (limited to 'dev-python/QtPy')
-rw-r--r-- | dev-python/QtPy/Manifest | 7 | ||||
-rw-r--r-- | dev-python/QtPy/QtPy-1.9.0-r3.ebuild (renamed from dev-python/QtPy/QtPy-1.9.0-r2.ebuild) | 7 | ||||
-rw-r--r-- | dev-python/QtPy/QtPy-1.9.0-r5.ebuild (renamed from dev-python/QtPy/QtPy-1.9.0-r4.ebuild) | 90 | ||||
-rw-r--r-- | dev-python/QtPy/files/QtPy-1.9.0-python3_9.patch | 13 | ||||
-rw-r--r-- | dev-python/QtPy/metadata.xml | 3 |
5 files changed, 81 insertions, 39 deletions
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest index 1626c4f9de1e..d46fe415bec4 100644 --- a/dev-python/QtPy/Manifest +++ b/dev-python/QtPy/Manifest @@ -1,4 +1,5 @@ +AUX QtPy-1.9.0-python3_9.patch 401 BLAKE2B a28d4344fd4dfed3270d4dcfeae7df6a12ed38fcab779dcbf3e43798a0385960b3fa45e5077ef9c7d00cb9fe69e84653668a09c50c5ba9dfb5eb13e7b23cb554 SHA512 c0996c53cd3b7401986c11510cbe9717ec7448c9b4d6acfed43d64c2c4035e6d474c90783f7d26d8eb530c9ad91297e02d4b27c95fc1ed026344273be455404e DIST QtPy-1.9.0.tar.gz 35522 BLAKE2B 05b700c1f804cc535c3065c8f819d1d7fb0e02d43f199082d2e0d2c575ff8dbfdbf0053ddb3b155108cf55350ff4daf75166ab39a60374a35a86a1707724a4a1 SHA512 2492c531f0df3afc9e0f8875a2b2e39cc8b09542fb9f251900b8596c0db7767390bb85365cc39efd6cd37ae852a00655354e6f9f3d795023e4fd86dbf8bd5fa7 -EBUILD QtPy-1.9.0-r2.ebuild 1843 BLAKE2B 59c654a4b01a6ac224f52dfbaf76b9e8fd4d700f86cf19e9e550fbbbe9d902eab2df7c635c14ba9ba4dca765f8f5eca2ca1b484795357df063484decb8c65f6b SHA512 c07139bee6407ca790c96e75eef4697e4e4463f32627438b8c4027274eefcf9dc7718ab03725184885d9ec020db966ce253a4733f7009e79947dff725643f04b -EBUILD QtPy-1.9.0-r4.ebuild 4991 BLAKE2B 4ba264b82b412c0e6d8be3695beb0289cc459ce090cbe14dc8a512deba70bed9a740e9536ce92378c7bc3b82f3396cf1fdcd3b3518801d901ec616b064771e75 SHA512 9d6e0404eee155d8dc0f955a3f0a3db83bc550f67492c273241dfaf76ff6b055a926edbea8adfa5db20f9c8438d6f20a3317252f106ad0ca7fa3193d64fc4027 -MISC metadata.xml 2827 BLAKE2B de510df924a4d14ee8bbd6872e263b149380bd95ac71163aeb70fea9aefc4b197a8ca3d66c20a7e41131e6d7776d104cb33e6e9db919e2733bfb649a927c7341 SHA512 24b7e2e13a8acb2c6019d37231e39ecbee79175f523ddbb9d1cf9a560271f4c96dacb9626ad47bf278e43a5fe6a3a9d13bec5749860d494efcc61e9877f46c69 +EBUILD QtPy-1.9.0-r3.ebuild 1985 BLAKE2B 82aaa05d5afd83b1ecaed22a5f0b69fe03c9520dbdcb847004447361e49cd47e02276a07abd866d4fc601ebca9d93e24f70d73ea4729a7b3eedc5e40f51701d5 SHA512 d4225cdb1b33c28f8c31a6253fdb52d5a55c27a539e1632bf4c375c38357d9000447a549049949e850cc0b1d5b3f9ba9f5c63b4dca35ad8176bc109bc2e029f7 +EBUILD QtPy-1.9.0-r5.ebuild 5743 BLAKE2B 14d6fd460701ecab1524aaccd4edf0a22a6ab39da9c24b47d7177e939d03f5b1b9ca0b0bf3fd960f216d15fbc2e8f86e433dc63ec9ba88851ee3035ab44d7326 SHA512 55cde53b372dbf8bd86b81ce58062253473f7a34552c7236950aa201db19acd16d50009b1dc401a4e566249e88427a056f99cc2caf22e65eaeb6be48474d5c5d +MISC metadata.xml 2903 BLAKE2B d3efb9532ee6bf7bb8d995baf356d022be803b0c0649c01558087f62bdb9b7751f4fa1df63d57916faa701cfe1111ab23c31f8f4badad2944a4522eba2d85068 SHA512 8af6cde3b273124f804aa6d91448baa3344982aa6f533ded0492296c27cc630782356397d11bc4b8289d7c081849402e780a79a18b086ab93632c1baf3615025 diff --git a/dev-python/QtPy/QtPy-1.9.0-r2.ebuild b/dev-python/QtPy/QtPy-1.9.0-r3.ebuild index 8e1f50a8e472..7ee5dea86d8e 100644 --- a/dev-python/QtPy/QtPy-1.9.0-r2.ebuild +++ b/dev-python/QtPy/QtPy-1.9.0-r3.ebuild @@ -30,7 +30,11 @@ RDEPEND=" BDEPEND=" test? ( dev-python/mock[${PYTHON_USEDEP}] - dev-python/PyQt5[${PYTHON_USEDEP},bluetooth,dbus,declarative,designer,gui,help,location,multimedia,network,networkauth,opengl,positioning,printsupport,sensors,serialport,sql,ssl,svg,testlib,webchannel,webkit,websockets,widgets,x11extras,xml(+),xmlpatterns] + dev-python/PyQt5[${PYTHON_USEDEP}] + dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location] + dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport] + dev-python/PyQt5[sensors,serialport,sql,svg,testlib,webchannel] + dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns] dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )" @@ -40,6 +44,7 @@ src_prepare() { default sed -i -e "s/from PyQt4.Qt import/raise ImportError #/" qtpy/__init__.py || die + sed -i -e "s/from PyQt4.QtCore import/raise ImportError #/" qtpy/__init__.py || die sed -i -e "s/from PySide import/raise ImportError #/" qtpy/__init__.py || die sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die } diff --git a/dev-python/QtPy/QtPy-1.9.0-r4.ebuild b/dev-python/QtPy/QtPy-1.9.0-r5.ebuild index 0aa58b9aaab0..b1afa53aa7d3 100644 --- a/dev-python/QtPy/QtPy-1.9.0-r4.ebuild +++ b/dev-python/QtPy/QtPy-1.9.0-r5.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7..8} ) +PYTHON_COMPAT=( python3_{7..10} ) inherit distutils-r1 virtualx @@ -17,23 +17,25 @@ KEYWORDS="~amd64 ~arm64 ~x86" _IUSE_QT_MODULES=" declarative designer gui help location multimedia network opengl - positioning printsupport sensors serialport sql svg testlib webchannel - webengine websockets widgets x11extras xml xmlpatterns + positioning printsupport sensors serialport speech sql svg testlib + webchannel webengine websockets widgets x11extras xml xmlpatterns " IUSE="+pyqt5 pyside2 ${_IUSE_QT_MODULES}" unset _IUSE_QT_MODULES +# PySide2 does not support python3_10, nor is it likely that it will in the +# future since upstream appears to be focussing on PySide6 for Qt6 instead +# (which is compatible with python3_10). So if we want to use python3_10 +# we have to force disable pyside2. REQUIRED_USE=" || ( pyqt5 pyside2 ) - test? ( pyqt5 pyside2 ) + python_targets_python3_10? ( pyqt5 !pyside2 ) " # These flags are currently *not* common to both the PySide2 and PyQt5 ebuild # Disable them for now, please check periodically if this is still up to date. # bluetooth? ( pyqt5 ) # dbus? ( pyqt5 ) -# networkauth? ( pyqt5 ) -# webkit? ( pyqt5 ) # # 3d? ( pyside2 ) # charts? ( pyside2 ) @@ -42,7 +44,6 @@ REQUIRED_USE=" # scxml? ( pyside2 ) # script? ( pyside2 ) # scripttools? ( pyside2 ) -# speech? ( pyside2 ) # WARNING: the obvious solution of using || for PyQt5/pyside2 is not going # to work. The package only checks whether PyQt5/pyside2 is installed, it does @@ -66,19 +67,21 @@ RDEPEND=" dev-python/PyQt5[${PYTHON_USEDEP}] dev-python/PyQt5[declarative?,designer?,gui?,help?,location?] dev-python/PyQt5[multimedia?,network?,opengl?,positioning?] - dev-python/PyQt5[printsupport?,sensors?,serialport?,sql?,svg?] + dev-python/PyQt5[printsupport?,sensors?,serialport?,speech(-)?,sql?,svg?] dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?] dev-python/PyQt5[x11extras?,xml(+)?,xmlpatterns?] webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] ) ) pyside2? ( - dev-python/pyside2[${PYTHON_USEDEP}] - dev-python/pyside2[designer?,gui?,help?,location?,multimedia?] - dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?] - dev-python/pyside2[sensors?,serialport(+)?,sql?,svg?,testlib?] - dev-python/pyside2[webchannel?,webengine?,websockets?,widgets?] - dev-python/pyside2[x11extras?,xml?,xmlpatterns?] - declarative? ( dev-python/pyside2[qml,quick] ) + $(python_gen_cond_dep ' + dev-python/pyside2[${PYTHON_USEDEP}] + dev-python/pyside2[designer?,gui?,help?,location?,multimedia?] + dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?] + dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?] + dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?] + dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?] + declarative? ( dev-python/pyside2[qml,quick] ) + ' python3_{7..9} ) ) " @@ -88,24 +91,35 @@ RDEPEND=" BDEPEND=" test? ( dev-python/mock[${PYTHON_USEDEP}] - dev-python/PyQt5[${PYTHON_USEDEP}] - dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location] - dev-python/PyQt5[multimedia,network,networkauth,opengl,positioning] - dev-python/PyQt5[printsupport,sensors,serialport,sql,svg,testlib] - dev-python/PyQt5[webchannel,websockets,widgets,x11extras,xml(+)] - dev-python/PyQt5[xmlpatterns] - dev-python/PyQtWebEngine[${PYTHON_USEDEP}] - dev-python/pyside2[${PYTHON_USEDEP}] - dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help] - dev-python/pyside2[location,multimedia,network,opengl(+),positioning] - dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml] - dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib] - dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras] - dev-python/pyside2[xml,xmlpatterns] -)" + pyqt5? ( + dev-python/PyQt5[${PYTHON_USEDEP}] + dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location] + dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport] + dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel] + dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns] + dev-python/PyQtWebEngine[${PYTHON_USEDEP}] + ) + pyside2? ( + $(python_gen_cond_dep ' + dev-python/pyside2[${PYTHON_USEDEP}] + dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help] + dev-python/pyside2[location,multimedia,network,opengl(+),positioning] + dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml] + dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib] + dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras] + dev-python/pyside2[xml,xmlpatterns] + ' python3_{7..9} ) + ) + ) +" distutils_enable_tests pytest +# https://github.com/spyder-ide/qtpy/issues/238 +PATCHES=( + "${FILESDIR}/${P}-python3_9.patch" +) + src_prepare() { default if ! use pyqt5; then @@ -113,12 +127,14 @@ src_prepare() { fi if ! use pyside2; then sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die + sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die fi # Disable outdated PyQt4 and PySide sed -i -e "s/from PyQt4.Qt import/raise ImportError #/" qtpy/__init__.py || die sed -i -e "s/from PyQt4.QtCore import/raise ImportError #/" qtpy/__init__.py || die sed -i -e "s/from PySide import/raise ImportError #/" qtpy/__init__.py || die + sed -i -e "s/from PySide.QtCore import/raise ImportError #/" qtpy/__init__.py || die } src_test() { @@ -126,10 +142,16 @@ src_test() { } python_test() { - local -x QT_API - for QT_API in pyqt5 pyside2; do - epytest - done + if use pyqt5; then + QT_API="pyqt5" epytest + fi + if use pyside2; then + if [[ "${EPYTHON}" == "python3.10" ]]; then + return + else + QT_API="pyside2" epytest + fi + fi } pkg_postinst() { diff --git a/dev-python/QtPy/files/QtPy-1.9.0-python3_9.patch b/dev-python/QtPy/files/QtPy-1.9.0-python3_9.patch new file mode 100644 index 000000000000..7a3d812f1771 --- /dev/null +++ b/dev-python/QtPy/files/QtPy-1.9.0-python3_9.patch @@ -0,0 +1,13 @@ +diff --git a/qtpy/uic.py b/qtpy/uic.py +index 07d7a78..84525ab 100644 +--- a/qtpy/uic.py ++++ b/qtpy/uic.py +@@ -181,7 +181,7 @@ else: + + custom_widget_classes = {} + +- for custom_widget in custom_widgets.getchildren(): ++ for custom_widget in list(custom_widgets): + + cw_class = custom_widget.find('class').text + cw_header = custom_widget.find('header').text diff --git a/dev-python/QtPy/metadata.xml b/dev-python/QtPy/metadata.xml index 9bf18f126510..8238afd31862 100644 --- a/dev-python/QtPy/metadata.xml +++ b/dev-python/QtPy/metadata.xml @@ -17,7 +17,7 @@ <use> <flag name="pyqt5">Use <pkg>dev-python/PyQt5</pkg> as Qt for Python implementation</flag> <flag name="pyside2">Use <pkg>dev-python/pyside2</pkg> as Qt for Python implementation</flag> - <flag name="declarative">Pull in bindings for the QtQml/QtQuick modules and enable the qmlscene plugin</flag> + <flag name="declarative">Build bindings for the QtQml and QtQuick modules and enable the qmlscene plugin</flag> <flag name="designer">Pull in bindings for the QtDesigner module and enable the designer plugin</flag> <flag name="gui">Pull in bindings for the QtGui module</flag> <flag name="help">Pull in bindings for the QtHelp module</flag> @@ -29,6 +29,7 @@ <flag name="printsupport">Pull in bindings for the QtPrintSupport module</flag> <flag name="sensors">Pull in bindings for the QtSensors module</flag> <flag name="serialport">Pull in bindings for the QtSerialPort module</flag> + <flag name="speech">Build bindings for the QtTextToSpeech module</flag> <flag name="sql">Pull in bindings for the QtSql module</flag> <flag name="svg">Pull in bindings for the QtSvg module</flag> <flag name="testlib">Pull in bindings for the QtTest module</flag> |