commit:     204ee75ba5b7c51d9b9d6a10c791a25c5edf0606
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  4 18:08:41 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep  5 13:01:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=204ee75b

dev-python/PyQt6: add QtBluetooth, Nfc, TextToSpeech, and Sensors

Nothing that needs this in PyQt6 currently, but there is no harm
in adding off-by-default support now that these are packaged.

Only ones still missing are:
- QtLocation: still disabled in project.py, so waiting on upstream
- QtPdf: needs enabling & testing in qtwebengine first
- QtRemoteObjects: thought to package this but failing to find anything
  that is going to need it currently, will wait until someone requests
  (remoteobjects sound interesting but seemingly scarcely used)
- QtAxContainer: this is for Windows (ActiveX), so nothing to do here

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-python/PyQt6/PyQt6-6.5.2.ebuild | 32 ++++++++++++++++++++------------
 dev-python/PyQt6/metadata.xml       |  4 ++++
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/dev-python/PyQt6/PyQt6-6.5.2.ebuild 
b/dev-python/PyQt6/PyQt6-6.5.2.ebuild
index a1b443ba8c6f..311aa076e528 100644
--- a/dev-python/PyQt6/PyQt6-6.5.2.ebuild
+++ b/dev-python/PyQt6/PyQt6-6.5.2.ebuild
@@ -21,9 +21,10 @@ KEYWORDS="~amd64"
 # defaults match what is provided with qtbase by default (except testlib),
 # reduces the need to set flags but does increase build time a fair amount
 IUSE="
-       +dbus debug qml designer examples gles2-only +gui help multimedia
-       +network opengl positioning +printsupport quick quick3d serialport
-       spatialaudio +sql +ssl svg testlib webchannel websockets +widgets +xml
+       bluetooth +dbus debug designer examples gles2-only +gui help
+       multimedia +network nfc opengl positioning +printsupport qml
+       quick quick3d serialport sensors spatialaudio speech +sql +ssl
+       svg testlib webchannel websockets +widgets +xml
 "
 # see `grep -r "%Import " sip` and `grep qmake_QT project.py`
 REQUIRED_USE="
@@ -47,6 +48,7 @@ REQUIRED_USE="
 # can use parts of the Qt private api and "sometimes" needs rebuilds wrt :=
 DEPEND="
        
>=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
+       bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
        dbus? (
                dev-python/dbus-python[${PYTHON_USEDEP}]
                sys-apps/dbus
@@ -54,11 +56,16 @@ DEPEND="
        designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
        help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
        multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
-       opengl? ( gles2-only? ( media-libs/libglvnd ) )
+       nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+       opengl? (
+               gles2-only? ( media-libs/libglvnd )
+       )
        positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
        qml? ( >=dev-qt/qtdeclarative-${QT_PV} )
        quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+       sensors? ( >=dev-qt/qtsensors-${QT_PV} )
        serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+       speech? ( >=dev-qt/qtspeech-${QT_PV} )
        svg? ( >=dev-qt/qtsvg-${QT_PV} )
        webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
        websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
@@ -103,10 +110,9 @@ python_configure_all() {
                --verbose
                --confirm-license
 
-               # TODO: enable more as new qt6 packages get added
-               --disable=QAxContainer
-               --disable=QtBluetooth
                --enable=QtCore
+
+               $(pyqt_use_enable bluetooth QtBluetooth)
                $(pyqt_use_enable dbus QtDBus)
                $(pyqt_use_enable designer QtDesigner)
                $(pyqt_use_enable help QtHelp)
@@ -115,7 +121,7 @@ python_configure_all() {
                $(pyqt_use_enable multimedia QtMultimedia \
                        $(usev widgets QtMultimediaWidgets))
                $(pyqt_use_enable network QtNetwork)
-               --disable=QtNfc
+               $(pyqt_use_enable nfc QtNfc)
                $(pyqt_use_enable opengl QtOpenGL \
                        $(usev widgets QtOpenGLWidgets))
                --disable=QtPdf #+QtPdfWidgets (QtPdf is disabled in 
qtwebengine:6)
@@ -125,15 +131,15 @@ python_configure_all() {
                $(pyqt_use_enable quick QtQuick \
                        $(usev widgets QtQuickWidgets))
                $(pyqt_use_enable quick3d QtQuick3D)
-               --disable=QtRemoteObjects
-               --disable=QtSensors
+               --disable=QtRemoteObjects # not packaged
+               $(pyqt_use_enable sensors QtSensors)
                $(pyqt_use_enable serialport QtSerialPort)
                $(pyqt_use_enable spatialaudio QtSpatialAudio)
                $(pyqt_use_enable sql QtSql)
                $(pyqt_use_enable svg QtSvg \
                        $(usev widgets QtSvgWidgets))
                $(pyqt_use_enable testlib QtTest)
-               --disable=QtTextToSpeech
+               $(pyqt_use_enable speech QtTextToSpeech)
                $(pyqt_use_enable webchannel QtWebChannel)
                $(pyqt_use_enable websockets QtWebSockets)
                $(pyqt_use_enable widgets QtWidgets)
@@ -152,7 +158,9 @@ python_configure_all() {
                $(usev !opengl --disabled-feature=PyQt_OpenGL)
                $(usev !ssl --disabled-feature=PyQt_SSL)
 
-               --disabled-feature=PyQt_Permissions # disabled in qtbase on 
this target
+               # intended for Windows / Android or others
+               --disable=QAxContainer
+               --disabled-feature=PyQt_Permissions
        )
 }
 

diff --git a/dev-python/PyQt6/metadata.xml b/dev-python/PyQt6/metadata.xml
index f644137d55df..930d5440dcc5 100644
--- a/dev-python/PyQt6/metadata.xml
+++ b/dev-python/PyQt6/metadata.xml
@@ -6,20 +6,24 @@
                <name>Gentoo Qt Project</name>
        </maintainer>
        <use>
+               <flag name="bluetooth">Build bindings for the QtBluetooth 
module</flag>
                <flag name="dbus">Build bindings for the QtDBus module</flag>
                <flag name="designer">Build bindings for the QtDesigner module 
and enable the designer plugin</flag>
                <flag name="gui">Build bindings for the QtGui module</flag>
                <flag name="help">Build bindings for the QtHelp module</flag>
                <flag name="multimedia">Build bindings for the QtMultimedia 
module</flag>
                <flag name="network">Build bindings for the QtNetwork 
module</flag>
+               <flag name="nfc">Build bindings for the QtNfc module</flag>
                <flag name="opengl">Build bindings for the QtOpenGL 
module</flag>
                <flag name="positioning">Build bindings for the QtPositioning 
module</flag>
                <flag name="printsupport">Build bindings for the QtPrintSupport 
module</flag>
                <flag name="qml">Build bindings for the QtQml module and enable 
the qml plugin</flag>
                <flag name="quick">Build bindings for the QtQuick module</flag>
                <flag name="quick3d">Build bindings for the QtQuick3D 
module</flag>
+               <flag name="sensors">Build bindings for the QtSensors 
module</flag>
                <flag name="serialport">Build bindings for the QtSerialPort 
module</flag>
                <flag name="spatialaudio">Build bindings for the QtSpatialAudio 
module</flag>
+               <flag name="speech">Build bindings for the QtTextToSpeech 
module</flag>
                <flag name="sql">Build bindings for the QtSql module</flag>
                <flag name="svg">Build bindings for the QtSvg module</flag>
                <flag name="testlib">Build bindings for the QtTest module</flag>

Reply via email to