diff options
author | mi <mi@FreeBSD.org> | 2013-09-06 23:24:58 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2013-09-06 23:24:58 +0800 |
commit | 9a44683b48937c20f2de22fdabf4e6a20b15b468 (patch) | |
tree | 204b3fe9344451188403d7d81e8e0ae266b4398b /audio | |
parent | b6941b2c6d74effd85f5c7affc6459dc40c869ae (diff) | |
download | freebsd-ports-gnome-9a44683b48937c20f2de22fdabf4e6a20b15b468.tar.gz freebsd-ports-gnome-9a44683b48937c20f2de22fdabf4e6a20b15b468.tar.zst freebsd-ports-gnome-9a44683b48937c20f2de22fdabf4e6a20b15b468.zip |
Update from 1.96 to 2.1. Despite being newer, the upstream release
remains uncompileable by modern compilers and substantial patches --
obtained from both Debian and NetBSD ports of the same software were
necessary.
Among the patches is a functionality-improving one, which allows the
new version to continue using voices created for 1.9x
Tested by: bapt
Diffstat (limited to 'audio')
-rw-r--r-- | audio/festival/Makefile | 51 | ||||
-rw-r--r-- | audio/festival/distinfo | 56 | ||||
-rw-r--r-- | audio/festival/files/patch-debian-bug-667377 | 93 | ||||
-rw-r--r-- | audio/festival/files/patch-intptr_t | 364 | ||||
-rw-r--r-- | audio/festival/files/patch-long-over-float | 23 | ||||
-rw-r--r-- | audio/festival/files/patch-tests | 22 | ||||
-rw-r--r-- | audio/festival/files/patch-voxware | 49 | ||||
-rw-r--r-- | audio/festival/pkg-plist | 2 |
8 files changed, 261 insertions, 399 deletions
diff --git a/audio/festival/Makefile b/audio/festival/Makefile index 9ad62e0e99ba..78853a37d7a0 100644 --- a/audio/festival/Makefile +++ b/audio/festival/Makefile @@ -2,23 +2,36 @@ # $FreeBSD$ PORTNAME= festival -PORTVERSION= 1.96 -PORTREVISION= 3 +PORTVERSION= 2.1 CATEGORIES= audio accessibility MASTER_SITES= ${MASTER_SITE_FESTIVAL} MASTER_SITE_SUBDIR= ${PORTVERSION} -DISTFILES= ${DISTNAME}-beta.tar.gz \ - speech_tools-1.2.${PORTVERSION:E}-beta.tar.gz +DISTFILES= ${DISTNAME}-release.tar.gz \ + speech_tools-${PORTVERSION}-release.tar.gz + +PATCHFILES= src_modules_diphone_diphone.h.diff:debian \ + src_modules_diphone_di_io.cc.diff:debian \ + src_modules_diphone_diphone.cc.diff:debian \ + src_modules_donovan_t2s.h.diff:debian \ + src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff:debian \ + festival_el_utf8.diff:debian \ + lintianspellpatch.diff:debian \ + hts21compat.diff:debian \ + languagespatch.diff:debian \ + ${SPT_PATCHES:C/.*/patch-speech__tools_\0:netbsd/} +PATCH_SITES= ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/audio/festival/patches/:netbsd \ + http://patch-tracker.debian.org/patch/series/dl/festival/1:2.1~release-5.1/:debian MAINTAINER= mi@aldan.algebra.com COMMENT= Multi-lingual speech synthesis system OPTIONS_DEFINE= NAS ESD -OPTIONS_DEFAULT= NAS ESD +OPTIONS_DEFAULT=NAS ESD ESD_DESC= ${ESOUND_DESC} DIST_SUBDIR= festival - + +CXXFLAGS+= -DFTLIBDIR=${LOCALBASE}/share/festival/lib CONFIGURE_WRKSRC= ${WRKDIR}/festival USES= gmake SPEECHTOOLS= ${WRKSRC}/speech_tools @@ -31,6 +44,20 @@ MAKE_ENV+= GCC="${CC}" \ MAN1= festival.1 festival_client.1 WRKSRC= ${WRKDIR} +SPT_PATCHES= base__class_EST__TVector.cc \ + base__class_inst__tmpl_vector__dmatrix__t.cc \ + base__class_inst__tmpl_vector__dvector__t.cc \ + base__class_inst__tmpl_vector__fmatrix__t.cc \ + config_compilers_gcc__defaults.mak \ + include_EST__Ngrammar.h \ + include_EST__SCFG.h \ + include_EST__String.h \ + include_EST__error.h \ + include_ling__class_EST__FeatureFunctionPackage.h \ + include_unix_EST__socket__unix.h \ + stats_dynamic__program.cc \ + utils_EST__ServiceTable.cc + do-build: .for d in speech_tools festival ${SETENV} ${MAKE_ENV} ${GMAKE} -C ${WRKDIR}/$d ${MAKE_FLAGS} Makefile \ @@ -38,10 +65,16 @@ do-build: .endfor # Can not make test in `festival', because the voices may not be installed -# XXX: this should fail, if the verdict is not "Test OK"... +# XXX: this should fail, if the verdict is not "CORRECT"... post-build test: ${SETENV} ${MAKE_ENV} ${GMAKE} -C ${WRKDIR}/speech_tools test +# The below is needed, because Debian's patches expect a different +# directory-name +pre-patch: + ${LN} -s festival ${WRKSRC}/festival-2.1~release + ${LN} -s festival ${WRKSRC}/b + post-patch:: ${REINPLACE_CMD} -e 's,/usr/X11R6,${LOCALBASE},g' \ ${WRKSRC}/*/config/systems/default.mak @@ -71,11 +104,11 @@ do-configure: fi # This step helps non-i386 systems and is harmless on i386 -${LN} -s ix86_FreeBSD.mak ${WRKDIR}/$d/config/systems/${ARCH}_unknown.mak +.endfor ${REINPLACE_CMD} -E -e 's,^(CC|CXX) *=,\1 ?=,' \ - -e 's,^(CFLAGS|CXXFLAGS) *=,\1 +=,' \ + -e 's,^(CFLAGS|CXXFLAGS) *=,\1 +=,' \ -e 's,^OPTIMI,#OPTIMI,' \ ${WRKSRC}/speech_tools/config/compilers/gcc*.mak -.endfor # This step helps to use a compiler, the vendor has not seen before: ${TEST} -e ${WRKDIR}/speech_tools/config/compilers/${CC}.mak || \ ${LN} -s gcc_defaults.mak ${WRKDIR}/speech_tools/config/compilers/${CC}.mak diff --git a/audio/festival/distinfo b/audio/festival/distinfo index fe6948863bbf..fe38487a8ecb 100644 --- a/audio/festival/distinfo +++ b/audio/festival/distinfo @@ -1,4 +1,52 @@ -SHA256 (festival/festival-1.96-beta.tar.gz) = 4fa48d3525957762c83f289fba361063b8855f57ff50b7db22754d844aeadbee -SIZE (festival/festival-1.96-beta.tar.gz) = 731682 -SHA256 (festival/speech_tools-1.2.96-beta.tar.gz) = fa1ce5698e1253ee21e67629f394733ef6ad578af671e3a90ea8b73898a12428 -SIZE (festival/speech_tools-1.2.96-beta.tar.gz) = 1275015 +SHA256 (festival/festival-2.1-release.tar.gz) = 06f3dcbad9d26e27443fc66947a0faf0c6679482220df4b5f42a261adf758080 +SIZE (festival/festival-2.1-release.tar.gz) = 787313 +SHA256 (festival/speech_tools-2.1-release.tar.gz) = ff6167cd929a88e2f91b47191c6c4dae87c9c06ba39fccc4465af9d79e9b2be9 +SIZE (festival/speech_tools-2.1-release.tar.gz) = 1681999 +SHA256 (festival/src_modules_diphone_diphone.h.diff) = 148ecd31aef84d5823470d339b3104b73af099404ab957fcee838520f8808104 +SIZE (festival/src_modules_diphone_diphone.h.diff) = 870 +SHA256 (festival/src_modules_diphone_di_io.cc.diff) = 0dfbe69e30ce8fbe695d30fed42a10c79bc6525dd4e971432a669c88bec4e048 +SIZE (festival/src_modules_diphone_di_io.cc.diff) = 3819 +SHA256 (festival/src_modules_diphone_diphone.cc.diff) = e92e8dc256fd624a7ac3aef7e1403ad4cabc6c23207a53648bfc8a6c5f78c6aa +SIZE (festival/src_modules_diphone_diphone.cc.diff) = 1075 +SHA256 (festival/src_modules_donovan_t2s.h.diff) = 164b9c0b5441177c85e44b111bb5b52e1efef59ee6d8a1b92396e84e01d94e19 +SIZE (festival/src_modules_donovan_t2s.h.diff) = 566 +SHA256 (festival/src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff) = 4137be0f227e0ebabfd8ee6ca9100909709266a713eca511eb06e818d7b64b17 +SIZE (festival/src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff) = 892 +SHA256 (festival/festival_el_utf8.diff) = c56f79e475682e25c6ed72639c253d48ce32535956a949e8a3ba75b7f2f71aa9 +SIZE (festival/festival_el_utf8.diff) = 1945 +SHA256 (festival/lintianspellpatch.diff) = b7f0d104e3154f8aa746a50013a8b77dd3855d5f812062c6424d7ee78eafcb50 +SIZE (festival/lintianspellpatch.diff) = 1284 +SHA256 (festival/hts21compat.diff) = d86434a9e01d2a62defd9230f102f074959ddf5d57e27d0b0abc9714f1717f82 +SIZE (festival/hts21compat.diff) = 125719 +SHA256 (festival/languagespatch.diff) = 3108f08656d31623ee5393eb542d0085819a056641c1853c2ffc2b07e2e9e15a +SIZE (festival/languagespatch.diff) = 36538 +SHA256 (festival/patch-speech__tools_base__class_EST__TVector.cc) = d791a9feb1e2be33fb8d367a8add65678b3f0e45cee145e8381d0f18eb2d9b0f +SIZE (festival/patch-speech__tools_base__class_EST__TVector.cc) = 454 +SHA256 (festival/patch-speech__tools_base__class_inst__tmpl_vector__dmatrix__t.cc) = 19b6c8f14c3b8944dc2404b92c74c5e0b2403f35b96a152f18b9492d9b24e4ee +SIZE (festival/patch-speech__tools_base__class_inst__tmpl_vector__dmatrix__t.cc) = 1086 +SHA256 (festival/patch-speech__tools_base__class_inst__tmpl_vector__dvector__t.cc) = 713c9938950e2190c503e9619e0142db49bdf6378b60de3611c4390ba7cdb5cb +SIZE (festival/patch-speech__tools_base__class_inst__tmpl_vector__dvector__t.cc) = 1086 +SHA256 (festival/patch-speech__tools_base__class_inst__tmpl_vector__fmatrix__t.cc) = aa16df118317354d368a5389c18a157723df10f09af319e278eb63d4ab73ee31 +SIZE (festival/patch-speech__tools_base__class_inst__tmpl_vector__fmatrix__t.cc) = 1085 +SHA256 (festival/patch-speech__tools_config_compilers_gcc__defaults.mak) = ac6e1db2a4e7c99929d4713d70b86014ecbe71d1c5f4f67e91503887a225f718 +SIZE (festival/patch-speech__tools_config_compilers_gcc__defaults.mak) = 803 +SHA256 (festival/patch-speech__tools_include_EST__Ngrammar.h) = 156d42e187693d6e76d28c280155bc6dfd6de6d8a5225d4aa87a2e767d0cee96 +SIZE (festival/patch-speech__tools_include_EST__Ngrammar.h) = 2519 +SHA256 (festival/patch-speech__tools_include_EST__SCFG.h) = e6ec64c01faad49f0efb2e40d7b332e0b7a8e92830337eb1f3843780e6c9c3e6 +SIZE (festival/patch-speech__tools_include_EST__SCFG.h) = 519 +SHA256 (festival/patch-speech__tools_include_EST__String.h) = ce8b3513bf218fd369716101fb0b3defc8ddb4d8a57e28df2c0e80f95fe52e74 +SIZE (festival/patch-speech__tools_include_EST__String.h) = 1068 +SHA256 (festival/patch-speech__tools_include_EST__TIterator.h) = c44d8125a04447a63e8458cee910cd7fe4aa84d31d4c06139b76ae168c66bcf7 +SIZE (festival/patch-speech__tools_include_EST__TIterator.h) = 730 +SHA256 (festival/patch-speech__tools_include_EST__TNamedEnum.h) = c825a92c81ecdda555963319c400a026aa797c694897e2a6a232ea94660d6557 +SIZE (festival/patch-speech__tools_include_EST__TNamedEnum.h) = 608 +SHA256 (festival/patch-speech__tools_include_EST__error.h) = ad43dcfa0fb0222d3cfc86cc2a316badbe1f2e27b663a91139ee3ccc3fd325e5 +SIZE (festival/patch-speech__tools_include_EST__error.h) = 1210 +SHA256 (festival/patch-speech__tools_include_ling__class_EST__FeatureFunctionPackage.h) = 2249d192d1c16697e0971263a1c1c1d8dbfecfe080c077abe49765e703775157 +SIZE (festival/patch-speech__tools_include_ling__class_EST__FeatureFunctionPackage.h) = 514 +SHA256 (festival/patch-speech__tools_include_unix_EST__socket__unix.h) = ad217f952ddd714c2b6b9e5924bfaf9e3b0429ba46d1db117ca1c4918aed9741 +SIZE (festival/patch-speech__tools_include_unix_EST__socket__unix.h) = 534 +SHA256 (festival/patch-speech__tools_stats_dynamic__program.cc) = 0c3fbe07a256be395e28d08e367e80b53d56885825ff29a232793c8e03915141 +SIZE (festival/patch-speech__tools_stats_dynamic__program.cc) = 1106 +SHA256 (festival/patch-speech__tools_utils_EST__ServiceTable.cc) = 5edb267faa21adf31b5503cf5db4e55d4ad2c3eaecf1550d7df1ef8cb94c448c +SIZE (festival/patch-speech__tools_utils_EST__ServiceTable.cc) = 649 diff --git a/audio/festival/files/patch-debian-bug-667377 b/audio/festival/files/patch-debian-bug-667377 new file mode 100644 index 000000000000..34af7d87e313 --- /dev/null +++ b/audio/festival/files/patch-debian-bug-667377 @@ -0,0 +1,93 @@ +Obtained from: + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667377 + +--- speech_tools/config/compilers/gcc_defaults.mak 2013-05-27 13:02:52.000000000 -0400 ++++ speech_tools/config/compilers/gcc_defaults.mak 2013-05-27 13:06:51.000000000 -0400 +@@ -82,5 +82,5 @@ + + ifndef GCC_MAKE_SHARED_LIB +- MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX ++ MAKE_SHARED_LIB = $(CXX) -shared -o XXX -Wl,-soname -Wl,YYY + else + MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB) +--- speech_tools/base_class/EST_TSimpleMatrix.cc ++++ speech_tools/base_class/EST_TSimpleMatrix.cc +@@ -44,6 +44,7 @@ + #include "EST_TVector.h" + #include <fstream> + #include <iostream> ++#include <cstring> + #include "EST_cutils.h" + + template<class T> +@@ -98,7 +99,7 @@ void EST_TSimpleMatrix<T>::resize(int ne + { + int copy_r = Lof(this->num_rows(), new_rows); + +- just_resize(new_rows, new_cols, &old_vals); ++ this->just_resize(new_rows, new_cols, &old_vals); + + for (q=0; q<(copy_r*new_cols*sizeof(T)); q++) /* memcpy */ + ((char *)this->p_memory)[q] = ((char *)old_vals)[q]; +@@ -127,9 +128,9 @@ void EST_TSimpleMatrix<T>::resize(int ne + int copy_r = Lof(this->num_rows(), new_rows); + int copy_c = Lof(this->num_columns(), new_cols); + +- just_resize(new_rows, new_cols, &old_vals); ++ this->just_resize(new_rows, new_cols, &old_vals); + +- set_values(old_vals, ++ this->set_values(old_vals, + old_row_step, old_column_step, + 0, copy_r, + 0, copy_c); +--- speech_tools/base_class/EST_TSimpleVector.cc ++++ speech_tools/base_class/EST_TSimpleVector.cc +@@ -43,6 +43,7 @@ + #include "EST_TSimpleVector.h" + #include "EST_matrix_support.h" + #include <fstream> ++#include <cstring> + #include "EST_cutils.h" + + template<class T> void EST_TSimpleVector<T>::copy(const EST_TSimpleVector<T> &a) +@@ -70,7 +71,7 @@ template<class T> void EST_TSimpleVector + int old_offset = this->p_offset; + unsigned int q; + +- just_resize(newn, &old_vals); ++ this->just_resize(newn, &old_vals); + + if (set && old_vals) + { +--- speech_tools/include/EST_TIterator.h ++++ speech_tools/include/EST_TIterator.h +@@ -209,7 +209,7 @@ public: + + /// Create an iterator ready to run over the given container. + EST_TStructIterator(const Container &over) +- { begin(over); } ++ { this->begin(over); } + + const Entry *operator ->() const + {return &this->current();} +@@ -289,7 +289,7 @@ public: + + /// Create an iterator ready to run over the given container. + EST_TRwStructIterator(Container &over) +- { begin(over); } ++ { this->begin(over); } + + Entry *operator ->() const + {return &this->current();} +--- speech_tools/include/EST_TNamedEnum.h ++++ speech_tools/include/EST_TNamedEnum.h +@@ -130,7 +130,7 @@ public: + {this->initialise((const void *)defs); }; + EST_TNamedEnumI(EST_TValuedEnumDefinition<const char *,const char *,INFO> defs[], ENUM (*conv)(const char *)) + {this->initialise((const void *)defs, conv); }; +- const char *name(ENUM tok, int n=0) const {return value(tok,n); }; ++ const char *name(ENUM tok, int n=0) const {return this->value(tok,n); }; + + }; + diff --git a/audio/festival/files/patch-intptr_t b/audio/festival/files/patch-intptr_t deleted file mode 100644 index 11935d07587b..000000000000 --- a/audio/festival/files/patch-intptr_t +++ /dev/null @@ -1,364 +0,0 @@ -This is from Gentoo's port (gcc41-amd64-int-pointer.patch), except -we use intptr_t instead of long so as not to pessimize the i386 -case, where long is wider than pointer. - - -mi - ---- speech_tools/include/EST_simplestats.h 2006/07/21 02:18:39 1.1 -+++ speech_tools/include/EST_simplestats.h 2006/07/21 02:35:43 -@@ -194,7 +194,7 @@ enum EST_tprob_type {tprob_string, tprob - for example - \begin{verbatim} - EST_DiscreteProbistribution pdf; -- for (int i=pdf.item_start(); i < pdf.item_end(); i=pdf.item_next(i)) -+ for (intptr_t i=pdf.item_start(); i < pdf.item_end(); i=pdf.item_next(i)) - { - EST_String name; - double prob; -@@ -265,17 +265,17 @@ public: - /// - double frequency(const int i) const; - /// Used for iterating through members of the distribution -- int item_start() const; -+ intptr_t item_start() const; - /// Used for iterating through members of the distribution -- int item_next(int idx) const; -+ intptr_t item_next(intptr_t idx) const; - /// Used for iterating through members of the distribution -- int item_end(int idx) const; -+ int item_end(intptr_t idx) const; - /// During iteration returns name given index -- const EST_String &item_name(int idx) const; -+ const EST_String &item_name(intptr_t idx) const; - /// During iteration returns name and frequency given index -- void item_freq(int idx,EST_String &s,double &freq) const; -+ void item_freq(intptr_t idx,EST_String &s,double &freq) const; - /// During iteration returns name and probability given index -- void item_prob(int idx,EST_String &s,double &prob) const; -+ void item_prob(intptr_t idx,EST_String &s,double &prob) const; - - /// Returns discrete vocabulary of distribution - inline const EST_Discrete *const get_discrete() const { return discrete; }; ---- speech_tools/stats/wagon/wagon_aux.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/stats/wagon/wagon_aux.cc 2006/07/21 02:36:09 -@@ -537,7 +537,7 @@ ostream & operator <<(ostream &s, WImpur - } - else if (imp.t == wnim_class) - { -- int i; -+ intptr_t i; - EST_String name; - double prob; - ---- speech_tools/stats/EST_DProbDist.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/stats/EST_DProbDist.cc 2006/07/21 02:41:32 -@@ -305,15 +305,15 @@ double EST_DiscreteProbDistribution::ent - } - - // For iterating through members of a probability distribution --int EST_DiscreteProbDistribution::item_start(void) const -+intptr_t EST_DiscreteProbDistribution::item_start(void) const - { - if (type == tprob_discrete) - return 0; - else -- return (int)scounts.list.head(); -+ return (intptr_t)scounts.list.head(); - } - --int EST_DiscreteProbDistribution::item_end(int idx) const -+int EST_DiscreteProbDistribution::item_end(intptr_t idx) const - { - if (type == tprob_discrete) - return (idx >= icounts.length()); -@@ -321,15 +321,15 @@ int EST_DiscreteProbDistribution::item_e - return ((EST_Litem *)idx == 0); - } - --int EST_DiscreteProbDistribution::item_next(int idx) const -+intptr_t EST_DiscreteProbDistribution::item_next(intptr_t idx) const - { - if (type == tprob_discrete) - return ++idx; - else -- return (int)next((EST_Litem *)idx); -+ return (intptr_t)next((EST_Litem *)idx); - } - --const EST_String &EST_DiscreteProbDistribution::item_name(int idx) const -+const EST_String &EST_DiscreteProbDistribution::item_name(intptr_t idx) const - { - if (type == tprob_discrete) - return discrete->name(idx); -@@ -337,7 +337,7 @@ const EST_String &EST_DiscreteProbDistri - return scounts.list((EST_Litem *)idx).k; - } - --void EST_DiscreteProbDistribution::item_freq(int idx,EST_String &s,double &freq) const -+void EST_DiscreteProbDistribution::item_freq(intptr_t idx,EST_String &s,double &freq) const - { - if (type == tprob_discrete) - { -@@ -351,7 +351,7 @@ void EST_DiscreteProbDistribution::item_ - } - } - --void EST_DiscreteProbDistribution::item_prob(int idx,EST_String &s,double &prob) const -+void EST_DiscreteProbDistribution::item_prob(intptr_t idx,EST_String &s,double &prob) const - { - if (type == tprob_discrete) - { -@@ -368,7 +368,7 @@ void EST_DiscreteProbDistribution::item_ - ostream & operator<<(ostream &s, const EST_DiscreteProbDistribution &pd) - { - // Output best with probabilities -- int i; -+ intptr_t i; - double prob; - double sum=0; - EST_String name; ---- speech_tools/grammar/ngram/EST_Ngrammar.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/grammar/ngram/EST_Ngrammar.cc 2006/07/21 02:38:54 -@@ -180,7 +180,7 @@ bool EST_BackoffNgrammarState::accumulat - const double count) - { - --// int i; -+// intptr_t i; - // cerr << "accumulate level " << p_level << " : "; - // for(i=0;i<words.n();i++) - // { -@@ -302,7 +302,7 @@ void EST_BackoffNgrammarState::print_fre - // not right - just print out, then recurse through children - // change to use 'backoff_traverse' - -- int k; -+ intptr_t k; - double freq; - EST_String name; - for (k=p_pdf.item_start(); -@@ -369,7 +369,7 @@ void EST_BackoffNgrammarState::zap() - { - - // recursively delete this state and all its children -- int k; -+ intptr_t k; - double freq; - EST_String name; - for (k=p_pdf.item_start(); -@@ -452,7 +452,7 @@ bool EST_BackoffNgrammarState::set_backo - - void EST_BackoffNgrammarState::frequency_of_frequencies(EST_DVector &ff) - { -- int k,max=ff.n(); -+ intptr_t k; int max=ff.n(); - double freq; - EST_String name; - for (k=p_pdf.item_start(); -@@ -911,7 +911,7 @@ void EST_Ngrammar::accumulate(const EST_ - { - - /* -- int i; -+ intptr_t i; - for(i=0;i<words.n();i++) - { - cerr << vocab_pdf.item_name(words(i)); -@@ -1581,7 +1581,7 @@ void EST_Ngrammar::prune_backoff_represe - // remove any branches with zero frequency count - - // find children of this state with zero freq and zap them -- int k; -+ intptr_t k; - double freq; - EST_String name; - for (k=start_state->pdf_const().item_start(); -@@ -2320,7 +2320,7 @@ void EST_Ngrammar::print_freqs(ostream & - backoff_representation->print_freqs(os,p_order); - else - { -- int i,j,k; -+ int i,j; intptr_t k; - EST_IVector window(p_order-1); - - for (i=0; i < p_num_states; i++) -@@ -2661,7 +2661,7 @@ EST_Ngrammar::backoff_traverse(EST_Backo - function(start_state,params); - - // and recurse down the tree -- int k; -+ intptr_t k; - double freq; - EST_String name; - for (k=start_state->pdf_const().item_start(); -@@ -2692,7 +2692,7 @@ EST_Ngrammar::backoff_traverse(EST_Backo - { - // and recurse down the tree if we haven't - // reached the level yet -- int k; -+ intptr_t k; - double freq; - EST_String name; - ---- speech_tools/grammar/ngram/ngrammar_io.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/grammar/ngram/ngrammar_io.cc 2006/07/21 02:39:05 -@@ -281,7 +281,7 @@ EST_read_status - load_ngram_cstr_bin(const EST_String filename, EST_Ngrammar &n) - { - EST_TokenStream ts; -- int i,j,k,order; -+ int i,j,order; intptr_t k; - int num_entries; - double approx_num_samples = 0.0; - intptr_t freq_data_start, freq_data_end; -@@ -407,7 +407,7 @@ EST_write_status - save_ngram_htk_ascii_sub(const EST_String &word, ostream *ost, - EST_Ngrammar &n, double floor) - { -- int k; -+ intptr_t k; - EST_String name; - double freq; - EST_StrVector this_ngram(2); // assumes bigram -@@ -734,7 +734,7 @@ save_ngram_cstr_ascii(const EST_String f - // awb's format - (void)trace; - ostream *ost; -- int i,k; -+ int i; intptr_t k; - - if (filename == "-") - ost = &cout; -@@ -831,7 +831,7 @@ save_ngram_cstr_bin(const EST_String fil - if (n.representation() == EST_Ngrammar::sparse) - return misc_write_error; - -- int i,k; -+ int i; intptr_t k; - FILE *ofd; - double lfreq = -1; - double count = -1; ---- speech_tools/grammar/ngram/ngrammar_aux.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/grammar/ngram/ngrammar_aux.cc 2006/07/21 02:39:20 -@@ -117,7 +117,7 @@ smooth_ExponentialFit(EST_DVector &N, in - - void make_f_of_f(EST_BackoffNgrammarState *s,void *params) - { -- int k; -+ intptr_t k; - double freq; - EST_String name; - -@@ -138,7 +138,7 @@ void make_f_of_f(EST_BackoffNgrammarStat - - void get_max_f(EST_BackoffNgrammarState *s,void *params) - { -- int k; -+ intptr_t k; - double freq; - EST_String name; - -@@ -158,7 +158,7 @@ void get_max_f(EST_BackoffNgrammarState - - void map_f_of_f(EST_BackoffNgrammarState *s,void *params) - { -- int k; -+ intptr_t k; - double freq; - EST_String name; - -@@ -184,7 +184,7 @@ void map_f_of_f(EST_BackoffNgrammarState - - void zero_small_f(EST_BackoffNgrammarState *s,void *params) - { -- int k; -+ intptr_t k; - double freq; - EST_String name; - -@@ -204,7 +204,7 @@ void zero_small_f(EST_BackoffNgrammarSta - - void frequency_of_frequencies(EST_DVector &ff, EST_Ngrammar &n,int this_order) - { -- int i,k,size; -+ int i,size; intptr_t k; - double max=0.0; - - // if ff has zero size, do complete frequency of frequencies -@@ -302,7 +302,7 @@ void frequency_of_frequencies(EST_DVecto - - void map_frequencies(EST_Ngrammar &n, const EST_DVector &map, const int this_order) - { -- int i,k; -+ int i; intptr_t k; - - - switch(n.representation()) ---- speech_tools/grammar/ngram/EST_PST.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/grammar/ngram/EST_PST.cc 2006/07/21 02:39:31 -@@ -71,7 +71,7 @@ EST_PredictionSuffixTree_tree_node::prin - // Base -- print from pd - EST_String s; - double freq; -- for (int i = pd.item_start(); -+ for (intptr_t i = pd.item_start(); - !pd.item_end(i); - i=pd.item_next(i)) - { -@@ -98,7 +98,7 @@ EST_PredictionSuffixTree_tree_node::prin - EST_String s; - double prob; - os << get_path() << " :"; -- for (int i = pd.item_start(); !pd.item_end(i) ; i=pd.item_next(i)) -+ for (intptr_t i = pd.item_start(); !pd.item_end(i) ; i=pd.item_next(i)) - { - pd.item_prob(i,s,prob); - os << " " << s << " " << prob; ---- speech_tools/grammar/ngram/freqsmooth.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/grammar/ngram/freqsmooth.cc 2006/07/21 02:46:42 -@@ -74,7 +74,7 @@ void fs_build_backoff_ngrams(EST_Ngramma - EST_Ngrammar &ngram) - { - // Build all the backoff grammars back to uni-grams -- int i,j,k,l; -+ int i,j,l; intptr_t k; - - for (i=0; i < ngram.order()-1; i++) - backoff_ngrams[i].init(i+1,EST_Ngrammar::dense, -@@ -110,7 +110,7 @@ int fs_backoff_smooth(EST_Ngrammar *back - { - // For all ngrams which are too infrequent, adjust their - // frequencies based on their backoff probabilities -- int i,j; -+ int i; intptr_t j; - double occurs; - double backoff_prob; - ---- speech_tools/grammar/wfst/wfst_train.cc 2006/07/21 02:18:39 1.1 -+++ speech_tools/grammar/wfst/wfst_train.cc 2006/07/21 02:39:47 -@@ -299,7 +299,7 @@ static LISP find_best_split(EST_WFST &wf - LISP *ssplits; - gc_protect(&splits); - EST_String sname; -- int b,best_b,i; -+ int b,best_b; intptr_t i; - int num_pdfs; - double best_score, score, sfreq; - -@@ -374,7 +374,7 @@ static double score_pdf_combine(EST_Disc - // Find score of (a+b) vs (all-(a+b)) - EST_DiscreteProbDistribution ab(a); - EST_DiscreteProbDistribution all_but_ab(all); -- int i; -+ intptr_t i; - EST_String sname; - double sfreq, score; - for (i=b.item_start(); !b.item_end(i); -@@ -506,7 +506,7 @@ static double find_score_if_split(EST_WF - EST_DiscreteProbDistribution pdf_split(&wfst.in_symbols()); - EST_DiscreteProbDistribution pdf_remain(&wfst.in_symbols()); - int in, tostate, id; -- int i; -+ intptr_t i; - double sfreq; - EST_String sname; diff --git a/audio/festival/files/patch-long-over-float b/audio/festival/files/patch-long-over-float new file mode 100644 index 000000000000..e41f33d092a8 --- /dev/null +++ b/audio/festival/files/patch-long-over-float @@ -0,0 +1,23 @@ +Part of Debian's patch at: + http://patch-tracker.debian.org/patch/series/view/festival/1:2.1~release-5.1/src_modules_MultiSyn_path_fixes.diff + +--- festival/src/modules/MultiSyn/TargetCostRescoring.cc 2011-02-16 10:35:34.000000000 -0600 ++++ festival/src/modules/MultiSyn/TargetCostRescoring.cc 2011-02-16 10:43:23.000000000 -0600 +@@ -82,7 +82,7 @@ + //cerr << scores << endl; + + // calculate simple mean duration of some or all of candidates +- float meandur = 0.0; ++ long meandur = 0.0; + int n = 0; + + if( beam_width < 0 ){ // just average all of them +@@ -107,7 +107,7 @@ + + // then tweak the scores based on that + for( EST_Litem *li = scores.head(); li != 0; li = li->next() ){ +- float cand_dur = scores(li)._dur; ++ long cand_dur = scores(li)._dur; + // cerr << scores(li)._cand->score << " "; + scores(li)._cand->score += (mult * abs( cand_dur - meandur ) ); + // cerr << scores(li)._cand->score << endl; diff --git a/audio/festival/files/patch-tests b/audio/festival/files/patch-tests deleted file mode 100644 index 02c17205ea2a..000000000000 --- a/audio/festival/files/patch-tests +++ /dev/null @@ -1,22 +0,0 @@ -Tracking the structure's size does not seem meaningful... The size is -different on different architectures. Disable the tracking so that the -rest of the test can be used. - - -mi - ---- speech_tools/testsuite/matrix_regression.cc Fri Apr 30 12:56:51 2004 -+++ speech_tools/testsuite/matrix_regression.cc Mon Mar 26 04:07:25 2007 -@@ -55,7 +55,4 @@ - EST_TMatrix<int> m(5,5); - -- cout << "EST_TVector<int> size = " << sizeof(EST_TVector<int>) << " bytes.\n"; -- cout << "EST_TMatrix<int> size = " << sizeof(EST_TMatrix<int>) << " bytes.\n"; -- - for(int i=0; i<m.num_rows(); i++) - for(int j=0; j<m.num_columns(); j++) ---- speech_tools/testsuite/correct/matrix_regression.out Wed Apr 4 07:55:32 2001 -+++ speech_tools/testsuite/correct/matrix_regression.out Mon Mar 26 04:07:56 2007 -@@ -1,3 +1 @@ --EST_TVector<int> size = 20 bytes. --EST_TMatrix<int> size = 28 bytes. - Initial Matrix diff --git a/audio/festival/files/patch-voxware b/audio/festival/files/patch-voxware new file mode 100644 index 000000000000..70e4523e2629 --- /dev/null +++ b/audio/festival/files/patch-voxware @@ -0,0 +1,49 @@ +--- speech_tools/config/modules/freebsd16_audio.mak 2001-04-04 09:11:27.000000000 -0400 ++++ speech_tools/config/modules/freebsd16_audio.mak 2013-05-27 13:29:03.000000000 -0400 +@@ -43,5 +43,5 @@ + MOD_DESC_FREEBSD16_AUDIO=Native audio module for FreeBSD systems + +-AUDIO_DEFINES += -DSUPPORT_FREEBSD16 ++AUDIO_DEFINES += -DSUPPORT_FREEBSD16 -DSUPPORT_VOXWARE + + #ifdef INCLUDE_JAVA_CPP +--- speech_tools/audio/linux_sound.cc 2009-04-29 13:06:36.000000000 -0400 ++++ speech_tools/audio/linux_sound.cc 2013-05-27 13:31:00.000000000 -0400 +@@ -66,7 +66,13 @@ + int freebsd16_supported = TRUE; + int linux16_supported = FALSE; +-static char *aud_sys_name = "FreeBSD"; ++static const char *aud_sys_name = "FreeBSD"; + #endif /*SUPPORT_FREEBSD16 */ + ++#ifdef SUPPORT_LINUX16 ++int linux16_supported = TRUE; ++int freebsd16_supported = FALSE; ++static const char *aud_sys_name = "Linux"; ++#endif ++ + #ifdef SUPPORT_VOXWARE + +@@ -76,7 +82,5 @@ + #include <sys/stat.h> + #include <fcntl.h> +-int linux16_supported = TRUE; +-int freebsd16_supported = FALSE; +-static char *aud_sys_name = "Linux"; ++ + static int stereo_only = 0; + +@@ -152,5 +156,5 @@ + int audio,actual_fmt; + int i,r,n; +- char *audiodevice; ++ const char *audiodevice; + + if (al.present("-audiodevice")) +@@ -279,5 +283,5 @@ + int audio=-1,actual_fmt; + int i,r,n; +- char *audiodevice; ++ const char *audiodevice; + + if (al.present("-audiodevice")) diff --git a/audio/festival/pkg-plist b/audio/festival/pkg-plist index 00d5c69b8c0e..8a821f2d9edd 100644 --- a/audio/festival/pkg-plist +++ b/audio/festival/pkg-plist @@ -25,6 +25,8 @@ libexec/festival_client.naked %%DATADIR%%/examples/intro.text %%DATADIR%%/examples/latest %%DATADIR%%/examples/latest.sh +%%DATADIR%%/examples/run-festival-script +%%DATADIR%%/examples/run-festival-script.sh %%DATADIR%%/examples/make_utts %%DATADIR%%/examples/make_utts.sh %%DATADIR%%/examples/powmeanstd |