Date: Fri, 6 Sep 2013 15:24:59 +0000 (UTC) From: Mikhail Teterin <mi@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r326512 - in head/audio/festival: . files Message-ID: <201309061524.r86FOxlf070485@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309061524.r86FOxlf070485>