diff options
author | Pacho Ramos <pacho@gentoo.org> | 2017-04-08 11:57:13 +0200 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2017-04-08 12:28:02 +0200 |
commit | 8f477fede7c52d36ebea9917b216dc97dc1f27f5 (patch) | |
tree | 58ecc1f6bf08352f7cbeeeaf63f368abd72958c2 /app-accessibility/espeak | |
parent | app-admin/sysstat: Old. (diff) | |
download | gentoo-8f477fede7c52d36ebea9917b216dc97dc1f27f5.tar.gz gentoo-8f477fede7c52d36ebea9917b216dc97dc1f27f5.tar.bz2 gentoo-8f477fede7c52d36ebea9917b216dc97dc1f27f5.zip |
app-accessibility/espeak: Fix gcc6 support (#593936 by Peter Levine), port to eapi6.
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'app-accessibility/espeak')
-rw-r--r-- | app-accessibility/espeak/espeak-1.48.04-r1.ebuild | 100 | ||||
-rw-r--r-- | app-accessibility/espeak/files/espeak-1.48.04-gcc-6-fix.patch | 13 |
2 files changed, 113 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..2559bb14743d --- /dev/null +++ b/app-accessibility/espeak/espeak-1.48.04-r1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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 ~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 +} diff --git a/app-accessibility/espeak/files/espeak-1.48.04-gcc-6-fix.patch b/app-accessibility/espeak/files/espeak-1.48.04-gcc-6-fix.patch new file mode 100644 index 000000000000..f28de7338b37 --- /dev/null +++ b/app-accessibility/espeak/files/espeak-1.48.04-gcc-6-fix.patch @@ -0,0 +1,13 @@ +https://src.fedoraproject.org/cgit/rpms/espeak.git/tree/espeak-1.48-gcc-6-fix.patch +diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp +--- a/tr_languages.cpp ++++ b/tr_languages.cpp +@@ -198,7 +198,7 @@ static const unsigned short chars_ignore_zwnj_hyphen[] = { + 0x200d, 1, // zero width joiner + 0, 0 }; + +-const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8 ++const char string_ordinal[] = {'\xc2','\xba',0}; // masculine ordinal character, UTF-8 + + + static Translator* NewTranslator(void) |