[arch-commits] Commit in festival/trunk (7 files)

Antonio Rojas arojas at archlinux.org
Sat Nov 28 13:18:47 UTC 2015


    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 <andrea at archlinux.org>
 # Contributor: Simo Leone <neotuli at gmail.com>
 
 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 <drysdalepete at gmail.com>
+
+--- 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



More information about the arch-commits mailing list