commit: 9fdde86857d845fe3366813888eaee04a0540bb9 Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> AuthorDate: Mon Mar 17 17:06:07 2025 +0000 Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> CommitDate: Mon Mar 17 17:35:56 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9fdde868
app-accessibility/rhvoice-core: add 1.16.4 Closes: https://bugs.gentoo.org/923911 Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in> app-accessibility/rhvoice-core/Manifest | 2 + .../files/rhvoice-core-1.16.4-flags.patch | 13 +++ app-accessibility/rhvoice-core/metadata.xml | 16 +--- .../rhvoice-core/rhvoice-core-1.16.4.ebuild | 103 +++++++++++++++++++++ 4 files changed, 121 insertions(+), 13 deletions(-) diff --git a/app-accessibility/rhvoice-core/Manifest b/app-accessibility/rhvoice-core/Manifest index 2f6ab5834..7d3680339 100644 --- a/app-accessibility/rhvoice-core/Manifest +++ b/app-accessibility/rhvoice-core/Manifest @@ -1,2 +1,4 @@ DIST RHVoice-1.14.0-sanitizers.tar.gz 7339 BLAKE2B e600886c9afed2681ea7ad5fd9900af7d3f98a7d96291af7c9ef648be438d149e86ee143f3fa5af0dee08457008ce66be43177adcac79401ef025ddd0d8d40fe SHA512 61df4641f3dbeca38cff44336df6fcea75d02d97135a677df51a02353b5580a96dd77af268bd42944afe36a58512fd948200098ea96a41d20ec503fc33a69421 DIST RHVoice-1.14.0.tar.gz 3181853 BLAKE2B c3c8c7437aa859898dec8747963aa23e6e16b975b58d76f9b1ade3d1c17d9d4e63c24469a670c1210f9a1501606a34b6adf52ab4c64abfddb97541cced8f82b2 SHA512 dab57df49bdb1e2c574cd10e17e5bea08144a105d8f48991cef14b80d28db98dcae29b19d69ec97fc843ee8636d53c48845a3887552d347f117339c95fa0daf1 +DIST RHVoice-1.16.4-sanitizers.tar.gz 7339 BLAKE2B e600886c9afed2681ea7ad5fd9900af7d3f98a7d96291af7c9ef648be438d149e86ee143f3fa5af0dee08457008ce66be43177adcac79401ef025ddd0d8d40fe SHA512 61df4641f3dbeca38cff44336df6fcea75d02d97135a677df51a02353b5580a96dd77af268bd42944afe36a58512fd948200098ea96a41d20ec503fc33a69421 +DIST RHVoice-1.16.4.tar.gz 3228520 BLAKE2B bc48e4b008416ec32b53969ca94d50eca847ced140601c8480624ee21410da149662cf64b5bcb7119c79900654b5488bc719acbfc3c424c3ede606d7b5433b5a SHA512 97e08eb8277fc39dd09d9954f0bb5927ed49e4d8310b82b8d71a16236db988f49d92303278644ce9031da61a026c14a36b7de0f95cb42072a6ac9754e29272b8 diff --git a/app-accessibility/rhvoice-core/files/rhvoice-core-1.16.4-flags.patch b/app-accessibility/rhvoice-core/files/rhvoice-core-1.16.4-flags.patch new file mode 100644 index 000000000..2c7499d78 --- /dev/null +++ b/app-accessibility/rhvoice-core/files/rhvoice-core-1.16.4-flags.patch @@ -0,0 +1,13 @@ +Hardening.cmake: allow overwriting HARDENING_MACRODEFS + +CMake requires explicit form for cache variables. + +--- a/cmake/Hardening.cmake ++++ b/cmake/Hardening.cmake +@@ -272,5 +272,5 @@ function(harden target) + + #list(JOIN HARDENING_MACRODEFS " " HARDENING_MACRODEFS) # unneeded, list is needed, not string + set(HARDENING_MACRODEFS "${HARDENING_MACRODEFS}" CACHE STRING "Hardening flags CMake list (not string!)") +- target_compile_definitions(${target} PRIVATE ${HARDENING_MACRODEFS}) ++ target_compile_definitions(${target} PRIVATE $CACHE{HARDENING_MACRODEFS}) + endfunction(harden) diff --git a/app-accessibility/rhvoice-core/metadata.xml b/app-accessibility/rhvoice-core/metadata.xml index 7015e8069..659bfe949 100644 --- a/app-accessibility/rhvoice-core/metadata.xml +++ b/app-accessibility/rhvoice-core/metadata.xml @@ -12,18 +12,8 @@ <flag name="speech-dispatcher">Build a speech-dispatcher middleware module</flag> </use> <longdescription lang="en"> - RHVoice is a free and open source speech synthesizer. - - Voices are built from recordings of natural speech. They have small - footprints, because only statistical models are stored on users' - computers. And though the voices lack the naturalness of the - synthesizers which generate speech by combining segments of the - recordings themselves, they are still very intelligible and resemble - the speakers who recorded the source material. - - Initially, RHVoice could speak only Russian. Now it also supports - American English, Brazilian Portuguese, Esperanto, Georgian, Ukrainian, - Kyrgyz and Tatar. In theory, it is possible to implement support for - other languages, if all the necessary resources can be found or created. + RHVoice is a multilingual speech synthesizer primarily developed for + use with screen readers, maintaining the balance between speech + quality and responsiveness. </longdescription> </pkgmetadata> diff --git a/app-accessibility/rhvoice-core/rhvoice-core-1.16.4.ebuild b/app-accessibility/rhvoice-core/rhvoice-core-1.16.4.ebuild new file mode 100644 index 000000000..6812029d8 --- /dev/null +++ b/app-accessibility/rhvoice-core/rhvoice-core-1.16.4.ebuild @@ -0,0 +1,103 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +MY_PN="RHVoice" +MY_P="${MY_PN}-${PV}" +SANITIZERS_COMMIT="99e159ec9bc8dd362b08d18436bd40ff0648417b" +DESCRIPTION="Multilingual text-to-speech engine" +HOMEPAGE=" + https://rhvoice.org + https://github.com/RHVoice/RHVoice +" +SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${MY_P}.tar.gz + https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_COMMIT}.tar.gz -> ${MY_P}-sanitizers.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD GPL-2+ GPL-3+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ao dbus portaudio +pulseaudio +speech-dispatcher" +REQUIRED_USE="|| ( ao portaudio pulseaudio )" + +COMMON_DEPEND=" + dev-libs/boost:= + ao? ( media-libs/libao ) + dbus? ( + dev-libs/glib:2[dbus] + dev-libs/libsigc++:2 + >=dev-cpp/glibmm-2.66.1:2 + ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-libs/libpulse ) + speech-dispatcher? ( app-accessibility/speech-dispatcher ) +" +RDEPEND="${COMMON_DEPEND} + !<app-accessibility/rhvoice-1.14.0 +" +DEPEND="${COMMON_DEPEND} + dev-cpp/cli11 + <dev-libs/utfcpp-4.0 +" + +PATCHES=( + # https://bugs.gentoo.org/923911 + "${FILESDIR}"/${PN}-1.16.4-flags.patch +) + +DOCS=( README.md doc/. config/dicts ) + +LANGS=( en ru ) +for lang in "${LANGS[@]}"; do + IUSE+=" l10n_${lang}" + RDEPEND+=" l10n_${lang}? ( app-dicts/rhvoice-${lang} )" +done + +src_unpack() { + default + cd "${S}" || die + + rmdir cmake/thirdParty/sanitizers || die + mv "${WORKDIR}"/sanitizers-cmake-${SANITIZERS_COMMIT} cmake/thirdParty/sanitizers || die +} + +src_prepare() { + cmake_src_prepare + cmake_comment_add_subdirectory '"${thirdPartyCMakeModulesDir}/CCache"' +} + +src_configure() { + local mycmakeargs=( + -DRHVOICE_VERSION_FROM_GIT=${PV} + -DWITH_CLI11=ON + -DWITH_DATA=OFF + + # src/CMakeLists.txt + -DBUILD_CLIENT=OFF # deprecated, use speech-dispatcher + -DBUILD_UTILS=OFF # fails to build because of bundled tclap + -DBUILD_TESTS=ON # standalone cli application + -DBUILD_SERVICE=$(usex dbus) + -DBUILD_SPEECHDISPATCHER_MODULE=$(usex speech-dispatcher) + + # src/audio/CMakeLists.txt + -DWITH_LIBAO=$(usex ao) + -DWITH_PULSE=$(usex pulseaudio) + -DWITH_PORTAUDIO=$(usex portaudio) + + # Hardening.cmake: don't mess with flags + -DHARDENING_PIC=OFF + -DHARDENING_SSE2=OFF + -DHARDENING_COMPILE_FLAGS= + -DHARDENING_LINK_FLAGS= + -DHARDENING_MACRODEFS= + ) + + use speech-dispatcher && \ + append-cppflags -DSPD_MAJOR=1 -DSPD_MINOR=0 + + cmake_src_configure +}
