git: 4f0a5e1540c3 - main - PyQt: Update sip to 6.5.0, reintroduce sip4 and simplify PyQt framework.

From: Loïc Bartoletti <lbartoletti_at_FreeBSD.org>
Date: Thu, 27 Jan 2022 07:14:01 UTC
The branch main has been updated by lbartoletti:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4f0a5e1540c391610950d6ae9ce64ba0dd218d72

commit 4f0a5e1540c391610950d6ae9ce64ba0dd218d72
Author:     Loïc Bartoletti <lbartoletti@FreeBSD.org>
AuthorDate: 2021-10-24 18:51:36 +0000
Commit:     Loïc Bartoletti <lbartoletti@FreeBSD.org>
CommitDate: 2022-01-27 06:12:26 +0000

    PyQt: Update sip to 6.5.0, reintroduce sip4 and simplify PyQt framework.
    
    SIP:
    As mentioned in the update from sip to sip5, this is a transitional version
    to remove what is deprecated in sip4.
    Sip6 completely removes the deprecated parts.
    Unfortunately, some ports — mostly cura things — can not use sip6, so we
    reintroduce sip4.
    
    PyQt:
    At the same time, we took the opportunity to simplify PyQT and propose only one
    package as for devel/pyside2. */py-qt5-* have been merged — excepted chart,
    networkauth and webengine — into devel/py-qt5-pyqt.
    
    This allows us to be in adequacy with the packages that the author of these
    libraries proposes, namely:
    
    PyQt - devel/py-qt5-pyqt
    PyQt-Charts - x11-toolkits/py-qt5-chart
    PyQt-NetworkAuth – net/py-qt5-networkauth
    PyQt-WebEngine – www/py-qt5-webengine
    SIP – devel/py-sip
    py-sip - devel/py-qt5-sip
    PyQt-builder - devel/py-qtbuilder
    Qscintilla - devel/py-qt5-qscintilla2
    
    Reviewed by:    diizzy, kde
    Tested by:      kai, rhurlin, arrowd, madpilot
    Approved by:    makc, tcberner, kde
    Differential Revision:  https://reviews.freebsd.org/D33237
    Exp-run by:     antoine
---
 CHANGES                                            |   20 +
 MOVED                                              |   32 +
 Mk/Uses/pyqt.mk                                    |  177 +--
 UPDATING                                           |    7 +
 audio/cadence/Makefile                             |    2 +-
 audio/carla/Makefile                               |    2 +-
 audio/picard/Makefile                              |    9 +-
 biology/py-ete3/Makefile                           |    2 +-
 cad/cura/Makefile                                  |    3 +-
 cad/py-cq-editor/Makefile                          |    2 +-
 cad/py-pyfda/Makefile                              |    2 +-
 cad/uranium/Makefile                               |    2 +-
 comms/Makefile                                     |    2 -
 comms/gnuradio/Makefile                            |    2 +-
 comms/nanovna-saver/Makefile                       |    2 +-
 comms/py-qt5-sensors/Makefile                      |   30 -
 comms/py-qt5-sensors/pkg-descr                     |    4 -
 comms/py-qt5-sensors/pkg-plist                     |   24 -
 comms/py-qt5-serialport/Makefile                   |   30 -
 comms/py-qt5-serialport/pkg-descr                  |    4 -
 comms/py-qt5-serialport/pkg-plist                  |    6 -
 databases/Makefile                                 |    1 -
 databases/py-qt5-sql/Makefile                      |   30 -
 databases/py-qt5-sql/pkg-descr                     |    4 -
 databases/py-qt5-sql/pkg-plist                     |   18 -
 deskutils/calibre/Makefile                         |    2 +-
 deskutils/py-autokey/Makefile                      |    2 +-
 deskutils/treeline/Makefile                        |    2 +-
 devel/Makefile                                     |   12 +-
 devel/eric6/Makefile                               |    4 +-
 devel/git-cola/Makefile                            |    2 +-
 devel/git-cola/pkg-plist                           |  187 ++-
 devel/libsavitar/Makefile                          |    9 +-
 devel/libsavitar/distinfo                          |    8 +-
 devel/libsavitar/pkg-plist                         |    2 +-
 devel/py-pyface/Makefile                           |    2 +-
 devel/py-pynest2d/Makefile                         |   12 +-
 devel/py-pynest2d/distinfo                         |    6 +-
 devel/py-pynest2d/files/patch-CMakeLists.txt       |   10 -
 devel/py-pynest2d/files/patch-cmake_FindSIP.cmake  |   32 -
 devel/py-qstylizer/Makefile                        |    2 +-
 devel/py-qt5-core/Makefile                         |   49 -
 devel/py-qt5-core/files/Qt.py                      |   73 --
 devel/py-qt5-core/files/patch-configure.py         |  211 ----
 devel/py-qt5-core/pkg-plist                        |  231 ----
 devel/py-qt5-dbus/Makefile                         |   29 -
 devel/py-qt5-dbus/pkg-descr                        |    4 -
 devel/py-qt5-dbus/pkg-plist                        |   18 -
 devel/py-qt5-dbussupport/Makefile                  |   30 -
 devel/py-qt5-dbussupport/pkg-descr                 |    4 -
 devel/py-qt5-designer/Makefile                     |   31 -
 devel/py-qt5-designer/pkg-descr                    |    4 -
 devel/py-qt5-designer/pkg-plist                    |   28 -
 devel/py-qt5-designerplugin/Makefile               |   28 -
 devel/py-qt5-designerplugin/pkg-descr              |    4 -
 devel/py-qt5-help/Makefile                         |   30 -
 devel/py-qt5-help/pkg-descr                        |    4 -
 devel/py-qt5-help/pkg-plist                        |   16 -
 devel/py-qt5-location/Makefile                     |   30 -
 devel/py-qt5-location/pkg-descr                    |    4 -
 devel/py-qt5-location/pkg-plist                    |   43 -
 devel/py-qt5-positioning/Makefile                  |   29 -
 devel/py-qt5-positioning/pkg-descr                 |   10 -
 devel/py-qt5-positioning/pkg-plist                 |   19 -
 devel/py-qt5-pyqt/Makefile                         |   40 +
 devel/py-qt5-pyqt/distinfo                         |    3 +
 devel/py-qt5-pyqt/files/patch-project.py           |   16 +
 devel/{py-qt5-core => py-qt5-pyqt}/pkg-descr       |    0
 devel/py-qt5-pyqt/pkg-plist                        |  981 +++++++++++++++
 devel/py-qt5-qscintilla2/Makefile                  |    2 +-
 devel/py-qt5-remoteobjects/Makefile                |   30 -
 devel/py-qt5-remoteobjects/pkg-descr               |    4 -
 devel/py-qt5-remoteobjects/pkg-plist               |   10 -
 devel/py-qt5-test/Makefile                         |   31 -
 devel/py-qt5-test/pkg-descr                        |    4 -
 devel/py-qt5-test/pkg-plist                        |   11 -
 devel/py-qt5/Makefile                              |   18 +-
 devel/py-qtbuilder/distinfo                        |    6 +-
 devel/py-qtconsole/Makefile                        |    2 +-
 devel/py-sip/distinfo                              |    6 +-
 devel/py-sip4/Makefile                             |   69 ++
 devel/py-sip4/distinfo                             |    3 +
 devel/py-sip4/files/patch-siputils.py              |   28 +
 devel/py-sip4/pkg-descr                            |    3 +
 devel/py-sip4/pkg-plist                            |   18 +
 devel/py-spyder/Makefile                           |    2 +-
 devel/tortoisehg/Makefile                          |    2 +-
 devel/vitables/Makefile                            |    2 +-
 dns/knock/Makefile                                 |    2 +-
 emulators/fs-uae-launcher/Makefile                 |    2 +-
 finance/electrum/Makefile                          |    2 +-
 games/anki/Makefile                                |    2 +-
 games/py-mnemosyne/Makefile                        |    2 +-
 graphics/Makefile                                  |    1 -
 graphics/partio/Makefile                           |    2 +-
 graphics/py-python-poppler-qt5/Makefile            |    2 +-
 graphics/py-qt5-svg/Makefile                       |   30 -
 graphics/py-qt5-svg/pkg-descr                      |    4 -
 graphics/py-qt5-svg/pkg-plist                      |    8 -
 graphics/py-traitsui/Makefile                      |    2 +-
 graphics/py-visvis/Makefile                        |    2 +-
 graphics/qgis-ltr/Makefile                         |    4 +-
 graphics/qgis-ltr/files/patch-cmake_FindSIP.py     |   47 +
 graphics/qgis/Makefile                             |    3 +-
 graphics/qtqr/Makefile                             |    2 +-
 graphics/rapid-photo-downloader/Makefile           |    2 +-
 graphics/seexpr/Makefile                           |    3 +-
 lang/Makefile                                      |    1 -
 lang/py-qt5-qml/Makefile                           |   30 -
 lang/py-qt5-qml/pkg-descr                          |    4 -
 lang/py-qt5-qml/pkg-plist                          |   29 -
 math/asymptote/Makefile                            |    2 +-
 math/convertall/Makefile                           |    2 +-
 math/py-matplotlib2/Makefile                       |    2 +-
 math/rpcalc/Makefile                               |    2 +-
 misc/Makefile                                      |    1 -
 misc/orange3/Makefile                              |    2 +-
 misc/py-QSpectrumAnalyzer/Makefile                 |    2 +-
 misc/py-qt5-demo/Makefile                          |   38 -
 misc/py-qt5-demo/pkg-descr                         |    4 -
 misc/py-qt5-demo/pkg-plist                         | 1289 --------------------
 misc/urh/Makefile                                  |    2 +-
 multimedia/Makefile                                |    2 -
 multimedia/openshot/Makefile                       |    2 +-
 multimedia/py-qt5-multimedia/Makefile              |   30 -
 multimedia/py-qt5-multimedia/pkg-descr             |    4 -
 multimedia/py-qt5-multimedia/pkg-plist             |   82 --
 multimedia/py-qt5-multimediawidgets/Makefile       |   30 -
 multimedia/py-qt5-multimediawidgets/pkg-descr      |    4 -
 multimedia/py-qt5-multimediawidgets/pkg-plist      |    8 -
 net-im/scudcloud/Makefile                          |    2 +-
 net-mgmt/nagstamon/Makefile                        |    3 +-
 net/Makefile                                       |    1 -
 net/libarcus/Makefile                              |    6 +-
 net/libarcus/distinfo                              |    6 +-
 net/libarcus/files/patch-CMakeLists.txt            |   36 -
 net/libarcus/files/patch-cmake_FindSIP.cmake       |   32 -
 net/py-qt5-network/Makefile                        |   29 -
 net/py-qt5-network/pkg-descr                       |    4 -
 net/py-qt5-network/pkg-plist                       |   45 -
 net/py-qt5-networkauth/Makefile                    |   44 +-
 net/py-qt5-networkauth/pkg-plist                   |    9 +-
 print/Makefile                                     |    1 -
 print/hplip/Makefile                               |    2 +-
 print/py-frescobaldi/Makefile                      |    2 +-
 print/py-qt5-printsupport/Makefile                 |   29 -
 print/py-qt5-printsupport/pkg-descr                |    4 -
 print/py-qt5-printsupport/pkg-plist                |   13 -
 science/code_saturne/Makefile                      |    2 +-
 science/py-pymol/Makefile                          |    2 +-
 science/py-veusz/Makefile                          |    9 +-
 science/py-veusz/distinfo                          |    6 +-
 science/scidavis/Makefile                          |    3 +-
 sysutils/angrysearch/Makefile                      |    2 +-
 textproc/Makefile                                  |    2 -
 textproc/py-qt5-xml/Makefile                       |   37 -
 textproc/py-qt5-xml/pkg-descr                      |    4 -
 textproc/py-qt5-xml/pkg-plist                      |   16 -
 textproc/py-qt5-xmlpatterns/Makefile               |   29 -
 textproc/py-qt5-xmlpatterns/pkg-descr              |    4 -
 textproc/py-qt5-xmlpatterns/pkg-plist              |   18 -
 textproc/retext/Makefile                           |    3 +-
 www/Makefile                                       |    4 -
 www/onionshare/Makefile                            |    2 +-
 www/py-qt5-webchannel/Makefile                     |   32 -
 www/py-qt5-webchannel/pkg-descr                    |    4 -
 www/py-qt5-webchannel/pkg-plist                    |    5 -
 www/py-qt5-webengine/Makefile                      |   39 +-
 www/py-qt5-webengine/pkg-plist                     |   20 +-
 www/py-qt5-webkit/Makefile                         |   30 -
 www/py-qt5-webkit/pkg-descr                        |    4 -
 www/py-qt5-webkit/pkg-plist                        |   12 -
 www/py-qt5-webkitwidgets/Makefile                  |   31 -
 www/py-qt5-webkitwidgets/pkg-descr                 |    4 -
 www/py-qt5-webkitwidgets/pkg-plist                 |    9 -
 www/py-qt5-websockets/Makefile                     |   29 -
 www/py-qt5-websockets/pkg-descr                    |    4 -
 www/py-qt5-websockets/pkg-plist                    |    9 -
 www/py-weboob-qt/Makefile                          |    2 +-
 www/qutebrowser/Makefile                           |    9 +-
 x11-toolkits/Makefile                              |    5 -
 x11-toolkits/py-qt5-chart/Makefile                 |   39 +-
 x11-toolkits/py-qt5-chart/files/patch-configure.py |   11 +-
 x11-toolkits/py-qt5-chart/pkg-plist                |    9 +-
 x11-toolkits/py-qt5-gui/Makefile                   |   28 -
 x11-toolkits/py-qt5-gui/pkg-descr                  |    4 -
 x11-toolkits/py-qt5-gui/pkg-plist                  |   99 --
 x11-toolkits/py-qt5-quick/Makefile                 |   30 -
 x11-toolkits/py-qt5-quick/pkg-descr                |    4 -
 x11-toolkits/py-qt5-quick/pkg-plist                |   30 -
 x11-toolkits/py-qt5-quick3d/Makefile               |   30 -
 x11-toolkits/py-qt5-quick3d/pkg-descr              |    4 -
 x11-toolkits/py-qt5-quick3d/pkg-plist              |    7 -
 x11-toolkits/py-qt5-quickwidgets/Makefile          |   31 -
 x11-toolkits/py-qt5-quickwidgets/pkg-descr         |    4 -
 x11-toolkits/py-qt5-quickwidgets/pkg-plist         |    5 -
 x11-toolkits/py-qt5-widgets/Makefile               |   30 -
 x11-toolkits/py-qt5-widgets/pkg-descr              |    4 -
 x11-toolkits/py-qt5-widgets/pkg-plist              |  128 --
 x11/Makefile                                       |    1 -
 x11/dsbxinput/Makefile                             |    2 +-
 x11/py-qt5-opengl/Makefile                         |   27 -
 x11/py-qt5-opengl/pkg-descr                        |    4 -
 x11/py-qt5-opengl/pkg-plist                        |    5 -
 204 files changed, 1650 insertions(+), 4170 deletions(-)

diff --git a/CHANGES b/CHANGES
index 7e9485d08391..4d80de184328 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,26 @@ in the release notes and/or placed into UPDATING.
 
 All ports committers are allowed to commit to this file.
 
+20220127:
+AUTHOR: kde@FreeBSD.org
+
+  PyQt modules have been merged into devel/py-qt5-pyqt.
+
+  This allows us to simplify PyQt framework and to be in adequacy with the
+  packages that the author of these libraries proposes, namely:
+
+  * PyQt - devel/py-qt5-pyqt
+  * PyQt-Charts - x11-toolkits/py-qt5-chart
+  * PyQt-NetworkAuth – net/py-qt5-networkauth
+  * PyQt-WebEngine – www/py-qt5-webengine
+  * SIP – devel/py-sip
+  * py-sip - devel/py-qt5-sip
+  * PyQt-builder - devel/py-qtbuilder
+  * Qscintilla - devel/py-qt5-qscintilla2
+
+  Ports depending on PyQt, must be declared with USE_PYQT=pyqt5 instead of
+  USE_PYQT=core gui svg etc.
+
 20220117:
 AUTHOR: tobik@FreeBSD.org
 
diff --git a/MOVED b/MOVED
index 8a7dbd90b6d8..3eb62c843ae2 100644
--- a/MOVED
+++ b/MOVED
@@ -16845,3 +16845,35 @@ net/php73-ldap|net/php74-ldap|2022-01-26|Has expired: Security support ended on
 net/php73-soap|net/php74-soap|2022-01-26|Has expired: Security support ended on 2021-12-06
 mail/bogofilter|mail/bogofilter-bdb|2022-01-26|Port renamed to make LMDB the new default DB
 mail/bogofilter-lmdb|mail/bogofilter|2022-01-26|Port renamed to make LMDB the new default DB
+comms/py-qt5-sensors|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+comms/py-qt5-serialport|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+databases/py-qt5-sql|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-core|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-dbus|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-dbussupport|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-designer|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-designerplugin|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-help|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-location|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-positioning|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-remoteobjects|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+devel/py-qt5-test|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+graphics/py-qt5-svg|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+lang/py-qt5-qml|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+misc/py-qt5-demo|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+multimedia/py-qt5-multimedia|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+multimedia/py-qt5-multimediawidgets|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+net/py-qt5-network|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+print/py-qt5-printsupport|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+textproc/py-qt5-xml|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+textproc/py-qt5-xmlpatterns|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+www/py-qt5-webchannel|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+www/py-qt5-webkit|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+www/py-qt5-webkitwidgets|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+www/py-qt5-websockets|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+x11-toolkits/py-qt5-gui|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+x11-toolkits/py-qt5-quick|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+x11-toolkits/py-qt5-quick3d|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+x11-toolkits/py-qt5-quickwidgets|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+x11-toolkits/py-qt5-widgets|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
+x11/py-qt5-opengl|deve/py-qt5-pyqt|Merged into devel/py-qt5-pyqt
diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index 42d37d71d9aa..44710396b534 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -57,61 +57,35 @@ MASTER_SITES_PYQTSIP=	https://pypi.python.org/packages/source/P/PyQt5-sip/
 MASTER_SITES_PYQTCHART=	https://pypi.python.org/packages/source/P/PyQtChart/
 MASTER_SITES_PYQTNETWORKAUTH=	https://pypi.python.org/packages/source/P/PyQtNetworkAuth/
 MASTER_SITES_PYQTBUILDER=	https://pypi.io/packages/source/P/PyQt-builder/
+MASTER_SITES_PYQTWEBENGINE=	https://pypi.python.org/packages/source/P/PyQtWebEngine/
 #https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz
 MASTER_SITES_QSCI2=	RIVERBANK/QScintilla/${PORTVERSION} \
 			SF/pyqt/QScintilla2/QScintilla-${PORTVERSION} \
 			GENTOO
 
-SIP_VERSION=		5.5.0
+SIP_VERSION=		6.3.1
+SIP4_VERSION=		4.19.25
 QSCI2_VERSION=		2.13.0
 PYQT5_VERSION=		5.15.4
+PYQTCHART_VERSION=	${PYQT5_VERSION} # can be different
+PYQTNETWORKAUTH_VERSION=${PYQT5_VERSION}
+PYQTWEBENGINE_VERSION=	${PYQT5_VERSION}
 PYQTSIP_VERSION=	12.9.0
-PYQTBUILDER_VERSION=	1.9.1
+PYQTBUILDER_VERSION=	1.12.0
 
 SIP_DISTNAME=		sip-${SIP_VERSION}
+SIP4_DISTNAME=		sip-${SIP4_VERSION}
 PYQT5_DISTNAME=		PyQt5-${PYQT5_VERSION}
 PYQTSIP_DISTNAME=	PyQt5_sip-${PYQTSIP_VERSION}
-PYQTCHART_DISTNAME=	PyQtChart-${PYQT_VERSION}
-PYQTNETWORKAUTH_DISTNAME=	PyQtNetworkAuth-${PYQT_VERSION}
+PYQTCHART_DISTNAME=	PyQtChart-${PYQTCHART_VERSION}
+PYQTNETWORKAUTH_DISTNAME=	PyQtNetworkAuth-${PYQTNETWORKAUTH_VERSION}
 PYQTBUILDER_DISTNAME=	PyQt-builder-${PYQTBUILDER_VERSION}
+PYQTWEBENGINE_DISTNAME=	PyQtWebEngine-${PYQTWEBENGINE_VERSION}
 PYQT5_DISTINFO_FILE=	${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo
 QSCI2_DISTNAME=		QScintilla_src-${QSCI2_VERSION}
 PYQT5_LICENSE=		GPLv3
 
-_USE_PYQT_COMMS=	sensors serialport
-_USE_PYQT_DATABASES=	sql
-_USE_PYQT_DEVEL=	core dbus dbussupport help location \
-			designer designerplugin remoteobjects test 
-_USE_PYQT_GRAPHICS=	svg
-_USE_PYQT_LANG=		qml
-_USE_PYQT_LOCATION=	location
-_USE_PYQT_MISC=		demo
-_USE_PYQT_MULTIMEDIA=	multimedia multimediawidgets
-_USE_PYQT_NET=		network networkauth
-_USE_PYQT_POSITIONING=	positioning
-_USE_PYQT_PRINT=	printsupport
-_USE_PYQT_TEXTPROC=	xml xmlpatterns
-_USE_PYQT_WWW=		webchannel webengine webkit webkitwidgets websockets
-_USE_PYQT_X11=		opengl
-_USE_PYQT_X11-TOOLKITS=	chart gui widgets quick quick3d quickwidgets
-
-# Keep these synchronized with OPTIONS_DEFINE in devel/py-qt5
-# PyQt components split up into pyqt5/...
-_USE_PYQT_ALL=		${_USE_PYQT_COMMS} \
-			${_USE_PYQT_DATABASES} \
-			${_USE_PYQT_DEVEL} \
-			${_USE_PYQT_GRAPHICS} \
-			${_USE_PYQT_LANG} \
-			${_USE_PYQT_LOCATION} \
-			${_USE_PYQT_MISC} \
-			${_USE_PYQT_MULTIMEDIA} \
-			${_USE_PYQT_NET} \
-			${_USE_PYQT_POSITIONING} \
-			${_USE_PYQT_PRINT} \
-			${_USE_PYQT_TEXTPROC} \
-			${_USE_PYQT_WWW} \
-			${_USE_PYQT_X11} \
-			${_USE_PYQT_X11-TOOLKITS}
+_USE_PYQT_ALL=		pyqt5 chart networkauth webengine
 _USE_SIP_ALL=		sip pysip
 _USE_QSCINTILLA=	qscintilla2
 _USE_PYQTBUILDER=	qtbuilder
@@ -130,10 +104,10 @@ py-sip_PATH=			${PYTHON_PKGNAMEPREFIX}sip>=${SIP_VERSION}
 py-pysip_PATH=			${PYQT_PY_RELNAME}-sip>=${PYQTSIP_VERSION}
 py-qscintilla2_PATH=		${PYQT_PY_RELNAME}-qscintilla2>=${QSCI2_VERSION}
 py-qtbuilder_PATH=		${PYTHON_PKGNAMEPREFIX}qtbuilder>=${PYQTBUILDER_VERSION}
-
-.  for _component in ${_USE_PYQT_ALL}
-py-${_component}_PATH?=${PYQT_PY_RELNAME}-${_component}>=${PYQT_VERSION}
-.  endfor
+py-pyqt5_PATH=			${PYQT_PY_RELNAME}-pyqt>=${PYQT5_VERSION}
+py-chart_PATH=			${PYQT_PY_RELNAME}-chart>=${PYQT5_VERSION}
+py-networkauth_PATH=		${PYQT_PY_RELNAME}-networkauth>=${PYQT5_VERSION}
+py-webengine_PATH=		${PYQT_PY_RELNAME}-webengine>=${PYQT5_VERSION}
 
 # PORT
 py-sip_PORT=			devel/py-sip
@@ -141,53 +115,13 @@ py-qtbuilder_PORT=		devel/py-qtbuilder
 py-pysip_PORT=			devel/${PYQT_RELNAME}-sip
 py-qscintilla2_PORT=		devel/${PYQT_RELNAME}-qscintilla2
 py-positioning_PORT=		devel/${PYQT_RELNAME}-positioning
-
-.  for _categorie in comms databases devel graphics lang misc multimedia net print textproc www x11 x11-toolkits
-_PYQT_CATEGORIE=	_USE_PYQT_${_categorie:tu}
-.    for _component in ${${_PYQT_CATEGORIE}}
-py-${_component}_PORT?=${_categorie}/${PYQT_RELNAME}-${_component}
-.    endfor
-.  endfor
-
-py-core_DESC=			Python bindings for QtCore module
-py-chart_DESC=			Python bindings for QtChart module
-py-dbus_DESC=			Python bindings for QtDBus module
-py-dbussupport_DESC=		Qt event loop support for dbus-python
-py-demo_DESC=			PyQt demo and examples
-py-designer_DESC=		Python bindings for QtDesigner module
-py-designerplugin_DESC=		Python bindings for QtDesigner plugin
-py-gui_DESC=			Python bindings for QtGui module
-py-help_DESC=			Python bindings for QtHelp module
-py-location_DESC=		Python bindings for Location module
-py-multimedia_DESC=		Python bindings for Multimedia module
-py-multimediawidgets_DESC=	Python bindings for QtMultimediaWidgets module
-py-network_DESC=		Python bindings for QtNetwork module
-py-networkauth_DESC=		Python bindings for QtNetworkAuth module
-py-opengl_DESC=			Python bindings for QtOpenGL module
-py-positioning_DESC=		Python bindings for QtPositioning module
-py-printsupport_DESC=		Python bindings for Printsupport module
-py-qml_DESC=			Python bindings for Qml module
-py-qscintilla2_DESC=		Python bindings for QScintilla2
-py-quick_DESC=			Python bindings for QtQuick module
-py-quick3d_DESC=		Python bindings for QtQuick3D module
-py-quickwidgets_DESC=		Python bindings for QtQuickWidgets module
-py-remoteobjects_DESC=		Python bindings for QtRemoteObjects module
-py-sip_DESC=			Python bindings generator for C and C++ libraries
-py-sensors_DESC=		Python bindings for QtSensors
-py-serialport_DESC=		Python bindings for QtSerialPort
-py-sql_DESC=			Python bindings for QtSql module
-py-svg_DESC=			Python bindings for QtSvg module
-py-test_DESC=			Python bindings for QtTest module
-py-webchannel_DESC=		Python bindings for QtWebChannel module
-py-webengine_DESC=		Python bindings for QtWebEngine module
-py-webkit_DESC=			Python bindings for QtWebKit module
-py-webkitwidgets_DESC=		Python bindings for QtWebKitWidgets module
-py-widgets_DESC=		Python bindings for QTWidgets module
-py-xml_DESC=			Python bindings for QtXml module
-py-xmlpatterns_DESC=		Python bindings for QtXmlPatterns module
+py-pyqt5_PORT=			devel/${PYQT_RELNAME}-pyqt
+py-chart_PORT=			x11-toolkits/${PYQT_RELNAME}-chart
+py-networkauth_PORT=		net/${PYQT_RELNAME}-networkauth
+py-webengine_PORT=		www/${PYQT_RELNAME}-webengine
 
 # The versionned executable of sip
-SIP=		${LOCALBASE}/bin/sip5-${PYTHON_VER}
+SIP=		${LOCALBASE}/bin/sip-build-${PYTHON_VER}
 
 # Relative directories
 _VERSION_SUBDIR_REL=	PyQt${_PYQT_VERSION}/${PYTHON_VER}
@@ -217,49 +151,38 @@ PLIST_SUB+=	PYQT_APIDIR=${_APIDIR_REL} \
 		PYQT_PYQTVERSION=${PYQT_VERSION}
 
 .  if defined(PYQT_DIST)
-PORTVERSION=	${PYQT_VERSION}
-MASTER_SITES=	${PYQT_MASTERSITES}
-PKGNAMEPREFIX=	${PYQT_PY_RELNAME}-
-DISTNAME=	${PYQT_DISTNAME}
-DISTINFO_FILE=	${PYQT_DISTINFO_FILE}
-LICENSE?=	${PYQT_LICENSE}
-HAS_CONFIGURE=	yes
 
-.    if ${_PYQT_VERSION} > 4
-# PyQt5's configure.py generates .pro files and calls qmake to generate the
-# Makefiles. qmake's Makefiles use INSTALL_ROOT instead of DESTDIR.
-DESTDIRNAME=	INSTALL_ROOT
-# Limit PyQt5's version to the Qt5 version in ports
-PORTSCOUT?=	limit:^${_QT_VERSION:R}
-.    endif
+PLIST_SUB+=	PYTHON_MAJOR_VER="${PYTHON_MAJOR_VER}"
+
+SIP_ARGS=	--qmake ${QMAKE} \
+		--verbose \
+		--no-make \
+		--build-dir build \
+		--protected-is-public \
+		--api-dir ${PYQT_APIDIR}
+.	if ${PORTNAME} == "pyqt"
+SIP_ARGS+=	--confirm-license
+.	endif
+
+.  if ${PORTNAME} == "pyqt"
+.    if !target(post-patch)
+post-patch:
+	${REINPLACE_CMD} -e "s#%%PYQT_DESIGNERDIR%%#${PYQT_DESIGNERDIR}#" ${WRKSRC}/project.py
+	${REINPLACE_CMD} -e "s#%%PYQT_QMLDIR%%#${PYQT_QMLDIR}#" ${WRKSRC}/project.py
+.    endif  # !target(post-patch)
+.  endif
 
-PATCHDIR=	${.CURDIR}/../../devel/${PYQT_RELNAME}-core/files
-CONFIGURE_ARGS+=-b ${PREFIX}/bin \
-		-d ${PYTHONPREFIX_SITELIBDIR} \
-		-q ${QMAKE} \
-		--confirm-license \
-		--sip ${SIP} \
-		--sipdir ${PYQT_SIPDIR}
-.    if ${_PYQT_VERSION:M5}
-# Move the designer plugin and qml libraries to versioned folders.
-CONFIGURE_ARGS+=--qml-plugindir ${PYQT_QMLDIR} \
-		--designer-plugindir ${PYQT_DESIGNERDIR}
-# Further do not gernate the dinstinfo files.
-CONFIGURE_ARGS+=--no-dist-info
-.    endif
-# One of the things PyQt looks for to determine whether to build the Qt DBus
-# main loop module (${PYQT_RELNAME}-dbussupport) is whether the dbus/ directory is
-# present. Only extract it for that port then.
-.    if ${PORTNAME} != "dbussupport"
-EXTRACT_AFTER_ARGS+=	--exclude "${DISTNAME}/dbus"
-.    endif  # ${PORTNAME} != "dbussupport"
+.    if !target(do-build)
+do-build:
+	(cd ${WRKSRC}; ${SIP} ${SIP_ARGS}; ${MAKE} -C ./build)
+
+.    endif  # !target(do-build)
+
+.    if !target(do-install)
+do-install:
+	(cd ${WRKSRC} ; ${MAKE} -C ./build install INSTALL_ROOT=${STAGEDIR} )
+.    endif  # !target(do-install)
 
-.    if !target(do-configure)
-do-configure:
-	${REINPLACE_CMD} -e "s/sip-module/sip-module-${PYTHON_VER}/" ${WRKSRC}/configure.py
-	cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
-		${PYTHON_CMD} configure.py ${CONFIGURE_ARGS}
-.    endif  # !target(do-configure)
 .  endif  # defined(PYQT_DIST)
 
 # Set build, run and test depends -- we need to prefix them internally with "py-"
diff --git a/UPDATING b/UPDATING
index 93e0f858eae2..6f1a2368fd83 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,13 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20220127:
+  AFFECTS: users of PyQt
+  AUTHOR: kde@FreeBSD.org
+
+  Most of the PyQt ports have been merged into single port devel/py-qt5-pyqt. 
+  `pkg upgrade` will handle update automatically .
+
 20220126:
   AFFECTS: users of mail/bogofilter, mail/bogofilter-lmdb
   AUTHOR: mandree@FreeBSD.org
diff --git a/audio/cadence/Makefile b/audio/cadence/Makefile
index cc7cf399a2bd..665afe3e6240 100644
--- a/audio/cadence/Makefile
+++ b/audio/cadence/Makefile
@@ -19,7 +19,7 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	falkTX
 GH_PROJECT=	Cadence
 USE_QT=		core gui widgets buildtools_build
-USE_PYQT=	core_run gui_run network_run opengl_run svg_run widgets_run xml_run sip xml dbussupport
+USE_PYQT=	pyqt5 sip
 
 CXXFLAGS+=	-DJACKBRIDGE_PROPER_CPP11_SUPPORT=yes
 # Give the Makefile the proper versioned binaries of PyQt
diff --git a/audio/carla/Makefile b/audio/carla/Makefile
index 3b22eb616348..7a2653b3bde7 100644
--- a/audio/carla/Makefile
+++ b/audio/carla/Makefile
@@ -17,7 +17,7 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyliblo>0:audio/py-pyliblo@${PY_FLAVOR}
 USES=		compiler:c++11-lib desktop-file-utils gl gmake gnome localbase \
 		pkgconfig pyqt:5 python:3.4+ qt:5 shared-mime-info shebangfix \
 		tar:bz2 xorg
-USE_PYQT=	core_run gui_run sip svg_run widgets_run xml_build  # "sip" should be "sip_build", but "import PyQt5.QtCore" wants "sip". See bug#225040
+USE_PYQT=	pyqt5 sip
 USE_GNOME=	gtk20 gtk30
 USE_QT=		core gui widgets buildtools_build
 USE_GL=		gl
diff --git a/audio/picard/Makefile b/audio/picard/Makefile
index d01d39eda9c1..0154513c7c3b 100644
--- a/audio/picard/Makefile
+++ b/audio/picard/Makefile
@@ -21,21 +21,18 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}discid>=0.5.2:audio/py-discid@${PY_FLAVOR} \
 
 USES=		gettext pyqt:5 python:3.6+ desktop-file-utils
 USE_LOCALE=	en_US.UTF-8
-USE_PYQT=	core_run dbus_run gui_run network_run widgets_run sip
+USE_PYQT=	pyqt5_run sip
 USE_PYTHON=	autoplist distutils noflavors
 
 CONFLICTS_INSTALL=	picard-tools py*-python-picard # bin/picard
 
 WRKSRC=		${WRKDIR}/${PORTNAME}-release-${DISTVERSION}
 
-OPTIONS_DEFINE=		ACOUSTID PLAYER PLUGINS
-OPTIONS_DEFAULT=	PLAYER PLUGINS
+OPTIONS_DEFINE=		ACOUSTID PLUGINS
+OPTIONS_DEFAULT=	PLUGINS
 
 ACOUSTID_RUN_DEPENDS=	fpcalc:audio/chromaprint
 
-PLAYER_DESC=		Built-in audio player
-PLAYER_USE=		PYQT=multimedia_run
-
 PLUGINS_DESC=		Install various plugins to extend functionality
 PLUGINS_RUN_DEPENDS=	picard-plugins>=2.0:audio/picard-plugins
 
diff --git a/biology/py-ete3/Makefile b/biology/py-ete3/Makefile
index 3ffa71d1dfc6..7239bc3f48da 100644
--- a/biology/py-ete3/Makefile
+++ b/biology/py-ete3/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS=	${PY_DEPENDS}
 USES=		python:3.5+ pyqt:5 shebangfix
 SHEBANG_GLOB=	*.py
 USE_PYTHON=	distutils concurrent autoplist
-USE_PYQT=	core gui opengl printsupport svg widgets
+USE_PYQT=	pyqt5
 
 NO_ARCH=	yes
 
diff --git a/cad/cura/Makefile b/cad/cura/Makefile
index b783fe5ea833..2ff9640a22ab 100644
--- a/cad/cura/Makefile
+++ b/cad/cura/Makefile
@@ -19,7 +19,6 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}zeroconf>0:net/py-zeroconf@${PY_FLAVOR} \
 		qt5-graphicaleffects>0:graphics/qt5-graphicaleffects \
 		qt5-quickcontrols>0:x11-toolkits/qt5-quickcontrols \
 		qt5-quickcontrols2>0:x11-toolkits/qt5-quickcontrols2 \
-		${PYTHON_PKGNAMEPREFIX}qt5-svg>0:graphics/py-qt5-svg \
 		Uranium>=${DISTVERSION}:cad/uranium \
 		libCharon>=${DISTVERSION}:net/libcharon \
 		CuraEngine>=${DISTVERSION}:cad/cura-engine \
@@ -32,7 +31,7 @@ LIB_DEPENDS=	libArcus.so:net/libarcus \
 
 USES=		cmake gettext shebangfix python:3.5+ pyqt:5 \
 		desktop-file-utils shared-mime-info
-USE_PYQT=	gui widgets qml
+USE_PYQT=	pyqt5
 CMAKE_ARGS+=	-DURANIUM_SCRIPTS_DIR:STRING="${LOCALBASE}/share/uranium/scripts" \
 	-DCURA_VERSION=${DISTVERSION}
 USE_GITHUB=	yes
diff --git a/cad/py-cq-editor/Makefile b/cad/py-cq-editor/Makefile
index e3a9413b8021..c324797ef93b 100644
--- a/cad/py-cq-editor/Makefile
+++ b/cad/py-cq-editor/Makefile
@@ -14,7 +14,7 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cadquery>=0:cad/py-cadquery@${PY_FLAVOR} \
 
 USES=		pyqt:5 python:3.6+
 USE_PYTHON=	autoplist distutils
-USE_PYQT=	core gui widgets
+USE_PYQT=	pyqt5
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	CadQuery
diff --git a/cad/py-pyfda/Makefile b/cad/py-pyfda/Makefile
index ac39a8a16727..9b4c1060c8c4 100644
--- a/cad/py-pyfda/Makefile
+++ b/cad/py-pyfda/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}docutils>0:textproc/py-docutils@${PY_FLAVOR}
 
 USES=		python:3.7+ pyqt:5
 USE_PYTHON=	distutils autoplist
-USE_PYQT=	core_run gui_run widgets_run
+USE_PYQT=	pyqt5_run
 NO_ARCH=	yes
 
 post-extract:
diff --git a/cad/uranium/Makefile b/cad/uranium/Makefile
index 22a84955e2ea..596df3578b7c 100644
--- a/cad/uranium/Makefile
+++ b/cad/uranium/Makefile
@@ -17,7 +17,7 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}PyOpenGL>0:graphics/py-PyOpenGL@${PY_FLAVOR}
 
 USES=		cmake gettext python:3.5+ pyqt:5
-USE_PYQT=	quick
+USE_PYQT=	pyqt5
 USE_GITHUB=	yes
 GH_ACCOUNT=	Ultimaker
 GH_TAGNAME=	3ed9c4de
diff --git a/comms/Makefile b/comms/Makefile
index c5ddf663d841..1676e470b3c8 100644
--- a/comms/Makefile
+++ b/comms/Makefile
@@ -137,8 +137,6 @@
     SUBDIR += py-hidapi
     SUBDIR += py-libimobiledevice
     SUBDIR += py-pyserial
-    SUBDIR += py-qt5-sensors
-    SUBDIR += py-qt5-serialport
     SUBDIR += py-xmodem
     SUBDIR += pyla
     SUBDIR += qico
diff --git a/comms/gnuradio/Makefile b/comms/gnuradio/Makefile
index 920c34daa21a..2552c309d569 100644
--- a/comms/gnuradio/Makefile
+++ b/comms/gnuradio/Makefile
@@ -68,7 +68,7 @@ CMAKE_ARGS+=	-DCMAKE_INSTALL_RPATH:STRING="${LOCALBASE}/lib/gcc${_GCC_VER}" \
 #CMAKE_ARGS+=	--debug-output --trace
 USE_CXXSTD=	c++11
 USE_GITHUB=	yes
-USE_PYQT=	core gui opengl
+USE_PYQT=	pyqt5
 USE_WX=		3.0
 USE_QT=		buildtools core gui xml qmake widgets
 WX_COMPS=	wx wx:build wx:run python:build python:run
diff --git a/comms/nanovna-saver/Makefile b/comms/nanovna-saver/Makefile
index 52e6ed42cdfe..fa2690c0c54e 100644
--- a/comms/nanovna-saver/Makefile
+++ b/comms/nanovna-saver/Makefile
@@ -17,7 +17,7 @@ RUN_DEPENDS=	${PY_DEPENDS}
 
 USES=		python:3.3+ pyqt:5
 USE_PYTHON=	distutils autoplist noflavors
-USE_PYQT=	core_run gui_run widgets_run
+USE_PYQT=	pyqt5_run
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	mihtjel
diff --git a/comms/py-qt5-sensors/Makefile b/comms/py-qt5-sensors/Makefile
deleted file mode 100644
index 9d5ec277b65e..000000000000
--- a/comms/py-qt5-sensors/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-PORTNAME=	sensors
-PORTREVISION=	3
-CATEGORIES=	comms devel python
-
-MAINTAINER=	kde@FreeBSD.org
-COMMENT=	Python bindings for the Qt5 toolkit, QtSensors module
-
-CONFIGURE_ARGS=	--enable QtSensors
-PYQT_DIST=	yes
-
-USES=		gl python:3.5+ pyqt:5 qt:5
-USE_GL=		gl
-USE_PYQT=	sip_build core_run 
-USE_PYTHON=	concurrent flavors py3kplist
-USE_QT=		core gui sensors qmake_build
-
-OPTIONS_DEFINE=	API DEBUG
-OPTIONS_DEFAULT=API
-OPTIONS_SUB=	yes
-
-API_DESC=		Install QtSensors API for QScintilla2
-API_CONFIGURE_ON=	--qsci-api --qsci-api-destdir=${PYQT_APIDIR}
-API_CONFIGURE_OFF=	--no-qsci-api
-API_LIB_DEPENDS=	libqscintilla2_qt5.so:devel/qscintilla2-qt5
-DEBUG_CONFIGURE_ON=	--debug --trace
-
-post-install:
-	${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PyQt5/QtSensors.so
-
-.include <bsd.port.mk>
diff --git a/comms/py-qt5-sensors/pkg-descr b/comms/py-qt5-sensors/pkg-descr
deleted file mode 100644
index 0340c2f37557..000000000000
--- a/comms/py-qt5-sensors/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-PyQt5 is a set of Python bindings for Qt5 application framework.
-This package provides the QtSensors module.
-
-WWW: https://riverbankcomputing.com/software/pyqt
diff --git a/comms/py-qt5-sensors/pkg-plist b/comms/py-qt5-sensors/pkg-plist
deleted file mode 100644
index 094231ef2feb..000000000000
--- a/comms/py-qt5-sensors/pkg-plist
+++ /dev/null
@@ -1,24 +0,0 @@
-%%PYTHON_SITELIBDIR%%/PyQt5/QtSensors.pyi
-%%PYTHON_SITELIBDIR%%/PyQt5/QtSensors.so
-%%API%%%%PYQT_APIDIR%%/api/python/QtSensors.api
-%%PYQT_SIPDIR%%/QtSensors/QtSensorsmod.sip
-%%PYQT_SIPDIR%%/QtSensors/qaccelerometer.sip
-%%PYQT_SIPDIR%%/QtSensors/qaltimeter.sip
-%%PYQT_SIPDIR%%/QtSensors/qambientlightsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qambienttemperaturesensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qcompass.sip
-%%PYQT_SIPDIR%%/QtSensors/qdistancesensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qgyroscope.sip
-%%PYQT_SIPDIR%%/QtSensors/qholstersensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qhumiditysensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qirproximitysensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qlidsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qlightsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qmagnetometer.sip
-%%PYQT_SIPDIR%%/QtSensors/qorientationsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qpressuresensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qproximitysensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qrotationsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qtapsensor.sip
-%%PYQT_SIPDIR%%/QtSensors/qtiltsensor.sip
diff --git a/comms/py-qt5-serialport/Makefile b/comms/py-qt5-serialport/Makefile
deleted file mode 100644
index 99a67a6a8487..000000000000
--- a/comms/py-qt5-serialport/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-PORTNAME=	serialport
-PORTREVISION=	3
-CATEGORIES=	comms devel python
-
-MAINTAINER=	kde@FreeBSD.org
-COMMENT=	Python bindings for the Qt5 toolkit, QtSerialPort module
-
-CONFIGURE_ARGS=	--enable QtSerialPort
-PYQT_DIST=	yes
-
-USES=		gl python:3.5+ pyqt:5 qt:5
-USE_GL=		gl
-USE_PYQT=	sip_build core_run 
-USE_PYTHON=	concurrent flavors py3kplist
-USE_QT=		core gui serialport qmake_build
-
-OPTIONS_DEFINE=	API DEBUG
-OPTIONS_DEFAULT=API
-OPTIONS_SUB=	yes
-
-API_DESC=		Install QtSerialPort API for QScintilla2
-API_CONFIGURE_ON=	--qsci-api --qsci-api-destdir=${PYQT_APIDIR}
-API_CONFIGURE_OFF=	--no-qsci-api
-API_LIB_DEPENDS=	libqscintilla2_qt5.so:devel/qscintilla2-qt5
-DEBUG_CONFIGURE_ON=	--debug --trace
-
-post-install:
-	${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PyQt5/QtSerialPort.so
-
-.include <bsd.port.mk>
diff --git a/comms/py-qt5-serialport/pkg-descr b/comms/py-qt5-serialport/pkg-descr
deleted file mode 100644
index 1a4d33ea807d..000000000000
--- a/comms/py-qt5-serialport/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-PyQt5 is a set of Python bindings for Qt5 application framework.
-This package provides the QtSerialPort module.
-
-WWW: https://riverbankcomputing.com/software/pyqt
diff --git a/comms/py-qt5-serialport/pkg-plist b/comms/py-qt5-serialport/pkg-plist
deleted file mode 100644
index 5ae131680464..000000000000
--- a/comms/py-qt5-serialport/pkg-plist
+++ /dev/null
@@ -1,6 +0,0 @@
-%%PYTHON_SITELIBDIR%%/PyQt5/QtSerialPort.so
-%%PYTHON_SITELIBDIR%%/PyQt5/QtSerialPort.pyi
-%%PYQT_SIPDIR%%/QtSerialPort/QtSerialPortmod.sip
-%%PYQT_SIPDIR%%/QtSerialPort/qserialport.sip
-%%PYQT_SIPDIR%%/QtSerialPort/qserialportinfo.sip
-%%API%%%%PYQT_APIDIR%%/api/python/QtSerialPort.api
diff --git a/databases/Makefile b/databases/Makefile
index dbb3fe11801f..7b2f02b82c4c 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -820,7 +820,6 @@
     SUBDIR += py-python-memcached
     SUBDIR += py-python-sql
     SUBDIR += py-python-swiftclient
-    SUBDIR += py-qt5-sql
     SUBDIR += py-queries
     SUBDIR += py-rb
     SUBDIR += py-redis
diff --git a/databases/py-qt5-sql/Makefile b/databases/py-qt5-sql/Makefile
deleted file mode 100644
index 49e84b325471..000000000000
--- a/databases/py-qt5-sql/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-PORTNAME=	sql
-PORTREVISION=	3
-CATEGORIES=	databases devel python
-
-MAINTAINER=	kde@FreeBSD.org
-COMMENT=	Python bindings for the Qt5 toolkit, QtSql module
-
-CONFIGURE_ARGS=	--enable QtSql
-PYQT_DIST=	yes
-
-USES=		gl python:3.5+ pyqt:5 qt:5
-USE_GL=		gl
-USE_PYQT=	sip_build core_run widgets_run
-USE_PYTHON=	concurrent flavors py3kplist
-USE_QT=		core gui sql widgets buildtools_build qmake_build
-
-OPTIONS_DEFINE=	API DEBUG
-OPTIONS_DEFAULT=API
-OPTIONS_SUB=	yes
-
-API_DESC=		Install QtSql API for QScintilla2
-API_CONFIGURE_ON=	--qsci-api --qsci-api-destdir=${PYQT_APIDIR}
-API_CONFIGURE_OFF=	--no-qsci-api
-API_LIB_DEPENDS=	libqscintilla2_qt5.so:devel/qscintilla2-qt5
-DEBUG_CONFIGURE_ON=	--debug --trace
-
-post-install:
-	${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PyQt5/QtSql.so
-
-.include <bsd.port.mk>
diff --git a/databases/py-qt5-sql/pkg-descr b/databases/py-qt5-sql/pkg-descr
deleted file mode 100644
index 908ca9499f17..000000000000
--- a/databases/py-qt5-sql/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-PyQt5 is a set of Python bindings for Qt5 application framework.
-This package provides the QtSql module.
-
-WWW: https://riverbankcomputing.com/software/pyqt
diff --git a/databases/py-qt5-sql/pkg-plist b/databases/py-qt5-sql/pkg-plist
deleted file mode 100644
index 5d573f92e755..000000000000
--- a/databases/py-qt5-sql/pkg-plist
+++ /dev/null
@@ -1,18 +0,0 @@
-%%PYTHON_SITELIBDIR%%/PyQt5/QtSql.so
-%%PYTHON_SITELIBDIR%%/PyQt5/QtSql.pyi
-%%PYQT_SIPDIR%%/QtSql/QtSqlmod.sip
-%%PYQT_SIPDIR%%/QtSql/qsql.sip
-%%PYQT_SIPDIR%%/QtSql/qsqldatabase.sip
-%%PYQT_SIPDIR%%/QtSql/qsqldriver.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlerror.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlfield.sip
-%%PYQT_SIPDIR%%/QtSql/qtsqlglobal.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlindex.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlquery.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlquerymodel.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlrecord.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlrelationaldelegate.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlrelationaltablemodel.sip
-%%PYQT_SIPDIR%%/QtSql/qsqlresult.sip
-%%PYQT_SIPDIR%%/QtSql/qsqltablemodel.sip
-%%API%%%%PYQT_APIDIR%%/api/python/QtSql.api
diff --git a/deskutils/calibre/Makefile b/deskutils/calibre/Makefile
index 61db5a83fd08..d6fdb4f78c9d 100644
--- a/deskutils/calibre/Makefile
+++ b/deskutils/calibre/Makefile
@@ -58,7 +58,7 @@ USES=		desktop-file-utils gettext-runtime gl gnome localbase:ldflags \
 		ssl tar:xz xorg
 USE_RC_SUBR=	calibre
 SUB_LIST+=	PYTHON_VERSION=${PYTHON_VERSION}
-USE_PYQT=	core gui network pysip qtbuilder sip svg webengine widgets xmlpatterns
+USE_PYQT=	pyqt5 pysip qtbuilder sip webengine
 USE_QT=		buildtools_build core dbus gui qmake_build widgets
 USE_GL=		egl gl
 USE_GNOME=	glib20
diff --git a/deskutils/py-autokey/Makefile b/deskutils/py-autokey/Makefile
index cb8f53da7b40..59f6756c9150 100644
--- a/deskutils/py-autokey/Makefile
+++ b/deskutils/py-autokey/Makefile
@@ -36,7 +36,7 @@ GTK3_USES=	gnome
 GTK3_USE=	GNOME=gtk30,gtksourceview3,pygobject3
 
 QT5_USES=	pyqt:5
-QT5_USE=	PYQT=dbus,qscintilla2,sip,svg,xml
+QT5_USE=	PYQT=pyqt5,sip
 
 post-patch:
 	@${REINPLACE_CMD} 's|share/man|man|g' ${WRKSRC}/setup.py
diff --git a/deskutils/treeline/Makefile b/deskutils/treeline/Makefile
index c362be9c6271..50a633aa0d4d 100644
--- a/deskutils/treeline/Makefile
+++ b/deskutils/treeline/Makefile
@@ -14,7 +14,7 @@ LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/doc/LICENSE
 
 USES=		python:3.5+ pyqt:5 shebangfix
-USE_PYQT=	core gui network printsupport widgets sip
+USE_PYQT=	pyqt5 sip
*** 6944 LINES SKIPPED ***