commit:     1d14f1c12251ca25b8ed0ee53e141406b5f5e67f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 18 07:30:00 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 18 08:50:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d14f1c1

dev-python/QtPy: Backport some improvements from removed -r3

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/QtPy/QtPy-1.9.0-r2.ebuild | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/dev-python/QtPy/QtPy-1.9.0-r2.ebuild 
b/dev-python/QtPy/QtPy-1.9.0-r2.ebuild
index 32222ef6ef4..33c8ccc6869 100644
--- a/dev-python/QtPy/QtPy-1.9.0-r2.ebuild
+++ b/dev-python/QtPy/QtPy-1.9.0-r2.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
 PYTHON_COMPAT=( python3_{7..9} )
 
-inherit distutils-r1
+inherit distutils-r1 virtualx
 
-DESCRIPTION="Abstraction layer for PyQt5/PySide"
+DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and additional 
custom QWidgets"
 HOMEPAGE="https://github.com/spyder-ide/qtpy";
 SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
 
@@ -16,11 +16,22 @@ SLOT="0"
 KEYWORDS="amd64 arm64 x86"
 IUSE="designer gui opengl printsupport svg testlib webengine"
 
+# 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).
 RDEPEND="
        dev-python/PyQt5[${PYTHON_USEDEP},designer?,opengl?,printsupport?,svg?]
        gui? ( dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets] )
        testlib? ( dev-python/PyQt5[${PYTHON_USEDEP},testlib] )
        webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )"
+# The QtPy testsuite skips tests for bindings that are
+# not installed, so here we ensure that everything
+# is available and all tests are run.
+BDEPEND="
+       test? (
+               
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/PyQtWebEngine[${PYTHON_USEDEP}]
+       )"
 
 src_prepare() {
        default
@@ -29,3 +40,8 @@ src_prepare() {
        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
 }
+
+python_test() {
+       local -x QT_API="pyqt5"
+       virtx pytest -vv
+}

Reply via email to