Skip site navigation (1)Skip section navigation (2)
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>