diff options
Diffstat (limited to 'dev-python/QtPy')
-rw-r--r-- | dev-python/QtPy/Manifest | 10 | ||||
-rw-r--r-- | dev-python/QtPy/QtPy-2.1.0-r4.ebuild | 144 | ||||
-rw-r--r-- | dev-python/QtPy/QtPy-2.2.0.ebuild | 207 | ||||
-rw-r--r-- | dev-python/QtPy/QtPy-2.2.1.ebuild | 207 | ||||
-rw-r--r-- | dev-python/QtPy/QtPy-2.3.0.ebuild | 2 | ||||
-rw-r--r-- | dev-python/QtPy/metadata.xml | 6 |
6 files changed, 3 insertions, 573 deletions
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest index 547fe1675116..6d7e73471fab 100644 --- a/dev-python/QtPy/Manifest +++ b/dev-python/QtPy/Manifest @@ -1,9 +1,3 @@ -DIST QtPy-2.1.0.tar.gz 46470 BLAKE2B 2e032d141ad134444143cd59b8952957b226d9519925083aecce82adf62eebd3f58803cf548c4142fb1ece6f0e2340043a82a7aef056f6e4a9ac8b9caf72d80d SHA512 052cab4218d23d46162d11bf038dccfe6200b05c1c8647bd1f9dcbdaa7af50c23d4ae85829e065c7bae57630d149d562d76cc78202b4f448cbf6547010c746ff -DIST QtPy-2.2.0.tar.gz 51573 BLAKE2B 5db2be83c74fa241cbec6818fbf5b5a8ecf681fdb2813cd51b011342eb8f0f2463c0a9f251e791f6051fa3276ad1e502f7e51bf0dcd2d3192bd76d0119dc8b16 SHA512 b0e7696c7861942c16749dc5f5ccbfd038f7fc2b1defbf372885223c4100805cada9bbb2f5bdae1f1c642b52d480d6e0048e221d9efd3f3103da54e6e2bfd0ff -DIST QtPy-2.2.1.tar.gz 52207 BLAKE2B c2fa3e7ab0bcb2fc5610bdbab57daa6e4bbbfa346f46fbba8dd9d5d9e592e4f7a2f54aa0cf7291222dca9c2db4b944abeff36513f044f86fce294b1d00261cae SHA512 9c0887880984aabcc2633ec7aa161726f295ff20c9c95db5bcd9121676e49017b8033412172b257ae29311a1d3fc42b9eb183cc48fe5d64c9a471211ec6fbc11 DIST QtPy-2.3.0.tar.gz 53980 BLAKE2B 142694c3b10dc2ed46c168a063c0019928358d079dddfef0708ec8cabd782e206734bc0f680a7ee7309b483c56ecd739b3364061eaf190a1a9c9e41d940af202 SHA512 1fa3d52367fa70ca178a128f3cc95f333b1408dd88b9f9d15ef30b4c7f848a91df1626fa046667ce6bd6ee3f7a3909f1b3fb06b902eff26e1f058139eced73c6 -EBUILD QtPy-2.1.0-r4.ebuild 5251 BLAKE2B fbbb485a5703c749cb2b8f54618120c816cea37965400161c725eb4257ae152d6cade5105d81eea9c82cf978e1f84f7780c2df60ad8026fc66dfc1e6004fbabb SHA512 3ac53baabe109d68d2b42ce1574de34046239c1cff8abe5ae1b724a55b26a626bdae094c028adc485893a5c07a9144a0f8d7ec65836d474d4807716281e911ad -EBUILD QtPy-2.2.0.ebuild 8343 BLAKE2B 538c9b28271cdb558bf2695fc13fd09087fd4692ffe381b447ac196c4ca86daf216bf7181341387e0a57365a4b7bfb7dea8f52312ad60f24a2d86694dff0aab8 SHA512 a81528f384166f73c634302c7f7481eb3d90e07716ca7adb225284eb619ee9b8d4d3d983ab3fabaf3c63cab83e300cfebc68f73f15d2c3313809bf97cb234a5c -EBUILD QtPy-2.2.1.ebuild 8341 BLAKE2B 28f1a46ad0a7f06c17ebd230cc2fbbef5e89afa4ad5f1fd5436597823fa144f7bd6b8cd3eba88a4e32a824e2ccd494541ab3c21f0b40b84933aa09a95cd0ee4b SHA512 a07182b7c97911f537bed29503a70e528f2c840c54d19ff358daf5f9df806461f6b3da52f17e90d5cc1fbadc4c960ca80ff85ff383b87ee2b56ab4c123850be6 -EBUILD QtPy-2.3.0.ebuild 8356 BLAKE2B aa4f49cb918d96cbcf3a331675a2a46061ae9e414200fb145fae801493a3f41764fc0c5a282668851cb3d3d32bbab84d8eff21e12050ced35fe814279bedec2a SHA512 01271d57af646fda90c9885936af2312a8eb7792209226838745f339fe0ee4f11a4c95bfcdec10602dd92702cbb274523ed72d225cec8325ed0a9b3b6657ded5 -MISC metadata.xml 3206 BLAKE2B c5f30891361513c0f1242052e119558179485057e38bf41355c1bfff2de038054df314ea5a8c63616541c0c0f5b2f3835d74771cbc764047c8a5149529fa3598 SHA512 0eb58b11a04a1d55bf6496df37d05a1252a67ddf9ddeefba6642959f8c7ec243a32b587de9fc9507d56ac6eada5a5a5fd4e40b256ede0b0b02063151a4e386ea +EBUILD QtPy-2.3.0.ebuild 8353 BLAKE2B ccbc256023dbcf33a3ce76e96ed087b31f26d13beec5bbb0c6a801ae2b34c9d49557bae93f72b034109a4d109cb8d64150a2f3323ebaaeb11b2eca68f4619302 SHA512 699ba1a0975e115639cf30c88ce711411f5ec9f8af9062d4498131c58a10e4bd8c124c4bdd0da1735f02441e5c94042c4ceb89647f9e3df47827a46d08ffa0bd +MISC metadata.xml 2716 BLAKE2B 7c62f7b181608c56a8e9be69c05e2cb34e5f450682ea4e7ca6c4bff5f02cf4ff803d44dda356d2be3968464842d421b5ac7320fc4d08a430e7805f6e400a262f SHA512 62509ecf92f89453fea52a8c23accff778a5572b689428838d801470ab30f2e2cb85f9319a75afeb81c284d68fb2abe399714bb1410daa8ec896af1f17763347 diff --git a/dev-python/QtPy/QtPy-2.1.0-r4.ebuild b/dev-python/QtPy/QtPy-2.1.0-r4.ebuild deleted file mode 100644 index ddebeff472ae..000000000000 --- a/dev-python/QtPy/QtPy-2.1.0-r4.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8..11} ) - -inherit distutils-r1 virtualx - -DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and additional custom QWidgets" -HOMEPAGE=" - https://github.com/spyder-ide/qtpy/ - https://pypi.org/project/QtPy/ -" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 x86" - -_IUSE_QT_MODULES=" - declarative designer gui help location multimedia network opengl - 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 - -REQUIRED_USE=" - || ( 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 ) -# -# 3d? ( pyside2 ) -# charts? ( pyside2 ) -# concurrent? ( pyside2 ) -# datavis? ( pyside2 ) -# scxml? ( pyside2 ) -# script? ( pyside2 ) -# scripttools? ( 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 -# not verify whether they have the necessary modules (i.e. satisfy the USE dep). -# -# Webengine is a special case, because PyQt5 provides this in a separate package -# while PySide2 ships it in the same package. -# -# declarative/qml/quick is a special case, because PyQt5 bundles the bindings -# for qml and quick in one flag: declarative PySide2 does not. -# -# The PyQt5 ebuild currently enables xml support unconditionally, the flag is -# added anyway with a (+) to make it future proof if the ebuild were to change -# this behaviour in the future. -# -# The PySide2 ebuild currently enables opengl and serialport support -# unconditionally, the flag is added anyway with a (+) to make it future proof -# if the ebuild were to change this behaviour in the future. -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - pyqt5? ( - 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?,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(+)?,speech?,sql?,svg?] - dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?] - declarative? ( dev-python/pyside2[qml,quick] ) - ) -" - -# The QtPy testsuite skips tests for bindings that are not installed, so here we -# ensure that everything is available and all tests are run. Note that not -# all flags are available in PyQt5/PySide2, so some tests are still skipped. -BDEPEND=" - test? ( - dev-python/mock[${PYTHON_USEDEP}] - 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? ( - 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] - ) - ) -" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die - # Disable Qt for Python implementations that are not selected - if ! use pyqt5; then - sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die - 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 - sed -i -e "s/from PyQt6.QtCore import/raise ImportError #/" qtpy/__init__.py || die - sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die - sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py -} - -python_test() { - if use pyqt5; then - QT_API="pyqt5" virtx epytest - fi - if use pyside2; then - QT_API="pyside2" virtx epytest - fi -} - -pkg_postinst() { - if use pyqt5 && use pyside2; then - ewarn "You have enabled both PyQt5 and PySide2, note that QtPy will default" - ewarn "to PyQt5 unless the QT_API environment variable overrides this." - fi -} diff --git a/dev-python/QtPy/QtPy-2.2.0.ebuild b/dev-python/QtPy/QtPy-2.2.0.ebuild deleted file mode 100644 index 8886b6b5862d..000000000000 --- a/dev-python/QtPy/QtPy-2.2.0.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8..11} ) - -inherit distutils-r1 virtualx - -DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and additional custom QWidgets" -HOMEPAGE=" - https://github.com/spyder-ide/qtpy/ - https://pypi.org/project/QtPy/ -" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" - -_IUSE_QT_MODULES=" - designer +gui help multimedia +network opengl positioning - printsupport qml quick serialport +sql svg testlib - webchannel webengine websockets +widgets +xml -" -IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}" -unset _IUSE_QT_MODULES - -REQUIRED_USE="|| ( pyqt5 pyqt6 pyside2 pyside6 )" - -# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds -# Disable them for now, please check periodically if this is still up to date. -# bluetooth? ( pyqt5 only ) -# dbus? ( pyqt5 only ) -# -# 3d? ( pyside2 only ) -# charts? ( pyside2 only ) -# concurrent? ( pyside2 only ) -# datavis? ( pyside2 only ) -# scxml? ( pyside2 only ) -# script? ( pyside2 only ) -# scripttools? ( pyside2 only ) -# -# location? ( pyside2 and pyqt5 only ) -# sensors? ( pyside2 and pyqt5 only ) -# speech? ( pyside2 and pyqt5 only ) -# x11extras? ( pyside2 and pyqt5 only ) -# xmlpatterns? ( pyside2 and pyqt5 only ) - -# 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 -# not verify whether they have the necessary modules (i.e. satisfy the USE dep). -# -# Webengine is a special case, because PyQt5 provides this in a separate package -# while PySide2 ships it in the same package. -# -# declarative/qml/quick is a special case, because PyQt5 bundles the bindings -# for qml and quick in one flag: declarative PySide2 does not. -# -# The PyQt5 ebuild currently enables xml support unconditionally, the flag is -# added anyway with a (+) to make it future proof if the ebuild were to change -# this behaviour in the future. -# -# The PySide2 ebuild currently enables opengl and serialport support -# unconditionally, the flag is added anyway with a (+) to make it future proof -# if the ebuild were to change this behaviour in the future. -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - pyqt5? ( - dev-python/PyQt5[${PYTHON_USEDEP}] - dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/PyQt5[positioning?,printsupport?,serialport?,sql?,svg?] - dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?] - qml? ( dev-python/PyQt5[declarative] ) - quick? ( dev-python/PyQt5[declarative] ) - webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] ) - ) - pyqt6? ( - dev-python/PyQt6[${PYTHON_USEDEP}] - dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,serialport?,sql?] - dev-python/PyQt6[svg?,testlib?,webchannel?,websockets?,widgets?,xml?] - webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] ) - - ) - pyside2? ( - dev-python/pyside2[${PYTHON_USEDEP}] - dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?] - dev-python/pyside2[positioning?,printsupport?,qml?,quick?,serialport(+)?] - dev-python/pyside2[sql?,svg?,testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside2[widgets?,xml?] - ) - pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/pyside6[positioning?,printsupport?,qml?,quick?,serialport?] - dev-python/pyside6[sql?,svg?,testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside6[widgets?,xml?] - ) -" - -# The QtPy testsuite skips tests for bindings that are not installed, so here we -# ensure that everything is available and all tests are run. Note that not -# all flags are available in PyQt5/PySide2, so some tests are still skipped. -BDEPEND=" - test? ( - dev-python/mock[${PYTHON_USEDEP}] - 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}] - ) - pyqt6? ( - dev-python/PyQt6[${PYTHON_USEDEP}] - dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,opengl] - dev-python/PyQt6[positioning,printsupport,qml,quick,quick3d,serialport] - dev-python/PyQt6[sql,ssl,svg,testlib,webchannel,websockets,widgets,xml] - dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick] - ) - pyside2? ( - 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] - ) - pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[concurrent,dbus,designer,gui,help,multimedia] - dev-python/pyside6[network,opengl,positioning,printsupport,qml] - dev-python/pyside6[quick,quick3d,serialport,sql,svg,testlib] - dev-python/pyside6[webchannel,webengine,websockets,widgets,xml] - ) - ) -" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die - # Disable Qt for Python implementations that are not selected - if ! use pyqt5; then - sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die - fi - if ! use pyqt6; then - sed -i -e "s/from PyQt6.QtCore import/raise ImportError #/" qtpy/__init__.py || die - 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 - if ! use pyside6; then - sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die - sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die - fi -} - -python_test() { - # Test for each enabled Qt4Python target. - # Deselect the other targets, their test fails if we specify QT_API - # or if we have disabled their corresponding inherit in __init__.py above - if use pyqt5; then - einfo "Testing with ${EPYTHON} and QT_API=PyQt5" - QT_API="pyqt5" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] - fi - if use pyqt6; then - einfo "Testing with ${EPYTHON} and QT_API=PyQt6" - QT_API="pyqt6" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \ - --deselect qtpy/tests/test_qtsensors.py::test_qtsensors - # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild - fi - if use pyside2; then - einfo "Testing with ${EPYTHON} and QT_API=PySide2" - QT_API="pyside2" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] - fi - if use pyside6; then - einfo "Testing with ${EPYTHON} and QT_API=PySide6" - QT_API="pyside6" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \ - --deselect qtpy/tests/test_qtsensors.py::test_qtsensors - # Qt6Sensors not yet packaged and enabled in PySide6 ebuild - fi -} - -pkg_postinst() { - elog "When multiple Qt4Python targets are enabled QtPy will default to" - elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6." - elog "This can be overridden with the QT_API environment variable." -} diff --git a/dev-python/QtPy/QtPy-2.2.1.ebuild b/dev-python/QtPy/QtPy-2.2.1.ebuild deleted file mode 100644 index 3f6efa842b50..000000000000 --- a/dev-python/QtPy/QtPy-2.2.1.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8..11} ) - -inherit distutils-r1 virtualx - -DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets" -HOMEPAGE=" - https://github.com/spyder-ide/qtpy/ - https://pypi.org/project/QtPy/ -" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86" - -_IUSE_QT_MODULES=" - designer +gui help multimedia +network opengl positioning - printsupport qml quick serialport +sql svg testlib - webchannel webengine websockets +widgets +xml -" -IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}" -unset _IUSE_QT_MODULES - -REQUIRED_USE="|| ( pyqt5 pyqt6 pyside2 pyside6 )" - -# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds -# Disable them for now, please check periodically if this is still up to date. -# bluetooth? ( pyqt5 only ) -# dbus? ( pyqt5 only ) -# -# 3d? ( pyside2 only ) -# charts? ( pyside2 only ) -# concurrent? ( pyside2 only ) -# datavis? ( pyside2 only ) -# scxml? ( pyside2 only ) -# script? ( pyside2 only ) -# scripttools? ( pyside2 only ) -# -# location? ( pyside2 and pyqt5 only ) -# sensors? ( pyside2 and pyqt5 only ) -# speech? ( pyside2 and pyqt5 only ) -# x11extras? ( pyside2 and pyqt5 only ) -# xmlpatterns? ( pyside2 and pyqt5 only ) - -# 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 -# not verify whether they have the necessary modules (i.e. satisfy the USE dep). -# -# Webengine is a special case, because PyQt5 provides this in a separate package -# while PySide2 ships it in the same package. -# -# declarative/qml/quick is a special case, because PyQt5 bundles the bindings -# for qml and quick in one flag: declarative PySide2 does not. -# -# The PyQt5 ebuild currently enables xml support unconditionally, the flag is -# added anyway with a (+) to make it future proof if the ebuild were to change -# this behaviour in the future. -# -# The PySide2 ebuild currently enables opengl and serialport support -# unconditionally, the flag is added anyway with a (+) to make it future proof -# if the ebuild were to change this behaviour in the future. -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - pyqt5? ( - dev-python/PyQt5[${PYTHON_USEDEP}] - dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/PyQt5[positioning?,printsupport?,serialport?,sql?,svg?] - dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?] - qml? ( dev-python/PyQt5[declarative] ) - quick? ( dev-python/PyQt5[declarative] ) - webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] ) - ) - pyqt6? ( - dev-python/PyQt6[${PYTHON_USEDEP}] - dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,serialport?,sql?] - dev-python/PyQt6[svg?,testlib?,webchannel?,websockets?,widgets?,xml?] - webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] ) - - ) - pyside2? ( - dev-python/pyside2[${PYTHON_USEDEP}] - dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?] - dev-python/pyside2[positioning?,printsupport?,qml?,quick?,serialport(+)?] - dev-python/pyside2[sql?,svg?,testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside2[widgets?,xml?] - ) - pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/pyside6[positioning?,printsupport?,qml?,quick?,serialport?] - dev-python/pyside6[sql?,svg?,testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside6[widgets?,xml?] - ) -" - -# The QtPy testsuite skips tests for bindings that are not installed, so here we -# ensure that everything is available and all tests are run. Note that not -# all flags are available in PyQt5/PySide2, so some tests are still skipped. -BDEPEND=" - test? ( - dev-python/mock[${PYTHON_USEDEP}] - 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}] - ) - pyqt6? ( - dev-python/PyQt6[${PYTHON_USEDEP}] - dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,opengl] - dev-python/PyQt6[positioning,printsupport,qml,quick,quick3d,serialport] - dev-python/PyQt6[sql,ssl,svg,testlib,webchannel,websockets,widgets,xml] - dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick] - ) - pyside2? ( - 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] - ) - pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[concurrent,dbus,designer,gui,help,multimedia] - dev-python/pyside6[network,opengl,positioning,printsupport,qml] - dev-python/pyside6[quick,quick3d,serialport,sql,svg,testlib] - dev-python/pyside6[webchannel,webengine,websockets,widgets,xml] - ) - ) -" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die - # Disable Qt for Python implementations that are not selected - if ! use pyqt5; then - sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die - fi - if ! use pyqt6; then - sed -i -e "s/from PyQt6.QtCore import/raise ImportError #/" qtpy/__init__.py || die - 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 - if ! use pyside6; then - sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die - sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die - fi -} - -python_test() { - # Test for each enabled Qt4Python target. - # Deselect the other targets, their test fails if we specify QT_API - # or if we have disabled their corresponding inherit in __init__.py above - if use pyqt5; then - einfo "Testing with ${EPYTHON} and QT_API=PyQt5" - QT_API="pyqt5" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] - fi - if use pyqt6; then - einfo "Testing with ${EPYTHON} and QT_API=PyQt6" - QT_API="pyqt6" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \ - --deselect qtpy/tests/test_qtsensors.py::test_qtsensors - # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild - fi - if use pyside2; then - einfo "Testing with ${EPYTHON} and QT_API=PySide2" - QT_API="pyside2" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] - fi - if use pyside6; then - einfo "Testing with ${EPYTHON} and QT_API=PySide6" - QT_API="pyside6" virtx epytest \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \ - --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \ - --deselect qtpy/tests/test_qtsensors.py::test_qtsensors - # Qt6Sensors not yet packaged and enabled in PySide6 ebuild - fi -} - -pkg_postinst() { - elog "When multiple Qt4Python targets are enabled QtPy will default to" - elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6." - elog "This can be overridden with the QT_API environment variable." -} diff --git a/dev-python/QtPy/QtPy-2.3.0.ebuild b/dev-python/QtPy/QtPy-2.3.0.ebuild index 5f7066c51d79..e111f74f6011 100644 --- a/dev-python/QtPy/QtPy-2.3.0.ebuild +++ b/dev-python/QtPy/QtPy-2.3.0.ebuild @@ -17,7 +17,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" _IUSE_QT_MODULES=" designer +gui help multimedia +network opengl positioning diff --git a/dev-python/QtPy/metadata.xml b/dev-python/QtPy/metadata.xml index c28298ab205e..e748334bb8e6 100644 --- a/dev-python/QtPy/metadata.xml +++ b/dev-python/QtPy/metadata.xml @@ -19,11 +19,9 @@ <flag name="pyqt6">Use <pkg>dev-python/PyQt6</pkg> as Qt for Python implementation</flag> <flag name="pyside2">Use <pkg>dev-python/pyside2</pkg> as Qt for Python implementation</flag> <flag name="pyside6">Use <pkg>dev-python/pyside6</pkg> as Qt for Python implementation</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> - <flag name="location">Pull in bindings for the QtLocation module</flag> <flag name="multimedia">Pull in QtMultimedia and QtMultimediaWidgets modules</flag> <flag name="network">Pull in bindings for the QtNetwork module</flag> <flag name="opengl">Pull in bindings for the QtOpenGL module</flag> @@ -31,9 +29,7 @@ <flag name="printsupport">Pull in bindings for the QtPrintSupport module</flag> <flag name="qml">Build bindings for the QtQml</flag> <flag name="quick">Build bindings for the QtQuick</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> @@ -41,8 +37,6 @@ <flag name="webengine">Pull in QtWebEngine and QtWebEngineWidgets modules</flag> <flag name="websockets">Pull in bindings for the QtWebSockets module</flag> <flag name="widgets">Pull in bindings for the QtWidgets module</flag> - <flag name="x11extras">Pull in bindings for the QtX11Extras module</flag> - <flag name="xmlpatterns">Pull in bindings for the QtXmlPatterns module</flag> <flag name="xml">Pull in QtXml module</flag> </use> <upstream> |