summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-05 02:45:38 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-05 02:45:38 +0000
commit5e0128e3a15237fa5a90f047e0b853b4ccb1d927 (patch)
tree1c8f9059d0d34b0074596f6b3c2da8dab84ec5d0
parentc3f3585267f72693791e6db2b9cb245e4918292b (diff)
automatic import of festivalopeneuler24.03_LTS
-rw-r--r--.gitignore11
-rw-r--r--festival-2.5.0-filesystem-standard.patch422
-rw-r--r--festival-2.5.0-pie.patch20
-rw-r--r--festival-2.5.0-pulseaudio.patch14
-rw-r--r--festival-2.5.0-siteinit.patch157
-rw-r--r--festival-2.5.0-use-system-libs.patch16
-rw-r--r--festival-2.5.0-use-system-speech-tools.patch17
-rw-r--r--festival.service10
-rw-r--r--festival.spec1031
-rw-r--r--sources11
10 files changed, 1709 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b24f878 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,11 @@
+/festival-2.5.0-release.tar.gz
+/festlex_CMU.tar.gz
+/festlex_POSLEX.tar.gz
+/festvox_cmu_us_awb_cg.tar.gz
+/festvox_cmu_us_bdl_cg.tar.gz
+/festvox_cmu_us_clb_cg.tar.gz
+/festvox_cmu_us_jmk_cg.tar.gz
+/festvox_cmu_us_rms_cg.tar.gz
+/festvox_cmu_us_slt_cg.tar.gz
+/festvox_kallpc16k.tar.gz
+/festvox_rablpc16k.tar.gz
diff --git a/festival-2.5.0-filesystem-standard.patch b/festival-2.5.0-filesystem-standard.patch
new file mode 100644
index 0000000..e2b175d
--- /dev/null
+++ b/festival-2.5.0-filesystem-standard.patch
@@ -0,0 +1,422 @@
+diff -u --recursive festival-vanilla/examples/benchmark festival/examples/benchmark
+--- festival-vanilla/examples/benchmark 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/benchmark 2018-09-06 20:37:22.855868107 -0400
+@@ -1,6 +1,7 @@
+ #!/bin/sh
+
+-default_libdir="/projects/festival/lib"
++default_libdir="/usr/share/festival"
++default_datadir="/usr/share/festival"
+
+ while true
+ do
+@@ -11,13 +12,17 @@
+ -l ) libdir="$2"
+ shift 2
+ ;;
++ -d ) datadir="$2"
++ shift 2
++ ;;
++ -- ) shift; break ;;
+ * ) break;;
+ esac
+ done
+
+-text=${1-"$HOME/projects/festival/examples/benchmark.text"}
++text=${1-"/usr/share/doc/festival/examples/benchmark.text"}
+
+-for i in . src/main ../src/main $HOME/projects/festival/src/main /cstr/bin
++for i in /usr/bin . src/main ../src/main $HOME/projects/festival/src/main /cstr/bin
+ do
+ if [ -n "$festival" ]
+ then
+@@ -39,7 +44,15 @@
+ then
+ case $festival in
+ *main/festival ) libdir=`dirname $festival`/../../lib;;
+- * ) libdir=$default_libdir;;
++ * ) libdir=$default_libdir;
++ esac
++fi
++
++if [ -z "$datadir" ]
++ then
++ case $festival in
++ *main/festival ) datadir=`dirname $festival`/../../share;;
++ * ) datadir=$default_datadir;;
+ esac
+ fi
+
+@@ -54,10 +67,11 @@
+ cat > $script <<__END__
+
+ (set! libdir "$libdir/")
+-(set! lexdir "$default_libdir/dicts/")
+-(set! voiced_dir "$default_libdir/voices/")
++(set! datadir "$datadir/")
++(set! lexdir "$default_datadir/dicts/")
++(set! voiced_dir "$default_datadir/voices/")
+
+-(load (string-append libdir "init.scm"))
++(load (string-append datadir "init.scm"))
+ (if (probe_file (format nil "%s/.festivalrc" (getenv "HOME")))
+ (load (format nil "%s/.festivalrc" (getenv "HOME"))))
+
+diff -u --recursive festival-vanilla/examples/benchmark.text festival/examples/benchmark.text
+--- festival-vanilla/examples/benchmark.text 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/benchmark.text 2018-09-06 20:37:22.855868107 -0400
+@@ -32,8 +32,13 @@
+
+ --libdir PATH
+ Specify alternate to default library directory (used
+- in initializing the variable load-path, and for
+- loading most intinialisation files)
++ for architecture-specific libraries and programs)
++
++ --datadir PATH
++ Specify alternate to default shared-data directory (used
++ in initializing the variable load-path, and for
++ loading most initialisation files). Typically, the voice and
++ dictionary files reside here.
+
+ -b or --batch
+ Run in batch mode. In batch mode no input is read
+diff -u --recursive festival-vanilla/examples/dumpfeats.sh festival/examples/dumpfeats.sh
+--- festival-vanilla/examples/dumpfeats.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/dumpfeats.sh 2018-09-06 20:37:22.855868107 -0400
+@@ -39,7 +39,7 @@
+
+ ;;; Because this is a --script type file it has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ (define (dumpfeats_help)
+ (format t "%s\n"
+diff -u --recursive festival-vanilla/examples/durmeanstd.sh festival/examples/durmeanstd.sh
+--- festival-vanilla/examples/durmeanstd.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/durmeanstd.sh 2018-09-06 20:37:22.856868112 -0400
+@@ -40,7 +40,7 @@
+
+ ;;; Because this is a --script type file it has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ (define (durmeanstd_help)
+ (format t "%s\n"
+diff -u --recursive festival-vanilla/examples/latest.sh festival/examples/latest.sh
+--- festival-vanilla/examples/latest.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/latest.sh 2018-09-06 20:37:22.854868102 -0400
+@@ -50,7 +50,7 @@
+
+ ;;; Because this is a --script type file I has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ (audio_mode 'async) ;; play waves while continuing synthesis
+
+diff -u --recursive festival-vanilla/examples/Makefile festival/examples/Makefile
+--- festival-vanilla/examples/Makefile 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/Makefile 2018-09-06 20:37:22.860868131 -0400
+@@ -54,8 +54,9 @@
+
+ $(ALL) : % : %.sh
+ rm -f $@
+- @echo "#!/bin/sh" >$@
+- @echo "\"true\" ; exec "$(FESTIVAL_HOME)/bin/festival --script '$$0 $$*' >>$@
++ @echo "#!/usr/bin/festival --script" >$@
++# @echo "#!/bin/sh" >$@
++# @echo "\"true\" ; exec "/usr/bin/festival --script '$$0 $$*' >>$@
+ cat $< >>$@
+ chmod +x $@
+
+diff -u --recursive festival-vanilla/examples/make_utts.sh festival/examples/make_utts.sh
+--- festival-vanilla/examples/make_utts.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/make_utts.sh 2018-09-06 20:37:22.854868102 -0400
+@@ -44,7 +44,7 @@
+ ;;; Because this is a --script type file it has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+ (if (not (symbol-bound? 'caar))
+- (load (path-append libdir "init.scm")))
++ (load (path-append datadir "init.scm")))
+
+ ;;; Some parts are potentially editable
+ (defvar basic_relations '((Phrase segmental ())
+diff -u --recursive festival-vanilla/examples/saytime.sh festival/examples/saytime.sh
+--- festival-vanilla/examples/saytime.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/saytime.sh 2018-09-06 20:37:22.856868112 -0400
+@@ -44,7 +44,7 @@
+
+ ;;; Because this is a --script type file I has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ (define (get-the-time)
+ "Returns a list of hour and minute and second, for later processing"
+diff -u --recursive festival-vanilla/examples/scfg_parse_text.sh festival/examples/scfg_parse_text.sh
+--- festival-vanilla/examples/scfg_parse_text.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/scfg_parse_text.sh 2018-09-06 20:37:22.856868112 -0400
+@@ -45,7 +45,7 @@
+
+ ;;; Because this is a --script type file I has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ (require 'scfg)
+
+@@ -66,7 +66,7 @@
+ (gc-status nil)
+
+ ;;; Default argument values
+-(defvar grammarfile (path-append libdir "scfg_wsj_wp20.gram"))
++(defvar grammarfile (path-append datadir "scfg_wsj_wp20.gram"))
+ (defvar outfile "-")
+ (defvar outfd t)
+ (defvar parse_type 'brackets_only)
+diff -u --recursive festival-vanilla/examples/text2pos.sh festival/examples/text2pos.sh
+--- festival-vanilla/examples/text2pos.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/text2pos.sh 2018-09-06 20:37:22.856868112 -0400
+@@ -50,7 +50,7 @@
+
+ ;;; Because this is a --script type file I has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ (define (find-pos utt)
+ "Main function for processing TTS utterances. Predicts POS and
+diff -u --recursive festival-vanilla/examples/text2wave.sh festival/examples/text2wave.sh
+--- festival-vanilla/examples/text2wave.sh 2017-09-04 11:54:08.000000000 -0400
++++ festival/examples/text2wave.sh 2018-09-06 20:37:22.857868117 -0400
+@@ -40,7 +40,7 @@
+
+ ;;; Because this is a --script type file I has to explicitly
+ ;;; load the initfiles: init.scm and user's .festivalrc
+-(load (path-append libdir "init.scm"))
++(load (path-append datadir "init.scm"))
+
+ ;;; Process command line arguments
+ (define (text2wave_help)
+diff -u --recursive festival-vanilla/lib/festival.scm festival/lib/festival.scm
+--- festival-vanilla/lib/festival.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/festival.scm 2018-09-06 20:37:22.858868122 -0400
+@@ -552,13 +552,13 @@
+ (define (intro)
+ "(intro)
+ Synthesize an introduction to the Festival Speech Synthesis System."
+- (tts (path-append libdir "../examples/intro.text") nil))
++ (tts (path-append datadir "/usr/share/doc/festival/examples/intro.text") nil))
+
+ (define (intro-spanish)
+ "(intro-spanish)
+ Synthesize an introduction to the Festival Speech Synthesis System
+ in spanish. Spanish voice must already be selected for this."
+- (tts (path-append libdir "../examples/spintro.text") nil))
++ (tts (path-append datadir "/usr/share/doc/festival/examples/spintro.text") nil))
+
+ (define (na_play FILENAME)
+ "(play_wave FILENAME)
+diff -u --recursive festival-vanilla/lib/init.scm festival/lib/init.scm
+--- festival-vanilla/lib/init.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/init.scm 2018-09-06 20:37:22.852868092 -0400
+@@ -36,7 +36,7 @@
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ;;; Basic siod library (need this before load_library or require works)
+-(load (path-append libdir "siod.scm"))
++(load (path-append datadir "siod.scm"))
+
+ (defvar home-directory (or (getenv "HOME") "/")
+ "home-directory
+diff -u --recursive festival-vanilla/lib/lexicons.scm festival/lib/lexicons.scm
+--- festival-vanilla/lib/lexicons.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/lexicons.scm 2018-09-06 20:37:22.858868122 -0400
+@@ -42,10 +42,10 @@
+ ;;; you should set lexdir in sitevars.scm
+
+ (defvar lexdir
+- (if (probe_file (path-append libdir "dicts"))
+- (path-append libdir "dicts/")
++ (if (probe_file (path-append datadir "dicts"))
++ (path-append datadir "dicts/")
+ ;; else we'll guess we're in the CSTR filespace
+- (path-as-directory "/projects/festival/lib/dicts/"))
++ (path-as-directory "/usr/share/festival/dicts/"))
+ "lexdir
+ The directory where the lexicon(s) are, by default.")
+
+diff -u --recursive festival-vanilla/lib/phrase.scm festival/lib/phrase.scm
+--- festival-vanilla/lib/phrase.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/phrase.scm 2018-09-06 20:37:22.857868117 -0400
+@@ -93,7 +93,7 @@
+
+ (require 'pos) ;; for part of speech map
+
+-(defvar pbreak_ngram_dir libdir
++(defvar pbreak_ngram_dir datadir
+ "pbreak_ngram_dir
+ The directory containing the ngram models for predicting phrase
+ breaks. By default this is the standard library directory.")
+diff -u --recursive festival-vanilla/lib/soleml-mode.scm festival/lib/soleml-mode.scm
+--- festival-vanilla/lib/soleml-mode.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/soleml-mode.scm 2018-09-06 20:37:22.857868117 -0400
+@@ -330,7 +330,7 @@
+ (list 'exit_func soleml_exit_func)
+ '(analysis_type xxml)
+ (list 'filter
+- (format nil "%s -D %s " sgml_parse_progname libdir))))
++ (format nil "%s -D %s " sgml_parse_progname datadir))))
+ tts_text_modes))
+
+ (provide 'soleml-mode)
+diff -u --recursive festival-vanilla/lib/voices.scm festival/lib/voices.scm
+--- festival-vanilla/lib/voices.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/voices.scm 2018-09-06 20:37:22.853868097 -0400
+@@ -42,7 +42,7 @@
+ ;; The path to search for voices is created from the load-path with
+ ;; an extra list of directories appended.
+
+-(defvar system-voice-path '( )
++(defvar system-voice-path '("/usr/share/festival/voices/")
+ "system-voice-path
+ Additional directory not near the load path where voices can be
+ found, this can be redefined in lib/sitevars.scm if desired.")
+diff -u --recursive festival-vanilla/src/arch/festival/audspio.cc festival/src/arch/festival/audspio.cc
+--- festival-vanilla/src/arch/festival/audspio.cc 2017-09-04 11:54:08.000000000 -0400
++++ festival/src/arch/festival/audspio.cc 2018-09-06 20:37:22.859868126 -0400
+@@ -108,7 +108,7 @@
+ {
+ audio = ft_get_param("Audio_Method");
+ command = ft_get_param("Audio_Command");
+- audfds = pipe_open("audsp");
++ audfds = pipe_open("/usr/libexec/festival/audsp");
+ if (audio != NIL)
+ audsp_send(EST_String("method ")+get_c_string(audio));
+ if (command != NIL)
+diff -u --recursive festival-vanilla/src/arch/festival/festival.cc festival/src/arch/festival/festival.cc
+--- festival-vanilla/src/arch/festival/festival.cc 2017-09-04 11:54:08.000000000 -0400
++++ festival/src/arch/festival/festival.cc 2018-09-06 20:37:22.859868126 -0400
+@@ -60,6 +60,9 @@
+ #define STRINGIZE(S) _S_S_S(S)
+
+ const char *festival_version = STRINGIZE(FTVERSION) ":" STRINGIZE(FTSTATE) " " STRINGIZE(FTDATE);
++const char *festival_libdir = "/usr/share/festival";
++const char *festival_datadir = "/usr/share/festival";
++const char *festival_sysconfdir = "/etc";
+
+ // Allow the path to be passed in without quotes because Windoze command line
+ // is stupid
+@@ -79,7 +82,6 @@
+ #define FTOSTYPE ""
+ #endif
+
+-const char *festival_libdir = FTLIBDIR;
+ ostream *cdebug;
+ static int festival_server_port = 1314;
+ static EST_StrList sub_copyrights;
+@@ -308,7 +310,7 @@
+ EST_String userinitfile, home_str, initfile;
+
+ // Load library init first
+- initfile = (EST_String)EST_Pathname(festival_libdir).as_directory() +
++ initfile = (EST_String)EST_Pathname(festival_datadir).as_directory() +
+ "init.scm";
+ if (access((const char *)initfile,R_OK) == 0)
+ vload(initfile,FALSE);
+@@ -324,6 +326,8 @@
+ int major,minor,subminor;
+
+ siod_set_lval("libdir",strintern(festival_libdir));
++ siod_set_lval("datadir",strintern(festival_datadir));
++ siod_set_lval("sysconfdir",strintern(festival_sysconfdir));
+ if (!streq(FTOSTYPE,""))
+ siod_set_lval("*ostype*",cintern(FTOSTYPE));
+ siod_set_lval("festival_version",
+@@ -357,6 +361,7 @@
+ if (mplayer_supported)
+ proclaim_module("mplayeraudio");
+
++#if 0 /* /usr/lib/festival/etc/machine -- ??? */
+ // Add etc-dir path and machine specific directory etc/$OSTYPE
+ char *etcdir = walloc(char,strlen(festival_libdir)+strlen("etc/")+
+ strlen(FTOSTYPE)+3);
+@@ -377,6 +382,7 @@
+
+ wfree(etcdir);
+ wfree(etcdircommon);
++#endif
+ return;
+ }
+
+Only in festival/src/arch/festival: festival.cc.orig
+diff -u --recursive festival-vanilla/src/arch/festival/Makefile festival/src/arch/festival/Makefile
+--- festival-vanilla/src/arch/festival/Makefile 2017-09-04 11:54:08.000000000 -0400
++++ festival/src/arch/festival/Makefile 2018-09-06 20:37:22.858868122 -0400
+@@ -62,6 +62,6 @@
+ LOCAL_INCLUDES += $(FESTIVAL_INCLUDES)
+
+ festival.o: festival.cc
+- $(CXX_COMMAND_TEMPLATES) -DFTNAME='$(PROJECT_NAME)' -DFTLIBDIRC='$(FTLIBDIR)' -DFTVERSION='$(PROJECT_VERSION)' -DFTSTATE='$(PROJECT_STATE)' -DFTDATE='$(PROJECT_DATE)' -DFTOSTYPE=\"$(SYSTEM_TYPE)\" festival.cc
++ $(CXX_COMMAND_TEMPLATES) -DFTNAME='$(PROJECT_NAME)' -DFTVERSION='$(PROJECT_VERSION)' -DFTSTATE='$(PROJECT_STATE)' -DFTDATE='$(PROJECT_DATE)' -DFTOSTYPEC='$(SYSTEM_TYPE)' festival.cc
+
+
+diff -u --recursive festival-vanilla/src/include/festival.h festival/src/include/festival.h
+--- festival-vanilla/src/include/festival.h 2017-09-04 11:54:08.000000000 -0400
++++ festival/src/include/festival.h 2018-09-06 20:37:22.854868102 -0400
+@@ -138,6 +138,7 @@
+ void add_item_features(EST_Item *s,LISP features);
+
+ extern const char *festival_libdir;
++extern const char *festival_datadir;
+
+ // Module specific LISP/etc definitions
+ void festival_init_modules(void);
+diff -u --recursive festival-vanilla/src/main/festival_main.cc festival/src/main/festival_main.cc
+--- festival-vanilla/src/main/festival_main.cc 2017-09-04 11:54:08.000000000 -0400
++++ festival/src/main/festival_main.cc 2018-09-06 20:37:22.853868097 -0400
+@@ -88,6 +88,8 @@
+ "In evaluation mode \"filenames\" starting with ( are evaluated inline\n"+
+ "Festival Speech Synthesis System: "+ festival_version +"\n"+
+ "-q Load no default setup files\n"+
++ "--datadir <string>\n"+
++ " Set data directory pathname\n"+
+ "--libdir <string>\n"+
+ " Set library directory pathname\n"+
+ "-b Run in batch mode (no interaction)\n"+
+@@ -127,6 +129,12 @@
+ festival_libdir = wstrdup(al.val("--libdir"));
+ else if (getenv("FESTLIBDIR") != 0)
+ festival_libdir = getenv("FESTLIBDIR");
++
++ if (al.present("--datadir"))
++ festival_datadir = wstrdup(al.val("--datadir"));
++ else if (getenv("FESTDATADIR") != 0)
++ festival_datadir = getenv("FESTDATADIR");
++
+ if (al.present("--heap"))
+ heap_size = al.ival("--heap");
+
+diff -u --recursive festival-vanilla/testsuite/data/modes.scm festival/testsuite/data/modes.scm
+--- festival-vanilla/testsuite/data/modes.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/testsuite/data/modes.scm 2018-09-06 20:37:22.853868097 -0400
+@@ -42,13 +42,13 @@
+
+ (format t "\n\nSABLE mode\n")
+ (unwind-protect
+- (tts (string-append libdir "/../examples/example2.sable") nil))
++ (tts "/usr/share/doc/festival/examples/example2.sable" 'sable))
+ (format t "\n\nOGI's mark up mode\n")
+ (unwind-protect
+- (tts (string-append libdir "/../examples/ex1.ogi") 'ogimarkup))
++ (tts "/usr/share/doc/festival/examples/ex1.ogi" 'ogimarkup))
+ (format t "\n\nAn email mode\n")
+ (unwind-protect
+- (tts (string-append libdir "/../examples/ex1.email") nil))
++ (tts "/usr/share/doc/festival/examples/ex1.email" nil))
+
+ (voice_kal_diphone)
+ (format t "\n\nA singing mode\n")
diff --git a/festival-2.5.0-pie.patch b/festival-2.5.0-pie.patch
new file mode 100644
index 0000000..fbeae64
--- /dev/null
+++ b/festival-2.5.0-pie.patch
@@ -0,0 +1,20 @@
+diff -up festival/src/main/Makefile.pie festival/src/main/Makefile
+--- festival/src/main/Makefile.pie 2022-01-26 10:33:55.420688190 -0500
++++ festival/src/main/Makefile 2022-01-26 10:34:45.928050436 -0500
+@@ -54,13 +54,13 @@ ifeq (SIOD_PYTHON, $(findstring SIOD_PYT
+ endif
+
+ festival: festival_main.o $(LIBDEPS)
+- $(LINK_COMMAND) -o festival festival_main.o $(LIBS)
++ $(LINK_COMMAND) -o festival festival_main.o -Wp,-pie $(LIBS)
+
+ festival_client: festival_client.o $(REQUIRED_LIBDEPS)
+- $(LINK_COMMAND) -o festival_client festival_client.o $(LIBS)
++ $(LINK_COMMAND) -o festival_client festival_client.o -Wp,-pie $(LIBS)
+
+ $(ETCDIR)/audsp: $(ETCDIR)/.made audsp.o $(LIBDEPS)
+- $(LINK_COMMAND) -o $(ETCDIR)/audsp audsp.o $(LIBS)
++ $(LINK_COMMAND) -o $(ETCDIR)/audsp audsp.o -Wp,-pie $(LIBS)
+
+ # Can't just rely on the dir as it gets updated with new files
+ # check for the data of a file created in etcdir
diff --git a/festival-2.5.0-pulseaudio.patch b/festival-2.5.0-pulseaudio.patch
new file mode 100644
index 0000000..f3d080a
--- /dev/null
+++ b/festival-2.5.0-pulseaudio.patch
@@ -0,0 +1,14 @@
+diff -u --recursive festival-vanilla/lib/festival.scm festival/lib/festival.scm
+--- festival-vanilla/lib/festival.scm 2018-07-22 17:42:03.513767269 -0400
++++ festival/lib/festival.scm 2018-07-22 18:53:25.698493760 -0400
+@@ -33,6 +33,10 @@
+ ;;; General Festival Scheme specific functions
+ ;;; Including definitions of various standard variables.
+
++(Parameter.set 'Audio_Required_Format 'aiff)
++(Parameter.set 'Audio_Method 'Audio_Command)
++(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")
++
+ ;; will be set automatically on start-up
+ (defvar festival_version "unknown"
+ "festival_version
diff --git a/festival-2.5.0-siteinit.patch b/festival-2.5.0-siteinit.patch
new file mode 100644
index 0000000..80ad459
--- /dev/null
+++ b/festival-2.5.0-siteinit.patch
@@ -0,0 +1,157 @@
+diff -u --recursive festival-vanilla/doc/festival.texi festival/doc/festival.texi
+--- festival-vanilla/doc/festival.texi 2017-09-04 11:54:08.000000000 -0400
++++ festival/doc/festival.texi 2018-09-09 10:04:50.409877809 -0400
+@@ -936,14 +936,15 @@
+ @cindex initialization
+ @cindex installation initialization
+ @cindex @file{init.scm}
+-@cindex @file{siteinit.scm}
++@cindex @file{/etc/festival.scm}
++@cindex @file{/etc/festivalvars.scm}
+ Once compiled Festival may be further customized for particular sites.
+ At start up time Festival loads the file @file{init.scm} from its
+ library directory. This file further loads other necessary files such
+ as phoneset descriptions, duration parameters, intonation parameters,
+ definitions of voices etc. It will also load the files
+-@file{sitevars.scm} and @file{siteinit.scm} if they exist.
+-@file{sitevars.scm} is loaded after the basic Scheme library functions
++@file{/etc/festivalvars.scm} and @file{/etc/festival.scm} if they exist.
++@file{/etc/festivalvars.scm} is loaded after the basic Scheme library functions
+ are loaded but before any of the festival related functions are
+ loaded. This file is intended to set various path names before
+ various subsystems are loaded. Typically variables such
+@@ -951,17 +952,17 @@
+ @code{voices_dir} (pointing to voice directories) should
+ be reset here if necessary.
+
+-@cindex change libdir at run-time
++@cindex change libdir or datadir at run-time
+ @cindex run-time configuration
+ @cindex @code{load-path}
+ The default installation will try to find its lexicons and voices
+ automatically based on the value of @code{load-path} (this is derived
+-from @code{FESTIVAL_HOME} at compilation time or by using the @code{--libdir}
++from @code{FESTIVAL_HOME} at compilation time or by using the @code{--datadir}
+ at run-time). If the voices and lexicons have been unpacked into
+ subdirectories of the library directory (the default) then no site
+ specific initialization of the above pathnames will be necessary.
+
+-The second site specific file is @file{siteinit.scm}. Typical examples
++The second site specific file is @file{/etc/festival.scm}. Typical examples
+ of local initialization are as follows. The default audio output method
+ is NCD's NAS system if that is supported as that's what we use normally
+ in CSTR. If it is not supported, any hardware specific mode is the
+@@ -969,7 +970,7 @@
+ But that default is just a setting in @file{init.scm}. If for example
+ in your environment you may wish the default audio output method to be
+ 8k mulaw through @file{/dev/audio} you should add the following line to
+-your @file{siteinit.scm} file
++your @file{/etc/festival.scm} file
+ @lisp
+ (Parameter.set 'Audio_Method 'sunaudio)
+ @end lisp
+@@ -990,7 +991,7 @@
+ for sample rate and file type. When playing waveforms, Festival, by
+ default, outputs as unheadered waveform in native byte order. In this
+ example you would set up the default audio playing mechanism in
+-@file{siteinit.scm} as follows
++@file{/etc/festival.scm} as follows
+ @lisp
+ (Parameter.set 'Audio_Method 'Audio_Command)
+ (Parameter.set 'Audio_Command "adplay -raw -r $SR $FILE")
+@@ -1036,12 +1037,12 @@
+ depend on many things but due to various licence (and resource)
+ restrictions you may only have some diphone/nphone databases available
+ in your installation. The function name that is the value of
+-@code{voice_default} is called immediately after @file{siteinit.scm} is
++@code{voice_default} is called immediately after @file{/etc/festival.scm} is
+ loaded offering the opportunity for you to change it. In
+ the standard distribution no change should be required. If you
+ download all the distributed voices @code{voice_rab_diphone} is
+ the default voice. You may change this for a site by adding
+-the following to @file{siteinit.scm} or per person by changing
++the following to @file{/etc/festival.scm} or per person by changing
+ your @file{.festivalrc}. For example if you wish to
+ change the default voice to the American one @code{voice_ked_diphone}
+ @lisp
+@@ -1085,7 +1086,9 @@
+ Copyright (C) University of Edinburgh, 1996-2003. All rights reserved.
+ For details type `(festival_warranty)'
+ festival> libdir
+-"/projects/festival/lib/"
++"/usr/lib/festival"
++festival> datadir
++"/usr/share/festival"
+ festival> ^D
+ @end example
+ This should show the pathname you set in your @file{config/config}.
+@@ -1106,7 +1109,7 @@
+ You have selected NAS as the audio output but have no server running on
+ that machine or your @code{DISPLAY} or @code{AUDIOSERVER} environment
+ variable is not set properly for your output device. Either set these
+-properly or change the audio output device in @file{lib/siteinit.scm} as
++properly or change the audio output device in @file{lib/festival.scm} as
+ described above.
+
+ Ensure your audio device actually works the way you think it does. On
+@@ -1136,7 +1139,7 @@
+ @code{voice_rab_diphone} (@file{festvox_rabxxxx.tar.gz}) is the default
+ voice and that @code{voice_ked_diphone} and @code{voice_don_diphone}
+ (@file{festvox_kedxxxx.tar.gz} and @file{festvox_don.tar.gz}) are
+-installed. Also local settings in your @file{festival/lib/siteinit.scm}
++installed. Also local settings in your @file{/etc/festival.scm}
+ may affect these tests. However, after installation it may
+ be worth trying
+ @example
+Only in festival/doc: festival.texi.orig
+Only in festival-vanilla/: festival
+diff -u --recursive festival-vanilla/lib/init.scm festival/lib/init.scm
+--- festival-vanilla/lib/init.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/init.scm 2018-09-09 10:04:50.406877794 -0400
+@@ -42,6 +42,10 @@
+ "home-directory
+ Place looked at for .festivalrc etc.")
+
++;;; system-wide startup initialization
++(if (probe_file (path-append sysconfdir "festivalvars.scm"))
++ (load (path-append sysconfdir "festivalvars.scm")))
++
+ ;;; User startup initialization, can be used to override load-path
+ ;;; to allow alternate basic modules to be loaded.
+ (if (probe_file (path-append home-directory ".siodvarsrc"))
+@@ -50,11 +54,6 @@
+ (if (probe_file (path-append home-directory ".festivalvarsrc"))
+ (load (path-append home-directory ".festivalvarsrc")))
+
+-;;; A chance to set various variables to a local setting e.g.
+-;;; lexdir, voices_dir audio etc etc.
+-(if (probe_file (path-append libdir "sitevars.scm"))
+- (load (path-append libdir "sitevars.scm")))
+-
+ ;;; CSTR siod extensions
+ (require 'cstr)
+
+@@ -135,8 +134,8 @@
+ ;;;
+ ;;; Local site initialization, if the file exists load it
+ ;;;
+-(if (probe_file (path-append libdir "siteinit.scm"))
+- (load (path-append libdir "siteinit.scm")))
++(if (probe_file (path-append sysconfdir "festival.scm"))
++ (load (path-append sysconfdir "festival.scm")))
+
+ ;;; User initialization, if a user has a personal customization
+ ;;; file loaded it
+diff -u --recursive festival-vanilla/lib/synthesis.scm festival/lib/synthesis.scm
+--- festival-vanilla/lib/synthesis.scm 2017-09-04 11:54:08.000000000 -0400
++++ festival/lib/synthesis.scm 2018-09-09 10:04:50.380877660 -0400
+@@ -68,7 +68,7 @@
+ The default list of functions to be run on all synthesized utterances
+ after Wave_Synth. This will normally be nil but if for some reason you
+ need to change the gain or rescale *all* waveforms you could set the
+- function here, in your siteinit.scm.")
++ function here, in your /etc/festival.scm.")
+
+ (defvar after_synth_hooks default_after_synth_hooks
+ "after_synth_hooks
+Only in festival/src/arch/festival: festival.cc.orig
diff --git a/festival-2.5.0-use-system-libs.patch b/festival-2.5.0-use-system-libs.patch
new file mode 100644
index 0000000..0bd929d
--- /dev/null
+++ b/festival-2.5.0-use-system-libs.patch
@@ -0,0 +1,16 @@
+diff -u --recursive festival-vanilla/config/project.mak festival/config/project.mak
+--- festival-vanilla/config/project.mak 2017-12-25 10:05:54.000000000 -0500
++++ festival/config/project.mak 2018-08-29 21:30:11.714031729 -0400
+@@ -86,9 +86,9 @@
+ # Libraries used from other projects
+
+ REQUIRED_LIBRARIES = estools estbase eststring
+-REQUIRED_LIBRARY_DIR_estools = $(EST)/lib
+-REQUIRED_LIBRARY_DIR_estbase = $(EST)/lib
+-REQUIRED_LIBRARY_DIR_eststring = $(EST)/lib
++REQUIRED_LIBRARY_DIR_estools = $(LIBDIR)
++REQUIRED_LIBRARY_DIR_estbase = $(LIBDIR)
++REQUIRED_LIBRARY_DIR_eststring = $(LIBDIR)
+
+ REQUIRED_MAKE_INCLUDE = $(EST)/make.include
+
diff --git a/festival-2.5.0-use-system-speech-tools.patch b/festival-2.5.0-use-system-speech-tools.patch
new file mode 100644
index 0000000..ff66813
--- /dev/null
+++ b/festival-2.5.0-use-system-speech-tools.patch
@@ -0,0 +1,17 @@
+diff -u --recursive festival-vanilla/config/config.in festival/config/config.in
+--- festival-vanilla/config/config.in 2018-08-29 21:19:10.570829790 -0400
++++ festival/config/config.in 2018-08-29 21:19:57.329977377 -0400
+@@ -10,7 +10,12 @@
+ ###########################################################################
+ ## Which speech tools to use
+
+-EST=$(TOP)/../speech_tools
++ARCH := $(shell uname -p)
++ifeq ($(ARCH),$(filter $(ARCH),x86_64 s390x ppc64le aarch64))
++EST=/usr/lib64/speech_tools
++else
++EST=/usr/lib/speech_tools
++endif
+
+ ###########################################################################
+ ## Where the festival tree will be installed.
diff --git a/festival.service b/festival.service
new file mode 100644
index 0000000..ba5583f
--- /dev/null
+++ b/festival.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Festival server
+Documentation=man:festival(1)
+[Service]
+ExecStart=/usr/bin/festival --server
+User=festival
+Group=festival
+
+[Install]
+WantedBy=multi-user.target
diff --git a/festival.spec b/festival.spec
new file mode 100644
index 0000000..d4ee6b3
--- /dev/null
+++ b/festival.spec
@@ -0,0 +1,1031 @@
+Name: festival
+Summary: Speech synthesis and text-to-speech system
+Version: 2.5.0
+Release: 17%{?dist}
+
+URL: http://www.cstr.ed.ac.uk/projects/festival/
+# The Emacs file is GPL+, there is one TCL-licensed source file, and
+# the hts_engine module is covered by the three-clause BSD license.
+License: MIT and GPL+ and TCL and BSD
+
+Obsoletes: festival-lib
+Obsoletes: festival-speechtools-libs
+Obsoletes: festival-speechtools-libs-devel
+Obsoletes: festival-speechtools-utils
+
+# Files needed for everything...
+%global baseURL http://festvox.org/packed/festival/2.5
+Source0: %{baseURL}/festival-%{version}-release.tar.gz
+
+### DICTIONARIES
+# Generic English dictionary
+Source100: %{baseURL}/festlex_POSLEX.tar.gz
+# American English dictionary
+Source101: %{baseURL}/festlex_CMU.tar.gz
+# OALD isn't included because it's got a more restrictive (non-commercial
+# only) license. OALD voices not included for same reason.
+
+# Note on voice versions: I'm simply using the file date of the newest file
+# in each set of tarballs. It happens that the dates for all files from each
+# source (diphone, cmu_arctic, etc.) match, which is handy.
+
+### DIPHONE VOICES
+%global diphoneversion 0.19990610
+Source200: %{baseURL}/voices/festvox_kallpc16k.tar.gz
+Source202: %{baseURL}/voices/festvox_rablpc16k.tar.gz
+
+### HTS VOICES
+Source220: %{baseURL}/voices/festvox_cmu_us_awb_cg.tar.gz
+Source221: %{baseURL}/voices/festvox_cmu_us_bdl_cg.tar.gz
+Source222: %{baseURL}/voices/festvox_cmu_us_clb_cg.tar.gz
+Source223: %{baseURL}/voices/festvox_cmu_us_jmk_cg.tar.gz
+Source224: %{baseURL}/voices/festvox_cmu_us_rms_cg.tar.gz
+Source225: %{baseURL}/voices/festvox_cmu_us_slt_cg.tar.gz
+
+### Hispavoces Spanish voices left out; did they move?
+
+### Multisyn voices left out because they're ~ 100MB each.
+
+### MBROLA voices left out, because they require MBROLA, which ain't free.
+
+### Systemd service file.
+Source230: festival.service
+
+Patch100: festival-2.5.0-pulseaudio.patch
+Patch101: festival-2.5.0-use-system-speech-tools.patch
+Patch102: festival-2.5.0-use-system-libs.patch
+Patch103: festival-2.5.0-filesystem-standard.patch
+Patch104: festival-2.5.0-siteinit.patch
+Patch105: festival-2.5.0-pie.patch
+
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: alsa-lib-devel
+BuildRequires: pulseaudio-libs-devel
+BuildRequires: texi2html
+BuildRequires: ncurses-devel
+BuildRequires: speech-tools-libs-devel
+BuildRequires: speech-tools-libs-static
+BuildRequires: systemd
+BuildRequires: make
+%{?systemd_requires}
+
+# Requires: festival-voice
+# The hard dep below provides a festival-voice, no need to require it here.
+
+# This is hard-coded as a requirement because it's the smallest voice (and,
+# subjectively I think the most pleasant to listen to and so a good
+# default).
+#
+# Ideally, this would be a "suggests" instead of a hard requirement.
+#
+# Update: with the new nitech versions of the voices, slt-arctic is no
+# longer the smallest. But... AWB has a strong scottish accent, and JMK a
+# kind of odd canadian one, so they're not great candidates for inclusion.
+# And I find RMS a bit hard to understand. BDL isn't much smaller than SLT,
+# and since I like it better, I think I'm going to keep it as the default
+# for a price 12k. So, in case anyone later questions why this is the
+# default, there's the answer. :)
+Requires: festvox-slt-arctic-hts
+
+# festival-2.5.0-pulseaudio.patch makes use of paplay.
+Requires: pulseaudio-utils
+
+Requires: festival-data = %{version}-%{release}
+Requires: speech-tools-libs
+
+%package -n festvox-kal-diphone
+Summary: American English male speaker "Kevin" for Festival
+Version: %{diphoneversion}
+Provides: festival-voice
+Provides: festvox-kallpc16k
+BuildArch: noarch
+
+%package -n festvox-rab-diphone
+Summary: American English male speaker "Kurt" for Festival
+Version: %{diphoneversion}
+Requires: festival
+Provides: festival-voice
+Provides: festvox-rablpc16k
+BuildArch: noarch
+
+%package -n festvox-awb-arctic-hts
+Summary: Scottish-accent US English male speaker "AWB" for Festival
+Requires: festival
+Provides: festival-voice
+BuildArch: noarch
+
+%package -n festvox-bdl-arctic-hts
+Summary: US English male speaker "BDL" for Festival
+Requires: festival
+Provides: festival-voice
+BuildArch: noarch
+
+%package -n festvox-clb-arctic-hts
+Summary: US English female speaker "CLB" for Festival
+Requires: festival
+Provides: festival-voice
+BuildArch: noarch
+
+%package -n festvox-jmk-arctic-hts
+Summary: Canadian-accent US English male speaker "JMK" for Festival
+Requires: festival
+Provides: festival-voice
+BuildArch: noarch
+
+%package -n festvox-rms-arctic-hts
+Summary: US English male speaker "RMS" for Festival
+Requires: festival
+Provides: festival-voice
+BuildArch: noarch
+
+%package -n festvox-slt-arctic-hts
+Summary: US English female speaker "SLT" for Festival
+Requires: festival
+Provides: festival-voice
+BuildArch: noarch
+
+%package data
+Summary: Data files for the Festival speech synthesis system
+BuildArch: noarch
+
+# This is last as a lovely hack to make sure Version gets set back
+# to what it should be. Grr.
+%package devel
+Summary: Development files for the Festival speech synthesis system
+# Note: rpmlint complains incorrectly about
+# "no-dependency-on festival"
+Requires: speech-tools-libs-devel
+Provides: festival-static = %{version}-%{release}
+
+
+
+%description
+Festival is a general multi-lingual speech synthesis system developed
+at CSTR. It offers a full text to speech system with various APIs, as
+well as an environment for development and research of speech synthesis
+techniques. It is written in C++ with a Scheme-based command interpreter
+for general control.
+
+%description -n festvox-kal-diphone
+American English male speaker ("Kevin") for Festival.
+
+This voice provides an American English male voice using a residual excited
+LPC diphone synthesis method. It uses the CMU Lexicon pronunciations.
+Prosodic phrasing is provided by a statistically trained model using part of
+speech and local distribution of breaks. Intonation is provided by a CART
+tree predicting ToBI accents and an F0 contour generated from a model
+trained from natural speech. The duration model is also trained from data
+using a CART tree.
+
+
+%description -n festvox-rab-diphone
+British English male speaker ("RAB") for Festival.
+
+This voice provides a British English male voice using a residual excited
+LPC diphone synthesis method. It uses the CMU Lexicon for pronunciations.
+Prosodic phrasing is provided by a statistically trained model using part of
+speech and local distribution of breaks. Intonation is provided by a CART
+tree predicting ToBI accents and an F0 contour generated from a model
+trained from natural speech. The duration model is also trained from data
+using a CART tree.
+
+
+%description -n festvox-awb-arctic-hts
+US English male speaker ("AWB") for Festival. AWB is a native Scottish
+English speaker, but the voice uses the US English front end.
+
+This is a HMM-based Speech Synthesis System (HTS) voice from the Nagoya
+Institute of Technology, trained using the CMU ARCTIC database. This voice
+is based on 1138 utterances spoken by a Scottish English male speaker. The
+speaker is very experienced in building synthetic voices and matched
+prompted US English, though his vowels are very different from US English
+vowels. Scottish English speakers will probably find synthesizers based on
+this voice strange. Unlike the other CMU_ARCTIC databases this was recorded
+in 16 bit 16KHz mono without EGG, on a Dell Laptop in a quiet office. The
+database was automatically labelled using CMU Sphinx using the FestVox
+labelling scripts. No hand correction has been made.
+
+
+%description -n festvox-bdl-arctic-hts
+US English male speaker ("BDL") for Festival.
+
+This is a HMM-based Speech Synthesis System (HTS) voice from the Nagoya
+Institute of Technology, trained using the CMU ARCTIC database. This voice
+is based on 1132 utterances spoken by a US English male speaker. The speaker
+is experienced in building synthetic voices. This was recorded at 16bit
+32KHz, in a sound proof room, in stereo, one channel was the waveform, the
+other EGG. The database was automatically labelled using CMU Sphinx using
+the FestVox labelling scripts. No hand correction has been made.
+
+
+%description -n festvox-clb-arctic-hts
+US English female speaker ("CLB") for Festival.
+
+This is a HMM-based Speech Synthesis System (HTS) voice from the Nagoya
+Institute of Technology, trained using the CMU ARCTIC database. This voice
+is based on 1132 utterances spoken by a US English female speaker. The
+speaker is experienced in building synthetic voices. This was recorded at
+16bit 32KHz, in a sound proof room, in stereo, one channel was the waveform,
+the other EGG. The database was automatically labelled using CMU Sphinx
+using the FestVox labelling scripts. No hand correction has been made.
+
+
+%description -n festvox-jmk-arctic-hts
+US English male speaker ("JMK") voice for Festival. JMK is a native Canadian
+English speaker, but the voice uses the US English front end.
+
+This is a HMM-based Speech Synthesis System (HTS) voice from the Nagoya
+Institute of Technology, trained using the CMU ARCTIC database. This voice
+is based on 1138 utterances spoken by a US English male speaker. The speaker
+is experienced in building synthetic voices. This was recorded at 16bit
+32KHz, in a sound proof room, in stereo, one channel was the waveform, the
+other EGG. The database was automatically labelled using CMU Sphinx using
+the FestVox labelling scripts. No hand correction has been made.
+
+%description -n festvox-rms-arctic-hts
+US English male speaker ("RMS") voice for Festival.
+
+This is a HMM-based Speech Synthesis System (HTS) voice from the Nagoya
+Institute of Technology, trained using the CMU ARCTIC database. This voice
+is based on 1132 utterances spoken by a US English male speaker. The speaker
+is experienced in building synthetic voices. This was recorded at 16bit
+32KHz, in a sound proof room, in stereo, one channel was the waveform, the
+other EGG. The database was automatically labelled using EHMM an HMM labeler
+that is included in the FestVox distribution. No hand correction has been
+made.
+
+%description -n festvox-slt-arctic-hts
+US English female speaker ("SLT") voice for Festival.
+
+This is a HMM-based Speech Synthesis System (HTS) voice from the Nagoya
+Institute of Technology, trained using the CMU ARCTIC database. This voice
+is based on 1132 utterances spoken by a US English female speaker. The
+speaker is experienced in building synthetic voices. This was recorded at
+16bit 32KHz, in a sound proof room, in stereo, one channel was the waveform,
+the other EGG. The database was automatically labelled using CMU Sphinx
+using the FestVox labelling scripts. No hand correction has been made.
+
+%description data
+Data files for the Festival speech synthesis system.
+
+%description devel
+Development files for the Festival speech synthesis system. Install
+festival-devel if you want to use Festival's capabilities from within your
+own programs, or if you intend to compile other programs using it. Note that
+you can also interface with Festival in via the shell or with BSD sockets.
+
+
+
+%prep
+%setup -q -n festival
+
+# dictionaries
+%setup -q -n festival -D -T -b 100
+%setup -q -n festival -D -T -b 101
+
+# voices
+%setup -q -n festival -D -T -b 200
+%setup -q -n festival -D -T -b 202
+%setup -q -n festival -D -T -b 220
+%setup -q -n festival -D -T -b 221
+%setup -q -n festival -D -T -b 222
+%setup -q -n festival -D -T -b 223
+%setup -q -n festival -D -T -b 224
+%setup -q -n festival -D -T -b 225
+
+%patch100 -p1 -b .pulseaudio
+%patch101 -p1 -b .use-system-speech-tools
+%patch102 -p1 -b .use-system-libs
+%patch103 -p1 -b .filesystem-standard
+%patch104 -p1 -b .siteinit
+%patch105 -p1 -b .pie
+
+%build
+
+# build the main program
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/src/lib
+# instead of doing this, maybe we should patch the make process
+# so it looks in the right place explicitly:
+export PATH=$(pwd)/bin:$PATH
+%configure
+make \
+ EST=%{_libdir}/speech_tools \
+ LIBDIR="%{_libdir}" \
+ CFLAGS="$RPM_OPT_FLAGS -fPIC" \
+ CXXFLAGS="$RPM_OPT_FLAGS -fPIC"
+
+# build the patched CMU dictionary
+make -C lib/dicts/cmu
+
+
+%install
+# "make install" for this package is, um, "interesting". It seems geared for
+# local user-level builds. So, rather than doing that and then patching it
+# up, do the right parts by hand as necessary.
+
+# Create %{_libdir} because make install copies to it without first creating.
+mkdir -p $RPM_BUILD_ROOT%{_libdir}
+
+# install the dictionaries
+TOPDIR=$( pwd )
+pushd lib/dicts
+ mkdir -p $RPM_BUILD_ROOT%{_datadir}/festival/dicts
+ # we want to put the licenses in the docs...
+ cp COPYING.poslex $OLDPWD/COPYING.poslex
+ cp cmu/COPYING $OLDPWD/COPYING.cmudict
+ for f in wsj.wp39.poslexR wsj.wp39.tri.ngrambin ; do
+ install -p -m 644 $f $RPM_BUILD_ROOT%{_datadir}/festival/dicts/
+ done
+ mkdir -p $RPM_BUILD_ROOT%{_datadir}/festival/dicts/cmu
+ pushd cmu
+ # note I'm keeping cmudict-0.4.diff and cmudict_extensions.scm to
+ # satisfy the "all changes clearly marked" part of the license -- these
+ # are the changes. And yes, the ".out" file is the one actually used.
+ # Sigh.
+ for f in allowables.scm cmudict-0.4.diff cmudict-0.4.out \
+ cmudict_extensions.scm cmulex.scm cmu_lts_rules.scm; do
+ install -p -m 644 $f $RPM_BUILD_ROOT%{_datadir}/festival/dicts/cmu/
+ done
+ popd
+popd
+
+# install the voices
+pushd lib/voices
+ # get the licenses. This is probably too clever by half, but oh well.
+ for f in $( find . -name COPYING ); do
+ n=$( echo $f | sed 's/.*\/\(.*\)\/COPYING/COPYING.\1/' )
+ mv $f $OLDPWD/$n
+ done
+popd
+cp -a lib/voices $RPM_BUILD_ROOT%{_datadir}/festival
+
+# okay, now install the main festival program.
+
+# binaries:
+make INSTALLED_BIN=$RPM_BUILD_ROOT%{_bindir} make_installed_bin_static
+install -p -m 755 bin/text2wave $RPM_BUILD_ROOT%{_bindir}
+
+# install the library
+cp -a src/lib/libFestival.a $RPM_BUILD_ROOT%{_libdir}
+
+# this is just nifty. and it's small.
+install -p -m 755 examples/saytime $RPM_BUILD_ROOT%{_bindir}
+
+# man pages
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
+cp -a doc/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
+
+# lib: the bulk of the program -- the scheme stuff and so on
+pushd lib
+ mkdir -p $RPM_BUILD_ROOT%{_datadir}/festival
+ for f in *.scm festival.el *.ent *.gram *.dtd *.ngrambin speech.properties ; do
+ install -p -m 644 $f $RPM_BUILD_ROOT%{_datadir}/festival/
+ done
+ mkdir -p $RPM_BUILD_ROOT%{_datadir}/festival/multisyn/
+ install -p -m 644 multisyn/*.scm $RPM_BUILD_ROOT%{_datadir}/festival/multisyn/
+popd
+
+# "etc" -- not in the configuration sense, but in the sense of "extra helper
+# binaries".
+pushd lib/etc
+ mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/festival
+ install -p -m 755 */audsp $RPM_BUILD_ROOT%{_libexecdir}/festival
+popd
+
+# copy in the intro.text. It's small and makes (intro) work. in the future,
+# we may want include more examples in an examples subpackage
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/festival/examples/
+install -p -m 644 examples/intro.text $RPM_BUILD_ROOT%{_datadir}/festival/examples
+
+
+# header files
+mkdir -p $RPM_BUILD_ROOT%{_includedir}/festival
+cp -a src/include/* $RPM_BUILD_ROOT%{_includedir}/festival
+
+
+# systemd service
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+install -p -m 644 %{SOURCE230} $RPM_BUILD_ROOT%{_unitdir}/
+
+%files
+%doc ACKNOWLEDGMENTS NEWS README.md
+%license COPYING COPYING.poslex COPYING.cmudict
+%{_bindir}/default_voices
+%{_bindir}/festival
+%{_bindir}/festival_client
+%{_bindir}/festival_server
+%{_bindir}/festival_server_control
+%{_bindir}/text2wave
+%{_bindir}/saytime
+%{_libexecdir}/festival
+%{_mandir}/man1/*
+%{_unitdir}/festival.service
+
+%pre
+getent group festival >/dev/null || groupadd -r festival
+getent passwd festival >/dev/null || useradd -r -g festival -d / -s /sbin/nologin -c "festival Daemon" festival
+exit 0
+
+%post
+%systemd_post festival.service
+
+%preun
+%systemd_preun festival.service
+
+%postun
+%systemd_postun_with_restart festival.service
+
+%files -n festvox-kal-diphone
+%license COPYING.kal_diphone
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/english
+%{_datadir}/festival/voices/english/kal_diphone
+
+%files -n festvox-rab-diphone
+%license COPYING.rab_diphone
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/english
+%{_datadir}/festival/voices/english/rab_diphone
+
+%files -n festvox-awb-arctic-hts
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/us
+%{_datadir}/festival/voices/us/cmu_us_awb_cg
+
+%files -n festvox-bdl-arctic-hts
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/us
+%{_datadir}/festival/voices/us/cmu_us_bdl_cg
+
+%files -n festvox-clb-arctic-hts
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/us
+%{_datadir}/festival/voices/us/cmu_us_clb_cg
+
+%files -n festvox-jmk-arctic-hts
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/us
+%{_datadir}/festival/voices/us/cmu_us_jmk_cg
+
+%files -n festvox-rms-arctic-hts
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/us
+%{_datadir}/festival/voices/us/cmu_us_rms_cg
+
+%files -n festvox-slt-arctic-hts
+%dir %{_datadir}/festival/voices
+%dir %{_datadir}/festival/voices/us
+%{_datadir}/festival/voices/us/cmu_us_slt_cg
+
+%files data
+%{_datadir}/festival
+%exclude %{_datadir}/festival/voices/*
+%dir %{_datadir}/festival/voices
+
+%files devel
+%license COPYING
+%{_libdir}/libFestival.a
+%dir %{_includedir}/festival
+%{_includedir}/festival/*
+
+
+%changelog
+* Wed Jan 26 2022 Matthias Clasen <mclasen@redhat.com> - 2.5.0-17
+- Link binaries with -pie. Related: rhbz:#2044857
+
+* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.5.0-16
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+ Related: rhbz#1991688
+
+* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 2.5.0-15
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon May 18 2020 W. Michael Petullo <mike@flyn.org> - 2.5.0-12
+- Require pulseaudio-utils for paplay
+
+* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Mon Oct 21 2019 W. Michael Petullo <mike@flyn.org> - 2.5.0-10
+- Obsolete four packages that would otherwise conflict with required speech-tools
+
+* Wed Oct 16 2019 W. Michael Petullo <mike@flyn.org> - 2.5.0-9
+- Fix build on s390x, ppc64le, and aarch64
+
+* Sun Oct 13 2019 W. Michael Petullo <mike@flyn.org> - 2.5.0-8
+- Remove empty lib subpackage
+- Fix make command line (add missing '\')
+- Use -p with install
+- Do not create %{_sysconfdir}/festival
+- Do not create %{_infodir}
+- Simplify %files
+- Note BSD license for hts_engine module
+- Split data into noarch package
+- The festival-devel package now provides festival-static
+- Markup additional files as licenses
+
+* Sun Jan 27 2019 W. Michael Petullo <mike@flyn.org> - 2.5.0-7
+- Add more BuildRequires
+- Remove use of festivalversion
+- Drop Group:
+- Replace define with global
+- Reorder BuildRequires
+- Remove deprecated post, preun, and postun statements
+- Remove verbose pushd use
+- Do not explicitly call ldconfig
+- Label COPYING properly
+
+* Sun Sep 09 2018 W. Michael Petullo <mike@flyn.org> - 2.5.0-6
+- Apply siteinit patch
+- Drop lib from %{_datadir}/festival/lib
+- Move audsp
+- Drop email_filter
+
+* Thu Sep 06 2018 W. Michael Petullo <mike@flyn.org> - 2.5.0-5
+- Patch to use more reasonable install locations
+- Provide systemd service file
+
+* Wed Aug 29 2018 W. Michael Petullo <mike@flyn.org> - 2.5.0-4
+- Do not explicitly run ldconfig
+- Remove speechtools definitions
+- Make use of system-installed speech-tools
+- BuildRequire speech-tools-libs-static
+- Fix some URLs
+- Set debug_package to null; see comment at top
+- Set LIBDIR on make
+- Create $RPM_BUILD_ROOT%{_libdir} before make install
+
+* Tue Aug 28 2018 W. Michael Petullo <mike@flyn.org> - 2.5.0-3
+- Remove speech-tools and use package proposed in Bugzilla #1592220
+
+* Sun Jul 22 2018 W. Michael Petullo <mike@flyn.org> - 2.5.0-2
+- Adjust soname using modification of patch from 1.96-38
+- Place audsp where festival can find it
+- Configure festival to use pulseaudio
+
+* Sun Jul 22 2018 W. Michael Petullo <mike@flyn.org> - 2.5.0-1
+- Update to 2.5.0
+- Drop separate versions for speech_tools and docs
+- Drop out-of-date patches
+- Revert to Festival-distributed voices rather than NIT
+- Drop Hispavoces voices for now
+- Use sed to adjust config.in files
+- A number of voices no longer have README files
+- Build libFestival as a static library for now
+- Drop siteinit.scm and sitevars.scm
+- Drop info files
+- Drop docs package for now
+- Switch ked to rab
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.96-38
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.96-37
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jan 31 2018 Than Ngo <than@redhat.com> - 1.96-36
+- add BR on texi2html instead tetex, minimal tex BR
+- fix FTBS with gcc7
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.96-35
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.96-34
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.96-33
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.96-32
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-31
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.96-30
+- Rebuilt for GCC 5 C++11 ABI change
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-29
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-28
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon May 12 2014 Jaromir Capik <jcapik@redhat.com> - 1.96-27
+- Fixing format security flaws (#1037060)
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-26
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Sat Mar 02 2013 Bruno Wolff III <bruno@wolff.to> - 1.96-25
+- Fix typo in server script - bz 614200
+
+* Thu Feb 07 2013 Jon Ciesla <limburgher@gmail.com> - 1.96-24
+- Minor Merge review fixes, BZ 225748.
+
+* Mon Jan 7 2013 Matthias Clasen <mclasen@redhat.com> - 1.96-23
+- Add tighter inter-subpackage deps (recommended by rpmdiff)
+
+* Mon Jan 7 2013 Matthias Clasen <mclasen@redhat.com> - 1.96-22
+- Fix directory ownership for /usr/share/festival/lib/voices/es
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-21
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Feb 25 2012 Bruno Wolff III <bruno@wolff.to> - 1.96-20
+- Fix to build with gcc 4.7
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-19
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Feb 22 2011 Tim Niemueller <tim@niemueller.de> - 1.96-18
+- Fix install paths of speech_tools includes (rhbz #242607)
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-17
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Tue Sep 29 2009 Matthias Clasen <mclasen@redhat.com> - 1.96-16
+- Add native pulseaudio support (#471047)
+
+* Thu Sep 10 2009 Bernie Innocenti <bernie@codewiz.org> - 1.96-15
+- Disable esd support (resolves: rhbz#492982)
+
+* Wed Jul 29 2009 Matthias Clasen <mclasen@redhat.com> - 1.96-14
+- Rebuild
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Sat Apr 18 2009 Matthias Clasen <mclasen@redhat.com> - 1.96-12
+- Add Spanish voices from the guadalinex project, in the
+ hispavoces-pal-diphone and hispavoces-sfl-diphone subpackages
+ (#496011)
+
+* Tue Mar 24 2009 Jesse Keating <jkeating@redhat.com> - 1.96-11
+- Drop the explicit dep on festival-voice, as it is redundant and
+ causes problems with multiple providers
+
+* Thu Feb 26 2009 Matthias Clasen <mclasen@redhat.com> 1.96-10
+- Fix build with gcc 4.4
+
+* Tue Feb 24 2009 Matthias Clasen <mclasen@redhat.com> 1.96-9
+- Make -docs and all the festvox subpackages noarch
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.96-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Sun Nov 23 2008 Matthias Clasen <mclasen@redhat.com> - 1.96-7
+- Tweak summaries
+
+* Mon Oct 27 2008 Ray Strode <rstrode@redhat.com> - 1.96-6
+- interoperate with other apps by using pacat for audio output
+ (bug 467531)
+
+* Fri Jul 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.96-5
+- fix license tag
+
+* Fri Feb 22 2008 Matthias Clasen <mclasen@redhat.com> - 1.96-4
+- Fix the build with gcc 4.3
+
+* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.96-3
+- Autorebuild for GCC 4.3
+
+* Wed Nov 7 2007 Stepan Kasal <skasal@redhat.com>1.96-2
+- fix a typo in a summary and in festival-1.96-nitech-proclaimvoice.patch
+- Resolves: #239216
+
+* Tue Mar 20 2007 Ray Strode <rstrode@redhat.com> 1.96-1
+- rebuild
+
+* Mon Mar 19 2007 David Zeuthen <davidz@redhat.com> 1.96-0.11
+- Forgot to add the .scm files
+
+* Mon Mar 19 2007 David Zeuthen <davidz@redhat.com> 1.96-0.10
+- Update to Matthew Miller's much improved package (#232105)
+- Move the buildroot patch around
+
+* Sun Mar 18 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.9
+- fix the library link patch to use -lncurses instead of -ltinfo --
+ the later is all that's really needed, but the former works on older
+ distros too.
+
+* Fri Mar 16 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.8
+- festival-devel depends on the libraries package, not base festival. this
+ raises an multilib question: need to obsolete festival.i386 on x86_64.
+ Right now, there's no mechanism for doing that. Fortunately, all the
+ changes in packaging happen to make it so that the current version doesn't
+ conflict with the old release, so one will get unused cruft but not
+ breakage when upgrading.
+- Bite teh proverbial bullet and make libFestival build shared.
+- update speech-tools soname patch to work in the more general case needed
+ by the festival main build
+- make said shared-lib a subpackage to avoid multiarching the whole thing
+- split festival-devel and speechutils-devel in anticipation of future
+ plan of actually decoupling these packages.
+- note that rpmlint complains about "missing" deps on the devel packages. it
+ should be fixed to recognize requiring a -lib/libs package is sufficent or
+ better.
+- add saytime script. Because, really, what else is this package *for*?
+- add the intro.text so (intro) works. 196 more bytes won't kill us. :)
+- remove $PATH from LD_LIBRARY_PATH used in build. (What the heck?)
+- add defattr to all subpackages. I don't think it's strictly necessary
+ since putting it in the first package seems sufficient, but that's
+ probably not behavior to count on.
+- make descriptions and summaries use more consistant language
+
+* Thu Mar 15 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.7
+- Upstream baseurl now includes version. (Thanks Alan Black @ cmu)
+- Update siteinit patch to also incorporate sitevars
+- Add sitevars as a config file
+- Ship our own siteinit and sitevars as sources
+- In default sitevars, reference /usr/local/share/festival/lib as another
+ place to look for voices (it's okay if that doesn't exist). Hopefully,
+ this will encourage people who want to install non-RPM-packaged voices to
+ keep from doing it in /usr/share.
+- Fix wrong references to slt voice in other nitech voices
+- Fix wrongly commented-out (require 'f2bf0lr) in awb, clb, and rms voices.
+- Stop untarring source files and use the setup macro properly.
+- Get rid of silly DATA.TMP directories for installing voices and
+ dictionaries.
+- Stop making ../speechtools link. Currently solved by patching to look
+ in the current directory; could also do this by moving everything up
+ a directory.
+- TODO: festival-buildroot.patch could stand to be updated. May not
+ even be needed anymore.
+- Drop the 8k versions of the diphone voices, since there's not really
+ any point. If you want smaller, use one of the arctic_hts voices
+ instead. And overall, this saves us about 4.5M.
+
+* Wed Mar 14 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.6
+- Fix copy-paste error in JMK description (thanks Matthias Clasen)
+- Remove "nitech-us-" from the names of those voice packages to make the
+ package names shorter. (This will also be more convenient if we switch to
+ the cmu versions in the future.)
+- made aliases so old cmu_us_*_arctic_hts voice names still work.
+- Look for /etc/festival/siteinit.scm (and move siteinit.scm there!)
+- Mark siteinit.scm as a config file
+- Remove some non-useful stuff from speech-tools-utils.
+- Move main dir from /usr/share/festival to /usr/share/festival/lib at
+ request of upstream. Also, we can drop the FHS (well, "fsstnd" -- it's
+ old) patch and just pass FTLIBDIR to make. Which, hey, we were already
+ doing. Yay redundancy.
+- clean up CFLAGS and CXXFLAGS. "-fpermissive" was hiding bad stuff.
+- update speech tools with patch from AWB to fix 64-bit build issue
+ with EST_DProbDist
+- there's still some compiler warnings which should be addressed upstream.
+- The nitech hts voices don't properly proclaim_voice, making them not
+ show up for gnome-speech and thus making orca crash. See details in the
+ comments in bug #232105.
+
+* Tue Mar 13 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.5
+- use festvox- instead of festival-voice for voice packages -- matches
+ upstream tarballs, and is shorter. Also, use shorter form of
+ the date-based version.
+- get the README.htsvoice from the nitech voices -- it contains
+ license info.
+- build (but don't enable by default) ESD support in speech-tools (bug
+ #198908)
+- fix coding error noted in bug #162137 -- need to push this upstream.
+- link speech tools libraries with -lm, -ltermcap, -lesd and with themselves
+ (bug #198190, partially)
+- holy sheesh. Use g++ for CXX, not gcc. Fixes bug #198190 completely.
+
+* Tue Mar 13 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.4
+- subpackages! Split out speech-tools, docs, voices.
+- long descriptions for the individual voices, carefully gathered from
+ readmes and web sites.
+- ooh. replace cmu_hts voices with the updated versions from upstream
+ <http://hts.sp.nitech.ac.jp/>. Two new voices, and updated versions of
+ the others. (The voices packaged at festvox.org are apparently based on
+ older versions of these, which in turn are from the CMU upstream.)
+- TODO: make aliases for the cmu voices.
+- arguably, voices should be made in to their own src.rpms. They don't need
+ anything from here to build. That's for a future version. (At that time,
+ the gigantic multisyn voices could be added.) The CMU dict needs festival
+ installed to build, but I don't think it needs the source, so dicts could
+ be subpackages too. And the docs are also a good candidate for separation.
+ speech-tools, though, is incestuously used in the festival build process
+ and I think it makes sense to keep that bundled.
+- TODO: check through the speechtools-utils for what should actually be
+ packaged; fix the include path for siod (and anything else that needs it).
+- TODO: package festival.el so it just works with emacs.
+- TODO: reinvent festival_server_control as a proper init script
+- TODO: put the festival server in sbin, maybe?
+- Another question: should we drop the 8k diphone voices? Any point?
+- Changed "X11-like" to "MIT-style" (which is what X11 is) to make rpmlint
+ happy.
+- make %%{festivalversion} macro to deal with all of the changes to version
+ in subpackages. Kludgy, but there's RPM for you.
+
+* Tue Mar 13 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.3
+- oh! The "etc-path" is important after all. Map that into
+ /usr/lib[arch]/festival via a kludge.
+- make cmu_us_slt_arctic_hts the default voice, in preparation for
+ splitting the voice packages. (thankfully, there's already a fallback
+ mechanism -- cool!)
+
+* Mon Mar 12 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.2
+- clean up accidental backup file left in updated awb_arctic_hts
+ tarball
+- remove /usr/share/festival/etc (see bug #228315)
+- move unpackage voices to the prep section where it belongs
+- other minor spec file readability changes
+- "make install" for this package is, um, "interesting". It seems
+ geared for local user-level builds. So, rather than doing that and
+ then patching it up, do the right parts by hand as necessary. (The
+ previous version of the spec file did a convoluted mix of both.)
+- don't install static libs.
+- took out the massive hack that munges EST_*.h to speech_tools/EST_*.h in
+ the installed header files -- programs should instead use
+ -I/usr/include/speech_tools, shouldn't they? Put this back if I'm wrong.
+- TODO -- autogenerated speech_tools docs
+- festvox_ellpc11k.tar.gz, the spanish voice, wasn't getting installed anyway
+ due to a license question. Since it's also gone upstream, removing.
+
+* Fri Mar 09 2007 Matthew Miller <mattdm@mattdm.org> 1.96-0.1
+- Preliminary update to 1.96
+- Update to new cmu_us_*_arctic files -- they're changed upstream,
+ although they don't appear to be versioned. Awesome. The current
+ versions are those found in the same directory with the 1.96 files.
+- ditto festlex_CMU.tar.gz
+- add macro for speechtoolsversion
+- minor update to festival-1.96-american.patch.
+- update shared build patch and rename to make more obvious that
+ it applies to the speechtools portion of the package.
+- gcc 4 build patches now upstream.
+- localhost-connections patch now upstream.
+- note that festvox_ellpc11k.tar.gz and festvox_kallpc8k.tar.gz are no longer
+ in the directory tree upstream; drop?
+
+* Fri Jan 19 2007 Miroslav Lichvar <mlichvar@redhat.com> - 1.95-6
+- link with ncurses
+- add dist tag
+- make scriptlets safer
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.95-5.2.1
+- rebuild
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.95-5.2
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.95-5.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Sun Jan 22 2006 Ray Strode <rstrode@redhat.com> - 1.95-5
+- get gnopernicus working again. Patch from
+ Fernando Herrera <fherrera@gmail.com> (bug 178312)
+- add a lot of compiler flags and random cruft to get
+ festival to build with gcc 4.1
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Mon Oct 10 2005 Florian La Roche <laroche@redhat.com>
+- another try to get it to compile again
+
+* Tue Apr 28 2005 <johnp@redhat.com> - 1.95-3
+- require info packages so the post does not fail
+- remove /usr/bin/VCLocalRule from buildroot since it is
+ an extranious file that does not need to be installed
+
+* Wed Apr 27 2005 Miloslav Trmac <mitr@redhat.com> - 1.95-2
+- Fix build with gcc 4 (#156132)
+- Require /sbin/install-info for scriptlets (#155698)
+- Don't ship %%{_bindir}/VCLocalRules (#75645)
+
+* Fri Feb 25 2005 <jrb@redhat.com> - 1.95-1
+- patch from Matthew Miller to update to 1.95. Full changelog below
+
+* Mon Feb 7 2005 Matthew Miller <mattdm@mattdm.org> 1.95-0.mattdm8
+- put speech-tools binaries in /usr/libexec/speech-tools so as to not
+ clutter /usr/bin. Another approach would be to make speech-tools a
+ separate package and to make these utilities a subpackage of that.
+- macro-ize /usr/bin, /usr/lib, /usr/include
+
+* Sun Feb 6 2005 Matthew Miller <mattdm@mattdm.org> 1.95-0.mattdm6
+- worked on this some more
+- made actually work -- put back rest of fsstnd patch which I had broken
+- made kludge for lack of sonames in shared libraries -- I think I did the
+ right thing
+- put back american as the default -- british dicts are non-free.
+
+* Wed Jan 5 2005 Matthew Miller <mattdm@mattdm.org> 1.95-0.mattdm1
+- preliminary update to 1.95 beta
+- add really nice CMU_ARCTIC HTS voices, which is the whole point of wanting
+ to do this. (They have a free license.)
+- switch to festvox.org north american upstream urls
+- keep old doc files -- there's no new ones yet.
+- add comment to specfile about reason for lack of OALD (British) voices --
+ they've got a more restrictive license.
+- change license to "X11-style", because that's how they describe it.
+- remove exclusivearch. I dunno if this builds on other archs, but I
+ also don't know why it wouldn't.
+- fancier buildroot string, 'cause hey, why not.
+- more "datadir" macros
+- remove most of Patch0 (fsstnd) -- can be done by setting variables instead.
+ there's some bits in speechtools still, though
+- update Patch3 (shared-build)
+- don't apply patches 20 and 21 -- no longer needed.
+- disable adding "FreeBSD" and "OpenBSD" to the dictionary for now. Probably
+ a whole list of geek words should be added. Also, the patch was applied
+ in an icky kludgy way.
+
+* Thu Jul 29 2004 Miloslav Trmac <mitr@redhat.com> - 1.4.2-25
+- Update for gcc 3.4
+
+* Wed Jul 28 2004 Miloslav Trmac <mitr@redhat.com> - 1.4.2-24
+- Use shared libraries to reduce package size
+- Don't ship patch backup files
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Tue May 4 2004 Jonathan Blandford <jrb@redhat.com> 1.4.2-21
+- Remove the spanish voices until we get clarification on the license
+
+* Sat Apr 10 2004 Warren Togami <wtogami@redhat.com>
+- BR libtermcap-devel #104722
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Aug 25 2003 Bill Nottingham <notting@redhat.com> 1.4.2-19
+- clean up buildroot references (#75643, #77908, #102985)
+- remove some extraneous scripts
+- fix build with gcc-3.3
+
+* Thu Jun 12 2003 Elliot Lee <sopwith@redhat.com> 1.4.2-17
+- Rebuild
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Thu Jan 9 2003 Tim Powers <timp@redhat.com> 1.4.2-15
+- redirect install-info spewage
+
+* Tue Jan 7 2003 Jens Petersen <petersen@redhat.com> 1.4.2-14
+- put info files in infodir
+- add post and postun script to install and uninstall info dir file entry
+- drop postscript and info files from docs
+
+* Wed Dec 11 2002 Tim Powers <timp@redhat.com> 1.4.2-13
+- rebuild
+
+* Thu Aug 15 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.4.2-12
+- Adapt to current libstdc++
+
+* Tue Jul 23 2002 Tim Powers <timp@redhat.com> 1.4.2-10
+- build using gcc-3.2-0.1
+
+* Wed Jul 3 2002 Trond Eivind Glomsrød <teg@redhat.com> 1.4.2-9
+- Add some missing helpprograms (# 67698)
+
+* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Mon Jun 10 2002 Trond Eivind Glomsrød <teg@redhat.com> 1.4.2-7
+- Fix some rpmlint errors
+
+* Mon Jun 10 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.4.2-6
+- Fix ISO C++ compliance
+
+* Mon Mar 18 2002 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Thu Mar 14 2002 Trond Eivind Glomsrød <teg@redhat.com> 1.4.2-2
+- Get rid of CVS directiories in doc dir
+- Fix broken symlinks for components from speech_tools
+
+* Wed Mar 6 2002 Trond Eivind Glomsrød <teg@redhat.com>
+- 1.4.2
+- Lots of fixes to make it build, more needed
+- Cleanups
+- Update URL
+- Fix docs inclusion
+- Drop prefix
+- Use %%{_tmppath}
+
+* Wed Aug 2 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- Add defattr (Bug #15033)
+
+* Tue Jul 25 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- fix build on current 7.0
+
+* Mon Jul 17 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- fix build on current 7.0
+
+* Thu Jul 6 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- FHSify
+
+* Mon Jun 19 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- Fix build on non-x86
+
+* Sun Apr 22 2000 Bernhard Rosenkraenzer <bero@redhat.com>
+- initial packaging
diff --git a/sources b/sources
new file mode 100644
index 0000000..85db57a
--- /dev/null
+++ b/sources
@@ -0,0 +1,11 @@
+6cc3730fc5175f04d4d2f05e6bbab6b5 festival-2.5.0-release.tar.gz
+6a2ee4fed7c3ebedf197a3b8524ccb87 festlex_CMU.tar.gz
+aa80f9250065b318325f16fdad3a4484 festlex_POSLEX.tar.gz
+5fda5b790ea6bda7096cfd5d5a2440c0 festvox_cmu_us_awb_cg.tar.gz
+2e410d1988224bc97b0905eb98388b49 festvox_cmu_us_bdl_cg.tar.gz
+d36a1c79bc1fb6dc3e3c9ee033a9f22e festvox_cmu_us_clb_cg.tar.gz
+9fdabab0f337020da0dd97384c16481b festvox_cmu_us_jmk_cg.tar.gz
+cb91afd35e8af7eee10f11037589aa9f festvox_cmu_us_rms_cg.tar.gz
+9a25ede63962c27a87901ea18185e922 festvox_cmu_us_slt_cg.tar.gz
+4941a5e2e7ba37458aea500fb83f7466 festvox_kallpc16k.tar.gz
+7b4def174509a08ed42730e0e015a308 festvox_rablpc16k.tar.gz