git: 939cc7c118a3 - main - accessibility/qt6-speech: new port - interface to speech synthesizers

From: Tobias C. Berner <tcberner_at_FreeBSD.org>
Date: Mon, 30 Jan 2023 12:24:02 UTC
The branch main has been updated by tcberner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=939cc7c118a35b0fdd8f17720710e9dd1d92222e

commit 939cc7c118a35b0fdd8f17720710e9dd1d92222e
Author:     Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2023-01-30 11:02:28 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2023-01-30 12:19:52 +0000

    accessibility/qt6-speech: new port - interface to speech synthesizers
    
    As with the Qt 5 version, Qt Speech provides application developers with
    a QObject subclass, QTextToSpeech, that provides an interface to the
    platform's speech synthesizer engine; and a value type QVoice that
    encapsulates voice characteristics. With those classes, applications can
    make themselves more accessible to users, and go beyond the
    screen-reader functionality of assistive technologies. Using non-visual
    channels to inform users about changes or events can be very useful in
    hands-free situations, such as turn-by-turn navigation systems.
    Content-focused applications like ebook readers could benefit from
    text-to-speech synthesis without depending on assistive technology.
---
 Mk/Uses/qt-dist.mk                 |  4 +--
 accessibility/Makefile             |  1 +
 accessibility/qt6-speech/Makefile  | 34 +++++++++++++++++++
 accessibility/qt6-speech/distinfo  |  3 ++
 accessibility/qt6-speech/pkg-descr |  9 +++++
 accessibility/qt6-speech/pkg-plist | 69 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 118 insertions(+), 2 deletions(-)

diff --git a/Mk/Uses/qt-dist.mk b/Mk/Uses/qt-dist.mk
index e935ddf35bc5..d63794857ac3 100644
--- a/Mk/Uses/qt-dist.mk
+++ b/Mk/Uses/qt-dist.mk
@@ -23,10 +23,10 @@ qmake_ARGS?=	# empty
 # Supported distribution arguments
 _COMMON_DISTS=		3d base charts datavis3d declarative imageformats multimedia \
 			networkauth quick3d quicktimeline remoteobjects scxml sensors \
-			serialbus serialport svg tools translations virtualkeyboard \
+			serialbus serialport speech svg tools translations virtualkeyboard \
 			wayland webchannel webengine websockets
 _QT5_DISTS=		connectivity gamepad graphicaleffects location quickcontrols \
-			quickcontrols2 script speech webglplugin webview \
+			quickcontrols2 script webglplugin webview \
 			x11extras xmlpatterns
 _QT6_DISTS=		5compat doc languageserver lottie positioning shadertools
 
diff --git a/accessibility/Makefile b/accessibility/Makefile
index 8b13f074ca5a..97fd5150cc19 100644
--- a/accessibility/Makefile
+++ b/accessibility/Makefile
@@ -22,6 +22,7 @@
     SUBDIR += py-atspi
     SUBDIR += py-speech-dispatcher
     SUBDIR += qt5-speech
+    SUBDIR += qt6-speech
     SUBDIR += redshift
     SUBDIR += rubygem-atk
     SUBDIR += sct
diff --git a/accessibility/qt6-speech/Makefile b/accessibility/qt6-speech/Makefile
new file mode 100644
index 000000000000..8b7b629f9a13
--- /dev/null
+++ b/accessibility/qt6-speech/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	speech
+PORTVERSION=	${QT6_VERSION}
+CATEGORIES=	accessibility
+PKGNAMEPREFIX=	qt6-
+
+MAINTAINER=	kde@FreeBSD.org
+COMMENT=	Accessibilty features for Qt6
+
+USES=		cmake gl pkgconfig qt-dist:6
+USE_GL=		gl opengl
+USE_QT=		base declarative
+
+OPTIONS_DEFINE=		ALSA
+OPTIONS_DEFAULT=	SPEECHD
+OPTIONS_GROUP=		BACKEND
+OPTIONS_GROUP_BACKEND=	SPEECHD FLITE
+OPTIONS_SUB=		yes
+FLITE_DESC=		Festival Lite Backend
+SPEECHD_DESC=		Speech Dispatcher Backend
+
+ALSA_IMPLIES=		FLITE
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+ALSA_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_ALSA
+
+FLITE_LIB_DEPENDS=	libflite.so:audio/flite
+FLITE_USE=		QT=multimedia
+FLITE_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_Flite
+
+SPEECHD_LIB_DEPENDS=	libspeechd.so:accessibility/speech-dispatcher
+SPEECHD_USES=		gettext-runtime gnome
+SPEECHD_USE=		GNOME=glib20
+SPEECHD_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_SpechDispatcher
+
+.include <bsd.port.mk>
diff --git a/accessibility/qt6-speech/distinfo b/accessibility/qt6-speech/distinfo
new file mode 100644
index 000000000000..949fed3353ca
--- /dev/null
+++ b/accessibility/qt6-speech/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1675066902
+SHA256 (KDE/Qt/6.4.2/qtspeech-everywhere-src-6.4.2.tar.xz) = a9c99f8d34d6f500abf64c9aebdd41f01e746bcf54ff62ad006662400cb494cb
+SIZE (KDE/Qt/6.4.2/qtspeech-everywhere-src-6.4.2.tar.xz) = 219388
diff --git a/accessibility/qt6-speech/pkg-descr b/accessibility/qt6-speech/pkg-descr
new file mode 100644
index 000000000000..c5a261d28e71
--- /dev/null
+++ b/accessibility/qt6-speech/pkg-descr
@@ -0,0 +1,9 @@
+As with the Qt 5 version, Qt Speech provides application developers with a
+QObject subclass, QTextToSpeech, that provides an interface to the platform's
+speech synthesizer engine; and a value type QVoice that encapsulates voice
+characteristics. With those classes, applications can make themselves more
+accessible to users, and go beyond the screen-reader functionality of assistive
+technologies. Using non-visual channels to inform users about changes or events
+can be very useful in hands-free situations, such as turn-by-turn navigation
+systems. Content-focused applications like ebook readers could benefit from
+text-to-speech synthesis without depending on assistive technology.
diff --git a/accessibility/qt6-speech/pkg-plist b/accessibility/qt6-speech/pkg-plist
new file mode 100644
index 000000000000..2be937213217
--- /dev/null
+++ b/accessibility/qt6-speech/pkg-plist
@@ -0,0 +1,69 @@
+%%QT_INCDIR%%/QtTextToSpeech/%%FULLVER%%/QtTextToSpeech/private/qtexttospeech_p.h
+%%QT_INCDIR%%/QtTextToSpeech/%%FULLVER%%/QtTextToSpeech/private/qtexttospeech_qmltypes_p.h
+%%QT_INCDIR%%/QtTextToSpeech/%%FULLVER%%/QtTextToSpeech/private/qttexttospeech-config_p.h
+%%QT_INCDIR%%/QtTextToSpeech/%%FULLVER%%/QtTextToSpeech/private/qvoice_p.h
+%%QT_INCDIR%%/QtTextToSpeech/QTextToSpeech
+%%QT_INCDIR%%/QtTextToSpeech/QTextToSpeechEngine
+%%QT_INCDIR%%/QtTextToSpeech/QTextToSpeechPlugin
+%%QT_INCDIR%%/QtTextToSpeech/QVoice
+%%QT_INCDIR%%/QtTextToSpeech/QtTextToSpeech
+%%QT_INCDIR%%/QtTextToSpeech/QtTextToSpeechDepends
+%%QT_INCDIR%%/QtTextToSpeech/QtTextToSpeechVersion
+%%QT_INCDIR%%/QtTextToSpeech/qtexttospeech.h
+%%QT_INCDIR%%/QtTextToSpeech/qtexttospeech_global.h
+%%QT_INCDIR%%/QtTextToSpeech/qtexttospeechengine.h
+%%QT_INCDIR%%/QtTextToSpeech/qtexttospeechplugin.h
+%%QT_INCDIR%%/QtTextToSpeech/qttexttospeech-config.h
+%%QT_INCDIR%%/QtTextToSpeech/qttexttospeechversion.h
+%%QT_INCDIR%%/QtTextToSpeech/qvoice.h
+%%FLITE%%lib/cmake/Qt6/FindFlite.cmake
+%%SPEECHD%%lib/cmake/Qt6/FindSpeechDispatcher.cmake
+lib/cmake/Qt6BuildInternals/StandaloneTests/QtSpeechTestsConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6TextToSpeechQmlAdditionalTargetInfo.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6TextToSpeechQmlConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6TextToSpeechQmlConfigVersion.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6TextToSpeechQmlConfigVersionImpl.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6TextToSpeechQmlTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6TextToSpeechQmlTargets.cmake
+%%FLITE%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechFlitePluginAdditionalTargetInfo.cmake
+%%FLITE%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechFlitePluginConfig.cmake
+%%FLITE%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechFlitePluginConfigVersion.cmake
+%%FLITE%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechFlitePluginConfigVersionImpl.cmake
+%%FLITE%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechFlitePluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%FLITE%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechFlitePluginTargets.cmake
+lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechMockPluginAdditionalTargetInfo.cmake
+lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechMockPluginConfig.cmake
+lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechMockPluginConfigVersion.cmake
+lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechMockPluginConfigVersionImpl.cmake
+lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechMockPluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechMockPluginTargets.cmake
+%%SPEECHD%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechSpeechdPluginAdditionalTargetInfo.cmake
+%%SPEECHD%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechSpeechdPluginConfig.cmake
+%%SPEECHD%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechSpeechdPluginConfigVersion.cmake
+%%SPEECHD%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechSpeechdPluginConfigVersionImpl.cmake
+%%SPEECHD%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechSpeechdPluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%SPEECHD%%lib/cmake/Qt6TextToSpeech/Qt6QTextToSpeechSpeechdPluginTargets.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechAdditionalTargetInfo.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechConfig.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechConfigVersion.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechConfigVersionImpl.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechDependencies.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechPlugins.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechTargets.cmake
+lib/cmake/Qt6TextToSpeech/Qt6TextToSpeechVersionlessTargets.cmake
+%%QT_LIBDIR%%/libQt6TextToSpeech.prl
+%%QT_LIBDIR%%/libQt6TextToSpeech.so
+%%QT_LIBDIR%%/libQt6TextToSpeech.so.6
+%%QT_LIBDIR%%/libQt6TextToSpeech.so.%%FULLVER%%
+%%QT_LIBDIR%%/metatypes/qt6texttospeech_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_MKSPECDIR%%/modules/qt_lib_texttospeech.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_texttospeech_private.pri
+%%FLITE%%%%QT_PLUGINDIR%%/texttospeech/libqtexttospeech_flite.so
+%%QT_PLUGINDIR%%/texttospeech/libqtexttospeech_mock.so
+%%SPEECHD%%%%QT_PLUGINDIR%%/texttospeech/libqtexttospeech_speechd.so
+%%QT_QMLDIR%%/QtTextToSpeech/libtexttospeechqmlplugin.so
+%%QT_QMLDIR%%/QtTextToSpeech/plugins.qmltypes
+%%QT_QMLDIR%%/QtTextToSpeech/qmldir
+libdata/pkgconfig/Qt6TextToSpeech.pc
+%%QT_DATADIR%%/modules/TextToSpeech.json