app-accessibility/rhvoice-core: add 1.16.4

Closes: https://bugs.gentoo.org/923911
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
Anna (cybertailor) Vyalkova
2025-03-17 22:06:07 +05:00
parent 599d835337
commit 9fdde86857
4 changed files with 121 additions and 13 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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>

View File

@@ -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
}