From 3426c9f3db349bcb7836b7a84386fc377fa17679 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Wed, 15 Mar 2023 16:22:03 +0300 Subject: [PATCH] import festival-2.5.0-17.el9 --- .festival.metadata | 11 + .gitignore | 11 + .../festival-2.5.0-filesystem-standard.patch | 422 +++++++ SOURCES/festival-2.5.0-pie.patch | 20 + SOURCES/festival-2.5.0-pulseaudio.patch | 14 + SOURCES/festival-2.5.0-siteinit.patch | 157 +++ SOURCES/festival-2.5.0-use-system-libs.patch | 16 + ...stival-2.5.0-use-system-speech-tools.patch | 17 + SOURCES/festival.service | 10 + SPECS/festival.spec | 1034 +++++++++++++++++ 10 files changed, 1712 insertions(+) create mode 100644 .festival.metadata create mode 100644 .gitignore create mode 100644 SOURCES/festival-2.5.0-filesystem-standard.patch create mode 100644 SOURCES/festival-2.5.0-pie.patch create mode 100644 SOURCES/festival-2.5.0-pulseaudio.patch create mode 100644 SOURCES/festival-2.5.0-siteinit.patch create mode 100644 SOURCES/festival-2.5.0-use-system-libs.patch create mode 100644 SOURCES/festival-2.5.0-use-system-speech-tools.patch create mode 100644 SOURCES/festival.service create mode 100644 SPECS/festival.spec diff --git a/.festival.metadata b/.festival.metadata new file mode 100644 index 0000000..4125269 --- /dev/null +++ b/.festival.metadata @@ -0,0 +1,11 @@ +a433de2d1c344a1af63579e757551432abe583ca SOURCES/festival-2.5.0-release.tar.gz +d9576230c6698e1f05440ccd34063b64b9aaeb99 SOURCES/festlex_CMU.tar.gz +37c3a3e131c38f343053ce3aec8d654d7b123bb9 SOURCES/festlex_POSLEX.tar.gz +6b59e280d26da7874e6daff62b043f7f8e8b6b5b SOURCES/festvox_cmu_us_awb_cg.tar.gz +205d746aadb450c42fcf0b1501bcf530dbcf8cbf SOURCES/festvox_cmu_us_bdl_cg.tar.gz +5a9f7a2a8440b30239c4c9c92d741ed6d341a819 SOURCES/festvox_cmu_us_clb_cg.tar.gz +8cea41be28d4cce0f2faeb49aa5be6384d626ba3 SOURCES/festvox_cmu_us_jmk_cg.tar.gz +28e6ebc2578774aaddbc7baaf64b7f32e4c7ba77 SOURCES/festvox_cmu_us_rms_cg.tar.gz +b694f5b15a94dab5bd6d3b856130e51e992d5426 SOURCES/festvox_cmu_us_slt_cg.tar.gz +c09679b8a599043176a2a57d34d1ad482a498d6c SOURCES/festvox_kallpc16k.tar.gz +534e45a4ba10b7e0573ec30596ca4e57d888c6a2 SOURCES/festvox_rablpc16k.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7ca8f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +SOURCES/festival-2.5.0-release.tar.gz +SOURCES/festlex_CMU.tar.gz +SOURCES/festlex_POSLEX.tar.gz +SOURCES/festvox_cmu_us_awb_cg.tar.gz +SOURCES/festvox_cmu_us_bdl_cg.tar.gz +SOURCES/festvox_cmu_us_clb_cg.tar.gz +SOURCES/festvox_cmu_us_jmk_cg.tar.gz +SOURCES/festvox_cmu_us_rms_cg.tar.gz +SOURCES/festvox_cmu_us_slt_cg.tar.gz +SOURCES/festvox_kallpc16k.tar.gz +SOURCES/festvox_rablpc16k.tar.gz diff --git a/SOURCES/festival-2.5.0-filesystem-standard.patch b/SOURCES/festival-2.5.0-filesystem-standard.patch new file mode 100644 index 0000000..e2b175d --- /dev/null +++ b/SOURCES/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 \n"+ ++ " Set data directory pathname\n"+ + "--libdir \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/SOURCES/festival-2.5.0-pie.patch b/SOURCES/festival-2.5.0-pie.patch new file mode 100644 index 0000000..fbeae64 --- /dev/null +++ b/SOURCES/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/SOURCES/festival-2.5.0-pulseaudio.patch b/SOURCES/festival-2.5.0-pulseaudio.patch new file mode 100644 index 0000000..f3d080a --- /dev/null +++ b/SOURCES/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/SOURCES/festival-2.5.0-siteinit.patch b/SOURCES/festival-2.5.0-siteinit.patch new file mode 100644 index 0000000..80ad459 --- /dev/null +++ b/SOURCES/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/SOURCES/festival-2.5.0-use-system-libs.patch b/SOURCES/festival-2.5.0-use-system-libs.patch new file mode 100644 index 0000000..0bd929d --- /dev/null +++ b/SOURCES/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/SOURCES/festival-2.5.0-use-system-speech-tools.patch b/SOURCES/festival-2.5.0-use-system-speech-tools.patch new file mode 100644 index 0000000..ff66813 --- /dev/null +++ b/SOURCES/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/SOURCES/festival.service b/SOURCES/festival.service new file mode 100644 index 0000000..ba5583f --- /dev/null +++ b/SOURCES/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/SPECS/festival.spec b/SPECS/festival.spec new file mode 100644 index 0000000..4422aa5 --- /dev/null +++ b/SPECS/festival.spec @@ -0,0 +1,1034 @@ +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 Mar 15 2023 MSVSphere Packaging Team - 2.5.0-17 +- Rebuilt for MSVSphere 9.1. + +* Wed Jan 26 2022 Matthias Clasen - 2.5.0-17 +- Link binaries with -pie. Related: rhbz:#2044857 + +* Mon Aug 09 2021 Mohan Boddu - 2.5.0-16 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Apr 15 2021 Mohan Boddu - 2.5.0-15 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.5.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 2.5.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 18 2020 W. Michael Petullo - 2.5.0-12 +- Require pulseaudio-utils for paplay + +* Tue Jan 28 2020 Fedora Release Engineering - 2.5.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Oct 21 2019 W. Michael Petullo - 2.5.0-10 +- Obsolete four packages that would otherwise conflict with required speech-tools + +* Wed Oct 16 2019 W. Michael Petullo - 2.5.0-9 +- Fix build on s390x, ppc64le, and aarch64 + +* Sun Oct 13 2019 W. Michael Petullo - 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 - 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 - 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 - 2.5.0-5 +- Patch to use more reasonable install locations +- Provide systemd service file + +* Wed Aug 29 2018 W. Michael Petullo - 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 - 2.5.0-3 +- Remove speech-tools and use package proposed in Bugzilla #1592220 + +* Sun Jul 22 2018 W. Michael Petullo - 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 - 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 - 1.96-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.96-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Than Ngo - 1.96-36 +- add BR on texi2html instead tetex, minimal tex BR +- fix FTBS with gcc7 + +* Wed Aug 02 2017 Fedora Release Engineering - 1.96-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.96-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.96-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.96-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.96-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1.96-30 +- Rebuilt for GCC 5 C++11 ABI change + +* Sat Aug 16 2014 Fedora Release Engineering - 1.96-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.96-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 12 2014 Jaromir Capik - 1.96-27 +- Fixing format security flaws (#1037060) + +* Sat Aug 03 2013 Fedora Release Engineering - 1.96-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Mar 02 2013 Bruno Wolff III - 1.96-25 +- Fix typo in server script - bz 614200 + +* Thu Feb 07 2013 Jon Ciesla - 1.96-24 +- Minor Merge review fixes, BZ 225748. + +* Mon Jan 7 2013 Matthias Clasen - 1.96-23 +- Add tighter inter-subpackage deps (recommended by rpmdiff) + +* Mon Jan 7 2013 Matthias Clasen - 1.96-22 +- Fix directory ownership for /usr/share/festival/lib/voices/es + +* Thu Jul 19 2012 Fedora Release Engineering - 1.96-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Feb 25 2012 Bruno Wolff III - 1.96-20 +- Fix to build with gcc 4.7 + +* Fri Jan 13 2012 Fedora Release Engineering - 1.96-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 22 2011 Tim Niemueller - 1.96-18 +- Fix install paths of speech_tools includes (rhbz #242607) + +* Tue Feb 08 2011 Fedora Release Engineering - 1.96-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Sep 29 2009 Matthias Clasen - 1.96-16 +- Add native pulseaudio support (#471047) + +* Thu Sep 10 2009 Bernie Innocenti - 1.96-15 +- Disable esd support (resolves: rhbz#492982) + +* Wed Jul 29 2009 Matthias Clasen - 1.96-14 +- Rebuild + +* Fri Jul 24 2009 Fedora Release Engineering - 1.96-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat Apr 18 2009 Matthias Clasen - 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 - 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 1.96-10 +- Fix build with gcc 4.4 + +* Tue Feb 24 2009 Matthias Clasen 1.96-9 +- Make -docs and all the festvox subpackages noarch + +* Tue Feb 24 2009 Fedora Release Engineering - 1.96-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Nov 23 2008 Matthias Clasen - 1.96-7 +- Tweak summaries + +* Mon Oct 27 2008 Ray Strode - 1.96-6 +- interoperate with other apps by using pacat for audio output + (bug 467531) + +* Fri Jul 18 2008 Tom "spot" Callaway - 1.96-5 +- fix license tag + +* Fri Feb 22 2008 Matthias Clasen - 1.96-4 +- Fix the build with gcc 4.3 + +* Mon Feb 18 2008 Fedora Release Engineering - 1.96-3 +- Autorebuild for GCC 4.3 + +* Wed Nov 7 2007 Stepan Kasal 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 1.96-1 +- rebuild + +* Mon Mar 19 2007 David Zeuthen 1.96-0.11 +- Forgot to add the .scm files + +* Mon Mar 19 2007 David Zeuthen 1.96-0.10 +- Update to Matthew Miller's much improved package (#232105) +- Move the buildroot patch around + +* Sun Mar 18 2007 Matthew Miller 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 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 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 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 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 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 + . 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 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 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 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 - 1.95-6 +- link with ncurses +- add dist tag +- make scriptlets safer + +* Wed Jul 12 2006 Jesse Keating - 1.95-5.2.1 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 1.95-5.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.95-5.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Sun Jan 22 2006 Ray Strode - 1.95-5 +- get gnopernicus working again. Patch from + Fernando Herrera (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 +- rebuilt + +* Mon Oct 10 2005 Florian La Roche +- another try to get it to compile again + +* Tue Apr 28 2005 - 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 - 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 - 1.95-1 +- patch from Matthew Miller to update to 1.95. Full changelog below + +* Mon Feb 7 2005 Matthew Miller 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 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 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 - 1.4.2-25 +- Update for gcc 3.4 + +* Wed Jul 28 2004 Miloslav Trmac - 1.4.2-24 +- Use shared libraries to reduce package size +- Don't ship patch backup files + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue May 4 2004 Jonathan Blandford 1.4.2-21 +- Remove the spanish voices until we get clarification on the license + +* Sat Apr 10 2004 Warren Togami +- BR libtermcap-devel #104722 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Mon Aug 25 2003 Bill Nottingham 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 1.4.2-17 +- Rebuild + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Jan 9 2003 Tim Powers 1.4.2-15 +- redirect install-info spewage + +* Tue Jan 7 2003 Jens Petersen 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 1.4.2-13 +- rebuild + +* Thu Aug 15 2002 Bernhard Rosenkraenzer 1.4.2-12 +- Adapt to current libstdc++ + +* Tue Jul 23 2002 Tim Powers 1.4.2-10 +- build using gcc-3.2-0.1 + +* Wed Jul 3 2002 Trond Eivind Glomsrød 1.4.2-9 +- Add some missing helpprograms (# 67698) + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Mon Jun 10 2002 Trond Eivind Glomsrød 1.4.2-7 +- Fix some rpmlint errors + +* Mon Jun 10 2002 Bernhard Rosenkraenzer 1.4.2-6 +- Fix ISO C++ compliance + +* Mon Mar 18 2002 Tim Powers +- rebuilt + +* Thu Mar 14 2002 Trond Eivind Glomsrød 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 +- 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 +- Add defattr (Bug #15033) + +* Tue Jul 25 2000 Bernhard Rosenkraenzer +- fix build on current 7.0 + +* Mon Jul 17 2000 Bernhard Rosenkraenzer +- fix build on current 7.0 + +* Thu Jul 6 2000 Bernhard Rosenkraenzer +- FHSify + +* Mon Jun 19 2000 Bernhard Rosenkraenzer +- Fix build on non-x86 + +* Sun Apr 22 2000 Bernhard Rosenkraenzer +- initial packaging