summaryrefslogtreecommitdiff
path: root/audio/festival
diff options
context:
space:
mode:
authorWill Andrews <will@FreeBSD.org>2000-09-16 08:39:50 +0000
committerWill Andrews <will@FreeBSD.org>2000-09-16 08:39:50 +0000
commitbab74078a9840cb4e1407279f9c4809ecc61386e (patch)
tree9f05d5fdc8471f95e066a28da1b1201dcd87a6bc /audio/festival
parentUpdate to 20000915. (diff)
Add festival 1.4.1, a multi-lingual text-to-speech system for Unix. This
commit includes the various ports festival can work with. Big thanks to Trevor for putting in all the time to port these! PR: 21182, 21183, 21184, 21185, 21186, 21187, 21188, 21189 21190, 21191, 21192, 21193, 21194, 21195, 21196, 21197 21198, 21199, 21200, 21201 Submitted by: Trevor Johnson <trevor@jpj.net> Obtained from: NetBSD pkgsrc
Notes
Notes: svn path=/head/; revision=32683
Diffstat (limited to 'audio/festival')
-rw-r--r--audio/festival/Makefile138
-rw-r--r--audio/festival/distinfo4
-rw-r--r--audio/festival/files/FreeBSD.mak15
-rw-r--r--audio/festival/files/extra-patch-aa13
-rw-r--r--audio/festival/files/extra-patch-aa-ogi20
-rw-r--r--audio/festival/files/festival.sh5
-rw-r--r--audio/festival/files/festival_client.sh4
-rw-r--r--audio/festival/files/patch-ab25
-rw-r--r--audio/festival/files/patch-ac24
-rw-r--r--audio/festival/files/patch-ad33
-rw-r--r--audio/festival/files/patch-ae12
-rw-r--r--audio/festival/files/patch-af15
-rw-r--r--audio/festival/files/patch-ag12
-rw-r--r--audio/festival/files/patch-ah12
-rw-r--r--audio/festival/files/patch-ai17
-rw-r--r--audio/festival/files/patch-al16
-rw-r--r--audio/festival/files/patch-am13
-rw-r--r--audio/festival/files/patch-an13
-rw-r--r--audio/festival/files/patch-ao13
-rw-r--r--audio/festival/files/patch-ap12
-rw-r--r--audio/festival/files/patch-aq10
-rw-r--r--audio/festival/files/sitevars.scm2
-rw-r--r--audio/festival/files/top-Makefile3
-rw-r--r--audio/festival/pkg-comment1
-rw-r--r--audio/festival/pkg-descr19
-rw-r--r--audio/festival/pkg-message6
-rw-r--r--audio/festival/pkg-plist109
-rw-r--r--audio/festival/pkg-plist-ogi121
28 files changed, 687 insertions, 0 deletions
diff --git a/audio/festival/Makefile b/audio/festival/Makefile
new file mode 100644
index 000000000000..25224c651686
--- /dev/null
+++ b/audio/festival/Makefile
@@ -0,0 +1,138 @@
+# New ports collection makefile for: festival
+# Date created: 2000-06-11
+# Whom: Trevor Johnson <trevor@jpj.net>
+# based on the NetBSD port
+#
+# $NetBSD: Makefile,v 1.11 1999/12/28 04:19:58 wiz Exp $
+# $FreeBSD$
+#
+
+PORTNAME= festival
+PORTVERSION= 1.4.1
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.cstr.ed.ac.uk/pub/festival/${PORTVERSION}/ \
+ http://www.speech.cs.cmu.edu/festival/cstr/festival/${PORTVERSION}/ \
+ ftp://ftp.leb.net/pub/blinux/${SUB} \
+ ftp://ftp.mayn.de/pub/linux/BLinux/${SUB} \
+ ftp://ftp.tuwien.ac.at/zaux024/opsys/linux/blinux/${SUB} \
+SUB= festival/mirror.festival_home/${PORTVERSION}/
+.if defined (WITH_OGI)
+MASTER_SITES+= ftp://ftp.leb.net/pub/blinux/festival/mirror.ogi-synth_home/ \
+ ftp://ftp.mayn.de/pub/linux/BLinux/festival/mirror.ogi-synth_home/ \
+ ftp://cslu.cse.ogi.edu/pub/tts/
+.endif
+DISTFILES= ${DISTNAME}.tar.gz \
+ speech_tools-1.2.1.tar.gz
+.if defined (WITH_OGI)
+DISTFILES+= OGIresLPC-2.0.4.tar.gz
+.endif
+
+.if defined (WITH_OGI)
+PATCHFILES= OGIfestpatch-${PORTVERSION}.tar.gz
+.endif
+
+MAINTAINER= trevor@jpj.net
+
+LIB_DEPENDS= audio.1:${PORTSDIR}/audio/nas \
+ esd.2:${PORTSDIR}/audio/esound
+
+DIST_SUBDIR= festival
+
+EXTRA_PATCHES= ${FILESDIR}/patch-aa
+.if defined (WITH_OGI)
+EXTRA_PATCHES= ${FILESDIR}/patch-aa-ogi
+RESTRICTED= no-commercial-use
+.endif
+
+PLIST= ${PKGDIR}/PLIST
+.if defined (WITH_OGI)
+PLIST= ${PKGDIR}/PLIST-ogi
+.endif
+
+WRKSRC= ${WRKDIR}
+
+USE_GMAKE= yes
+USE_NEWGCC= yes
+
+SPEECHTOOLS= ${WRKSRC}/speech_tools
+FESTIVAL= ${WRKSRC}/festival
+
+FHOME= ${PREFIX}/share/festival
+
+MAKE_ENV+= PKG_EST_HOME=${SPEECHTOOLS} \
+ EST_HOME=${SPEECHTOOLS} \
+ PKG_FESTIVAL_BUILD_HOME=${FESTIVAL} \
+ PKG_FESTIVAL_HOME=${FHOME} \
+ PKG_COMPILER="${CC}" \
+ PKG_X11BASE=${X11BASE} \
+ PKG_PREFIX=${PREFIX} \
+ EGCS_CC="${CC}" \
+ EGCS_CXX="${CXX}" \
+ GCC28_CC="${CC}" \
+ GCC28_CXX="${CXX}" \
+ GCC27_CC="${CC}" \
+ GCC27_CXX="${CXX}" \
+ GCC26_CC="${CC}" \
+ GCC26_CXX="${CXX}" \
+ CC="${CC}" \
+ CXX="${CXX}"
+
+MAN1= festival.1 festival_client.1
+
+.if defined (WITH_OGI)
+post-extract:
+ @${GUNZIP_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/OGIfestpatch-${PORTVERSION}.tar.gz \
+ | ${TAR} -C ${WRKSRC} -xf -
+.endif
+
+.if !defined(WITH_OGI)
+pre-fetch:
+ @${ECHO}
+ @${ECHO_MSG} "********************************************************"
+ @${ECHO_MSG} "* To build this port with the OGI enhancements, define *"
+ @${ECHO_MSG} "* \"WITH_OGI\" and restart the build. The license for *"
+ @${ECHO_MSG} "* the OGI materials prohibits commercial use, but they *"
+ @${ECHO_MSG} "* are required by some of the voices. *"
+ @${ECHO_MSG} "********************************************************"
+ @${ECHO}
+.endif
+
+pre-patch:
+ ${CP} ${SPEECHTOOLS}/config/config-dist ${SPEECHTOOLS}/config/config && \
+ ${CHMOD} u+w ${SPEECHTOOLS}/config/config
+ ${CP} ${FESTIVAL}/config/config-dist ${FESTIVAL}/config/config && \
+ ${CHMOD} u+w ${FESTIVAL}/config/config
+
+post-patch:
+ ${CP} ${FILESDIR}/top-Makefile ${WRKSRC}/Makefile
+ ${CP} ${FILESDIR}/FreeBSD.mak ${SPEECHTOOLS}/config/systems/FreeBSD.mak
+ ${CP} ${SPEECHTOOLS}/config/systems/ix86_FreeBSD3.3.mak \
+ ${SPEECHTOOLS}/config/systems/ix86_FreeBSD3.4.mak
+ ${CP} ${SPEECHTOOLS}/config/systems/ix86_FreeBSD3.3.mak \
+ ${SPEECHTOOLS}/config/systems/ix86_FreeBSD3.5.mak
+ ${CP} ${SPEECHTOOLS}/config/systems/ix86_FreeBSD4.0.mak \
+ ${SPEECHTOOLS}/config/systems/ix86_FreeBSD4.1.mak
+ ${CP} ${SPEECHTOOLS}/config/systems/ix86_FreeBSD4.0.mak \
+ ${SPEECHTOOLS}/config/systems/ix86_FreeBSD5.0.mak
+
+do-install:
+ ${MKDIR} ${FHOME}
+ ${CHMOD} -R u+w,a+r,og-w ${FESTIVAL}/lib
+ ${FIND} ${FESTIVAL}/lib -type d -print0| xargs -0 ${CHMOD} 755
+ cd ${FESTIVAL} && ${CP} -pPR lib examples ${FHOME}
+ ${RM} -rf ${FHOME}/lib/etc/*FreeBSD*
+ ${INSTALL_PROGRAM} ${FESTIVAL}/lib/etc/*FreeBSD*/audsp ${PREFIX}/libexec
+ ${INSTALL_PROGRAM} ${FESTIVAL}/src/main/festival ${PREFIX}/libexec/festival.naked
+ ${INSTALL_PROGRAM} ${FESTIVAL}/src/main/festival_client ${PREFIX}/libexec/festival_client.naked
+ for n in festival.sh festival_client.sh sitevars.scm; \
+ do {\
+ ${SED} "s%@PKG_FESTIVAL_LOCATION@%${FHOME}%; \
+ s%@PKG_PREFIX@%${PREFIX}%" <${FILESDIR}/$$n > ${WRKDIR}/$$n ;} \
+ done
+ ${INSTALL_SCRIPT} ${WRKDIR}/festival.sh ${PREFIX}/bin/festival
+ ${INSTALL_SCRIPT} ${WRKDIR}/festival_client.sh ${PREFIX}/bin/festival_client
+ ${INSTALL_DATA} ${WRKDIR}/sitevars.scm ${FHOME}/lib/sitevars.scm
+ ${INSTALL_MAN} ${FESTIVAL}/doc/festival.1 ${PREFIX}/man/man1/festival.1
+ ${INSTALL_MAN} ${FESTIVAL}/doc/festival_client.1 ${PREFIX}/man/man1/festival_client.1
+
+.include <bsd.port.mk>
diff --git a/audio/festival/distinfo b/audio/festival/distinfo
new file mode 100644
index 000000000000..8df832e77811
--- /dev/null
+++ b/audio/festival/distinfo
@@ -0,0 +1,4 @@
+MD5 (festival/festival-1.4.1.tar.gz) = 1cf585adfd5f8f14a3eed71200c5cbde
+MD5 (festival/speech_tools-1.2.1.tar.gz) = 4b77d63f202a410868cc79b5e0640b9b
+MD5 (festival/OGIresLPC-2.0.4.tar.gz) = d9ef4871ae35bd750dfb649de8ec1728
+MD5 (festival/OGIfestpatch-1.4.1.tar.gz) = a94d02c9c6415d373e50536f6aeaeac4
diff --git a/audio/festival/files/FreeBSD.mak b/audio/festival/files/FreeBSD.mak
new file mode 100644
index 000000000000..26854d2f3cbf
--- /dev/null
+++ b/audio/festival/files/FreeBSD.mak
@@ -0,0 +1,15 @@
+include $(EST)/config/systems/default.mak
+
+## echo -n doesn't work (well only sometimes ?)
+ECHO_N = /usr/bin/printf "%s"
+
+NAWK=awk
+
+NAS_LIB=$(PKG_X11BASE)/lib
+NAS_INCLUDE=$(PKG_X11BASE)/include
+
+X11_LIB=$(PKG_X11BASE)/lib
+X11_INCLUDE=$(PKG_X11BASE)/include
+
+OS_INCLUDES+=-I$(PKG_PREFIX)/include
+OS_LIBS+=-L$(PKG_PREFIX)/lib
diff --git a/audio/festival/files/extra-patch-aa b/audio/festival/files/extra-patch-aa
new file mode 100644
index 000000000000..e6072304c475
--- /dev/null
+++ b/audio/festival/files/extra-patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.2 1999/10/11 14:13:49 proff Exp $
+
+--- festival/config/config Mon Oct 11 07:48:44 1999
++++ festival/config/config Mon Oct 11 05:48:33 1999
+@@ -20,7 +20,7 @@
+ ## You may need to set this explicitly if automounter or NFS
+ ## side effects cause problems
+
+-FESTIVAL_HOME := $(shell (cd $(TOP); pwd))
++FESTIVAL_HOME := $(PKG_FESTIVAL_HOME)
+
+ ###########################################################################
+ ## Feature selection.
diff --git a/audio/festival/files/extra-patch-aa-ogi b/audio/festival/files/extra-patch-aa-ogi
new file mode 100644
index 000000000000..5bd4cb84e40d
--- /dev/null
+++ b/audio/festival/files/extra-patch-aa-ogi
@@ -0,0 +1,20 @@
+$NetBSD: patch-aa,v 1.2 1999/10/11 14:13:49 proff Exp $
+
+--- festival/config/config Mon Oct 11 07:48:44 1999
++++ festival/config/config Mon Oct 11 05:48:33 1999
+@@ -20,7 +20,7 @@
+ ## You may need to set this explicitly if automounter or NFS
+ ## side effects cause problems
+
+-FESTIVAL_HOME := $(shell (cd $(TOP); pwd))
++FESTIVAL_HOME := $(PKG_FESTIVAL_HOME)
+
+ ###########################################################################
+ ## Feature selection.
+@@ -70,3 +70,6 @@
+ ## in config/configs/default.mak.
+
+
++ALSO_INCLUDE += OGIcommon
++ALSO_INCLUDE += OGIdbase
++ALSO_INCLUDE += OGIresLPC
diff --git a/audio/festival/files/festival.sh b/audio/festival/files/festival.sh
new file mode 100644
index 000000000000..6d606b8a44ee
--- /dev/null
+++ b/audio/festival/files/festival.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# path for audsp
+PATH=@PKG_PREFIX@/libexec:$PATH
+export PATH
+exec festival.naked --libdir @PKG_FESTIVAL_LOCATION@/lib $*
diff --git a/audio/festival/files/festival_client.sh b/audio/festival/files/festival_client.sh
new file mode 100644
index 000000000000..fc4ba4c944b7
--- /dev/null
+++ b/audio/festival/files/festival_client.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+PATH=@PKG_PREFIX@/libexec:$PATH
+export PATH
+exec festival_client.naked @PKG_FESTIVAL_LOCATION@/lib $*
diff --git a/audio/festival/files/patch-ab b/audio/festival/files/patch-ab
new file mode 100644
index 000000000000..e8e939e1f994
--- /dev/null
+++ b/audio/festival/files/patch-ab
@@ -0,0 +1,25 @@
+$NetBSD: patch-ab,v 1.2 1999/10/11 14:13:49 proff Exp $
+
+--- festival/doc/Makefile Thu Jun 17 20:29:54 1999
++++ festival/doc/Makefile Mon Oct 11 06:06:35 1999
+@@ -44,7 +44,7 @@
+
+ EXAMPLE_TO_DOCUMENT=
+
+-FESTIVAL=$(TOP)/bin/festival --libdir $(TOP)/lib
++FESTIVAL=$(TOP)/src/main/festival --libdir $(TOP)/lib
+
+ # Include some of EST documentation.
+ DOCXX_EXTRA_FILES =
+@@ -72,9 +72,9 @@
+ %.1 : %.head %.options %.tail
+ cat $^ >$@
+ %.options : $(TOP)/src/main/%
+- $(TOP)/bin/$* -man_options >$@
++ $(FESTIVAL)$* -man_options >$@
+ %.options : $(TOP)/src/main/%.exe
+- $(TOP)/bin/$* -man_options >$@
++ $(FESTIVAL)$* -man_options >$@
+
+ festival.info: festival.texi festfunc.texi festvars.texi festfeat.texi
+ @ if [ ! -d info ] ; \
diff --git a/audio/festival/files/patch-ac b/audio/festival/files/patch-ac
new file mode 100644
index 000000000000..628ef33f0d22
--- /dev/null
+++ b/audio/festival/files/patch-ac
@@ -0,0 +1,24 @@
+$NetBSD: patch-ac,v 1.2 1999/10/11 14:13:49 proff Exp $
+
+--- festival/examples/benchmark Thu Feb 27 00:47:45 1997
++++ festival/examples/benchmark Mon Oct 11 05:41:14 1999
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-default_libdir="/projects/festival/lib"
++default_libdir="$FESTIVAL_HOME/lib"
+
+ while true
+ do
+@@ -15,9 +15,9 @@
+ esac
+ done
+
+-text=${1-"$HOME/projects/festival/examples/benchmark.text"}
++text=${1-"$FESTIVAL_HOME/examples/benchmark.text"}
+
+-for i in . src/main ../src/main $HOME/projects/festival/src/main /cstr/bin
++for i in . src/main ../src/main $FESTIVAL_HOME/src/main
+ do
+ if [ -n "$festival" ]
+ then
diff --git a/audio/festival/files/patch-ad b/audio/festival/files/patch-ad
new file mode 100644
index 000000000000..31e40bb6e906
--- /dev/null
+++ b/audio/festival/files/patch-ad
@@ -0,0 +1,33 @@
+--- speech_tools/config/config.orig Thu Nov 18 19:10:29 1999
++++ speech_tools/config/config Fri Jun 16 17:03:16 2000
+@@ -15,7 +15,7 @@
+ ## You may need to set this explicitly if automounter or NFS
+ ## side effects cause problems
+
+-EST_HOME := $(shell (cd $(EST); pwd))
++EST_HOME := $(PKG_EST_HOME)
+
+ ###########################################################################
+ ## System type.
+@@ -77,10 +77,10 @@
+ ## specify a program to play files in a desired format.
+
+ ## NCD's network audio system, This is recommended.
+-# INCLUDE_MODULES += NAS_AUDIO
++INCLUDE_MODULES += NAS_AUDIO
+
+ ## Elightenment Sound Demon, for KDE etc.
+-# INCLUDE_MODULES += ESD_AUDIO
++INCLUDE_MODULES += ESD_AUDIO
+
+ ## Native audio for your platform (sun, linux, freebsd, irix, windows)
+ INCLUDE_MODULES += NATIVE_AUDIO
+@@ -95,7 +95,7 @@
+ INCLUDE_MODULES += EDITLINE
+
+ # speech recognition
+-#INCLUDE_MODULES += ASR
++INCLUDE_MODULES += ASR
+
+
+ ## Scheme
diff --git a/audio/festival/files/patch-ae b/audio/festival/files/patch-ae
new file mode 100644
index 000000000000..ac4d747da708
--- /dev/null
+++ b/audio/festival/files/patch-ae
@@ -0,0 +1,12 @@
+$NetBSD: patch-ae,v 1.2 1999/10/11 14:13:49 proff Exp $
+
+--- speech_tools/include/EST_unix.h Sun May 30 20:53:04 1999
++++ speech_tools/include/EST_unix.h Mon Oct 11 05:40:15 1999
+@@ -53,6 +53,7 @@
+ # include <sys/wait.h>
+ # include <sys/resource.h>
+ # include <dirent.h>
++# define unix 1
+ #elif defined(SYSTEM_IS_WIN32)
+ # include <io.h>
+ # include "win32/EST_unix_win32.h"
diff --git a/audio/festival/files/patch-af b/audio/festival/files/patch-af
new file mode 100644
index 000000000000..63a2742d378d
--- /dev/null
+++ b/audio/festival/files/patch-af
@@ -0,0 +1,15 @@
+$NetBSD: patch-af,v 1.1 1999/10/11 14:13:49 proff Exp $
+
+--- festival/config/project.mak-dist Mon Oct 11 21:41:08 1999
++++ festival/config/project.mak Mon Oct 11 22:27:37 1999
+@@ -70,8 +70,8 @@
+
+ # Place where programs are compiled
+
+-PROJECT_MAIN_DIR=$(FESTIVAL_HOME)/src/main
+-PROJECT_SCRIPTS_DIR=$(FESTIVAL_HOME)/src/scripts
++PROJECT_MAIN_DIR=$(PKG_FESTIVAL_BUILD_HOME)/src/main
++PROJECT_SCRIPTS_DIR=$(PKG_FESTIVAL_BUILD_HOME)/src/scripts
+
+ # Where the main RCS tree is, probably only used within CSTR
+
diff --git a/audio/festival/files/patch-ag b/audio/festival/files/patch-ag
new file mode 100644
index 000000000000..528356470d10
--- /dev/null
+++ b/audio/festival/files/patch-ag
@@ -0,0 +1,12 @@
+$NetBSD: patch-ag,v 1.1 2000/05/05 20:54:57 hubertf Exp $
+
+--- speech_tools/config/modules/nas_audio.mak.orig Fri May 5 20:55:15 2000
++++ speech_tools/config/modules/nas_audio.mak Fri May 5 20:58:07 2000
+@@ -45,6 +45,6 @@
+ AUDIO_DEFINES += -DSUPPORT_NAS
+ AUDIO_INCLUDES += -I$(NAS_INCLUDE)
+ MODULE_LIBS += -L$(NAS_LIB) -laudio
+-MODULE_EXTRA_LIBS += -L$(X11_LIB) -lX11 -lXt
++MODULE_EXTRA_LIBS += -L$(X11_LIB) -Wl,-R $(X11_LIB) -lX11 -lXt
+
+
diff --git a/audio/festival/files/patch-ah b/audio/festival/files/patch-ah
new file mode 100644
index 000000000000..090c337db539
--- /dev/null
+++ b/audio/festival/files/patch-ah
@@ -0,0 +1,12 @@
+$NetBSD: patch-ah,v 1.1 2000/05/05 20:54:57 hubertf Exp $
+
+--- festival/config/modules/nas_audio.mak.orig Fri May 5 21:07:15 2000
++++ festival/config/modules/nas_audio.mak Fri May 5 21:07:29 2000
+@@ -44,6 +44,6 @@
+
+ AUDIO_DEFINES += -DSUPPORT_NAS
+ AUDIO_INCLUDES += -I$(NAS_INCLUDE)
+-MODULE_LIBS += -L$(NAS_LIB) -laudio -L$(X11_LIB) -lX11 -lXt
++MODULE_LIBS += -L$(NAS_LIB) -laudio -L$(X11_LIB) -Wl,-R$(X11_LIB) -lX11 -lXt
+
+
diff --git a/audio/festival/files/patch-ai b/audio/festival/files/patch-ai
new file mode 100644
index 000000000000..a20edf01ef03
--- /dev/null
+++ b/audio/festival/files/patch-ai
@@ -0,0 +1,17 @@
+$NetBSD: patch-ai,v 1.2 2000/05/31 14:51:16 dmcmahill Exp $
+
+work around pmax compiler bug
+
+--- speech_tools/grammar/ngram/Makefile.orig Sun May 30 06:59:41 1999
++++ speech_tools/grammar/ngram/Makefile Tue May 30 12:41:32 2000
+@@ -49,3 +49,10 @@
+ include $(TOP)/config/common_make_rules
+
++ifeq ($(MACHINETYPE),pmax)
++
++ngrammar_io.o: ngrammar_io.cc
++ ${CXX} -c -fno-implicit-templates -fguiding-decls -Wall -I../../include ${OS_INCLUDES} ngrammar_io.cc
++
++endif
++
+
diff --git a/audio/festival/files/patch-al b/audio/festival/files/patch-al
new file mode 100644
index 000000000000..40bc2e8906ab
--- /dev/null
+++ b/audio/festival/files/patch-al
@@ -0,0 +1,16 @@
+$NetBSD: patch-al,v 1.1 2000/05/31 14:51:17 dmcmahill Exp $
+
+work around pmax compiler bug
+
+--- festival/src/modules/Duration/Makefile.orig Sun May 30 08:07:31 1999
++++ festival/src/modules/Duration/Makefile Wed May 31 09:22:01 2000
+@@ -51,3 +51,9 @@
+ include $(TOP)/config/common_make_rules
+
++ifeq ($(MACHINETYPE),pmax)
++
++duration.o:duration.cc
++ ${CXX} -c -fno-implicit-templates -fguiding-decls -Wall -I../include -I../../../src/include -I../../../../speech_tools/include ${OS_INCLUDES} duration.cc
++
++endif
+
diff --git a/audio/festival/files/patch-am b/audio/festival/files/patch-am
new file mode 100644
index 000000000000..3cd79202f9d1
--- /dev/null
+++ b/audio/festival/files/patch-am
@@ -0,0 +1,13 @@
+passing `int *' as argument 3 of `accept(int, sockaddr *, socklen_t *)' changes signedness
+
+--- speech_tools/utils/EST_Server.cc.orig Thu Nov 18 23:14:51 1999
++++ speech_tools/utils/EST_Server.cc Sun Jun 11 17:27:17 2000
+@@ -647,7 +647,7 @@
+
+ while (connected() &&
+ (csocket = accept(p_socket, (struct sockaddr *) &sin,
+- SOCKLEN_CAST &sin_size))>=0)
++ (socklen_t *) &sin_size))>=0)
+ {
+ if (p_trace)
+ *p_trace << "connection " << csocket << "\n";
diff --git a/audio/festival/files/patch-an b/audio/festival/files/patch-an
new file mode 100644
index 000000000000..405e46cffbff
--- /dev/null
+++ b/audio/festival/files/patch-an
@@ -0,0 +1,13 @@
+passing `int *' as argument 3 of `getsockname(int, sockaddr *, socklen_t *)' changes signedness
+
+--- speech_tools/utils/EST_ServiceTable.cc.orig Thu Nov 18 23:15:21 1999
++++ speech_tools/utils/EST_ServiceTable.cc Sun Jun 11 17:28:29 2000
+@@ -296,7 +296,7 @@
+
+ // This only gets the port number
+
+- if (getsockname(socket, (struct sockaddr *)&sin, SOCKLEN_CAST &size) != 0)
++ if (getsockname(socket, (struct sockaddr *)&sin, (socklen_t *) &size) != 0)
+ EST_sys_error("Can't find my address");
+
+
diff --git a/audio/festival/files/patch-ao b/audio/festival/files/patch-ao
new file mode 100644
index 000000000000..73b77083ebf9
--- /dev/null
+++ b/audio/festival/files/patch-ao
@@ -0,0 +1,13 @@
+passing `int *' as argument 3 of `getpeername(int, sockaddr *, socklen_t *)' changes signedness
+
+--- ./festival/src/arch/festival/server.cc.orig Thu Nov 18 23:46:47 1999
++++ ./festival/src/arch/festival/server.cc Sun Jun 11 17:48:45 2000
+@@ -206,7 +206,7 @@
+ const char *client_hostnum;
+ const char *reason = "";
+
+- getpeername(fd,(struct sockaddr *)&peer,SOCKLEN_CAST &addrlen);
++ getpeername(fd,(struct sockaddr *)&peer, (socklen_t *) &addrlen);
+ clienthost = gethostbyaddr((char *)&peer.sin_addr,
+ sizeof(peer.sin_addr),AF_INET);
+ client_hostnum = inet_ntoa(peer.sin_addr);
diff --git a/audio/festival/files/patch-ap b/audio/festival/files/patch-ap
new file mode 100644
index 000000000000..0794c74870f9
--- /dev/null
+++ b/audio/festival/files/patch-ap
@@ -0,0 +1,12 @@
+--- speech_tools/audio/nas.cc.orig Thu Oct 14 16:26:29 1999
++++ speech_tools/audio/nas.cc Fri Jun 16 17:24:25 2000
+@@ -57,7 +57,8 @@
+
+ int nas_supported = TRUE;
+
+-int endian_int = 1;
++extern int endian_int;
++int endian_int = 1;
+ #define NAS_BIG_ENDIAN (((char *)&endian_int)[0] == 0)
+
+ static void na_sync_play_cb(AuServer *aud, AuEventHandlerRec *handler,
diff --git a/audio/festival/files/patch-aq b/audio/festival/files/patch-aq
new file mode 100644
index 000000000000..012bfe0c9817
--- /dev/null
+++ b/audio/festival/files/patch-aq
@@ -0,0 +1,10 @@
+--- speech_tools/audio/esd.cc.orig Mon Oct 4 15:39:01 1999
++++ speech_tools/audio/esd.cc Fri Jun 16 17:49:10 2000
+@@ -66,7 +66,6 @@
+
+ bool esd_supported = TRUE;
+
+-int endian_int = 1;
+ #define ESD_BIG_ENDIAN (((char *)&endian_int)[0] == 0)
+
+ EST_String server;
diff --git a/audio/festival/files/sitevars.scm b/audio/festival/files/sitevars.scm
new file mode 100644
index 000000000000..e80dbfa1c73c
--- /dev/null
+++ b/audio/festival/files/sitevars.scm
@@ -0,0 +1,2 @@
+(set! system-voice-path '("@PKG_FESTIVAL_LOCATION@/lib/voices"))
+(set! sgml_parse_progname "nsgmls")
diff --git a/audio/festival/files/top-Makefile b/audio/festival/files/top-Makefile
new file mode 100644
index 000000000000..ee190c4fe49e
--- /dev/null
+++ b/audio/festival/files/top-Makefile
@@ -0,0 +1,3 @@
+all:
+ cd speech_tools && $(MAKE)
+ cd festival && $(MAKE)
diff --git a/audio/festival/pkg-comment b/audio/festival/pkg-comment
new file mode 100644
index 000000000000..b7749a368efd
--- /dev/null
+++ b/audio/festival/pkg-comment
@@ -0,0 +1 @@
+Festival is an advanced multi-lingual speech synthesis system
diff --git a/audio/festival/pkg-descr b/audio/festival/pkg-descr
new file mode 100644
index 000000000000..6bc4fe4096dd
--- /dev/null
+++ b/audio/festival/pkg-descr
@@ -0,0 +1,19 @@
+from the authors:
+
+The Festival Speech Synthesis System is a general multi-lingual
+text-to-speech system for Unix platforms. It is written in C++ and
+includes a Scheme-based scripting language. Included with Festival
+are lexicons and voices that together form a whole text-to-speech
+system.
+
+For output via esd do:
+
+ (Parameter.set 'Audio_Method 'esdaudio)
+
+NAS and direct output are documented in section 23 of the users'
+manual.
+
+WWW: http://www.cstr.ed.ac.uk/projects/festival.html
+
+Trevor Johnson
+trevor@jpj.net
diff --git a/audio/festival/pkg-message b/audio/festival/pkg-message
new file mode 100644
index 000000000000..8043e6681d28
--- /dev/null
+++ b/audio/festival/pkg-message
@@ -0,0 +1,6 @@
+**************************************************************************
+* You need to install at least one festvox-* package before festival can *
+* do anything other than mumble silently to itself. See the festival *
+* package description, the festdoc package (share/doc/festival/*), *
+* or the festival home page for more information. *
+**************************************************************************
diff --git a/audio/festival/pkg-plist b/audio/festival/pkg-plist
new file mode 100644
index 000000000000..2c09eec7fd37
--- /dev/null
+++ b/audio/festival/pkg-plist
@@ -0,0 +1,109 @@
+@comment $NetBSD: PLIST,v 1.3 1999/10/27 14:20:50 hubertf Exp $
+bin/festival
+bin/festival_client
+libexec/festival.naked
+libexec/festival_client.naked
+libexec/audsp
+share/festival/lib/Makefile
+share/festival/lib/VCLocalRules
+share/festival/lib/mrpa_phones.scm
+share/festival/lib/mrpa_allophones.scm
+share/festival/lib/radio_phones.scm
+share/festival/lib/holmes_phones.scm
+share/festival/lib/darpa_phones.scm
+share/festival/lib/phoneset.scm
+share/festival/lib/mrpa_durs.scm
+share/festival/lib/klatt_durs.scm
+share/festival/lib/gswdurtreeZ.scm
+share/festival/lib/f2bdurtreeZ.scm
+share/festival/lib/tobi.scm
+share/festival/lib/f2bf0lr.scm
+share/festival/lib/tobi_rules.scm
+share/festival/lib/tilt.scm
+share/festival/lib/sec.ts20.quad.ngrambin
+share/festival/lib/sec.B.hept.ngrambin
+share/festival/lib/init.scm
+share/festival/lib/synthesis.scm
+share/festival/lib/module_description.scm
+share/festival/lib/lexicons.scm
+share/festival/lib/festival.scm
+share/festival/lib/intonation.scm
+share/festival/lib/duration.scm
+share/festival/lib/pos.scm
+share/festival/lib/phrase.scm
+share/festival/lib/voices.scm
+share/festival/lib/tts.scm
+share/festival/lib/festdoc.scm
+share/festival/lib/languages.scm
+share/festival/lib/token.scm
+share/festival/lib/mbrola.scm
+share/festival/lib/display.scm
+share/festival/lib/postlex.scm
+share/festival/lib/tokenpos.scm
+share/festival/lib/festtest.scm
+share/festival/lib/cslush.scm
+share/festival/lib/cart_aux.scm
+share/festival/lib/pauses.scm
+share/festival/lib/scfg.scm
+share/festival/lib/mettree.scm
+share/festival/lib/java.scm
+share/festival/lib/lts.scm
+share/festival/lib/engmorph.scm
+share/festival/lib/engmorphsyn.scm
+share/festival/lib/lts_build.scm
+share/festival/lib/Sable.v0_2.dtd
+share/festival/lib/sable-latin.ent
+share/festival/lib/festival.el
+share/festival/lib/scfg_wsj_wp20.gram
+share/festival/lib/speech.properties
+share/festival/lib/email-mode.scm
+share/festival/lib/ogimarkup-mode.scm
+share/festival/lib/sable-mode.scm
+share/festival/lib/soleml-mode.scm
+share/festival/lib/etc/Makefile
+share/festival/lib/etc/email_filter
+@dirrm share/festival/lib/etc
+share/festival/lib/siod.scm
+share/festival/lib/web.scm
+share/festival/lib/cstr.scm
+share/festival/lib/fringe.scm
+share/festival/lib/sitevars.scm
+@dirrm share/festival/lib
+share/festival/examples/Makefile
+share/festival/examples/webdemo.scm
+share/festival/examples/ex1.email
+share/festival/examples/ex1.ogi
+share/festival/examples/example.sable
+share/festival/examples/example2.sable
+share/festival/examples/tobi.stml
+share/festival/examples/example.th
+share/festival/examples/intro.text
+share/festival/examples/spintro.text
+share/festival/examples/benchmark.text
+share/festival/examples/saytime.sh
+share/festival/examples/speech_pm_1.0.tar
+share/festival/examples/text2pos.sh
+share/festival/examples/latest.sh
+share/festival/examples/scfg_parse_text.sh
+share/festival/examples/text2wave.sh
+share/festival/examples/make_utts.sh
+share/festival/examples/dumpfeats.sh
+share/festival/examples/durmeanstd.sh
+share/festival/examples/benchmark
+share/festival/examples/festival_client.pl
+share/festival/examples/toksearch.scm
+share/festival/examples/th-mode.scm
+share/festival/examples/addr-mode.scm
+share/festival/examples/festival_client.c
+share/festival/examples/festival_client.h
+share/festival/examples/benchmark.orig
+share/festival/examples/saytime
+share/festival/examples/text2pos
+share/festival/examples/latest
+share/festival/examples/scfg_parse_text
+share/festival/examples/text2wave
+share/festival/examples/make_utts
+share/festival/examples/dumpfeats
+share/festival/examples/durmeanstd
+@dirrm share/festival/examples
+@dirrm share/festival
diff --git a/audio/festival/pkg-plist-ogi b/audio/festival/pkg-plist-ogi
new file mode 100644
index 000000000000..d039fc7dd72e
--- /dev/null
+++ b/audio/festival/pkg-plist-ogi
@@ -0,0 +1,121 @@
+@comment $NetBSD: PLIST,v 1.3 1999/10/27 14:20:50 hubertf Exp $
+bin/festival
+bin/festival_client
+libexec/festival.naked
+libexec/festival_client.naked
+libexec/audsp
+share/festival/lib/ogi_gswdurtreeZ_wb.scm
+share/festival/lib/ogi_hack.scm
+share/festival/lib/ogi_kddurtreeZ_wb.scm
+share/festival/lib/ogi_klatt_durs_wb.scm
+share/festival/lib/ogi_languages.scm
+share/festival/lib/ogi_lexicons.scm
+share/festival/lib/ogi_lts_worldbet.scm
+share/festival/lib/ogi_phrase.scm
+share/festival/lib/ogi_postlex.scm
+share/festival/lib/ogi_synthesis.scm
+share/festival/lib/ogi_unitsel.scm
+share/festival/lib/ogi_worldbet_phones.scm
+share/festival/lib/Makefile
+share/festival/lib/VCLocalRules
+share/festival/lib/mrpa_phones.scm
+share/festival/lib/mrpa_allophones.scm
+share/festival/lib/radio_phones.scm
+share/festival/lib/holmes_phones.scm
+share/festival/lib/darpa_phones.scm
+share/festival/lib/phoneset.scm
+share/festival/lib/mrpa_durs.scm
+share/festival/lib/klatt_durs.scm
+share/festival/lib/gswdurtreeZ.scm
+share/festival/lib/f2bdurtreeZ.scm
+share/festival/lib/tobi.scm
+share/festival/lib/f2bf0lr.scm
+share/festival/lib/tobi_rules.scm
+share/festival/lib/tilt.scm
+share/festival/lib/sec.ts20.quad.ngrambin
+share/festival/lib/sec.B.hept.ngrambin
+share/festival/lib/init.scm
+share/festival/lib/synthesis.scm
+share/festival/lib/module_description.scm
+share/festival/lib/lexicons.scm
+share/festival/lib/festival.scm
+share/festival/lib/intonation.scm
+share/festival/lib/duration.scm
+share/festival/lib/pos.scm
+share/festival/lib/phrase.scm
+share/festival/lib/voices.scm
+share/festival/lib/tts.scm
+share/festival/lib/festdoc.scm
+share/festival/lib/languages.scm
+share/festival/lib/token.scm
+share/festival/lib/mbrola.scm
+share/festival/lib/display.scm
+share/festival/lib/postlex.scm
+share/festival/lib/tokenpos.scm
+share/festival/lib/festtest.scm
+share/festival/lib/cslush.scm
+share/festival/lib/cart_aux.scm
+share/festival/lib/pauses.scm
+share/festival/lib/scfg.scm
+share/festival/lib/mettree.scm
+share/festival/lib/java.scm
+share/festival/lib/lts.scm
+share/festival/lib/engmorph.scm
+share/festival/lib/engmorphsyn.scm
+share/festival/lib/lts_build.scm
+share/festival/lib/Sable.v0_2.dtd
+share/festival/lib/sable-latin.ent
+share/festival/lib/festival.el
+share/festival/lib/scfg_wsj_wp20.gram
+share/festival/lib/speech.properties
+share/festival/lib/email-mode.scm
+share/festival/lib/ogimarkup-mode.scm
+share/festival/lib/sable-mode.scm
+share/festival/lib/soleml-mode.scm
+share/festival/lib/etc/Makefile
+share/festival/lib/etc/email_filter
+@dirrm share/festival/lib/etc
+share/festival/lib/siod.scm
+share/festival/lib/web.scm
+share/festival/lib/cstr.scm
+share/festival/lib/fringe.scm
+share/festival/lib/sitevars.scm
+@dirrm share/festival/lib
+share/festival/examples/Makefile
+share/festival/examples/webdemo.scm
+share/festival/examples/ex1.email
+share/festival/examples/ex1.ogi
+share/festival/examples/example.sable
+share/festival/examples/example2.sable
+share/festival/examples/tobi.stml
+share/festival/examples/example.th
+share/festival/examples/intro.text
+share/festival/examples/spintro.text
+share/festival/examples/benchmark.text
+share/festival/examples/saytime.sh
+share/festival/examples/speech_pm_1.0.tar
+share/festival/examples/text2pos.sh
+share/festival/examples/latest.sh
+share/festival/examples/scfg_parse_text.sh
+share/festival/examples/text2wave.sh
+share/festival/examples/make_utts.sh
+share/festival/examples/dumpfeats.sh
+share/festival/examples/durmeanstd.sh
+share/festival/examples/benchmark
+share/festival/examples/festival_client.pl
+share/festival/examples/toksearch.scm
+share/festival/examples/th-mode.scm
+share/festival/examples/addr-mode.scm
+share/festival/examples/festival_client.c
+share/festival/examples/festival_client.h
+share/festival/examples/benchmark.orig
+share/festival/examples/saytime
+share/festival/examples/text2pos
+share/festival/examples/latest
+share/festival/examples/scfg_parse_text
+share/festival/examples/text2wave
+share/festival/examples/make_utts
+share/festival/examples/dumpfeats
+share/festival/examples/durmeanstd
+@dirrm share/festival/examples
+@dirrm share/festival