Install this version:
emerge -a =app-accessibility/espeak-ng-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-accessibility/espeak-ng-9999
Or alternatively:
emerge --autounmask-write -a =app-accessibility/espeak-ng-9999
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_QA_COMPAT_SKIP=1 #android/jni/CMakeLists.txt
inherit cmake toolchain-funcs
MAN_VERS="1.51"
DESCRIPTION="Software speech synthesizer for English, and some other languages"
HOMEPAGE="https://github.com/espeak-ng/espeak-ng"
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/espeak-ng/espeak-ng.git"
inherit git-r3
elif [[ ${PV} == *_p* ]]; then
HASH_COMMIT=""
SRC_URI="https://github.com/espeak-ng/espeak-ng/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${HASH_COMMIT}"
else
SRC_URI="https://github.com/espeak-ng/espeak-ng/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="GPL-3+ unicode"
SLOT="0"
IUSE="+klatt mbrola sonic +sound test"
IUSE+=" l10n_ru l10n_zh"
RESTRICT="!test? ( test )"
DEPEND="
mbrola? ( app-accessibility/mbrola )
sonic? ( media-libs/sonic:= )
sound? ( media-libs/pcaudiolib )
"
RDEPEND="${DEPEND}
!app-accessibility/espeak
"
BDEPEND="virtual/pkgconfig"
if [[ ${PV} == *9999* ]]; then
BDEPEND+=" app-text/ronn-ng"
fi
DOCS=( ChangeLog.md README.md docs )
src_prepare() {
cmake_src_prepare
if [[ ${PV} != *9999* ]]; then
cp "${FILESDIR}"/${PN}.1-${MAN_VERS} "${S}"/docs/${PN}.1 || die
fi
if ! use klatt; then
sed -e '/test_wav "en+klatt4"/d' -i tests/variants.test || die
fi
if ! use l10n_ru; then
sed -e '/test_phon ru/d' -i tests/language-pronunciation.test || die
fi
if ! use l10n_zh; then
sed -e '/test_phon cmn/d' -i tests/translate.test || die
fi
}
src_configure() {
_need_native() {
if ! tc-is-cross-compiler; then
return 1
fi
if ! has_version -b ">=${CATEGORY}/${P}"; then
return 0
fi
if "${BROOT}"/usr/bin/espeak-ng --version &> /dev/null ; then
return 2
else
return 0
fi
return 1
}
if _need_native; then
einfo "Building native espeak-ng-bin for intonations..."
BUILD_NATIVE="${WORKDIR}/${P}_build_native"
local mycmakeargs=(
-DCOMPILE_INTONATIONS=ON
-DUSE_SPEECHPLAYER=OFF
-DESPEAK_BUILD_MANPAGES=OFF
-DSONIC_LIB=1
-DSONIC_INC=1
-DUSE_KLATT=OFF
-DUSE_MBROLA=OFF
-DUSE_LIBSONIC=OFF
-DUSE_LIBPCAUDIO=OFF
-DENABLE_TESTS=OFF
)
BUILD_DIR="${BUILD_NATIVE}" tc-env_build cmake_src_configure
# create an empty program for now
touch "${BUILD_NATIVE}"/src/espeak-ng || die
# make it executable (CMP0109)
chmod +x "${BUILD_NATIVE}"/src/espeak-ng || die
fi
# https://bugs.gentoo.org/836646
export PULSE_SERVER=""
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DCOMPILE_INTONATIONS=ON
# outdated, not packaged
-DUSE_SPEECHPLAYER=OFF
-DUSE_KLATT=$(usex klatt)
-DUSE_MBROLA=$(usex mbrola)
-DUSE_LIBSONIC=$(usex sonic)
# or sonic will be fetched even if it's disabled
# see also https://github.com/espeak-ng/espeak-ng/issues/2273
$(usev !sonic '-DSONIC_LIB=1 -DSONIC_INC=1')
-DUSE_LIBPCAUDIO=$(usex sound)
-DENABLE_TESTS=$(usex test)
# extended dictionaries
-DEXTRA_ru=$(usex l10n_ru)
-DEXTRA_cmn=$(usex l10n_zh)
-DEXTRA_yue=$(usex l10n_zh)
)
if [[ ${PV} == *9999* ]]; then
mycmakeargs+=( -DESPEAK_BUILD_MANPAGES=ON )
else
# use precompiled for releases
mycmakeargs+=( -DESPEAK_BUILD_MANPAGES=OFF )
fi
_need_native
case $? in
0) mycmakeargs+=( -DNativeBuild_DIR="${BUILD_NATIVE}/src" ) ;;
2) mycmakeargs+=( -DNativeBuild_DIR="${BROOT}/usr/bin" ) ;;
esac
cmake_src_configure
}
src_compile() {
if _need_native; then
BUILD_DIR="${BUILD_NATIVE}" tc-env_build cmake_build espeak-ng-bin
fi
cmake_src_compile
}
src_install() {
cmake_src_install
[[ ${PV} == *9999* ]] || doman docs/${PN}.1
}
Manage flags for this package:
euse -i <flag> -p app-accessibility/espeak-ng |
euse -E <flag> -p app-accessibility/espeak-ng |
euse -D <flag> -p app-accessibility/espeak-ng
mbrola? ( app-accessibility/mbrola ) sonic? ( media-libs/sonic:= ) sound? ( media-libs/pcaudiolib )
mbrola? ( app-accessibility/mbrola ) sonic? ( media-libs/sonic:= ) sound? ( media-libs/pcaudiolib ) !app-accessibility/espeak
virtual/pkgconfig app-text/ronn-ng