devel/py-pyface: Update to 6.1.2 - Introduce new default option QT5  to let the port make use of the Qt5 toolkit. (Support for the wxPython toolkit is also available but was left out intentionally because it isn't available for Python 3, yet.) - Also add a "do-test" target to make future QA easier while I'm here. Changelog since 6.1.2: https://github.com/enthought/pyface/blob/6.1.2/CHANGES.txt PR: 239576 Submitted by: email@example.com (maintainer) Approved by: firstname.lastname@example.org (maintainer) 
- poudriere -> OK (11.2-, 11.3-, 12.0-RELEASE, 13.0-CURRENT@r352110 amd64 + i386) for each py27 + py36 flavor
- portlint -> OK (one false positive about " When USES=pyqt:5 is defined, you must also define USE_PYQT=xxxx)
- make test -> OK (for py27 + py36, requires graphical display)
Everything is fine so far except the special case with the py-qt5-* ports that are used as TEST_DEPENDS. The question is here if the usage of the TEST_DEPENDS is acceptable?
There seems to be no other way to use some of the py-qt5-* ports only for testing purposes, e.g. with USE_PYQT=package_test.
The patch looks good to me. And I hope this was clear in the the discussion in PR 239576, though that was not stated explicitly there.
IMHO, the comment by @koobs can be marked 'done', as is the reply marked.
I filed PR 240445 for the portlint false positive, with a proposed patch.
Regarding the questions about py-qt5-*, USE_PYQT and TEST_DEPENDS, hardly it can be solved within this review, IMHO.
I accept the revision, in hope that I do not violate some rules by doing so.
Uses/pyqt.mk should grow either standard support for :[build,run,test] args, or if it cant in its current state (it currently supports a <component>[_build|_run] format), then it should support <component>[_test] too, allowing those dependencies to be set only as test dependencies
Given the change to Uses/pyqt.mk to add this support is probably quite small, I'd look to add support with this diff, as a good candidate/use-case/warrant/example for its use
Add kde@ to blocking reviewers for that change
Personally I'd go with changing the pyqt format to the more consistently used in the tree <component>:<target> format but that's a more invasive change requiring a substantial amount of existing port churn. It would be good as a second step evolution of pyqt.mk to bring it in line with the rest of the framework
I changed this diff slightly to make use of the updated Mk/Uses/pyqt.mk once it lands:
- py-qt5-* TEST_DEPENDS were converted into *_test for USE_PYQT
- Updated comment about the current situation regarding wxPython 4 as pointed out by @lbartoletti
The test results by using make test for the py37 flavor were fine:
Ran 571 tests in 45.598s OK (SKIP=61)
Using make -V TEST_DEPENDS also yields the expected results:
py37-mock>0:devel/py-mock@py37 py37-nose>0:devel/py-nose@py37 py37-numpy>0:math/py-numpy@py37 py37-pygments>0:textproc/py-pygments@py37 /usr/local/bin/python3.7:lang/python37 py37-qt5-network>=5.13.1:net/py-qt5-network@py37 py37-qt5-opengl>=5.13.1:x11/py-qt5-opengl@py37 py37-qt5-test>=5.13.1:devel/py-qt5-test@py37 py37-qt5-webkit>=5.13.1:www/py-qt5-webkit@py37 py37-qt5-webkitwidgets>=5.13.1:www/py-qt5-webkitwidgets@py37