Fixing issues with gcc3.2, with respect to bug 8280
authorMatt Keadle <mkeadle@gentoo.org>
Wed, 23 Oct 2002 21:24:23 +0000 (21:24 +0000)
committerMatt Keadle <mkeadle@gentoo.org>
Wed, 23 Oct 2002 21:24:23 +0000 (21:24 +0000)
media-sound/festival/ChangeLog
media-sound/festival/festival-1.4.2-r1.ebuild [new file with mode: 0644]
media-sound/festival/files/digest-festival-1.4.2-r1 [new file with mode: 0644]
media-sound/festival/files/festival-1.4.2.patch [new file with mode: 0644]

index 2162658b5ca701f02ea97106564005e1bda0cde6..2caf1eda42c0b3d50cb2073e1e2e91258a78a778 100644 (file)
@@ -3,6 +3,16 @@
 # $Header: /home/cvsroot/gentoo-x86/media-sound/festival/ChangeLog,v 1 2002/05/07
 # 03:58:19 naz Exp $
 
+*festival-1.4.2-r1 (23 Oct 2002)
+
+  23 Oct 2002; Matt Keadle <mkeadle@gentoo.org> festival-1.4.2-r1.ebuild
+  files/digest-festival-1.4.2-r1 files/festival-1.4.2.patch
+
+  This should take care of issues with gcc3.2, killing bug #8280. Thanks to
+  Paul Thompson, Rigo Ketelings, Tom Ribbens, Julian J., Chris Bruner,
+  Paul Oswald and Michal Maruska for all the comments made and support and
+  testing provided.
+
 *festival-1.4.2 (24 Aug 2002)
 
   24 Aug 2002; Sascha Schwabbauer <cybersystem@gentoo.org> festival-1.4.2.ebuild :
diff --git a/media-sound/festival/festival-1.4.2-r1.ebuild b/media-sound/festival/festival-1.4.2-r1.ebuild
new file mode 100644 (file)
index 0000000..9c505dc
--- /dev/null
@@ -0,0 +1,218 @@
+# Copyright 1999-2002 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.2-r1.ebuild,v 1.1 2002/10/23 21:24:23 mkeadle Exp $
+
+S=${WORKDIR}/${PN}
+T=${WORKDIR}/speech_tools
+DESCRIPTION="Festival Text to Speech engine"
+GCCPV=`cc -dumpversion` 
+HOMEPAGE="http://www.cstr.ed.ac.uk/"
+SITE="http://www.speech.cs.cmu.edu/${PN}/cstr/${PN}/${PV}"
+
+# speech_tools could be its own ebuild; here it is used ephemerally
+# someone who understands its usage better than I, should do that job
+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
+       ${SITE}/speech_tools-1.2.2-release.tar.gz
+       ${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.
+       # http://www.ibiblio.org/gentoo/distfiles/festival-1.4.2-patch.tar.bz2"
+
+SLOT="0"
+LICENSE="FESTIVAL BSD as-is"
+KEYWORDS="x86 ppc"
+
+DEPEND="virtual/glibc"
+
+RDEPEND="${DEPEND}"
+
+src_compile() {
+       cd ${T}
+       # This came from upstream as a quick fix to compile with gcc-3x
+       patch -p1 < ${FILESDIR}/${P}.patch || die
+
+       econf || die
+       # static inking seems to work <rigo@home.nl>
+       
+       if [ ${GCCPV} != "2.95.3" ] ; then
+               echo "COMPILERLIBS=/usr/lib/gcc-lib/i686-pc-linux-gnu/${GCCPV}/libstdc++.a /usr/lib/gcc-lib/i686-pc-linux-gnu/${GCCPV}/libgcc_s.so.1" >> ${T}/config/config
+       fi
+       # 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
+       pushd
+       
+       # emake worked for me on SMP
+       emake || die
+
+       cd ${S}
+       econf || die
+       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/unknown_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 '#########################################################'
+       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 '#                                                       #'
+       einfo '#########################################################'
+       einfo
+
+}
diff --git a/media-sound/festival/files/digest-festival-1.4.2-r1 b/media-sound/festival/files/digest-festival-1.4.2-r1
new file mode 100644 (file)
index 0000000..319154f
--- /dev/null
@@ -0,0 +1,14 @@
+MD5 4a46160fdda29188e0c4ee51b41c5695 festival-1.4.2-release.tar.gz 610500
+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 34c7e43480612ef8ecc5d3bdf1b46668 speech_tools-1.2.2-release.tar.gz 1243127
+MD5 faabc25a6c1b11854c41adc257c47bdb festdoc-1.4.2.tar.gz 1652551
diff --git a/media-sound/festival/files/festival-1.4.2.patch b/media-sound/festival/files/festival-1.4.2.patch
new file mode 100644 (file)
index 0000000..db80440
--- /dev/null
@@ -0,0 +1,174 @@
+--- speech_tools/configure.in.orig     2001-06-18 19:21:34.000000000 -0400
++++ speech_tools/configure.in  2002-08-25 18:06:17.000000000 -0400
+@@ -42,6 +42,9 @@
+ 
+ AC_C_BIGENDIAN
+ 
++AC_CHECK_LIB(termcap, tputs, [TERMCAPLIB=-ltermcap], [TERMCAPLIB=-lncurses])
++AC_SUBST(TERMCAPLIB)
++
+ dnl Which version of GCC do we have here
+ COMPILERTYPE=gcc
+ AC_TRY_COMPILE([#include <stdio.h>],
+@@ -52,11 +55,23 @@
+                [COMPILERTYPE=gcc295])
+ AC_TRY_COMPILE([#include <stdio.h>],
+                [int j= 
+-                #if __GNUC__ == 3
++                #if __GNUC__ == 3  && __GNUC_MINOR__ == 0
+                 3;
+                 #endif ],
+                [COMPILERTYPE=gcc30])
+ AC_TRY_COMPILE([#include <stdio.h>],
++               [int j= 
++                #if __GNUC__ == 3  && __GNUC_MINOR__ == 1
++                3;
++                #endif ],
++               [COMPILERTYPE=gcc31])
++AC_TRY_COMPILE([#include <stdio.h>],
++               [int j= 
++                #if __GNUC__ == 3 
++                3;
++                #endif ],
++               [COMPILERTYPE=gcc32])
++AC_TRY_COMPILE([#include <stdio.h>],
+                [ int j=
+                 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
+                 3;
+--- speech_tools/config/compilers/Makefile.orig        2001-06-18 19:13:27.000000000 -0400
++++ speech_tools/config/compilers/Makefile     2002-08-25 18:07:11.000000000 -0400
+@@ -41,7 +41,7 @@
+       egcs.mak gcc27emx.mak \
+         suncc.mak suncc40.mak \
+         jolt.mak jdk.mak jdk12.mak none.mak \
+-      jikes.mak gcc296.mak gcc30.mak
++      jikes.mak gcc296.mak gcc30.mak gcc31.mak gcc32.mak
+ 
+ FILES = Makefile $(COMPILERS) gcc_defaults.mak suncc_defaults.mak jdk_defaults.mak jikes_defaults.mak
+ 
+--- speech_tools/config/compilers/gcc31.mak.orig       2002-09-27 21:18:49.000000000 -0400
++++ speech_tools/config/compilers/gcc31.mak    2002-08-25 18:07:45.000000000 -0400
+@@ -0,0 +1,60 @@
++ ###########################################################################
++ ##                                                                       ##
++ ##                Centre for Speech Technology Research                  ##
++ ##                     University of Edinburgh, UK                       ##
++ ##                         Copyright (c) 1999                            ##
++ ##                        All Rights Reserved.                           ##
++ ##                                                                       ##
++ ##  Permission is hereby granted, free of charge, to use and distribute  ##
++ ##  this software and its documentation without restriction, including   ##
++ ##  without limitation the rights to use, copy, modify, merge, publish,  ##
++ ##  distribute, sublicense, and/or sell copies of this work, and to      ##
++ ##  permit persons to whom this work is furnished to do so, subject to   ##
++ ##  the following conditions:                                            ##
++ ##   1. The code must retain the above copyright notice, this list of    ##
++ ##      conditions and the following disclaimer.                         ##
++ ##   2. Any modifications must be clearly marked as such.                ##
++ ##   3. Original authors' names are not deleted.                         ##
++ ##   4. The authors' names are not used to endorse or promote products   ##
++ ##      derived from this software without specific prior written        ##
++ ##      permission.                                                      ##
++ ##                                                                       ##
++ ##  THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK        ##
++ ##  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      ##
++ ##  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   ##
++ ##  SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE     ##
++ ##  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    ##
++ ##  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   ##
++ ##  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          ##
++ ##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       ##
++ ##  THIS SOFTWARE.                                                       ##
++ ##                                                                       ##
++ ###########################################################################
++ ##                                                                       ##
++ ##                 Author: Alan W Black (awb@cs.cmu.edu)                 ##
++ ##                   Date: Sun Aug 25 2002                               ##
++ ## --------------------------------------------------------------------  ##
++ ## Settings for GCC-3.1                                                  ##
++ ##                                                                       ##
++ ###########################################################################
++
++include $(EST)/config/compilers/gcc_defaults.mak
++
++COMPILER_DESC=gcc-3.1
++
++ifndef GCC31
++    GCC31 = gcc
++endif
++
++CC= $(GCC31)
++CXX = $(GCC31)
++
++WARN_CXXFLAGS  +=  -Wno-non-template-friend
++
++STATIC_LINKFLAGS = -Dstatic
++
++COMPILERLIBS= $(COMPILER_LIBS_DIR:%=-L%) -lstdc++
++
++
++
++
+--- speech_tools/config/compilers/gcc32.mak.orig       2002-09-27 21:18:55.000000000 -0400
++++ speech_tools/config/compilers/gcc32.mak    2002-08-25 18:26:42.000000000 -0400
+@@ -0,0 +1,60 @@
++ ###########################################################################
++ ##                                                                       ##
++ ##                Centre for Speech Technology Research                  ##
++ ##                     University of Edinburgh, UK                       ##
++ ##                         Copyright (c) 1999                            ##
++ ##                        All Rights Reserved.                           ##
++ ##                                                                       ##
++ ##  Permission is hereby granted, free of charge, to use and distribute  ##
++ ##  this software and its documentation without restriction, including   ##
++ ##  without limitation the rights to use, copy, modify, merge, publish,  ##
++ ##  distribute, sublicense, and/or sell copies of this work, and to      ##
++ ##  permit persons to whom this work is furnished to do so, subject to   ##
++ ##  the following conditions:                                            ##
++ ##   1. The code must retain the above copyright notice, this list of    ##
++ ##      conditions and the following disclaimer.                         ##
++ ##   2. Any modifications must be clearly marked as such.                ##
++ ##   3. Original authors' names are not deleted.                         ##
++ ##   4. The authors' names are not used to endorse or promote products   ##
++ ##      derived from this software without specific prior written        ##
++ ##      permission.                                                      ##
++ ##                                                                       ##
++ ##  THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK        ##
++ ##  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      ##
++ ##  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   ##
++ ##  SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE     ##
++ ##  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    ##
++ ##  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   ##
++ ##  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          ##
++ ##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       ##
++ ##  THIS SOFTWARE.                                                       ##
++ ##                                                                       ##
++ ###########################################################################
++ ##                                                                       ##
++ ##                 Author: Alan W Black (awb@cs.cmu.edu)                 ##
++ ##                   Date: Sun Aug 25 2002                               ##
++ ## --------------------------------------------------------------------  ##
++ ## Settings for GCC-3.2                                                  ##
++ ##                                                                       ##
++ ###########################################################################
++
++include $(EST)/config/compilers/gcc_defaults.mak
++
++COMPILER_DESC=gcc-3.2
++
++ifndef GCC32
++    GCC32 = gcc
++endif
++
++CC= $(GCC32)
++CXX = g++
++
++WARN_CXXFLAGS  +=  -Wno-non-template-friend -Wno-deprecated
++
++STATIC_LINKFLAGS = -Dstatic
++
++COMPILERLIBS= $(COMPILER_LIBS_DIR:%=-L%) -lstdc++
++
++
++
++