diff --git a/app-accessibility/speech-dispatcher/Manifest b/app-accessibility/speech-dispatcher/Manifest index 3196f27a781bf..eab15a4d183d4 100644 --- a/app-accessibility/speech-dispatcher/Manifest +++ b/app-accessibility/speech-dispatcher/Manifest @@ -1 +1,2 @@ DIST speech-dispatcher-0.11.5.tar.gz 7230756 BLAKE2B cacc0030489c17dcab4648c55e5b203f40d7a473be9a1ec0402e39fc8f853d30596caff4204052782ca562cc318363aa52118e6d375b5e9bf505ef7159129544 SHA512 d6d880bce0ae5bc2a5d519ef7740c689ae8b4b0bb658379762810e4beae3e465a429fbe19f7c490e89db0ea6a36aedd4b2287ac9251b90059b5c2cb3c0dd8a28 +DIST speech-dispatcher-0.12.0.tar.gz 7481967 BLAKE2B 091a4fcf3a5b1bd7af256cf311b702ea6d3dcf18900f24f04c7edd66d26eb535b442e16112c1eed2fc0867d88cb56b898c381989a0dccbf22816fe8242930d9f SHA512 684472c9410ca42f28873054613934ad93525aa5526b788dc4c2bba861aa6cb675826b9fc5083e013d25e0f23fe113691e11aa7aa9b1cebdca72abfa6119940c diff --git a/app-accessibility/speech-dispatcher/metadata.xml b/app-accessibility/speech-dispatcher/metadata.xml index 506de2e0ba7da..a8f2cd1ec3786 100644 --- a/app-accessibility/speech-dispatcher/metadata.xml +++ b/app-accessibility/speech-dispatcher/metadata.xml @@ -15,6 +15,9 @@ Adds support for espeak-ng speech engine Adds support for flite speech engine + + Enables support for PipeWire. Recommended for latency related advantages if it works in your setup. + brailcom/speechd diff --git a/app-accessibility/speech-dispatcher/speech-dispatcher-0.12.0.ebuild b/app-accessibility/speech-dispatcher/speech-dispatcher-0.12.0.ebuild new file mode 100644 index 0000000000000..2e8f6f5c13ed3 --- /dev/null +++ b/app-accessibility/speech-dispatcher/speech-dispatcher-0.12.0.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic python-r1 systemd + +DESCRIPTION="Speech synthesis interface" +HOMEPAGE="https://freebsoft.org/speechd" +SRC_URI="https://github.com/brailcom/speechd/releases/download/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="alsa ao +espeak flite nas pulseaudio pipewire +python" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND="python? ( ${PYTHON_DEPS} ) + >=dev-libs/dotconf-1.3 + >=dev-libs/glib-2.36:2 + >=media-libs/libsndfile-1.0.2 + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + espeak? ( app-accessibility/espeak-ng ) + flite? ( app-accessibility/flite ) + nas? ( media-libs/nas ) + pulseaudio? ( media-libs/libpulse ) + pipewire? ( media-video/pipewire )" +RDEPEND="${DEPEND} + python? ( dev-python/pyxdg[${PYTHON_USEDEP}] )" +BDEPEND=" + sys-apps/help2man + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig" + +src_configure() { + # bug #944193 + append-cflags -std=gnu17 + + # bug 573732 + export GIT_CEILING_DIRECTORIES="${WORKDIR}" + + local myeconfargs=( + --disable-ltdl + --disable-python + --disable-static + --with-baratinoo=no + --with-ibmtts=no + --with-kali=no + --with-pico=no + --with-voxin=no + --with-espeak=no + $(use_with alsa) + $(use_with ao libao) + $(use_with espeak espeak-ng) + $(use_with flite) + $(use_with nas) + $(use_with pulseaudio pulse) + $(use_with pipewire) + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + econf "${myeconfargs[@]}" +} + +src_compile() { + use python && python_copy_sources + + emake + + if use python; then + building() { + cd src/api/python || die + emake \ + pyexecdir="$(python_get_sitedir)" \ + pythondir="$(python_get_sitedir)" + } + python_foreach_impl run_in_build_dir building + fi +} + +src_install() { + default + + if use python; then + installation() { + cd src/api/python || die + emake \ + DESTDIR="${D}" \ + pyexecdir="$(python_get_sitedir)" \ + pythondir="$(python_get_sitedir)" \ + install + } + python_foreach_impl run_in_build_dir installation + python_replicate_script "${ED}"/usr/bin/spd-conf + python_foreach_impl python_optimize + fi + + find "${D}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + local editconfig="n" + if ! use espeak; then + ewarn "You have disabled espeak-ng, which is speech-dispatcher's" + ewarn "default speech synthesizer." + ewarn + editconfig="y" + fi + if ! use pulseaudio; then + ewarn "You have disabled pulseaudio support." + ewarn "pulseaudio is speech-dispatcher's default audio subsystem." + ewarn + editconfig="y" + fi + if [[ "${editconfig}" == "y" ]]; then + ewarn "You must edit ${EROOT}/etc/speech-dispatcher/speechd.conf" + ewarn "and make sure the settings there match your system." + ewarn + fi +}