Date: Saturday, November 28, 2015 @ 14:18:47 Author: arojas Revision: 252022
Update to 2.4 Added: festival/trunk/festival-2.4-compat.patch festival/trunk/festival-gcc47.patch Modified: festival/trunk/PKGBUILD festival/trunk/festconfig.patch festival/trunk/festival-shared-build.patch festival/trunk/speechconfig.patch Deleted: festival/trunk/festival.gcc47.patch -----------------------------+ PKGBUILD | 56 +++--- festconfig.patch | 2 festival-2.4-compat.patch | 365 ++++++++++++++++++++++++++++++++++++++++++ festival-gcc47.patch | 59 ++++++ festival-shared-build.patch | 52 ++++- festival.gcc47.patch | 121 ------------- speechconfig.patch | 7 7 files changed, 491 insertions(+), 171 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-11-28 09:48:25 UTC (rev 252021) +++ PKGBUILD 2015-11-28 13:18:47 UTC (rev 252022) @@ -1,48 +1,48 @@ # $Id$ # Maintainer: +# Contributor: netcrusher < tobias AT miglix DOT eu > # Contributor: Andrea Scarpino <[email protected]> # Contributor: Simo Leone <[email protected]> pkgname=festival -pkgver=2.1 -pkgrel=6 +pkgver=2.4 +pkgrel=1 pkgdesc="A general multi-lingual speech synthesis system" -arch=('i686' 'x86_64') +arch=(i686 x86_64) url="http://www.cstr.ed.ac.uk/projects/festival/" -license=('BSD' 'GPL' 'custom') -depends=('perl') -makedepends=('hardening-wrapper') +license=(BSD GPL custom) +depends=(perl alsa-lib) options=('!makeflags') -source=(http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}-release.tar.gz - http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/speech_tools-${pkgver}-release.tar.gz +source=(http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/$pkgname-$pkgver-release.tar.gz + http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/speech_tools-$pkgver-release.tar.gz http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/festlex_CMU.tar.gz http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/festlex_OALD.tar.gz http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/festlex_POSLEX.tar.gz speechconfig.patch festconfig.patch + festival-2.4-compat.patch festival-shared-build.patch - festival.gcc47.patch - festival-2.1-bettersonamehack.patch) -md5sums=('c93eb3e389ed171ab9abd46afe8897a8' - '6920ddc75b042910a3bcfee3ab106938' + festival-gcc47.patch) +md5sums=('49707d2f6744d5a67f81a96c36f7cb59' + '3d60e563135363eb2548d947f7ef4e14' '6a2ee4fed7c3ebedf197a3b8524ccb87' '84af32a914d996f57bc4cb36fe8cdc97' 'aa80f9250065b318325f16fdad3a4484' - 'c30ae990baca40c9c2b1d5cd27502139' - '348cc033430aee7989463198818ae74c' - '02f589688182527308e3fe8d1a82c056' - 'ed738fdf981aaddbae6d00c3a0120d62' - '85367db2b57bae214d1032e2fc896753') + '5a57ae18d71ba66dfd960519b97f4b18' + '6e088931b5279550b2aea4bf704bc42b' + '3bae028f01ef1fa523511f2ae452f0aa' + '9e0c5ce8c0bd5872c76d0570847f7668' + '253f00f5e0b10d4e36c06c7cb500f37c') prepare() { - cd $srcdir - patch -Np0 -i ${srcdir}/speechconfig.patch - patch -Np0 -i ${srcdir}/festconfig.patch + patch -Np0 -i speechconfig.patch + patch -Np0 -i festconfig.patch # fix build with new gcc versions and build shared libs - taken from Mageia - patch -Np0 -i ${srcdir}/festival-shared-build.patch - patch -Np0 -i ${srcdir}/festival-2.1-bettersonamehack.patch - patch -Np0 -i ${srcdir}/festival.gcc47.patch + patch -Np0 -i festival-shared-build.patch + patch -Np0 -i festival-gcc47.patch + + patch -Np0 -i festival-2.4-compat.patch # Avoid make failure on making scripts and docs sed -i "s#examples bin doc#examples#" festival/Makefile @@ -50,12 +50,12 @@ build() { # Build Speech Tools first - cd "$srcdir/speech_tools" + cd speech_tools ./configure --prefix=/usr --sysconfdir=/etc make OPTIMISE_CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" OPTIMISE_CCFLAGS="${CFLAGS} -fno-strict-aliasing" # Build Festival itself - cd "$srcdir/festival" + cd ../festival ./configure --prefix=/usr --sysconfdir=/etc make OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}" } @@ -62,7 +62,7 @@ package() { # Install Speech Tools first - cd "$srcdir/speech_tools" + cd speech_tools install -dm755 "$pkgdir"/usr/{bin,lib,include/speech_tools/{,instantiate,ling_class,rxp,sigpr,unix}} #binaries @@ -81,7 +81,7 @@ #headers for dir in {.,instantiate,ling_class,rxp,sigpr,unix}; do - install -m644 -t "${pkgdir}"/usr/include/speech_tools/$dir include/$dir/*.h + install -m644 -t "$pkgdir"/usr/include/speech_tools/$dir include/$dir/*.h done # Install Festival itself @@ -104,7 +104,7 @@ #libraries install -m755 src/lib/libFestival.so.* "$pkgdir"/usr/lib/ - ln -sf libFestival.so.2.1.0 "$pkgdir"/usr/lib/libFestival.so + ln -sf libFestival.so.2.4.0 "$pkgdir"/usr/lib/libFestival.so #headers install -dm755 "$pkgdir"/usr/include/festival Modified: festconfig.patch =================================================================== --- festconfig.patch 2015-11-28 09:48:25 UTC (rev 252021) +++ festconfig.patch 2015-11-28 13:18:47 UTC (rev 252022) @@ -13,7 +13,7 @@ diff -Nru festival.orig/config/project.mak festival/config/project.mak --- festival.orig/config/project.mak 2004-07-12 10:39:37.000000000 -0500 +++ festival/config/project.mak 2005-05-30 19:50:45.000000000 -0500 -@@ -112,6 +112,5 @@ +@@ -114,6 +114,5 @@ DOCXX_DIRS = $(TOP)/src MODULE_TO_DOCXX = perl $(TOP)/src/modules/utilities/extract_module_doc++.prl Added: festival-2.4-compat.patch =================================================================== --- festival-2.4-compat.patch (rev 0) +++ festival-2.4-compat.patch 2015-11-28 13:18:47 UTC (rev 252022) @@ -0,0 +1,365 @@ +diff -Naur festival.orig/src/modules/clustergen/HTS_vocoder_me.cc festival/src/modules/clustergen/HTS_vocoder_me.cc +--- festival.orig/src/modules/clustergen/HTS_vocoder_me.cc 2013-02-18 16:10:50.000000000 +0100 ++++ festival/src/modules/clustergen/HTS_vocoder_me.cc 2015-07-28 18:25:52.846670680 +0200 +@@ -90,8 +90,9 @@ + + HTS_VOCODER_ME_C_START; + ++#include <math.h> + #include "./HTS_vocoder_me.h" +-#include "../hts_engine/HTS_vocoder.c" ++#include "../hts_engine/HTS_vocoder.h" + + /* HTS_Vocoder_initialize_me: initialize vocoder (mixed excitation) */ + void HTS_Vocoder_initialize_me(HTS_Vocoder_ME * v_me, +diff -Naur festival.orig/src/modules/hts_engine/HTS_vocoder.c festival/src/modules/hts_engine/HTS_vocoder.c +--- festival.orig/src/modules/hts_engine/HTS_vocoder.c 2013-02-18 16:10:52.000000000 +0100 ++++ festival/src/modules/hts_engine/HTS_vocoder.c 2015-07-28 18:26:22.680173336 +0200 +@@ -57,10 +57,12 @@ + + #include <math.h> /* for sqrt(),log(),exp(),pow(),cos() */ + ++//#include "HTS_vocoder.h" ++ + /* hts_engine libraries */ + #include "HTS_hidden.h" + +-static const double HTS_pade[21] = { ++const double HTS_pade[21] = { + 1.00000000000, + 1.00000000000, + 0.00000000000, +@@ -85,7 +87,7 @@ + }; + + /* HTS_movem: move memory */ +-static void HTS_movem(double *a, double *b, const int nitem) ++void HTS_movem(double *a, double *b, const int nitem) + { + long i = (long) nitem; + +@@ -101,7 +103,7 @@ + } + + /* HTS_mlsafir: sub functions for MLSA filter */ +-static double HTS_mlsafir(const double x, const double *b, const int m, const double a, const double aa, double *d) ++double HTS_mlsafir(const double x, const double *b, const int m, const double a, const double aa, double *d) + { + double y = 0.0; + int i; +@@ -122,7 +124,7 @@ + } + + /* HTS_mlsadf1: sub functions for MLSA filter */ +-static double HTS_mlsadf1(double x, const double *b, const int m, const double a, const double aa, const int pd, double *d, const double *ppade) ++double HTS_mlsadf1(double x, const double *b, const int m, const double a, const double aa, const int pd, double *d, const double *ppade) + { + double v, out = 0.0, *pt; + int i; +@@ -144,7 +146,7 @@ + } + + /* HTS_mlsadf2: sub functions for MLSA filter */ +-static double HTS_mlsadf2(double x, const double *b, const int m, const double a, const double aa, const int pd, double *d, const double *ppade) ++double HTS_mlsadf2(double x, const double *b, const int m, const double a, const double aa, const int pd, double *d, const double *ppade) + { + double v, out = 0.0, *pt; + int i; +@@ -166,7 +168,7 @@ + } + + /* HTS_mlsadf: functions for MLSA filter */ +-static double HTS_mlsadf(double x, const double *b, const int m, const double a, const int pd, double *d) ++double HTS_mlsadf(double x, const double *b, const int m, const double a, const int pd, double *d) + { + const double aa = 1 - a * a; + const double *ppade = &(HTS_pade[pd * (pd + 1) / 2]); +@@ -178,7 +180,7 @@ + } + + /* HTS_rnd: functions for random noise generation */ +-static double HTS_rnd(unsigned long *next) ++double HTS_rnd(unsigned long *next) + { + double r; + +@@ -189,7 +191,7 @@ + } + + /* HTS_nrandom: functions for gaussian random noise generation */ +-static double HTS_nrandom(HTS_Vocoder * v) ++double HTS_nrandom(HTS_Vocoder * v) + { + if (v->sw == 0) { + v->sw = 1; +@@ -207,7 +209,7 @@ + } + + /* HTS_mceq: function for M-sequence random noise generation */ +-static int HTS_mseq(HTS_Vocoder * v) ++int HTS_mseq(HTS_Vocoder * v) + { + int x0, x28; + +@@ -229,7 +231,7 @@ + } + + /* HTS_mc2b: transform mel-cepstrum to MLSA digital fillter coefficients */ +-static void HTS_mc2b(double *mc, double *b, int m, const double a) ++void HTS_mc2b(double *mc, double *b, int m, const double a) + { + if (mc != b) { + if (a != 0.0) { +@@ -244,7 +246,7 @@ + } + + /* HTS_b2bc: transform MLSA digital filter coefficients to mel-cepstrum */ +-static void HTS_b2mc(const double *b, double *mc, int m, const double a) ++void HTS_b2mc(const double *b, double *mc, int m, const double a) + { + double d, o; + +@@ -257,7 +259,7 @@ + } + + /* HTS_freqt: frequency transformation */ +-static void HTS_freqt(HTS_Vocoder * v, const double *c1, const int m1, double *c2, const int m2, const double a) ++void HTS_freqt(HTS_Vocoder * v, const double *c1, const int m1, double *c2, const int m2, const double a) + { + int i, j; + const double b = 1 - a * a; +@@ -287,7 +289,7 @@ + } + + /* HTS_c2ir: The minimum phase impulse response is evaluated from the minimum phase cepstrum */ +-static void HTS_c2ir(const double *c, const int nc, double *h, const int leng) ++void HTS_c2ir(const double *c, const int nc, double *h, const int leng) + { + int n, k, upl; + double d; +@@ -303,7 +305,7 @@ + } + + /* HTS_b2en: calculate frame energy */ +-static double HTS_b2en(HTS_Vocoder * v, const double *b, const int m, const double a) ++double HTS_b2en(HTS_Vocoder * v, const double *b, const int m, const double a) + { + int i; + double en = 0.0; +@@ -330,7 +332,7 @@ + } + + /* HTS_ignorm: inverse gain normalization */ +-static void HTS_ignorm(double *c1, double *c2, int m, const double g) ++void HTS_ignorm(double *c1, double *c2, int m, const double g) + { + double k; + if (g != 0.0) { +@@ -345,7 +347,7 @@ + } + + /* HTS_gnorm: gain normalization */ +-static void HTS_gnorm(double *c1, double *c2, int m, const double g) ++void HTS_gnorm(double *c1, double *c2, int m, const double g) + { + double k; + if (g != 0.0) { +@@ -360,7 +362,7 @@ + } + + /* HTS_lsp2lpc: transform LSP to LPC */ +-static void HTS_lsp2lpc(HTS_Vocoder * v, double *lsp, double *a, const int m) ++void HTS_lsp2lpc(HTS_Vocoder * v, double *lsp, double *a, const int m) + { + int i, k, mh1, mh2, flag_odd; + double xx, xf, xff; +@@ -451,7 +453,7 @@ + } + + /* HTS_gc2gc: generalized cepstral transformation */ +-static void HTS_gc2gc(HTS_Vocoder * v, double *c1, const int m1, const double g1, double *c2, const int m2, const double g2) ++void HTS_gc2gc(HTS_Vocoder * v, double *c1, const int m1, const double g1, double *c2, const int m2, const double g2) + { + int i, min, k, mk; + double ss1, ss2, cc; +@@ -484,7 +486,7 @@ + } + + /* HTS_mgc2mgc: frequency and generalized cepstral transformation */ +-static void HTS_mgc2mgc(HTS_Vocoder * v, double *c1, const int m1, const double a1, const double g1, double *c2, const int m2, const double a2, const double g2) ++void HTS_mgc2mgc(HTS_Vocoder * v, double *c1, const int m1, const double a1, const double g1, double *c2, const int m2, const double a2, const double g2) + { + double a; + +@@ -502,7 +504,7 @@ + } + + /* HTS_lsp2mgc: transform LSP to MGC */ +-static void HTS_lsp2mgc(HTS_Vocoder * v, double *lsp, double *mgc, const int m, const double alpha) ++void HTS_lsp2mgc(HTS_Vocoder * v, double *lsp, double *mgc, const int m, const double alpha) + { + int i; + /* lsp2lpc */ +@@ -531,7 +533,7 @@ + } + + /* HTS_mglsadff: sub functions for MGLSA filter */ +-static double HTS_mglsadff(double x, const double *b, const int m, const double a, double *d) ++double HTS_mglsadff(double x, const double *b, const int m, const double a, double *d) + { + int i; + +@@ -550,7 +552,7 @@ + } + + /* HTS_mglsadf: sub functions for MGLSA filter */ +-static double HTS_mglsadf(double x, const double *b, const int m, const double a, const int n, double *d) ++double HTS_mglsadf(double x, const double *b, const int m, const double a, const int n, double *d) + { + int i; + +@@ -561,7 +563,7 @@ + } + + /* THS_check_lsp_stability: check LSP stability */ +-static void HTS_check_lsp_stability(double *lsp, size_t m) ++void HTS_check_lsp_stability(double *lsp, size_t m) + { + size_t i, j; + double tmp; +@@ -595,7 +597,7 @@ + } + + /* HTS_lsp2en: calculate frame energy */ +-static double HTS_lsp2en(HTS_Vocoder * v, double *lsp, size_t m, double alpha) ++double HTS_lsp2en(HTS_Vocoder * v, double *lsp, size_t m, double alpha) + { + size_t i; + double en = 0.0; +@@ -632,7 +634,7 @@ + } + + /* HTS_white_noise: return white noise */ +-static double HTS_white_noise(HTS_Vocoder * v) ++double HTS_white_noise(HTS_Vocoder * v) + { + if (v->gauss) + return (double) HTS_nrandom(v); +@@ -641,7 +643,7 @@ + } + + /* HTS_ping_pulse: ping pulse using low-pass filter */ +-static void HTS_ping_pulse(HTS_Vocoder * v, const int ping_place, const double p, const int nlpf, const double *lpf) ++void HTS_ping_pulse(HTS_Vocoder * v, const int ping_place, const double p, const int nlpf, const double *lpf) + { + int i, j; + const double power = sqrt(p); +@@ -652,7 +654,7 @@ + } + + /* HTS_ping_noise: ping noise using low-pass filter */ +-static void HTS_ping_noise(HTS_Vocoder * v, const int ping_place, const int nlpf, const double *lpf) ++void HTS_ping_noise(HTS_Vocoder * v, const int ping_place, const int nlpf, const double *lpf) + { + int i, j; + const double power = HTS_white_noise(v); +@@ -667,7 +669,7 @@ + } + + /* HTS_Vocoder_initialize_excitation: initialize excitation */ +-static void HTS_Vocoder_initialize_excitation(HTS_Vocoder * v, size_t nlpf) ++void HTS_Vocoder_initialize_excitation(HTS_Vocoder * v, size_t nlpf) + { + size_t i; + +@@ -684,7 +686,7 @@ + } + + /* HTS_Vocoder_start_excitation: start excitation of each frame */ +-static void HTS_Vocoder_start_excitation(HTS_Vocoder * v, const double pitch, const int nlpf) ++void HTS_Vocoder_start_excitation(HTS_Vocoder * v, const double pitch, const int nlpf) + { + if (v->p1 != 0.0 && pitch != 0.0) + v->inc = (pitch - v->p1) * IPERIOD / v->fprd; +@@ -699,7 +701,7 @@ + } + + /* HTS_Vocoder_get_excitation: get excitation of each sample */ +-static double HTS_Vocoder_get_excitation(HTS_Vocoder * v, const int fprd_index, const int iprd_index, const int nlpf, const double *lpf) ++double HTS_Vocoder_get_excitation(HTS_Vocoder * v, const int fprd_index, const int iprd_index, const int nlpf, const double *lpf) + { + double x; + int i, j; +@@ -755,7 +757,7 @@ + } + + /* HTS_Vocoder_end_excitation: end excitation of each frame */ +-static void HTS_Vocoder_end_excitation(HTS_Vocoder * v, const int nlpf) ++void HTS_Vocoder_end_excitation(HTS_Vocoder * v, const int nlpf) + { + int i; + +@@ -771,7 +773,7 @@ + } + + /* HTS_Vocoder_postfilter_mcp: postfilter for MCP */ +-static void HTS_Vocoder_postfilter_mcp(HTS_Vocoder * v, double *mcp, const int m, double alpha, double beta) ++void HTS_Vocoder_postfilter_mcp(HTS_Vocoder * v, double *mcp, const int m, double alpha, double beta) + { + double e1, e2; + int k; +@@ -797,7 +799,7 @@ + } + + /* HTS_Vocoder_postfilter_lsp: postfilter for LSP */ +-static void HTS_Vocoder_postfilter_lsp(HTS_Vocoder * v, double *lsp, size_t m, double alpha, double beta) ++void HTS_Vocoder_postfilter_lsp(HTS_Vocoder * v, double *lsp, size_t m, double alpha, double beta) + { + double e1, e2; + size_t i; +diff -Naur festival.orig/src/modules/hts_engine/HTS_vocoder.h festival/src/modules/hts_engine/HTS_vocoder.h +--- festival.orig/src/modules/hts_engine/HTS_vocoder.h 1970-01-01 01:00:00.000000000 +0100 ++++ festival/src/modules/hts_engine/HTS_vocoder.h 2015-07-28 18:21:15.431802892 +0200 +@@ -0,0 +1,42 @@ ++#ifndef HTS_VOCODER_H ++#define HTS_VOCODER_H ++ ++/* hts_engine libraries */ ++#include "HTS_hidden.h" ++ ++void HTS_Vocoder_clear(HTS_Vocoder *v); ++void HTS_Vocoder_synthesize(HTS_Vocoder *v,size_t m,double lf0,double *spectrum,size_t nlpf,double *lpf,double alpha,double beta,double volume,double *rawdata,HTS_Audio *audio); ++void HTS_Vocoder_initialize(HTS_Vocoder *v,size_t m,size_t stage,HTS_Boolean use_log_gain,size_t rate,size_t fperiod); ++void HTS_Vocoder_postfilter_lsp(HTS_Vocoder *v,double *lsp,size_t m,double alpha,double beta); ++void HTS_Vocoder_postfilter_mcp(HTS_Vocoder *v,double *mcp,const int m,double alpha,double beta); ++void HTS_Vocoder_end_excitation(HTS_Vocoder *v,const int nlpf); ++double HTS_Vocoder_get_excitation(HTS_Vocoder *v,const int fprd_index,const int iprd_index,const int nlpf,const double *lpf); ++void HTS_Vocoder_start_excitation(HTS_Vocoder *v,const double pitch,const int nlpf); ++void HTS_Vocoder_initialize_excitation(HTS_Vocoder *v,size_t nlpf); ++void HTS_ping_noise(HTS_Vocoder *v,const int ping_place,const int nlpf,const double *lpf); ++void HTS_ping_pulse(HTS_Vocoder *v,const int ping_place,const double p,const int nlpf,const double *lpf); ++double HTS_white_noise(HTS_Vocoder *v); ++double HTS_lsp2en(HTS_Vocoder *v,double *lsp,size_t m,double alpha); ++void HTS_check_lsp_stability(double *lsp,size_t m); ++double HTS_mglsadf(double x,const double *b,const int m,const double a,const int n,double *d); ++double HTS_mglsadff(double x,const double *b,const int m,const double a,double *d); ++void HTS_lsp2mgc(HTS_Vocoder *v,double *lsp,double *mgc,const int m,const double alpha); ++void HTS_mgc2mgc(HTS_Vocoder *v,double *c1,const int m1,const double a1,const double g1,double *c2,const int m2,const double a2,const double g2); ++void HTS_gc2gc(HTS_Vocoder *v,double *c1,const int m1,const double g1,double *c2,const int m2,const double g2); ++void HTS_lsp2lpc(HTS_Vocoder *v,double *lsp,double *a,const int m); ++void HTS_gnorm(double *c1,double *c2,int m,const double g); ++void HTS_ignorm(double *c1,double *c2,int m,const double g); ++double HTS_b2en(HTS_Vocoder *v,const double *b,const int m,const double a); ++void HTS_c2ir(const double *c,const int nc,double *h,const int leng); ++void HTS_freqt(HTS_Vocoder *v,const double *c1,const int m1,double *c2,const int m2,const double a); ++void HTS_b2mc(const double *b,double *mc,int m,const double a); ++void HTS_mc2b(double *mc,double *b,int m,const double a); ++int HTS_mseq(HTS_Vocoder *v); ++double HTS_nrandom(HTS_Vocoder *v); ++double HTS_rnd(unsigned long *next); ++double HTS_mlsadf(double x,const double *b,const int m,const double a,const int pd,double *d); ++double HTS_mlsadf2(double x,const double *b,const int m,const double a,const double aa,const int pd,double *d,const double *ppade); ++double HTS_mlsadf1(double x,const double *b,const int m,const double a,const double aa,const int pd,double *d,const double *ppade); ++double HTS_mlsafir(const double x,const double *b,const int m,const double a,const double aa,double *d); ++void HTS_movem(double *a,double *b,const int nitem); ++#endif Added: festival-gcc47.patch =================================================================== --- festival-gcc47.patch (rev 0) +++ festival-gcc47.patch 2015-11-28 13:18:47 UTC (rev 252022) @@ -0,0 +1,59 @@ +This patch allows compiling of festival on gcc 4.7 and clang 3.0. +Both these compilers are stricter of unqualified method calls in +templates than previous versions of gcc. +This patch should not alter the code in a substantive way as it +only qualifies method calls which were assumed in previous compilers. +No copyright subsists in this patch as it is too trivial. + +Author: Peter Drysdale <[email protected]> + +--- speech-tools-2.1~release.orig/base_class/EST_TSimpleVector.cc ++++ speech_tools/base_class/EST_TSimpleVector.cc +@@ -43,5 +43,6 @@ + #include "EST_TSimpleVector.h" + #include "EST_matrix_support.h" + #include <fstream> ++#include <cstring> + #include "EST_cutils.h" + #include <string.h> + + template<class T> void EST_TSimpleVector<T>::copy(const EST_TSimpleVector<T> &a) +@@ -52,7 +53,7 @@ template<class T> void EST_TSimpleVector + if (this->p_column_step==1 && a.p_column_step==1) + { + resize(a.n(), FALSE); +- memcpy((void *)(this->p_memory), (const void *)(a.p_memory), this->n() * sizeof(T)); ++ std::memcpy((void *)(this->p_memory), (const void *)(a.p_memory), this->n() * sizeof(T)); + } + else + ((EST_TVector<T> *)this)->copy(a); +@@ -141,7 +142,7 @@ template<class T> EST_TSimpleVector<T> & + template<class T> void EST_TSimpleVector<T>::zero() + { + if (this->p_column_step==1) +- memset((void *)(this->p_memory), 0, this->n() * sizeof(T)); ++ std::memset((void *)(this->p_memory), 0, this->n() * sizeof(T)); + else + ((EST_TVector<T> *)this)->fill(*this->def_val); + } + +--- speech-tools-2.1~release.orig/base_class/EST_TSimpleMatrix.cc ++++ speech_tools/base_class/EST_TSimpleMatrix.cc +@@ -44,5 +44,6 @@ + #include "EST_TVector.h" + #include <fstream> + #include <iostream> ++#include <cstring> + #include "EST_cutils.h" + #include <string.h> + + template<class T> +@@ -52,7 +53,7 @@ void EST_TSimpleMatrix<T>::copy_data(con + { + + if (!a.p_sub_matrix && !this->p_sub_matrix) +- memcpy((void *)&this->a_no_check(0,0), ++ std::memcpy((void *)&this->a_no_check(0,0), + (const void *)&a.a_no_check(0,0), + this->num_rows()*this->num_columns()*sizeof(T) + ); Modified: festival-shared-build.patch =================================================================== --- festival-shared-build.patch 2015-11-28 09:48:25 UTC (rev 252021) +++ festival-shared-build.patch 2015-11-28 13:18:47 UTC (rev 252022) @@ -1,18 +1,3 @@ ---- speech_tools/config/project.mak.orig 2007-03-13 15:27:53.000000000 -0400 -+++ speech_tools/config/project.mak 2007-03-13 15:29:12.000000000 -0400 -@@ -99,8 +99,9 @@ - PROJECT_LIBRARY_DIR_eststring = $(TOP)/lib - PROJECT_LIBRARY_DIR_estjava = $(TOP)/lib - --PROJECT_LIBRARY_USES_estbase = eststring -- -+PROJECT_LIBRARY_USES_estbase = eststring m -+PROJECT_LIBRARY_USES_estools = estbase m ncurses -+PROJECT_LIBRARY_USES_eststring = m - PROJECT_LIBRARY_USES_estjava = estbase eststring - - PROJECT_LIBRARY_VERSION_estools = $(PROJECT_VERSION).1 - --- speech_tools/config/rules/defaults.mak.orig 2007-03-16 12:39:12.000000000 -0400 +++ speech_tools/config/rules/defaults.mak 2007-03-16 12:39:19.000000000 -0400 @@ -69,15 +69,21 @@ @@ -41,7 +26,7 @@ REQUIRED_LIBS = $(foreach l,$(REQUIRED_LIBRARIES),-L$(REQUIRED_LIBRARY_DIR_$(l)) -l$(l)) --- festival/config/project.mak.orig 2007-03-16 13:01:40.000000000 -0400 +++ festival/config/project.mak 2007-03-16 13:02:24.000000000 -0400 -@@ -84,6 +84,8 @@ +@@ -83,6 +83,8 @@ PROJECT_LIBRARY_DIR_Festival = $(TOP)/src/lib PROJECT_DEFAULT_LIBRARY = Festival @@ -50,3 +35,38 @@ # Libraries used from other projects REQUIRED_LIBRARIES = estools estbase eststring +diff -p -up festival/speech_tools/config/compilers/gcc_defaults.mak.bettersoname festival/speech_tools/config/compilers/gcc_defaults.mak +--- speech_tools/config/compilers/gcc_defaults.mak.bettersoname 2010-12-06 10:25:35.000000000 +0100 ++++ speech_tools/config/compilers/gcc_defaults.mak 2010-12-06 10:27:51.000000000 +0100 +@@ -81,7 +81,7 @@ SHARED_CXXFLAGS = -fPIC + SHARED_LINKFLAGS = + + ifndef GCC_MAKE_SHARED_LIB +- MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX ++ MAKE_SHARED_LIB = $(CXX) -shared -o XXX -Wl,-soname,YYY + else + MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB) + endif +diff -p -up festival/speech_tools/config/rules/library.mak.bettersoname festival/speech_tools/config/rules/library.mak +--- speech_tools/config/rules/library.mak.bettersoname 2001-04-04 13:55:32.000000000 +0200 ++++ speech_tools/config/rules/library.mak 2010-12-06 10:25:35.000000000 +0100 +@@ -103,14 +103,14 @@ endif + ########################################################################### + + lib%.so : lib%.a +- @echo Make Shared Library $* ++ @echo Make Shared Library $(*F) + @if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi + @(cd shared_space ; $(AR) x ../$< ) +- @echo Link Shared Library $* +- if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_$*)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\ +- $(subst XXX,$@.$(PROJECT_LIBRARY_VERSION_$*),$(MAKE_SHARED_LIB)) shared_space/*.o $(PROJECT_LIBRARY_USES_$*:%=-L. -l%) $$libs ++ @echo Link Shared Library $(*F) ++ if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_$(*F))" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\ ++ $(subst XXX,$@.$(PROJECT_LIBRARY_VERSION_$(*F)),$(subst YYY,$(@F).$(PROJECT_LIBRARY_VERSION_$(*F)),$(MAKE_SHARED_LIB))) shared_space/*.o $(PROJECT_LIBRARY_USES_$(*F):%=-L. -l%) $$libs + @$(RM) -f shared_space/*.o $@ +- @ln -s $@.$(PROJECT_LIBRARY_VERSION_$*) $@ ++ @ln -s $(@F).$(PROJECT_LIBRARY_VERSION_$(*F)) $@ + + ########################################################################### + ## ## Deleted: festival.gcc47.patch =================================================================== --- festival.gcc47.patch 2015-11-28 09:48:25 UTC (rev 252021) +++ festival.gcc47.patch 2015-11-28 13:18:47 UTC (rev 252022) @@ -1,121 +0,0 @@ ---- speech_tools/base_class/EST_TSimpleMatrix.cc.gcc 2009-02-18 20:56:24.000000000 +0800 -+++ speech_tools/base_class/EST_TSimpleMatrix.cc 2012-10-14 13:06:35.000000000 +0800 -@@ -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 @@ - { - 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 @@ - 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.gcc 2009-02-18 20:52:55.000000000 +0800 -+++ speech_tools/base_class/EST_TSimpleVector.cc 2012-10-14 13:09:37.000000000 +0800 -@@ -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 @@ - 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.gcc 2004-05-04 08:00:16.000000000 +0800 -+++ speech_tools/include/EST_TIterator.h 2012-10-14 12:52:52.000000000 +0800 -@@ -101,7 +101,7 @@ - - /// Create an iterator ready to run over the given container. - EST_TIterator(const Container &over) -- { begin(over); } -+ { this->begin(over); } - - /// Copy an iterator by assignment - Iter &operator = (const Iter &orig) -@@ -109,7 +109,7 @@ - - /// Assigning a container to an iterator sets it ready to start. - Iter &operator = (const Container &over) -- { begin(over); return *this;} -+ { this->begin(over); return *this;} - - /// Set the iterator ready to run over this container. - void begin(const Container &over) -@@ -209,7 +209,7 @@ - - /// 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();} -@@ -239,7 +239,7 @@ - - /// Create an iterator ready to run over the given container. - EST_TRwIterator(Container &over) -- { begin(over); } -+ { this->begin(over); } - - /// Set the iterator ready to run over this container. - void begin(Container &over) -@@ -289,7 +289,7 @@ - - /// 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.gcc 2004-09-30 20:53:36.000000000 +0800 -+++ speech_tools/include/EST_TNamedEnum.h 2012-10-14 12:52:52.000000000 +0800 -@@ -130,7 +130,7 @@ - {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); }; - - }; - ---- festival/src/modules/Text/text_modes.cc.gcc 2012-10-14 13:08:54.000000000 +0800 -+++ festival/src/modules/Text/text_modes.cc 2012-10-14 13:09:09.000000000 +0800 -@@ -59,8 +59,8 @@ - void tts_file_user_mode(LISP filename, LISP params) - { - -- volatile EST_String tmpname = make_tmp_filename(); -- volatile EST_String inname = (EST_String)get_c_string(filename); -+ EST_String tmpname = make_tmp_filename(); -+ EST_String inname = (EST_String)get_c_string(filename); - volatile EST_String filter; - volatile EST_TokenStream ts; - volatile LISP func; Modified: speechconfig.patch =================================================================== --- speechconfig.patch 2015-11-28 09:48:25 UTC (rev 252021) +++ speechconfig.patch 2015-11-28 13:18:47 UTC (rev 252022) @@ -57,15 +57,12 @@ # speech recognition #INCLUDE_MODULES += ASR -@@ -169,8 +169,8 @@ - CONFIG_WRAPPER_LANGUAGES = PYTHON PERL5 +@@ -175,6 +175,6 @@ + CONFIG_WRAPPER_LANGUAGES = PYTHON # Language specific includes should be set to correct site paths -CONFIG_PYTHON_INCLUDES= -I/usr/include/python2.2/ --CONFIG_PERL_INCLUDES= -I/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/ +CONFIG_PYTHON_INCLUDES= -I/usr/include/python2.7/ -+CONFIG_PERL_INCLUDES= -I/usr/lib/perl5/core_perl/CORE/ - #OR OLD#CONFIG_PERL_INCLUDES= -I/usr/lib/perl5/5.6.1/i386-linux/CORE/ ## ################################################################### Only in speech_tools/config: config.in.orig
