public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: app-accessibility/rhvoice-core/, app-accessibility/rhvoice-core/files/
@ 2025-03-17 17:36 Anna Vyalkova
  0 siblings, 0 replies; only message in thread
From: Anna Vyalkova @ 2025-03-17 17:36 UTC (permalink / raw
  To: gentoo-commits

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


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-03-17 17:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-17 17:36 [gentoo-commits] repo/proj/guru:dev commit in: app-accessibility/rhvoice-core/, app-accessibility/rhvoice-core/files/ Anna Vyalkova

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox