summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-accessibility/espeak/espeak-1.48.04-r1.ebuild')
-rw-r--r--app-accessibility/espeak/espeak-1.48.04-r1.ebuild100
1 files changed, 100 insertions, 0 deletions
diff --git a/app-accessibility/espeak/espeak-1.48.04-r1.ebuild b/app-accessibility/espeak/espeak-1.48.04-r1.ebuild
new file mode 100644
index 000000000000..fba712bdf426
--- /dev/null
+++ b/app-accessibility/espeak/espeak-1.48.04-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+MY_P="${P}-source"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
+DESCRIPTION="Speech synthesizer for English and other languages"
+HOMEPAGE="http://espeak.sourceforge.net/"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="portaudio pulseaudio"
+
+COMMON_DEPEND="portaudio? ( >=media-libs/portaudio-19_pre20071207 )
+ pulseaudio? ( media-sound/pulseaudio )"
+
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip"
+
+RDEPEND="${COMMON_DEPEND}
+ media-sound/sox"
+
+PATCHES=( "${FILESDIR}"/${P}-gcc-6-fix.patch )
+
+S="${WORKDIR}/${MY_P}/src"
+
+get_audio() {
+ if use portaudio && use pulseaudio; then
+ echo runtime
+ elif use portaudio; then
+ echo portaudio
+ elif use pulseaudio; then
+ echo pulseaudio
+ else
+ echo none
+ fi
+}
+
+src_prepare() {
+ default
+ # gentoo uses portaudio 19.
+ mv -f portaudio19.h portaudio.h
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ CXXFLAGS="${CXXFLAGS}" \
+ AR="$(tc-getAR)" \
+ AUDIO="$(get_audio)" \
+ all
+
+ einfo "Fixing byte order of phoneme data files"
+ pushd ../platforms/big_endian > /dev/null
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}"
+ ./espeak-phoneme-data \
+ ../../espeak-data \
+ . \
+ ../../espeak-data/phondata-manifest
+ cp -f phondata phonindex phontab "../../espeak-data"
+}
+
+src_install() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="\$(PREFIX)/$(get_libdir)" \
+ DESTDIR="${D}" \
+ AUDIO="$(get_audio)" \
+ install
+
+ cd ..
+ insinto /usr/share/espeak-data
+ doins -r dictsource
+ dodoc ChangeLog.txt ReadMe
+ HTML_DOCS="docs/*" einstalldocs
+}
+
+pkg_preinst() {
+ local voicedir="${ROOT}/usr/share/${PN}-data/voices/en"
+ if [ -d "${voicedir}" ]; then
+ rm -rf "${voicedir}"
+ fi
+}
+
+pkg_postinst() {
+ if ! use portaudio && ! use pulseaudio; then
+ ewarn "Since portaudio and pulseaudio are not in your use flags,"
+ ewarn "espeak will only be able to create wav files."
+ ewarn "If this is not what you want, please reemerge ${CATEGORY}/${PN}"
+ ewarn "with either portaudio or pulseaudio USE flag enabled."
+ fi
+}