blob: e3756dd73fd752797e9a5d1782dbf245c9e9fd6e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_REMOVE_MODULES_LIST=( VersionFromGit )
inherit cmake
DESCRIPTION="TTS engine with extended languages support (including Russian)"
HOMEPAGE="https://rhvoice.su https://github.com/RHVoice/RHVoice"
SRC_URI="
https://github.com/${PN}/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
l10n_en? ( https://github.com/${PN}/evgeniy-eng/archive/refs/tags/4.0.tar.gz -> rhvoice-evgeniy-eng-4.0.tar.gz )
l10n_ru? (
https://github.com/${PN}/aleksandr-hq-rus/archive/refs/tags/4.0.tar.gz -> rhvoice-aleksandr-hq-4.0.tar.gz
https://github.com/${PN}/evgeniy-rus/archive/refs/tags/4.0.tar.gz -> rhvoice-evgeniy-rus-4.0.tar.gz
https://github.com/${PN}/victoria-rus/archive/refs/tags/4.0.tar.gz -> rhvoice-victoria-4.0.tar.gz
https://github.com/${PN}/yuriy-rus/archive/refs/tags/4.0.tar.gz -> rhvoice-yuriy-4.0.tar.gz
)
l10n_uk? ( https://github.com/${PN}/volodymyr-ukr/archive/refs/tags/4.0.tar.gz -> rhvoice-volodymyr-4.0.tar.gz )
"
S="${WORKDIR}/RHVoice-${PV}"
LICENSE="l10n_pt-BR? ( CC-BY-SA-4.0 ) l10n_mk? ( AGPL-3 ) BSD GPL-2 GPL-3+ LGPL-2.1+"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="ao cli portaudio +pulseaudio +server +speech-dispatcher"
REQUIRED_USE="|| ( ao portaudio pulseaudio )"
CC_NC_LANGS=( en eo ky ru uk )
NC_LANGS=( ka tt )
LANGS=" ${CC_NC_LANGS[@]} ${NC_LANGS[@]} mk pt-BR"
IUSE+="${LANGS// / l10n_}"
for lang in "${CC_NC_LANGS[@]}" ; do
LICENSE+=" l10n_${lang}?"
LICENSE+=" ( CC-BY-NC-ND-4.0 )"
done
for lang in "${NC_LANGS[@]}" ; do
LICENSE+=" l10n_${lang}?"
LICENSE+=" ( free-noncomm )"
done
DEPEND="
ao? ( media-libs/libao )
portaudio? ( media-libs/portaudio )
pulseaudio? ( media-sound/pulseaudio )
server? (
dev-libs/glib:2[dbus]
dev-libs/libsigc++:2
>=dev-cpp/glibmm-2.66.1:2
)
speech-dispatcher? ( app-accessibility/speech-dispatcher )
"
RDEPEND="${DEPEND}
!dev-libs/hts_engine
"
# TODO: readd dev-libs/rapidxml in ::guru
BDEPEND="
dev-cpp/cli11
dev-libs/utfcpp
"
REQUIRED_USE="|| ( ao portaudio pulseaudio )"
DOCS=( README.md doc config/dicts )
delete_voices() {
for voice in "$@"; do
rm -r "data/voices/${voice}" || die
done
}
src_unpack() {
default
# git submodules, which are not present in the snapshot
rmdir "${S}"/data/voices/{aleksandr-hq,evgeniy-rus,evgeniy-eng,victoria,volodymyr,yuriy} || die
if use l10n_ru; then
mv "${WORKDIR}"/aleksandr-hq-rus-4.0 "${S}"/data/voices/aleksandr-hq || die
mv "${WORKDIR}"/evgeniy-rus-4.0 "${S}"/data/voices/evgeniy-rus || die
mv "${WORKDIR}"/victoria-rus-4.0 "${S}"/data/voices/victoria || die
mv "${WORKDIR}"/yuriy-rus-4.0 "${S}"/data/voices/yuriy || die
fi
if use l10n_en; then
mv "${WORKDIR}"/evgeniy-eng-4.0 "${S}"/data/voices/evgeniy-eng || die
fi
if use l10n_uk; then
mv "${WORKDIR}"/volodymyr-ukr-4.0 "${S}"/data/voices/volodymyr || die
fi
}
src_prepare() {
cmake_src_prepare
sed "s|/lib/speech-dispatcher-modules|/$(get_libdir)/speech-dispatcher-modules|" \
-i src/sd_module/CMakeLists.txt || die
# fix dbus service install path
sed "s|/systemd/system||" \
-i src/service/CMakeLists.txt || die
#sed -e "/set(RAPIDXML_INCLUDE_DIR/d" \
# -i src/third-party/CMakeLists.txt || die
sed "/set(UTF8_INCLUDE_DIR/d" -i src/CMakeLists.txt || die
# fix build failure
sed 's/ "RHVoice_question_match"//' \
-i src/third-party/mage/CMakeLists.txt || die
sed -e "/include(VersionFromGit)/d" \
-e "/find_package(Sanitizers)/d" \
-e "/getVersionFromGit/d" \
-i CMakeLists.txt || die
sed -e "/add_sanitizers/d" \
-i src/*/CMakeLists.txt \
-i src/third-party/*/CMakeLists.txt || die
use l10n_en || delete_voices alan bdl clb slt
use l10n_eo || delete_voices spomenka
use l10n_ka || delete_voices natia
use l10n_ky || delete_voices azamat nazgul
use l10n_mk || delete_voices kiko
use l10n_ru || delete_voices aleksandr anna arina artemiy elena irina pavel
use l10n_tt || delete_voices talgat
use l10n_uk || delete_voices anatol natalia
use l10n_pt-BR || delete_voices Leticia-F123
}
src_configure() {
local mycmakeargs=(
-Dcommon_doc_dir=/usr/share/doc/${PF}
-DRHVOICE_VERSION=${PV}
-DRHVOICE_VERSION_MAJOR=$(ver_cut 1)
-DWITH_CLI11=ON
# src/CMakeLists.txt
-DBUILD_CLIENT=OFF # deprecated
-DBUILD_UTILS=OFF # fails to build because of bundled tclap
-DBUILD_TESTS=$(usex cli)
-DBUILD_SERVICE=$(usex server)
-DBUILD_SPEECHDISPATCHER_MODULE=$(usex speech-dispatcher)
# src/audio/CMakeLists.txt
-DWITH_LIBAO=$(usex ao)
-DWITH_PULSE=$(usex pulseaudio)
-DWITH_PORTAUDIO=$(usex portaudio)
# src/third-party/CMakeLists.txt
#-DRAPIDXML_INCLUDE_DIR=/usr/include/rapidxml
-DUTF8_INCLUDE_DIR=/usr/include/utf8cpp
)
cmake_src_configure
}
|