summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Strahl <c.a.strahl@gmail.com>2017-10-15 22:01:41 +0200
committerAlexis Ballier <aballier@gentoo.org>2017-10-17 07:47:06 +0200
commitbde1d2d0a2289811e5b499fc279925cb47480ef9 (patch)
tree6aa6f9be6e5699805d66082a0bb14796d76cfc7e /app-accessibility/speech-tools
parentdev-ruby/bundler: add 1.15.4, bug 628776 (diff)
downloadgentoo-bde1d2d0a2289811e5b499fc279925cb47480ef9.tar.gz
gentoo-bde1d2d0a2289811e5b499fc279925cb47480ef9.tar.bz2
gentoo-bde1d2d0a2289811e5b499fc279925cb47480ef9.zip
app-accessibility/speech-tools-2.1-r4: fix gcc-7 build, #634224
Diffstat (limited to 'app-accessibility/speech-tools')
-rw-r--r--app-accessibility/speech-tools/files/speech-tools-2.1-gcc7.patch20
-rw-r--r--app-accessibility/speech-tools/speech-tools-2.1-r4.ebuild120
2 files changed, 140 insertions, 0 deletions
diff --git a/app-accessibility/speech-tools/files/speech-tools-2.1-gcc7.patch b/app-accessibility/speech-tools/files/speech-tools-2.1-gcc7.patch
new file mode 100644
index 00000000000..9e1067fa1dc
--- /dev/null
+++ b/app-accessibility/speech-tools/files/speech-tools-2.1-gcc7.patch
@@ -0,0 +1,20 @@
+--- a/siod/siod.cc
++++ b/siod/siod.cc
+@@ -459,7 +459,7 @@ char **siod_variable_generator(char *text,int length)
+ matches = walloc(char *,siod_llength(lmatches)+1);
+ for (l=lmatches,i=0; l; l=cdr(l),i++)
+ matches[i] = wstrdup(PNAME(car(l)));
+- matches[i] = '\0';
++ *matches[i] = '\0';
+
+ return matches;
+ }
+@@ -498,7 +498,7 @@ char **siod_command_generator (char *text,int length)
+ matches = walloc(char *,siod_llength(lmatches)+1);
+ for (l=lmatches,i=0; l; l=cdr(l),i++)
+ matches[i] = wstrdup(PNAME(car(l)));
+- matches[i] = '\0';
++ *matches[i] = '\0';
+
+ return matches;
+ }
diff --git a/app-accessibility/speech-tools/speech-tools-2.1-r4.ebuild b/app-accessibility/speech-tools/speech-tools-2.1-r4.ebuild
new file mode 100644
index 00000000000..254a17f1544
--- /dev/null
+++ b/app-accessibility/speech-tools/speech-tools-2.1-r4.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+MY_P=${P/speech-/speech_}
+PATCHSET="r3"
+
+DESCRIPTION="Speech tools for Festival Text to Speech engine"
+HOMEPAGE="http://www.cstr.ed.ac.uk/projects/speech_tools/"
+SRC_URI="http://www.festvox.org/packed/festival/${PV}/${MY_P}-release.tar.gz
+ https://dev.gentoo.org/~neurogeek/${PN}/${MY_P}-${PATCHSET}-patches.tar.gz"
+
+LICENSE="FESTIVAL HPND BSD rc regexp-UofT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="nas X"
+
+RDEPEND="
+ nas? ( media-libs/nas )
+ X? ( x11-libs/libX11
+ x11-libs/libXt )
+ >=media-libs/alsa-lib-1.0.20-r1
+ !<app-accessibility/festival-1.96_beta
+ !sys-power/powerman
+ >=sys-libs/ncurses-5.6-r2
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/speech_tools"
+
+src_prepare() {
+ EPATCH_SUFFIX="patch"
+ epatch
+
+ sed -i -e 's,{{HORRIBLELIBARCHKLUDGE}},"/usr/$(get_libdir)",' \
+ main/siod_main.cc || die
+
+ #WRT bug #309983
+ sed -i -e "s:\(GCC_SYSTEM_OPTIONS =\).*:\1:" \
+ "${S}"/config/systems/sparc_SunOS5.mak || die
+
+ # Fix underlinking, bug #493204
+ epatch "${FILESDIR}"/${PN}-2.1-underlinking.patch
+
+ # Fix gcc7 build failure, bug #634224
+ epatch "${FILESDIR}"/${PN}-2.1-gcc7.patch
+}
+
+src_configure() {
+ local CONFIG=config/config.in
+ sed -i -e 's/@COMPILERTYPE@/gcc42/' ${CONFIG} || die
+ if use nas; then
+ sed -i -e "s/#.*\(INCLUDE_MODULES += NAS_AUDIO\)/\1/" \
+ ${CONFIG} || die
+ fi
+ if ! use X; then
+ sed -i -e "s/-lX11 -lXt//" config/modules/esd_audio.mak || die
+ fi
+ econf
+}
+
+src_compile() {
+ emake -j1 CC="$(tc-getCC)" CXX="$(tc-getCXX)" CXX_OTHER_FLAGS="${CXXFLAGS}" CC_OTHER_FLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dolib.so lib/libest*.so*
+
+ dodoc "${S}"/README
+ dodoc "${S}"/lib/cstrutt.dtd
+
+ insinto /usr/share/doc/${PF}
+ doins -r lib/example_data
+
+ insinto /usr/share/speech-tools
+ doins -r config base_class
+
+ insinto /usr/share/speech-tools/lib
+ doins -r lib/siod
+
+ cd include || die
+ insinto /usr/include/speech-tools
+ doins -r *
+ dosym ../../include/speech-tools /usr/share/speech-tools/include
+
+ cd ../bin || die
+ for file in *; do
+ [ "${file}" = "Makefile" ] && continue
+ dobin ${file}
+ dstfile="${D}/usr/bin/${file}"
+ sed -i -e "s:${S}/testsuite/data:/usr/share/speech-tools/testsuite:g" \
+ ${dstfile} || die
+ sed -i -e "s:${S}/bin:/usr/$(get_libdir)/speech-tools:g" \
+ ${dstfile} || die
+ sed -i -e "s:${S}/main:/usr/$(get_libdir)/speech-tools:g" \
+ ${dstfile} || die
+
+ # This just changes LD_LIBRARY_PATH
+ sed -i -e "s:${S}/lib:/usr/$(get_libdir):g" ${dstfile} || die
+ done
+
+ cd "${S}" || die
+ exeinto /usr/$(get_libdir)/speech-tools
+ for file in `find main -perm /111 -type f`; do
+ doexe ${file}
+ done
+
+ #Remove /usr/bin/resynth as it is broken. See bug #253556
+ rm "${D}/usr/bin/resynth" || die
+
+ # Remove bcat (only useful for testing on windows, see bug #418301).
+ rm "${D}/usr/bin/bcat" || die
+ rm "${D}/usr/$(get_libdir)/speech-tools/bcat" || die
+}