From 91a39ed24a012e5d3da58282fabe5e412d92ecbe Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Wed, 24 Dec 2014 23:29:13 +0000 Subject: [PATCH] Add flite port --- app-accessibility/flite/flite-2.0.0.recipe | 119 ++++++++++ app-accessibility/flite/licenses/Flite | 206 ++++++++++++++++++ .../flite/patches/flite-2.0.0.patchset | 102 +++++++++ 3 files changed, 427 insertions(+) create mode 100644 app-accessibility/flite/flite-2.0.0.recipe create mode 100644 app-accessibility/flite/licenses/Flite create mode 100644 app-accessibility/flite/patches/flite-2.0.0.patchset diff --git a/app-accessibility/flite/flite-2.0.0.recipe b/app-accessibility/flite/flite-2.0.0.recipe new file mode 100644 index 000000000..1c0a9a0df --- /dev/null +++ b/app-accessibility/flite/flite-2.0.0.recipe @@ -0,0 +1,119 @@ +SUMMARY="A light-weight text-to-speech engine" +DESCRIPTION="Flite is a text-to-speech engine developed by the Carnegie \ +Mellon University. As a light-weight alternative to the Festival engine, it \ +is desinged to fit into small embedded machines as well as large-scale \ +servers. In addition to its native format flite supports voices generated by \ +the FestVox project as well. +" +HOMEPAGE="http://www.festvox.org/flite/" +SRC_URI="http://www.festvox.org/flite/packed/flite-2.0/flite-${portVersion}-release.tar.bz2" +CHECKSUM_SHA256="678c3860fd539402b5d1699b921239072af6acb4e72dc4720494112807cae411" +SOURCE_DIR="flite-${portVersion}-release" +REVISION="1" + +# Although individually many files have different licenses, as a whole this +# license covers all the files. +LICENSE=" + Flite + " +COPYRIGHT=" + 1986 University of Toronto + 1992, 1995 Markus Mummert + 1996-2004 University of Edinburgh, UK + 1999-2014 Language Technologies Institute, Carnegie Mellon University + 2001 Cepstral, LLC + 2001 Sun Microsystems, Inc. + 2003-2004 Nagoya Institute of Technology + 2003-2004 Nara Institute of Science and Technology + 2008-2012 University of Illinois at Urbana-Champaign + " + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86 x86_gcc2" + +EXTRA_CMD=" + cmu_time_awb + cmu_us_awb + cmu_us_kal + cmu_us_kal16 + cmu_us_rms + cmu_us_slt + " +EXTRA_LIBS=" + cmu_grapheme_lang + cmu_grapheme_lex + cmu_indic_lang + cmu_indic_lex + $EXTRA_CMD + cmulex + usenglish + " +PROVIDES=" + flite$secondaryArchSuffix = $portVersion + lib:libflite$secondaryArchSuffix = $portVersion compat >= 2 + flite_tools = $portVersion + cmd:flite$secondaryArchSuffix = $portVersion + cmd:flite_time$secondaryArchSuffix = $portVersion + " +DEVEL_LIBS="libflite" +for c in $EXTRA_CMD; do + PROVIDES=" + $PROVIDES + cmd:flite_${c} = $portVersion + " +done +PROVIDES_devel=" + flite${secondaryArchSuffix}_devel = $portVersion + devel:libflite$secondaryArchSuffix = $portVersion compat >= 2 + " +for l in $EXTRA_LIBS; do + PROVIDES=" + $PROVIDES + lib:libflite_${l}${secondaryArchSuffix} = $portVersion compat >= 2 + " + PROVIDES_devel=" + $PROVIDES_devel + devel:libflite_${l}${secondaryArchSuffix} = $portVersion compat >= 2 + " + DEVEL_LIBS=" + $DEVEL_LIBS + libflite_${l} + " +done +REQUIRES=" + haiku$secondaryArchSuffix + " +REQUIRES_devel=" + haiku${secondaryArchSuffix}_devel + flite$secondaryArchSuffix == $portVersion base + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:awk + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:mkdepend + " + +PATCHES="flite-${portVersion}.patchset" + +BUILD() +{ + autoconf + runConfigure ./configure \ + --enable-shared + make $jobArgs +} + +INSTALL() +{ + make install + prepareInstalledDevelLibs \ + $DEVEL_LIBS + packageEntries devel \ + $developDir +} diff --git a/app-accessibility/flite/licenses/Flite b/app-accessibility/flite/licenses/Flite new file mode 100644 index 000000000..7ec1cd92e --- /dev/null +++ b/app-accessibility/flite/licenses/Flite @@ -0,0 +1,206 @@ + +Flite is free software. + +We have kept the core code to BSD-like copyright, thus the system is +free to use in commercial products, with commercial extensions. GPL +code is only included as part of the build process and does not +taint any of the run-time code. + +As a collection it is distributed under the following license. Note +a few files in this distribution have a different but equally free +non-conflicting licence, see below. + + Language Technologies Institute + Carnegie Mellon University + Copyright (c) 1999-2014 + All Rights Reserved. + + Permission is hereby granted, free of charge, to use and distribute + this software and its documentation without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of this work, and to + permit persons to whom this work is furnished to do so, subject to + the following conditions: + 1. The code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Any modifications must be clearly marked as such. + 3. Original authors' names are not deleted. + 4. The authors' names are not used to endorse or promote products + derived from this software without specific prior written + permission. + + CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK + DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT + SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE + FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + THIS SOFTWARE. + +All files within this distribution have the above license except +the following + +src/cg/cst_mlpg.h +src/cg/cst_mlpg.c +src/cg/cst_mlsa.h +src/cg/cst_mlsa.c +src/cg/cst_vc.h +src/cg/cst_vc.c +/*********************************************************************/ +/* */ +/* Nagoya Institute of Technology, Aichi, Japan, */ +/* Nara Institute of Science and Technology, Nara, Japan */ +/* and */ +/* Carnegie Mellon University, Pittsburgh, PA */ +/* Copyright (c) 2003-2004 */ +/* All Rights Reserved. */ +/* */ +/* Permission is hereby granted, free of charge, to use and */ +/* distribute this software and its documentation without */ +/* restriction, including without limitation the rights to use, */ +/* copy, modify, merge, publish, distribute, sublicense, and/or */ +/* sell copies of this work, and to permit persons to whom this */ +/* work is furnished to do so, subject to the following conditions: */ +/* */ +/* 1. The code must retain the above copyright notice, this list */ +/* of conditions and the following disclaimer. */ +/* 2. Any modifications must be clearly marked as such. */ +/* 3. Original authors' names are not deleted. */ +/* */ +/* NAGOYA INSTITUTE OF TECHNOLOGY, NARA INSTITUTE OF SCIENCE AND */ +/* TECHNOLOGY, CARNEGIE MELLON UNIVERSITY, AND THE CONTRIBUTORS TO */ +/* THIS WORK DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, */ +/* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, */ +/* IN NO EVENT SHALL NAGOYA INSTITUTE OF TECHNOLOGY, NARA */ +/* INSTITUTE OF SCIENCE AND TECHNOLOGY, CARNEGIE MELLON UNIVERSITY, */ +/* NOR THE CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR */ +/* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM */ +/* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, */ +/* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN */ +/* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +/* */ +/*********************************************************************/ + +These functions are derived from the versions in festvox/src/vc/ as +modified by Tomoki Toda which in turn contain code derived from +NITECH's HTS system. Their copyright has the same freedoms as +as Flite's but under NAIST, NITECH and/or CMU. + +src/audio/au_wince.c +src/utils/cst_file_stdio.c +src/utils/cst_mmap_posix.c +src/utils/cst_mmap_win32.c +src/utils/cst_mmap_none.c +src/utils/cst_file_wince.c +sapi/ + are copyright Cepstral, LLC rather than CMU but fall under the same + free licence as the above, except for the owner. (Note the SAPI stuff + probably doesn't work any more) + +doc/alice + Is the first two chapters of Alice in Wonderland as distributed by the + Gutenburg project and is now in the public domain + +src/regex/regexp.c +src/regex/regsub.c + + * Copyright (c) 1986 by University of Toronto. + * Written by Henry Spencer. Not derived from licensed software. + * + * Permission is granted to anyone to use this software for any + * purpose on any computer system, and to redistribute it freely, + * subject to the following restrictions: + * + * 1. The author is not responsible for the consequences of use of + * this software, no matter how awful, even if they arise + * from defects in it. + * + * 2. The origin of this software must not be misrepresented, either + * by explicit claim or by omission. + * + * 3. Altered versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + +src/speech/rateconv.c + + * Copyright (c) 1992, 1995 by Markus Mummert + * + * Redistribution and use of this software, modifcation and inclusion + * into other forms of software are permitted provided that the following + * conditions are met: + * + * 1. Redistributions of this software must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. If this software is redistributed in a modified condition + * it must reveal clearly that it has been modified. + +lang/usenglish/us_durz_cart.c +lang/usenglish/us_durz_cart.h +lang/usenglish/us_int_accent_cart.c +lang/usenglish/us_int_accent_cart.h +lang/usenglish/us_int_tone_cart.c +lang/usenglish/us_int_tone_cart.h +lang/usenglish/us_phoneset.c +lang/usenglish/us_f0lr.c + These are directly (or indirectly) compiled/derived from files that are + part of the Festival Speech Synthesis System (1.4.1). Hence they have + a joint copyright CMU/Edinburgh but with the same free licence + +configure + # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. + # + # This configure script is free software; the Free Software Foundation + # gives unlimited permission to copy, distribute and modify it. + +configure.sub +config.guess +missing +install-sh +mkinstalldirs + Copyright FSF, and under the GPL, these files are only used for + convenient configuration and are not part of the generated binary, + and therefore do not impose any GPL restrctions on the rest of the + system. But as they are standard methods for configuration they + are included. + +src/speech/g72x.h +src/speech/g721.c +src/speech/g72x.c +src/speech/g723_24.c +src/speech/g723_40.c + +/* + * This source code is a product of Sun Microsystems, Inc. and is provided + * for unrestricted use. Users may copy or modify this source code without + * charge. + * + * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING + * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * + * Sun source code is provided with no support and without any obligation on + * the part of Sun Microsystems, Inc. to assist in its use, correction, + * modification or enhancement. + * + * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE + * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE + * OR ANY PART THEREOF. + * + * In no event will Sun Microsystems, Inc. be liable for any lost revenue + * or profits or other special, indirect and consequential damages, even if + * Sun has been advised of the possibility of such damages. + * + * Sun Microsystems, Inc. + * 2550 Garcia Avenue + * Mountain View, California 94043 + */ + +lang/cmu_grapheme_lex/grapheme_unitran_tables.c +/* Copyright 2008-2012, University of Illinois at Urbana-Champaign */ +/* distributed under the Apache License, Version (2.0) */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* Original table developed by Richard Sproat and Kyoung-young Kim */ +/* Ported for Festvox by Gopala Anumachipalli gopalakr@cs.cmu.edu Sep 2012 */ +/* Then converted to C for CMU Flite (cmuflite.org) */ diff --git a/app-accessibility/flite/patches/flite-2.0.0.patchset b/app-accessibility/flite/patches/flite-2.0.0.patchset new file mode 100644 index 000000000..0d51c70e4 --- /dev/null +++ b/app-accessibility/flite/patches/flite-2.0.0.patchset @@ -0,0 +1,102 @@ +From b21c80cf33debb37b6638ab2be8d188c5a14eafb Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 24 Dec 2014 22:37:15 +0000 +Subject: Support shared libraries on Haiku + + +diff --git a/configure.in b/configure.in +index 972d818..c2472a6 100644 +--- a/configure.in ++++ b/configure.in +@@ -265,6 +265,10 @@ fi + + if test "$shared" = true; then + case "$target_os" in ++ haiku*) ++ SHFLAGS="-fPIC" ++ OTHERLIBS="-lnetwork" ++ ;; + linux*|k*bsd*-gnu|gnu*) + SHFLAGS="-fPIC" + ;; +-- +1.8.3.4 + + +From 95e4aff793bbef466ed151897d71585bcb7e0321 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 24 Dec 2014 22:38:03 +0000 +Subject: Do not unconditionally add `-lm` to linking commands + +TODO: make this more platform-independent. + +diff --git a/config/common_make_rules b/config/common_make_rules +index 7a03785..0dacbb6 100644 +--- a/config/common_make_rules ++++ b/config/common_make_rules +@@ -68,7 +68,7 @@ BUILDDIRS=$(OBJDIR) $(BINDIR) $(LIBDIR) + + FLITELIBS = $(BUILDDIR)/lib/libflite.a + FLITELIBFLAGS = -L$(BUILDDIR)/lib -lflite +-LDFLAGS += -lm $(AUDIOLIBS) $(OTHERLIBS) ++LDFLAGS += $(AUDIOLIBS) $(OTHERLIBS) + + FULLOBJS = $(OBJS:%=$(OBJDIR)/%) + ifdef SHFLAGS +-- +1.8.3.4 + + +From 96416a919c8ea1fcafd457502ee2bc6fd3ef107f Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 24 Dec 2014 22:39:36 +0000 +Subject: cmu_indic_lex: Separate code and declaration + + +diff --git a/lang/cmu_indic_lex/cmu_indic_lex.c b/lang/cmu_indic_lex/cmu_indic_lex.c +index 3c586cb..ee682d6 100644 +--- a/lang/cmu_indic_lex/cmu_indic_lex.c ++++ b/lang/cmu_indic_lex/cmu_indic_lex.c +@@ -334,6 +334,9 @@ cst_val *cmu_indic_lex_ord_to_phones(const cst_val *ords, + int cur_char_type = 0; + int next_char_type = 0; + ++ const cst_val *v, *vx; ++ cst_val *ph; ++ + // Ignore chars (filter) + in_ords = cmu_indic_lex_remove_ignore_chars(ords); + +@@ -431,8 +434,6 @@ cst_val *cmu_indic_lex_ord_to_phones(const cst_val *ords, + } + } + +- const cst_val *v, *vx; +- cst_val *ph; + for(v=out_phone_strings; v; v=val_cdr(v)) { + ph = val_readlist_string(val_string(val_car(v))); + for(vx=ph; vx; vx=val_cdr(vx)) { +-- +1.8.3.4 + + +From 8b998ca76f21a8bb7cf240fd7ed40627eafbc2d8 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 24 Dec 2014 23:44:02 +0000 +Subject: Bump shlib version to libflite.so.2 + +This way it is consistent with libflite.so.2.0.0 + +diff --git a/config/project.mak b/config/project.mak +index f42ee12..252f22a 100644 +--- a/config/project.mak ++++ b/config/project.mak +@@ -40,4 +40,4 @@ PROJECT_VERSION = 2.0.0 + PROJECT_DATE = Dec 2014 + PROJECT_STATE = release + +-PROJECT_SHLIB_VERSION = 1 ++PROJECT_SHLIB_VERSION = 2 +-- +1.8.3.4 +