commit:     8f477fede7c52d36ebea9917b216dc97dc1f27f5
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  8 09:57:13 2017 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sat Apr  8 10:28:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f477fed

app-accessibility/espeak: Fix gcc6 support (#593936 by Peter Levine), port to 
eapi6.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 app-accessibility/espeak/espeak-1.48.04-r1.ebuild  | 100 +++++++++++++++++++++
 .../espeak/files/espeak-1.48.04-gcc-6-fix.patch    |  13 +++
 2 files changed, 113 insertions(+)

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 00000000000..2559bb14743
--- /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 00000000000..f28de7338b3
--- /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)

Reply via email to