summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/festival/festival-1.4.3.ebuild')
-rw-r--r--media-sound/festival/festival-1.4.3.ebuild221
1 files changed, 221 insertions, 0 deletions
diff --git a/media-sound/festival/festival-1.4.3.ebuild b/media-sound/festival/festival-1.4.3.ebuild
new file mode 100644
index 000000000000..844fd6bcf7e1
--- /dev/null
+++ b/media-sound/festival/festival-1.4.3.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/festival/festival-1.4.3.ebuild,v 1.1 2003/07/20 04:04:28 jje Exp $
+
+S=${WORKDIR}/${PN}
+DESCRIPTION="Festival Text to Speech engine"
+GCCPV=`cc -dumpversion`
+IUSE=""
+HOMEPAGE="http://www.cstr.ed.ac.uk/"
+SITE="http://www.speech.cs.cmu.edu/${PN}/cstr/${PN}/${PV}"
+
+SRC_URI="${SITE}/${P}-release.tar.gz
+ ${SITE}/festlex_CMU.tar.gz
+ ${SITE}/festlex_OALD.tar.gz
+ ${SITE}/festlex_POSLEX.tar.gz
+ ${SITE}/festvox_don.tar.gz
+ ${SITE}/festvox_ellpc11k.tar.gz
+ ${SITE}/festvox_kallpc16k.tar.gz
+ ${SITE}/festvox_kedlpc16k.tar.gz
+ ${SITE}/festvox_rablpc16k.tar.gz
+ ${SITE}/festvox_us1.tar.gz
+ ${SITE}/festvox_us2.tar.gz
+ ${SITE}/festvox_us3.tar.gz
+ doc? ( ${SITE}/festdoc-1.4.2.tar.gz )"
+
+ # Keeping these things in external patch files (that dont even live in
+ # the files subdir) makes it far too difficult to modify the ebuild. These
+ # patches are easily replaced by a bit of sed, consistant with the rest of
+ # the ebuild, and moving the ebuild commands from the external shell script
+ # into the ebuild where they belong.
+
+SLOT="0"
+LICENSE="FESTIVAL BSD as-is"
+KEYWORDS="~x86"
+
+RDEPEND="virtual/glibc"
+DEPEND=">=media-sound/speech-tools-1.2.3"
+
+src_unpack() {
+ unpack ${P}-release.tar.gz
+ unpack festlex_CMU.tar.gz
+ unpack festlex_OALD.tar.gz
+ unpack festlex_POSLEX.tar.gz
+ unpack festvox_don.tar.gz
+ unpack festvox_ellpc11k.tar.gz
+ unpack festvox_kallpc16k.tar.gz
+ unpack festvox_kedlpc16k.tar.gz
+ unpack festvox_rablpc16k.tar.gz
+ unpack festvox_us1.tar.gz
+ unpack festvox_us2.tar.gz
+ unpack festvox_us3.tar.gz
+ epatch ${FILESDIR}/${PN}-gcc3.3.diff
+}
+
+src_compile() {
+
+ mv config/config.in config/config.in.org
+ cat config/config.in.org | sed 's@EST=$(TOP)/../speech_tools@EST=/usr/lib/speech-tools@' > config/config.in
+
+ econf
+
+ # testsuite still fails to build under gcc-3.2
+ mv Makefile Makefile.orig
+ sed -e '/^BUILD_DIRS =/s/testsuite//' Makefile.orig > Makefile
+
+ pushd config/modules/
+ cp editline.mak editline.mak.orig
+ sed -e '/^MODULE_LIBS/s/-ltermcap/-lncurses/' editline.mak.orig \
+ > editline.mak
+ popd
+
+ # emake worked for me on SMP
+ #emake did not work for me because I had -j5. If there is anything greater than
+ #-j2, emake dies.
+ #zhen@gentoo.org
+ make || die
+
+ cd ${S}
+ econf
+ pushd src/arch/festival/
+ cp festival.cc festival.cc.orig
+ sed -e '/^const char \*festival_libdir/s:FTLIBDIR:"/usr/lib/festival":' \
+ festival.cc.orig > festival.cc
+ pushd
+ pushd config/modules/
+ cp editline.mak editline.mak.orig
+ sed -e '/^MODULE_LIBS/s/-ltermcap/-lncurses/' editline.mak.orig \
+ > editline.mak
+ pushd
+
+ # emake failed for me on SMP
+ make || die
+
+ # Need to fix saytime to look for festival in the correct spot
+ cp examples/saytime examples/saytime.orig
+ sed "s:${WORKDIR}/festival/bin/festival:/usr/bin/festival:" \
+ examples/saytime.orig > examples/saytime
+
+ # And do the same thing for text2wave
+ cp bin/text2wave bin/text2wave.orig
+ sed "s:${WORKDIR}/festival/bin/festival:/usr/bin/festival:" \
+ bin/text2wave.orig > bin/text2wave
+}
+
+src_install() {
+ # Install the binaries
+ cd ${WORKDIR}/festival/src/main
+ dobin festival
+ cd ${WORKDIR}/festival/examples
+ dobin saytime
+ cd ${WORKDIR}/festival/bin
+ dobin text2wave
+ cd ${WORKDIR}/festival/lib/etc/*Linux*
+ dobin audsp
+
+ einfo ""
+ einfo "Please ignore errors about skipped directories. They are harmless."
+ einfo ""
+
+ # Install the main libraries
+ insinto /usr/lib/festival
+ doins ${WORKDIR}/festival/lib/*
+
+ # Install the dicts and vioces
+ FESTLIB=${WORKDIR}/festival/lib
+ DESTLIB=/usr/lib/festival
+ insinto ${DESTLIB}/dicts
+ doins ${FESTLIB}/dicts/COPYING.poslex \
+ ${FESTLIB}/dicts/wsj.wp39.poslexR ${FESTLIB}/dicts/wsj.wp39.tri.ngrambin
+ insinto ${DESTLIB}/dicts/cmu
+ doins ${FESTLIB}/dicts/cmu/*
+ insinto ${DESTLIB}/dicts/oald
+ doins ${FESTLIB}/dicts/oald/*
+
+ FESTLIB=${WORKDIR}/festival/lib/voices/spanish/el_diphone
+ DESTLIB=/usr/lib/festival/voices/spanish/el_diphone
+ insinto ${DESTLIB}/festvox
+ doins ${FESTLIB}/festvox/*
+ insinto ${DESTLIB}/group
+ doins ${FESTLIB}/group/*
+
+ FESTLIB=${WORKDIR}/festival/lib/voices/english
+ DESTLIB=/usr/lib/festival/voices/english
+ insinto ${DESTLIB}/don_diphone
+ doins ${FESTLIB}/don_diphone/*
+ insinto ${DESTLIB}/don_diphone/festvox
+ doins ${FESTLIB}/don_diphone/festvox/*
+
+ insinto ${DESTLIB}/kal_diphone
+ doins ${FESTLIB}/kal_diphone/*
+ insinto ${DESTLIB}/kal_diphone/festvox
+ doins ${FESTLIB}/kal_diphone/festvox/*
+ insinto ${DESTLIB}/kal_diphone/group
+ doins ${FESTLIB}/kal_diphone/group/*
+
+ insinto ${DESTLIB}/ked_diphone
+ doins ${FESTLIB}/ked_diphone/*
+ insinto ${DESTLIB}/ked_diphone/festvox
+ doins ${FESTLIB}/ked_diphone/festvox/*
+ insinto ${DESTLIB}/ked_diphone/group
+ doins ${FESTLIB}/ked_diphone/group/*
+
+ insinto ${DESTLIB}/rab_diphone
+ doins ${FESTLIB}/rab_diphone/*
+ insinto ${DESTLIB}/rab_diphone/festvox
+ doins ${FESTLIB}/rab_diphone/festvox/*
+ insinto ${DESTLIB}/rab_diphone/group
+ doins ${FESTLIB}/rab_diphone/group/*
+ insinto ${DESTLIB}/us1_mbrola
+
+ doins ${FESTLIB}/us1_mbrola/*
+ insinto ${DESTLIB}/us1_mbrola/festvox
+ doins ${FESTLIB}/us1_mbrola/festvox/*
+
+ insinto ${DESTLIB}/us2_mbrola
+ doins ${FESTLIB}/us2_mbrola/*
+ insinto ${DESTLIB}/us2_mbrola/festvox
+ doins ${FESTLIB}/us2_mbrola/festvox/*
+
+ insinto ${DESTLIB}/us3_mbrola
+ doins ${FESTLIB}/us3_mbrola/*
+ insinto ${DESTLIB}/us3_mbrola/festvox
+ doins ${FESTLIB}/us3_mbrola/festvox/*
+
+ # Install the docs
+ cd ${S} # needed
+ into /usr
+ dodoc ACKNOWLEDGMENTS COPYING NEWS README
+ doman doc/festival.1 doc/festival_client.1
+
+ cd ${WORKDIR}/festdoc-1.4.2/festival/html
+ dohtml *.html
+
+ # Sample .festivalrc
+ cd ${D}/usr/lib/festival
+ cat << EOF > festivalrc
+(Parameter.set 'Audio_Method 'linux16audio)
+;(Parameter.set 'Audio_Method 'esdaudio)
+;(Parameter.set 'Audio_Method 'mplayeraudio)
+;(Parameter.set 'Audio_Method 'sunaudio)
+
+; American female
+;(set! voice_default 'voice_us1_mbrola)
+EOF
+}
+
+pkg_postinst() {
+ einfo
+ einfo ' To test festival, simply type:'
+ einfo ' "saytime"'
+ einfo
+ einfo ' Or for something more fun:'
+ einfo ' "echo "Gentoo can speak" | festival --tts"'
+ einfo
+ einfo ' A sample ~/.festivalrc is provided in'
+ einfo ' /usr/lib/festival/festivalrc'
+ einfo
+ einfo ' Emerge mbrola to enable some additional voices'
+ einfo
+}
+