From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3BCD6158021 for ; Sun, 25 Dec 2022 17:50:07 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 574F3E08BD; Sun, 25 Dec 2022 17:50:06 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 23B58E08BD for ; Sun, 25 Dec 2022 17:50:06 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 136283410E8 for ; Sun, 25 Dec 2022 17:50:05 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 753AF7F0 for ; Sun, 25 Dec 2022 17:50:03 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1671990597.5a871b7047727804da1fa604da098ba2b9dbbbe6.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/QtPy/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/QtPy/Manifest dev-python/QtPy/QtPy-2.1.0-r4.ebuild dev-python/QtPy/QtPy-2.2.0.ebuild dev-python/QtPy/QtPy-2.2.1.ebuild dev-python/QtPy/metadata.xml X-VCS-Directories: dev-python/QtPy/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 5a871b7047727804da1fa604da098ba2b9dbbbe6 X-VCS-Branch: master Date: Sun, 25 Dec 2022 17:50:03 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: f8b801f5-ee21-442c-92c5-c33d97ffea51 X-Archives-Hash: 93c255465c54e79c41b83d3508f1be3f commit: 5a871b7047727804da1fa604da098ba2b9dbbbe6 Author: Michał Górny gentoo org> AuthorDate: Sun Dec 25 17:47:31 2022 +0000 Commit: Michał Górny gentoo org> CommitDate: Sun Dec 25 17:49:57 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a871b70 dev-python/QtPy: Remove old Signed-off-by: Michał Górny gentoo.org> dev-python/QtPy/Manifest | 3 - dev-python/QtPy/QtPy-2.1.0-r4.ebuild | 144 ------------------------ dev-python/QtPy/QtPy-2.2.0.ebuild | 207 ----------------------------------- dev-python/QtPy/QtPy-2.2.1.ebuild | 207 ----------------------------------- dev-python/QtPy/metadata.xml | 6 - 5 files changed, 567 deletions(-) diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest index da928d090655..91b7071dba66 100644 --- a/dev-python/QtPy/Manifest +++ b/dev-python/QtPy/Manifest @@ -1,4 +1 @@ -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 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/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 @@ Use dev-python/PyQt6 as Qt for Python implementation Use dev-python/pyside2 as Qt for Python implementation Use dev-python/pyside6 as Qt for Python implementation - Build bindings for the QtQml and QtQuick modules and enable the qmlscene plugin Pull in bindings for the QtDesigner module and enable the designer plugin Pull in bindings for the QtGui module Pull in bindings for the QtHelp module - Pull in bindings for the QtLocation module Pull in QtMultimedia and QtMultimediaWidgets modules Pull in bindings for the QtNetwork module Pull in bindings for the QtOpenGL module @@ -31,9 +29,7 @@ Pull in bindings for the QtPrintSupport module Build bindings for the QtQml Build bindings for the QtQuick - Pull in bindings for the QtSensors module Pull in bindings for the QtSerialPort module - Build bindings for the QtTextToSpeech module Pull in bindings for the QtSql module Pull in bindings for the QtSvg module Pull in bindings for the QtTest module @@ -41,8 +37,6 @@ Pull in QtWebEngine and QtWebEngineWidgets modules Pull in bindings for the QtWebSockets module Pull in bindings for the QtWidgets module - Pull in bindings for the QtX11Extras module - Pull in bindings for the QtXmlPatterns module Pull in QtXml module