diff options
author | John J. Ellis <jje@gentoo.org> | 2003-07-20 04:04:37 +0000 |
---|---|---|
committer | John J. Ellis <jje@gentoo.org> | 2003-07-20 04:04:37 +0000 |
commit | 84583cad1d72df8c61a14f64a4f98e07cf94e0a6 (patch) | |
tree | 922d69f818c112dd500fe77eab7f401db3037df1 /media-sound | |
parent | Version bump. ~x86 masked. Closes #22053. Whew. (diff) | |
download | historical-84583cad1d72df8c61a14f64a4f98e07cf94e0a6.tar.gz historical-84583cad1d72df8c61a14f64a4f98e07cf94e0a6.tar.bz2 historical-84583cad1d72df8c61a14f64a4f98e07cf94e0a6.zip |
Version bump. ~x86 masked. Closes #22053. Whew.
Diffstat (limited to 'media-sound')
-rw-r--r-- | media-sound/festival/Manifest | 2 | ||||
-rw-r--r-- | media-sound/festival/festival-1.4.3.ebuild | 221 | ||||
-rw-r--r-- | media-sound/festival/files/digest-festival-1.4.3 | 13 | ||||
-rw-r--r-- | media-sound/festival/files/festival-gcc3.3.diff | 142 |
4 files changed, 377 insertions, 1 deletions
diff --git a/media-sound/festival/Manifest b/media-sound/festival/Manifest index 8cf6565c5609..a97cade289d2 100644 --- a/media-sound/festival/Manifest +++ b/media-sound/festival/Manifest @@ -3,7 +3,7 @@ MD5 da9ca662aae1e740f474ffc389f88373 festival-1.4.2-r1.ebuild 6384 MD5 160440e9290b8d18876eccf29025f558 festival-1.4.2-r2.ebuild 6496 MD5 931b35f5238453c327f03528b4de7ba2 festival-1.4.2-r3.ebuild 6364 MD5 018bb793c737dabd3d25e4fe8ff8cdc4 festival-1.4.2.ebuild 1830 -MD5 999de5fc882137df0276318276471800 festival-1.4.3.ebuild 6240 +MD5 c5addea3ec5ef52175ccd791508329e9 festival-1.4.3.ebuild 6342 MD5 4dc97895cbe241e9b03132de8c1079fd files/digest-festival-1.4.2 947 MD5 e2882c47fc5e3eab44b08f2ab31deedb files/digest-festival-1.4.2-r1 942 MD5 e2882c47fc5e3eab44b08f2ab31deedb files/digest-festival-1.4.2-r2 942 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 +} + diff --git a/media-sound/festival/files/digest-festival-1.4.3 b/media-sound/festival/files/digest-festival-1.4.3 new file mode 100644 index 000000000000..7933fac5b8b9 --- /dev/null +++ b/media-sound/festival/files/digest-festival-1.4.3 @@ -0,0 +1,13 @@ +MD5 c070523bea2baa0bcaa2d922481abbb5 festival-1.4.3-release.tar.gz 630179 +MD5 a3ffcd09dcbf1306fdef3c84c1c521d6 festlex_CMU.tar.gz 1697709 +MD5 45a03689025849d02ec963a5b338ef37 festlex_OALD.tar.gz 1472516 +MD5 742c266e4c4978fae2b5c1bf6f549eb4 festlex_POSLEX.tar.gz 242914 +MD5 90442079e34a3a694077f8715d15fbdf festvox_don.tar.gz 645583 +MD5 e96a97644d36fcb89952ca65c283cea3 festvox_ellpc11k.tar.gz 1473907 +MD5 abbd12e1d04ecdcae07f1d0044f3a947 festvox_kallpc16k.tar.gz 4104056 +MD5 35d4a2f377d05913ddae61db542afca1 festvox_kedlpc16k.tar.gz 4221528 +MD5 cefcdda6cd48027da36d78f2f711451b festvox_rablpc16k.tar.gz 5369001 +MD5 d0c3e727003e715a65daf01003101813 festvox_us1.tar.gz 11040 +MD5 fbcc8baacbff3aa2aaaf5a93701bb5e0 festvox_us2.tar.gz 11037 +MD5 06dbfe2edaab6ffa31deeaf522e0c33e festvox_us3.tar.gz 11220 +MD5 faabc25a6c1b11854c41adc257c47bdb festdoc-1.4.2.tar.gz 1652551 diff --git a/media-sound/festival/files/festival-gcc3.3.diff b/media-sound/festival/files/festival-gcc3.3.diff new file mode 100644 index 000000000000..2cbee7d400f7 --- /dev/null +++ b/media-sound/festival/files/festival-gcc3.3.diff @@ -0,0 +1,142 @@ +diff -Naur festival.org/src/modules/base/phrasify.cc festival/src/modules/base/phrasify.cc +--- festival.org/src/modules/base/phrasify.cc 2001-04-04 06:55:20.000000000 -0500 ++++ festival/src/modules/base/phrasify.cc 2003-06-22 10:41:41.000000000 -0500 +@@ -218,7 +218,7 @@ + EST_Val npbreak = wagon_predict(w,phrase_type_tree); + w->set("pbreak",npbreak.string()); // may reset to BB + } +- pbreak = w->f("pbreak"); ++ pbreak = (EST_String)w->f("pbreak"); + if (pbreak == "B") + w->set("blevel",3); + else if (pbreak == "mB") +diff -Naur festival.org/src/modules/base/word.cc festival/src/modules/base/word.cc +--- festival.org/src/modules/base/word.cc 2001-04-04 06:55:20.000000000 -0500 ++++ festival/src/modules/base/word.cc 2003-06-22 10:41:41.000000000 -0500 +@@ -64,10 +64,10 @@ + for (w=u->relation("Word")->first(); w != 0; w = next(w)) + { + lpos = NIL; +- pos = ffeature(w,"hg_pos"); ++ pos = (EST_String)ffeature(w,"hg_pos"); + // explicit homograph pos disambiguation + if (pos == "0") +- pos = ffeature(w,"pos"); ++ pos = (EST_String)ffeature(w,"pos"); + if (pos != "0") + lpos = rintern(pos); + +@@ -100,8 +100,8 @@ + // from which a list can be read. + EST_String p; + +- if (((p = ffeature(w,"phonemes")) != "0") || +- ((p = ffeature(w,"R:Token.parent.phonemes")) != "0")) ++ if (((p = (EST_String)ffeature(w,"phonemes")) != "0") || ++ ((p = (EST_String)ffeature(w,"R:Token.parent.phonemes")) != "0")) + { + LISP phones = read_from_lstring(strintern(p)); + +diff -Naur festival.org/src/modules/Intonation/int_tree.cc festival/src/modules/Intonation/int_tree.cc +--- festival.org/src/modules/Intonation/int_tree.cc 2001-04-04 06:55:20.000000000 -0500 ++++ festival/src/modules/Intonation/int_tree.cc 2003-06-22 10:41:41.000000000 -0500 +@@ -87,11 +87,11 @@ + for (s=u->relation("Syllable")->first(); s != 0; s=next(s)) + { + if ((paccent = accent_specified(s)) == "0") // check if pre-specified +- paccent = wagon_predict(s,accent_tree); ++ paccent = (EST_String)wagon_predict(s,accent_tree); + if (paccent != "NONE") + add_IntEvent(u,s,paccent); + if ((ptone = tone_specified(s)) == "0") +- ptone = wagon_predict(s,endtone_tree); ++ ptone = (EST_String)wagon_predict(s,endtone_tree); + if (ptone != "NONE") + add_IntEvent(u,s,ptone); + } +@@ -107,11 +107,11 @@ + EST_Item *token = parent(word,"Token"); + EST_String paccent("0"); + if (token) +- paccent = ffeature(token,"accent"); ++ paccent = (EST_String)ffeature(token,"accent"); + + if (paccent == "0") + { +- paccent = ffeature(word,"accent"); ++ paccent = (EST_String)ffeature(word,"accent"); + if (paccent == "0") + return paccent; + } +@@ -139,11 +139,11 @@ + EST_Item *token = parent(word,"Token"); + EST_String ptone("0"); + if (token) +- ptone = ffeature(token,"tone"); ++ ptone = (EST_String)ffeature(token,"tone"); + + if (ptone == "0") + { +- ptone = ffeature(word,"tone"); ++ ptone = (EST_String)ffeature(word,"tone"); + if (ptone == "0") + return ptone; + } +diff -Naur festival.org/src/modules/Text/token.cc festival/src/modules/Text/token.cc +--- festival.org/src/modules/Text/token.cc 2001-04-04 06:55:20.000000000 -0500 ++++ festival/src/modules/Text/token.cc 2003-06-22 10:41:41.000000000 -0500 +@@ -230,7 +230,7 @@ + else + return cons(strintern(tok),NIL); + } +- else if ((token_pos = ffeature(token,"token_pos")) == "ordinal") ++ else if ((token_pos = (EST_String)ffeature(token,"token_pos")) == "ordinal") + return say_num_as_ordinal(tok); + else if (token_pos == "year") + return say_num_as_year(tok); +@@ -404,7 +404,7 @@ + const char *tokch = tok; + + for (i=0; i<tok.length(); i++) +- if (strchr(PunctuationChars,tokch[i]) == NULL) ++ if (strchr((const char *)PunctuationChars,tokch[i]) == NULL) + return FALSE; + + return TRUE; +diff -Naur festival.org/src/modules/Text/xxml.cc festival/src/modules/Text/xxml.cc +--- festival.org/src/modules/Text/xxml.cc 2001-04-04 06:55:20.000000000 -0500 ++++ festival/src/modules/Text/xxml.cc 2003-06-22 10:41:41.000000000 -0500 +@@ -93,7 +93,7 @@ + cerr << "xxml parse error: unexpected end of file \n"; + festival_error(); + } +- line = ts.get_upto_eoln(); ++ line = (EST_String)ts.get_upto_eoln(); + type = line.at(0,1); + remainder = line.after(0); + if (type == "-") +@@ -159,7 +159,7 @@ + EST_Token t; + + ts.open_string(remainder); +- name = ts.get(); ++ name = (EST_String)ts.get(); + if ((t=ts.get()) == "IMPLIED") + att = cons(rintern(name),cons(NIL,NIL)); + else if (t == "TOKEN") +diff -Naur festival.org/src/modules/UniSyn_diphone/us_diphone_index.cc festival/src/modules/UniSyn_diphone/us_diphone_index.cc +--- festival.org/src/modules/UniSyn_diphone/us_diphone_index.cc 2002-07-02 06:18:30.000000000 -0500 ++++ festival/src/modules/UniSyn_diphone/us_diphone_index.cc 2003-06-22 10:41:41.000000000 -0500 +@@ -106,9 +106,9 @@ + + if (!item) + return ""; +- else if ((d1 = item->f(dname+"_"+dir,def)) != "0") ++ else if ((d1 = (EST_String)item->f(dname+"_"+dir,def)) != "0") + return d1; +- else if ((d1 = item->f(dname,def)) != "0") ++ else if ((d1 = (EST_String)item->f(dname,def)) != "0") + return d1; + else + return item->f("name","0").string(); + |