svn commit: r326512 - in head/audio/festival: . files
Mikhail Teterin
mi at FreeBSD.org
Fri Sep 6 15:25:00 UTC 2013
Author: mi
Date: Fri Sep 6 15:24:58 2013
New Revision: 326512
URL: http://svnweb.freebsd.org/changeset/ports/326512
Log:
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
Added:
head/audio/festival/files/patch-debian-bug-667377 (contents, props changed)
head/audio/festival/files/patch-long-over-float (contents, props changed)
head/audio/festival/files/patch-voxware (contents, props changed)
Deleted:
head/audio/festival/files/patch-intptr_t
head/audio/festival/files/patch-tests
Modified:
head/audio/festival/Makefile
head/audio/festival/distinfo (contents, props changed)
head/audio/festival/pkg-plist (contents, props changed)
Modified: head/audio/festival/Makefile
==============================================================================
--- head/audio/festival/Makefile Fri Sep 6 15:15:10 2013 (r326511)
+++ head/audio/festival/Makefile Fri Sep 6 15:24:58 2013 (r326512)
@@ -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 at 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
Modified: head/audio/festival/distinfo
==============================================================================
--- head/audio/festival/distinfo Fri Sep 6 15:15:10 2013 (r326511)
+++ head/audio/festival/distinfo Fri Sep 6 15:24:58 2013 (r326512)
@@ -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
Added: head/audio/festival/files/patch-debian-bug-667377
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/audio/festival/files/patch-debian-bug-667377 Fri Sep 6 15:24:58 2013 (r326512)
@@ -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); };
+
+ };
+
Added: head/audio/festival/files/patch-long-over-float
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/audio/festival/files/patch-long-over-float Fri Sep 6 15:24:58 2013 (r326512)
@@ -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;
Added: head/audio/festival/files/patch-voxware
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/audio/festival/files/patch-voxware Fri Sep 6 15:24:58 2013 (r326512)
@@ -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"))
Modified: head/audio/festival/pkg-plist
==============================================================================
--- head/audio/festival/pkg-plist Fri Sep 6 15:15:10 2013 (r326511)
+++ head/audio/festival/pkg-plist Fri Sep 6 15:24:58 2013 (r326512)
@@ -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
More information about the svn-ports-head
mailing list