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

Package-Manager: Portage-2.3.5, Repoman-2.3.2
This commit is contained in:
Pacho Ramos
2017-04-08 11:57:13 +02:00
parent add3186a2b
commit 8f477fede7
2 changed files with 113 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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)