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 + diff --git a/app-accessibility/speech_tools/licenses/Edinburgh Speech Tools b/app-accessibility/speech_tools/licenses/Edinburgh Speech Tools new file mode 100644 index 000000000..f26d8fce4 --- /dev/null +++ b/app-accessibility/speech_tools/licenses/Edinburgh Speech Tools @@ -0,0 +1,70 @@ + Centre for Speech Technology Research + University of Edinburgh, UK + Copyright (c) 1994-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. + +THE UNIVERSITY OF EDINBURGH 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 THE UNIVERSITY OF EDINBURGH 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. + +COPYING +------------------------------------------------------------------------ + +Some files in the distribution do not fall under the above copyright. +However none have any commercial restrictions, and no files fall under +the GPL. Specifically files that have different licences are as +follows: + +grammar/wfst/wfst_train.cc + Copyright Carnegie Mellon University (under the same + open licences as much of the rest of the code). +siod/ +include/siod*.h +lib/siod/siod.scm + Apart from some new functionality under our licence the SIOD + files fall under the licence given in siod/slib.cc copyright + Paradigm Associates. This code has been substantially modified + by us though our changes are under that licence. + + editline.c editline.h el_complete.c el_sysunix.c el_unix.h + are copyright 1992 Simmule Turner and Rich Salz under the + "BSD like" licence in siod/editline.c Again substantial + changes have been made by us which continue to be under that + licence + +rxp/ +include/rxp/ + Is Copyright Richard Tobin. We have a specific version of RXP + which allows free (including non-commercial) use. + +base_class/raveconv.cc + Is copyright 1992, 1995 by Markus Mummert + +base_class/string/reg*.{c,cc} + Copyright (c) 1986 by University of Toronto. + +base_class/string/EST_strcasecmp.c + Copyright (c) 1987, 1993 + The Regents of the University of California. All rights reserved. + + The 3-clause BSD licence diff --git a/app-accessibility/speech_tools/patches/speech_tools-2.4.patchset b/app-accessibility/speech_tools/patches/speech_tools-2.4.patchset new file mode 100644 index 000000000..ed06dd054 --- /dev/null +++ b/app-accessibility/speech_tools/patches/speech_tools-2.4.patchset @@ -0,0 +1,2977 @@ +From e6652c7af6115fb1e3465f79fa7344fcb030389e Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:13:10 -0800 +Subject: Proper compiling routines + +Backported from Debian: debian_build.diff + +Signed-off-by: Timothy Gu + +diff --git a/config/compilers/gcc_defaults.mak b/config/compilers/gcc_defaults.mak +index 193ce24..befcd31 100644 +--- a/config/compilers/gcc_defaults.mak ++++ b/config/compilers/gcc_defaults.mak +@@ -39,7 +39,7 @@ + ########################################################################### + + CC=gcc +-CXX=gcc ++CXX=g++ + ifeq ($(OSTYPE),Darwin) + CXX=g++ + endif +@@ -47,8 +47,9 @@ endif + COMPILER_DESC=FSF gcc + COMPILER_VERSION_COMMAND=$(CXX) -v 2>&1 | tail -1 | sed -e 's/^....//' + +-CFLAGS = $(GCC_SYSTEM_OPTIONS) $(CC_OTHER_FLAGS) +-CXXFLAGS = $(GCC_SYSTEM_OPTIONS) -fno-implicit-templates $(CC_OTHER_FLAGS) ++CFLAGS += $(GCC_SYSTEM_OPTIONS) $(CC_OTHER_FLAGS) $(CPPFLAGS) ++CXXFLAGS += $(GCC_SYSTEM_OPTIONS) $(CC_OTHER_FLAGS) $(CPPFLAGS) ++LINKFLAGS += $(LDFLAGS) + + DEBUG_CCFLAGS = -g + DEBUG_CXXFLAGS = -g +@@ -81,7 +82,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 -Wl,YYY + else + MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB) + endif +diff --git a/config/project.mak b/config/project.mak +index 5e9c216..2578fc1 100644 +--- a/config/project.mak ++++ b/config/project.mak +@@ -103,12 +103,15 @@ PROJECT_LIBRARY_USES_estbase = eststring + + PROJECT_LIBRARY_USES_estjava = estbase eststring + +-PROJECT_LIBRARY_VERSION_estools = $(PROJECT_VERSION).1 +-PROJECT_LIBRARY_VERSION_estbase = $(PROJECT_VERSION).1 +-PROJECT_LIBRARY_VERSION_eststring = 1.2 +-PROJECT_LIBRARY_VERSION_estjava = $(PROJECT_VERSION).1 ++# These are used for the SONAME fields in ELF libraries ++PROJECT_LIBRARY_VERSION_estools = $(PROJECT_MAJOR_VERSION) ++PROJECT_LIBRARY_VERSION_estbase = $(PROJECT_MAJOR_VERSION) ++PROJECT_LIBRARY_VERSION_eststring = $(PROJECT_MAJOR_VERSION) ++PROJECT_LIBRARY_VERSION_estjava = $(PROJECT_MAJOR_VERSION) + + PROJECT_LIBRARY_NEEDS_SYSLIBS_estjava=1 ++# This line allows estbase to link with libpulse among others ++PROJECT_LIBRARY_NEEDS_SYSLIBS_estbase=1 + + PROJECT_DEFAULT_LIBRARY = estools + +diff --git a/config/rules/bin_process.mak b/config/rules/bin_process.mak +index a1b9807..7158f83 100644 +--- a/config/rules/bin_process.mak ++++ b/config/rules/bin_process.mak +@@ -59,6 +59,7 @@ endif + Makefile ) : ;; \ + VCLocalRules ) : ;; \ + RCS|CVS ) : ;; \ ++ SCCS|BitKeeper ) : ;; \ + * ) $(ECHO_N) " $$i"; $(RM) -f "$$i";; \ + esac \ + done +diff --git a/config/rules/library.mak b/config/rules/library.mak +index 0181988..497180f 100644 +--- a/config/rules/library.mak ++++ b/config/rules/library.mak +@@ -102,15 +102,44 @@ endif + ## ## + ########################################################################### + ++libestools.so : libestools.a ++ echo Make Shared Library estools ++ if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi ++ (cd shared_space ; $(AR) x ../$< ) ++ echo Link Shared Library estools ++ if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_estools)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\ ++ $(subst YYY,$@.$(PROJECT_LIBRARY_VERSION_estools),\ ++ $(subst XXX,$@.$(PROJECT_VERSION),$(MAKE_SHARED_LIB))) \ ++ shared_space/*.o $(PROJECT_LIBRARY_USES_estools:%=-L. -l%) $$libs -L. -lestbase -leststring -lncurses ++ $(RM) -f shared_space/*.o $@ ++ -ln -sf $@.$(PROJECT_VERSION) $@.$(PROJECT_LIBRARY_VERSION_estools) ++ -ln -sf $@.$(PROJECT_LIBRARY_VERSION_estools) $@ ++ ++libestbase.so : libestbase.a ++ echo Make Shared Library estbase ++ if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi ++ (cd shared_space ; $(AR) x ../$< ) ++ echo Link Shared Library estbase ++ if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_estbase)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\ ++ $(subst YYY,$@.$(PROJECT_LIBRARY_VERSION_estbase),\ ++ $(subst XXX,$@.$(PROJECT_VERSION),$(MAKE_SHARED_LIB))) \ ++ shared_space/*.o $(PROJECT_LIBRARY_USES_estbase:%=-L. -l%) $$libs -L. ++ $(RM) -f shared_space/*.o $@ ++ -ln -sf $@.$(PROJECT_VERSION) $@.$(PROJECT_LIBRARY_VERSION_estbase) ++ -ln -sf $@.$(PROJECT_LIBRARY_VERSION_estbase) $@ ++ + lib%.so : lib%.a +- @echo Make Shared Library $* +- @if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi +- @(cd shared_space ; $(AR) x ../$< ) +- @echo Link Shared Library $* ++ echo Make Shared Library $* ++ 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 +- @$(RM) -f shared_space/*.o $@ +- @ln -s $@.$(PROJECT_LIBRARY_VERSION_$*) $@ ++ $(subst YYY,$@.$(PROJECT_LIBRARY_VERSION_$*),\ ++ $(subst XXX,$@.$(PROJECT_VERSION),$(MAKE_SHARED_LIB))) \ ++ shared_space/*.o $(PROJECT_LIBRARY_USES_$*:%=-L. -l%) $$libs ++ $(RM) -f shared_space/*.o $@ ++ -ln -sf $@.$(PROJECT_VERSION) $@.$(PROJECT_LIBRARY_VERSION_$*) ++ -ln -sf $@.$(PROJECT_LIBRARY_VERSION_$*) $@ + + ########################################################################### + ## ## +diff --git a/config/rules/targets.mak b/config/rules/targets.mak +index f052401..0c55b00 100644 +--- a/config/rules/targets.mak ++++ b/config/rules/targets.mak +@@ -71,7 +71,7 @@ ifdef ALL_DIRS + @ for i in $(ALL_DIRS) ; \ + do \ + echo "clean in $(DIRNAME)/$$i" ;\ +- $(MAKE) --no-print-directory -C $$i clean ; \ ++ $(MAKE) --no-print-directory -C $$i NO_DEPEND=1 clean ; \ + done + endif + ifdef EXTRA_LIB_BUILD_DIRS +diff --git a/config/system.sh b/config/system.sh +index af07781..71b271c 100644 +--- a/config/system.sh ++++ b/config/system.sh +@@ -60,8 +60,7 @@ OSREV=`{ uname -r || echo ""; } 2> /dev/null | + sed -e 's/^\([^.]*\)\(\.[^-. ]*\).*/\1\2/'` + + # Sort out various flavours of Linux +-if [ "$OSTYPE" = Linux ] +- then ++case "$OSTYPE" in Linux|GNU|GNU/*) + if [ -f "/etc/redhat-release" ] + then + OSTYPE=RedHatLinux +@@ -74,7 +73,8 @@ if [ "$OSTYPE" = Linux ] + # Generic unknown GNU/Linux system. + OSTYPE=Linux + fi +-fi ++;; ++esac + + # Make sure we actually have a .mak file for it, otherwise fall back + # to sensible defaults (for example, kernel version and architecture +-- +1.8.3.4 + + +From 0eca7062ef526b969b4bc63a396bf380838369ee Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:14:58 -0800 +Subject: Use datadir for architecure-independent runtime libs + +Backported from Debian: datadir_fhs.diff, revision 7ec39b344cab. + +Signed-off-by: Timothy Gu + +diff --git a/include/EST_cutils.h b/include/EST_cutils.h +index c285204..8c8dc31 100644 +--- a/include/EST_cutils.h ++++ b/include/EST_cutils.h +@@ -48,6 +48,7 @@ extern "C" { + extern const char * const est_tools_version; + extern const char * const est_name; + extern const char * const est_libdir; ++extern const char * const est_datadir; + extern const char * const est_ostype; + + #include "EST_walloc.h" +diff --git a/lib/siod/siod.scm b/lib/siod/siod.scm +index a910390..227d48f 100644 +--- a/lib/siod/siod.scm ++++ b/lib/siod/siod.scm +@@ -426,19 +426,28 @@ return values." + ;; will be set automatically on start-up + (defvar libdir ' + "libdir +- The pathname of the run-time libary directory. Note reseting is +- almost definitely not what you want to do. This value is automatically +- set at start up from the value specifed at compile-time or the value +- specifed with --libdir on the command line. A number of other variables +- depend on this value.") +- +-(defvar load-path (list libdir) ++ The pathname of the architecture-dependent run-time libary directory. ++ Note reseting is almost definitely not what you want to do. This ++ value is automatically set at start up from the value specifed at ++ compile-time or the value specifed with --libdir on the command line. ++ A number of other variables depend on this value.") ++ ++(defvar datadir ' ++ "datadir ++ The pathname of the architecture-independent run-time libary ++ directory. Note reseting is almost definitely not what you want to ++ do. This value is automatically set at start up from the value ++ specifed at compile-time or the value specifed with --datadir on the ++ command line. A number of other variables depend on this value.") ++ ++(defvar load-path (list datadir) + "load-path + A list of directories containing .scm files. Used for various functions + such as load_library and require. Follows the same use as EMACS. By +- default it is set up to the compile-time library directory but may be +- changed by the user at run time, by adding a user's own library directory +- or even replacing all of the standard library. [see Site initialization]") ++ default it is set up to the compile-time architecture-independent ++ library directory but may be changed by the user at run time, by ++ adding a user's own library directory or even replacing all of the ++ standard library. [see Site initialization]") + + ;; will be set automatically on start-up + (defvar *ostype* 'unknown +@@ -447,12 +456,6 @@ return values." + on, e.g. SunOS5, FreeBSD, linux etc. The value is taken from the Makefile + variable OSTYPE at compile time.") + +-(defvar etc-path (path-append libdir "etc/" *ostype*) +- "etc-path +- A list of directories where binaries specific to Festival may be located. +- This variable is automatically set to LIBDIR/etc/OSTYPE/ +- and that path is added to the end of the UNIX PATH environment variable.") +- + (define (library_expand_filename fname) + "(library_expand_filename FILENAME) + Search for filename by appending FILENAME to each member of load-path. +diff --git a/main/siod_main.cc b/main/siod_main.cc +index 2c4a1a0..e93ba6c 100644 +--- a/main/siod_main.cc ++++ b/main/siod_main.cc +@@ -178,7 +178,7 @@ static void siod_load_default_files(void) + EST_Pathname initfile; + + // Load library init first +- initfile = EST_Pathname(est_libdir).as_directory(); ++ initfile = EST_Pathname(est_datadir).as_directory(); + initfile += "siod"; + initfile += "init.scm"; + +@@ -197,9 +197,12 @@ static void siod_lisp_vars(void) + + lib = EST_Pathname(est_libdir).as_directory(); + lib += "siod"; +- + siod_set_lval("libdir",strintern(lib)); + ++ lib = EST_Pathname(est_datadir).as_directory(); ++ lib += "siod"; ++ siod_set_lval("datadir",strintern(lib)); ++ + if (!strcmp(est_ostype,"")) + siod_set_lval("*ostype*",rintern(est_ostype)); + siod_set_lval("est_version", +@@ -221,19 +224,10 @@ static void siod_lisp_vars(void) + cons(flocons(minor), + cons(flocons(subminor),NIL)))); + +- EST_Pathname etcdircommon = est_libdir; +- etcdircommon += "etc"; +- +- EST_Pathname etcdir = etcdircommon; +- etcdir += est_ostype; +- + // Modify my PATH to include these directories +- siod_set_lval("etc-path",cons(rintern(etcdir), +- cons(rintern(etcdircommon),NIL))); +- + EST_String path = getenv("PATH"); + +- path += ":" + EST_String(etcdir) + ":" + EST_String(etcdircommon); ++ path += ":" + EST_String(est_libdir); + + putenv(wstrdup("PATH=" + path)); + +diff --git a/main/xml_parser_main.cc b/main/xml_parser_main.cc +index 41579f6..8f8a7e1 100644 +--- a/main/xml_parser_main.cc ++++ b/main/xml_parser_main.cc +@@ -165,7 +165,7 @@ int main(int argc, char *argv[]) + al.sval("-sysdir") + "/\\1"); + + pclass.register_id("//CSTR//EST \\(.*\\)", +- EST_String::cat(est_libdir, "/\\1.dtd")); ++ EST_String::cat(est_datadir, "/\\1.dtd")); + + /* An individual parser runs over a single source. + */ +diff --git a/utils/EST_cutils.c b/utils/EST_cutils.c +index fd29653..af30aed 100644 +--- a/utils/EST_cutils.c ++++ b/utils/EST_cutils.c +@@ -54,12 +54,19 @@ const char * const est_name = STRINGIZE(ESTNAME); + #ifdef ESTLIBDIRC + # define ESTLIBDIR STRINGIZE(ESTLIBDIRC) + #endif +- + #ifndef ESTLIBDIR + #define ESTLIBDIR "/usr/local/lib/speech_tools" + #endif + ++#ifdef ESTDATADIRC ++# define ESTDATADIR STRINGIZE(ESTDATADIRC) ++#endif ++#ifndef ESTDATADIR ++#define ESTDATADIR "/usr/local/share/speech_tools" ++#endif ++ + const char * const est_libdir = ESTLIBDIR; ++const char * const est_datadir = ESTDATADIR; + + const char * const est_ostype = STRINGIZE(ESTOSTYPE); + +diff --git a/utils/Makefile b/utils/Makefile +index c17bab4..62a0de8 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -58,5 +58,5 @@ ALL = .buildlibs + include $(TOP)/config/common_make_rules + + EST_cutils.o: EST_cutils.c +- $(CC_COMMAND) -DESTNAME='$(PROJECT_NAME)' -DESTDATE='$(PROJECT_DATE)' -DESTVERSION='$(PROJECT_VERSION)' -DESTLIBDIRC='$(EST_HOME)/lib' -DESTSTATE='$(PROJECT_STATE)' -DESTOSTYPE='$(SYSTEM_TYPE)' EST_cutils.c ++ $(CC_COMMAND) -DESTNAME='$(PROJECT_NAME)' -DESTDATE='$(PROJECT_DATE)' -DESTVERSION='$(PROJECT_VERSION)' -DESTLIBDIR=\"$(EST_HOME)/lib\" -DESTDATADIR=\"$(EST_HOME)/share\" -DESTSTATE='$(PROJECT_STATE)' -DESTOSTYPE='$(SYSTEM_TYPE)' EST_cutils.c + +-- +1.8.3.4 + + +From 30567c705c2e5aaf1c45737ebc409a87e70bf690 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:17:52 -0800 +Subject: Use standard headers + +Backported from Debian: use_standard_headers.diff, rev fc5c7c603109 + +Signed-off-by: Timothy Gu + +diff --git a/include/EST_dynamic_model.h b/include/EST_dynamic_model.h +index a54a0c5..7807f8a 100644 +--- a/include/EST_dynamic_model.h ++++ b/include/EST_dynamic_model.h +@@ -38,8 +38,8 @@ + /*=======================================================================*/ + + #include +-#include +-#include ++#include ++#include + #include "EST.h" + #include "EST_model_types.h" + +-- +1.8.3.4 + + +From a03f11db6ac385ceb2f2897214e56fec6a477eff Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:19:24 -0800 +Subject: Force the use of actual template of EST_TIterator + +Backported from Debian: include_EST_TIterator.h.diff, rev c16015e8c96. + +Signed-off-by: Timothy Gu + +diff --git a/include/EST_TIterator.h b/include/EST_TIterator.h +index 7ce188e..832e8e3 100644 +--- a/include/EST_TIterator.h ++++ b/include/EST_TIterator.h +@@ -228,7 +228,7 @@ private: + + public: + +- typedef EST_TIterator Iter; ++ typedef EST_TRwIterator Iter; + + /// Create an iterator not associated with any specific container. + EST_TRwIterator() {this->cont=NULL;} +@@ -278,7 +278,7 @@ class EST_TRwStructIterator + { + public: + +- typedef EST_TIterator Iter; ++ typedef EST_TRwStructIterator Iter; + + /// Create an iterator not associated with any specific container. + EST_TRwStructIterator() {this->cont=NULL;} +-- +1.8.3.4 + + +From 5a0d0a6091371c358a47f4a6c14eadbd300b1ac0 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:22:25 -0800 +Subject: Modify data loading memory management to avoid crashes + +Author: Samuel Thibault + +Backported from Debian: speech_class/EST_WaveFile.cc, rev 1d2d56519d + +Signed-off-by: Timothy Gu + +diff --git a/speech_class/EST_WaveFile.cc b/speech_class/EST_WaveFile.cc +index ba8a362..7f07a31 100644 +--- a/speech_class/EST_WaveFile.cc ++++ b/speech_class/EST_WaveFile.cc +@@ -85,7 +85,10 @@ EST_read_status load_using(standard_load_fn_fp fn, + + if (status == read_ok) + { +- wv.values().set_memory(data, 0, nsamp, nchan, TRUE); ++ short *data2 = new short[nsamp*nchan]; ++ memcpy(data2, data, nsamp*nchan*sizeof(short)); ++ wfree(data); ++ wv.values().set_memory(data2, 0, nsamp, nchan, TRUE); + wv.set_sample_rate(srate); + } + +-- +1.8.3.4 + + +From 2a470daf58bcebc49461b08c678bb4dd694adf1b Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:24:19 -0800 +Subject: Use 3-clause BSD license for the files derived from BSD + +BSD (where these two files came from) already switched to 3-clause BSD. + +Backported from Debian: copyright_4clausefix.diff, rev 9d3453539788. + +Changes to README made by me (Timothy), with the same rationale as the original +Debian patch. + +Signed-off-by: Timothy Gu + +diff --git a/README b/README +index 88e3ded..dfdeae5 100644 +--- a/README ++++ b/README +@@ -126,7 +126,7 @@ base_class/string/EST_strcasecmp.c + Copyright (c) 1987, 1993 + The Regents of the University of California. All rights reserved. + +- The standard BSD licence ++ The 3-clause BSD licence + + + ACKNOWLEDGEMENTS +diff --git a/base_class/string/EST_strcasecmp.c b/base_class/string/EST_strcasecmp.c +index 72a9b7c..1c48a32 100755 +--- a/base_class/string/EST_strcasecmp.c ++++ b/base_class/string/EST_strcasecmp.c +@@ -10,11 +10,7 @@ + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. +- * 3. All advertising materials mentioning features or use of this software +- * must display the following acknowledgement: +- * This product includes software developed by the University of +- * California, Berkeley and its contributors. +- * 4. Neither the name of the University nor the names of its contributors ++ * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * +diff --git a/base_class/string/regexp.h b/base_class/string/regexp.h +index 578c968..8b310ae 100644 +--- a/base_class/string/regexp.h ++++ b/base_class/string/regexp.h +@@ -14,11 +14,7 @@ + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. +- * 3. All advertising materials mentioning features or use of this software +- * must display the following acknowledgement: +- * This product includes software developed by the University of +- * California, Berkeley and its contributors. +- * 4. Neither the name of the University nor the names of its contributors ++ * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * +-- +1.8.3.4 + + +From 3de08ae8da37beb2665fb8a256311315f5edd31c Mon Sep 17 00:00:00 2001 +From: Sergio Oller +Date: Thu, 25 Dec 2014 14:33:54 -0800 +Subject: Seeking and reading interface to istreams in EST_TokenStream + +Reduces IO disk usage when using HTS voices. + +Backported from Debian: tokenstream_istream.diff, rev b3d550a5aa330. + +Signed-off-by: Timothy Gu + +diff --git a/base_class/EST_Token.cc b/base_class/EST_Token.cc +index 4287d19..533467d 100644 +--- a/base_class/EST_Token.cc ++++ b/base_class/EST_Token.cc +@@ -287,8 +287,9 @@ int EST_TokenStream::seek_end() + return -1; + break; + case tst_istream: +- cerr << "EST_TokenStream seek on istream not yet supported" << endl; +- return -1; ++ is->seekg(0,is->end); ++ p_filepos = is->tellg(); ++ return p_filepos; + break; + case tst_string: + pos = buffer_length; +@@ -320,8 +321,9 @@ int EST_TokenStream::seek(int position) + return -1; + break; + case tst_istream: +- cerr << "EST_TokenStream seek on istream not yet supported" << endl; +- return -1; ++ p_filepos = position; ++ is->seekg(position, is->beg); ++ return 0; + break; + case tst_string: + if (position >= pos) +@@ -381,8 +383,9 @@ int EST_TokenStream::fread(void *buff, int size, int nitems) + return 0; + break; + case tst_istream: +- cerr << "EST_TokenStream fread istream not yet supported" << endl; +- return 0; ++ is->read((char*)buff, (size_t) size*nitems); ++ return is->gcount()/size; ++ break; + case tst_string: + if ((buffer_length-pos)/size < nitems) + items_read = (buffer_length-pos)/size; +-- +1.8.3.4 + + +From 1a4805cb16dd6d322b8736c0846748f1bf8fa2f0 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:48:11 -0800 +Subject: Add ALAW support + +Backported from Debian: alaw.diff, rev da4af248. + +Signed-off-by: Timothy Gu + +diff --git a/include/EST_wave_aux.h b/include/EST_wave_aux.h +index 4995794..9d2bfde 100644 +--- a/include/EST_wave_aux.h ++++ b/include/EST_wave_aux.h +@@ -97,6 +97,7 @@ void alaw_to_short(const unsigned char *alaw,short *data,int length); + void uchar_to_short(const unsigned char *chars,short *data,int length); + void short_to_char(const short *data,unsigned char *chars,int length); + void short_to_ulaw(const short *data,unsigned char *ulaw,int length); ++void short_to_alaw(const short *data,unsigned char *alaw,int length); + + // Used when setting Waves in Features + VAL_REGISTER_CLASS_DCLS(wave,EST_Wave) +diff --git a/speech_class/EST_WaveFile.cc b/speech_class/EST_WaveFile.cc +index 7f07a31..5e8d46e 100644 +--- a/speech_class/EST_WaveFile.cc ++++ b/speech_class/EST_WaveFile.cc +@@ -315,6 +315,27 @@ EST_write_status EST_WaveFile::save_ulaw(FILE *fp, + return save_using(save_wave_ulaw, fp, localwv, stype, bo); + } + ++EST_read_status EST_WaveFile::load_alaw(EST_TokenStream &ts, ++ EST_Wave &wv, ++ int rate, ++ EST_sample_type_t stype, int bo, int nchan, ++ int offset, int length) ++{ ++ return load_using(load_wave_alaw, ++ ts, wv, rate, ++ stype, bo, nchan, ++ offset, length); ++} ++ ++EST_write_status EST_WaveFile::save_alaw(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ EST_Wave localwv = wv; ++ localwv.resample(8000); ++ return save_using(save_wave_alaw, fp, localwv, stype, bo); ++} ++ + static int parse_esps_r_option(EST_String arg, int &offset, int &length) + { + EST_String s, e; +@@ -385,6 +406,11 @@ EST_read_status read_wave(EST_Wave &sig, const EST_String &in_file, + al.add_item("-itype","ulaw"); + al.add_item("-f","8000"); + } ++ if (al.present("-alaw")) ++ { ++al.add_item("-itype","alaw"); ++al.add_item("-f","8000"); ++ } + if (al.present("-iswap")) + al.add_item("-ibo","other"); + +@@ -455,6 +481,11 @@ EST_read_status read_wave(EST_Wave &sig, const EST_String &in_file, + cerr << "Cannot recognize file format or cannot access file: \"" << in_file << "\"\n"; + return read_error; + } ++ if (file_type == "alaw") ++ { ++sample_rate = 8000; ++sample_type = "alaw"; ++ } + + if (al.present("-start") || al.present("-end") + || al.present("-to") || al.present("-from")) +diff --git a/speech_class/EST_WaveFile.h b/speech_class/EST_WaveFile.h +index 04fca06..e9217b9 100644 +--- a/speech_class/EST_WaveFile.h ++++ b/speech_class/EST_WaveFile.h +@@ -57,7 +57,8 @@ typedef enum EST_WaveFileType{ + wff_aiff, + wff_riff, + wff_raw, +- wff_ulaw ++ wff_ulaw, ++ wff_alaw + } EST_WaveFileType; + + class EST_WaveFile { +@@ -125,6 +126,9 @@ public: + static EST_write_status save_ulaw(SaveWave_TokenStreamArgs); + static EST_read_status load_ulaw(LoadWave_TokenStreamArgs); + ++ static EST_write_status save_alaw(SaveWave_TokenStreamArgs); ++ static EST_read_status load_alaw(LoadWave_TokenStreamArgs); ++ + static EST_TNamedEnumI map; + + static EST_String options_supported(void); +diff --git a/speech_class/EST_wave_aux.cc b/speech_class/EST_wave_aux.cc +index afd6a85..24eb430 100644 +--- a/speech_class/EST_wave_aux.cc ++++ b/speech_class/EST_wave_aux.cc +@@ -287,7 +287,7 @@ EST_String options_wave_input(void) + " endian)\n\n" + "-iswap Swap bytes. (For use on an unheadered input file)\n\n" + "-istype Sample type in an unheadered input file:\n" +- " short, mulaw, byte, ascii\n\n" ++ " short, alaw, mulaw, byte, ascii\n\n" + "-c Select a single channel (starts from 0). \n" + " Waveforms can have multiple channels. This option \n" + " extracts a single channel for progcessing and \n" +@@ -318,7 +318,7 @@ EST_String options_wave_output(void) + " Intel, Alpha, DEC Mips, Vax are LSB \n" + " (little endian)\n\n" + "-oswap Swap bytes when saving to output\n\n"+ +- "-ostype Output sample type: short, mulaw, byte or ascii\n\n"; ++ "-ostype Output sample type: short, alaw, mulaw, byte or ascii\n\n"; + } + + Declare_TNamedEnum(EST_sample_type_t) +diff --git a/speech_class/EST_wave_io.cc b/speech_class/EST_wave_io.cc +index e351d21..dae0963 100644 +--- a/speech_class/EST_wave_io.cc ++++ b/speech_class/EST_wave_io.cc +@@ -107,15 +107,17 @@ const char *sample_type_to_nist(enum EST_sample_type_t sample_type) + { + const char *c; + switch (sample_type) { +- case st_unknown: ++ case st_unknown: + c = ""; break; +- case st_schar: ++ case st_schar: + c = "PCM-1"; break; ++ case st_alaw: ++ c = "ALAW"; break; + case st_mulaw: + c = "ULAW"; break; +- case st_short: ++ case st_short: + c = "pcm"; break; +- case st_int: ++ case st_int: + c = "PCM-4"; break; + case st_float: + c = "REAL"; break; +@@ -141,6 +143,9 @@ enum EST_sample_type_t nist_to_sample_type(char *type) + (EST_strcasecmp(type,"mu-law",NULL) == 0) || + (EST_strcasecmp(type,"mulaw",NULL) == 0)) + return st_mulaw; ++ else if ((EST_strcasecmp(type,"ALAW",NULL) == 0) || ++ (EST_strcasecmp(type,"A-LAW",NULL) == 0)) ++ return st_alaw; + else if (strcmp(type,"alaw") == 0) + return st_alaw; + else if (strcmp(type,"PCM-1") == 0) +@@ -192,6 +197,11 @@ enum EST_read_status load_wave_nist(EST_TokenStream &ts, short **data, int + byte_order = wstrdup((EST_BIG_ENDIAN ? "10" : "01")); + sample_coding = wstrdup("ULAW"); + } ++ if (streq(byte_order,"a-law")) ++ { ++ byte_order = wstrdup((EST_BIG_ENDIAN ? "10" : "01")); ++ sample_coding = wstrdup("ALAW"); ++ } + + /* code for reading in Tony Robinson's shorten files. + This is a temporary fix which calls the unshorten program on the +@@ -473,12 +483,13 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + /* The follow are registered proprietary WAVE formats (?) */ + case WAVE_FORMAT_MULAW: + actual_sample_type = st_mulaw; break; ++ case WAVE_FORMAT_ALAW: ++ actual_sample_type = st_alaw; break; + case WAVE_FORMAT_ADPCM: +- fprintf(stderr, "RIFF file: unsupported proprietary sample format ADPCM\n"); ++ fprintf(stderr, "RIFF file: unsupported proprietary sample format ADPCM\n"); + actual_sample_type = st_short; + break; + /* actual_sample_type = st_adpcm; break; */ /* yes but which adpcm ! */ +- case WAVE_FORMAT_ALAW: + default: + fprintf(stderr, "RIFF file: unknown sample format\n"); + actual_sample_type = st_short; +@@ -843,50 +854,103 @@ enum EST_read_status load_wave_ulaw(EST_TokenStream &ts, short **data, int + { + unsigned char *ulaw; + int data_length,samps; +- ++ + ts.seek_end(); + samps = ts.tell(); +- ++ + if (length == 0) + data_length = samps - offset; + else + data_length = length; +- ++ + ulaw = walloc(unsigned char, data_length); + ts.seek(offset); + if (ts.fread(ulaw,1,data_length) != data_length) + { +- wfree(ulaw); ++ wfree(ulaw); + return misc_read_error; + } +- ++ + *data = walloc(short,data_length); + ulaw_to_short(ulaw,*data,data_length); + wfree(ulaw); +- ++ + *num_samples = data_length; + *sample_rate = 8000; + *num_channels = 1; + *sample_type = st_short; + *word_size = 2; + *bo = EST_NATIVE_BO; +- ++ + return format_ok; + } + + enum EST_write_status save_wave_ulaw(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, +- int sample_rate, ++ int num_samples, int num_channels, ++ int sample_rate, + enum EST_sample_type_t sample_type, int bo) + { + (void)sample_rate; + (void)sample_type; + return save_wave_raw(fp,data,offset,num_samples,num_channels, + 8000,st_mulaw,bo); +- +- ++ ++ ++} ++ ++enum EST_read_status load_wave_alaw(EST_TokenStream &ts, short **data, int ++ *num_samples, int *num_channels, int *word_size, int ++ *sample_rate, enum EST_sample_type_t *sample_type, int *bo, ++ int offset, int length) ++ ++{ ++ unsigned char *alaw; ++ int data_length,samps; ++ ++ ts.seek_end(); ++ samps = ts.tell(); ++ ++ if (length == 0) ++ data_length = samps - offset; ++ else ++ data_length = length; ++ ++ alaw = walloc(unsigned char, data_length); ++ ts.seek(offset); ++ if (ts.fread(alaw,1,data_length) != data_length) ++ { ++ wfree(alaw); ++ return misc_read_error; ++ } ++ ++ *data = walloc(short,data_length); ++ alaw_to_short(alaw,*data,data_length); ++ wfree(alaw); ++ ++ *num_samples = data_length; ++ *sample_rate = 8000; ++ *num_channels = 1; ++ *sample_type = st_short; ++ *word_size = 2; ++ *bo = EST_NATIVE_BO; ++ ++ return format_ok; + } + ++enum EST_write_status save_wave_alaw(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ (void)sample_rate; ++ (void)sample_type; ++ return save_wave_raw(fp,data,offset,num_samples,num_channels, ++ 8000,st_alaw,bo); ++ ++ ++} ++ ++ + /*=======================================================================*/ + /* Sun and Next snd files */ + /*=======================================================================*/ +diff --git a/speech_class/EST_wave_utils.cc b/speech_class/EST_wave_utils.cc +index d70ee87..55878b9 100644 +--- a/speech_class/EST_wave_utils.cc ++++ b/speech_class/EST_wave_utils.cc +@@ -53,7 +53,9 @@ + #include "EST_error.h" + + static short st_ulaw_to_short(unsigned char ulawbyte); ++static short st_alaw_to_short(unsigned char alawbyte); + static unsigned char st_short_to_ulaw(short sample); ++static unsigned char st_short_to_alaw(short sample); + + /* + * This table is +@@ -202,6 +204,16 @@ void short_to_ulaw(const short *data,unsigned char *ulaw,int length) + + } + ++void short_to_alaw(const short *data,unsigned char *alaw,int length) ++{ ++ /* Convert alaw to shorts */ ++ int i; ++ ++ for (i=0; i + +-/* The follow two (raw and ulaw) cannot be in the table as they cannot */ ++/* The follow two (raw, alaw and ulaw) cannot be in the table as they cannot */ + /* identify themselves from files (both are unheadered) */ + enum EST_read_status load_wave_raw(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int +@@ -62,6 +62,15 @@ enum EST_write_status save_wave_ulaw(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t, int bo); + ++enum EST_read_status load_wave_alaw(EST_TokenStream &ts, short **data, int ++ *num_samples, int *num_channels, int *word_size, int ++ *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int ++ offset, int length); ++enum EST_write_status save_wave_alaw(FILE *fp, const short *data, int offset, ++ int length, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t, int bo); ++ + enum EST_read_status load_wave_nist(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +diff --git a/testsuite/correct/ch_wave_script.out b/testsuite/correct/ch_wave_script.out +index b656ff3..fa4aee1 100644 +--- a/testsuite/correct/ch_wave_script.out ++++ b/testsuite/correct/ch_wave_script.out +@@ -77,7 +77,7 @@ use "-" to make input and output files stdin/out + -iswap Swap bytes. (For use on an unheadered input file) + + -istype Sample type in an unheadered input file: +- short, mulaw, byte, ascii ++ short, alaw, mulaw, byte, ascii + + -c Select a single channel (starts from 0). + Waveforms can have multiple channels. This option +@@ -112,7 +112,7 @@ use "-" to make input and output files stdin/out + + -oswap Swap bytes when saving to output + +--ostype Output sample type: short, mulaw, byte or ascii ++-ostype Output sample type: short, alaw, mulaw, byte or ascii + + -scale Scaling factor. Increase or descrease the amplitude + of the whole waveform by the factor given +-- +1.8.3.4 + + +From 77a6c8d1f2fa93c2809ede4833d21e19b757df14 Mon Sep 17 00:00:00 2001 +From: Sergio Oller +Date: Thu, 25 Dec 2014 14:48:54 -0800 +Subject: Allow saving wave files in parts + +Backported from Debian: wave_save_parts.diff, rev 5cf72e31d. + +Signed-off-by: Timothy Gu + +diff --git a/include/EST_Wave.h b/include/EST_Wave.h +index 053e2a9..1e7324e 100644 +--- a/include/EST_Wave.h ++++ b/include/EST_Wave.h +@@ -295,11 +295,18 @@ public: + + EST_write_status save_file(const EST_String filename, + EST_String filetype, +- EST_String sample_type, int bo); ++ EST_String sample_type, int bo, const char *mode = "wb"); + + EST_write_status save_file(FILE *fp, + EST_String filetype, + EST_String sample_type, int bo); ++ ++ EST_write_status save_file_header(FILE *fp, ++ EST_String ftype, ++ EST_String stype, int obo); ++ EST_write_status save_file_data(FILE *fp, ++ EST_String ftype, ++ EST_String stype, int obo); + //@} + + /// Assignment operator +diff --git a/include/EST_wave_aux.h b/include/EST_wave_aux.h +index 9d2bfde..942ffb3 100644 +--- a/include/EST_wave_aux.h ++++ b/include/EST_wave_aux.h +@@ -116,6 +116,13 @@ enum EST_sample_type_t { + st_alaw, + st_ascii}; + ++ ++enum EST_write_status wave_io_save_header(FILE *fp, ++ const int num_samples, const int num_channels, ++ const int sample_rate, ++ const EST_String& stype, const int bo, ++ const EST_String& ftype); ++ + extern EST_TNamedEnum EST_sample_type_map; + + #endif /* __EST_WAVE_AUX_H__ */ +diff --git a/speech_class/EST_Wave.cc b/speech_class/EST_Wave.cc +index 7a882a0..816baec 100644 +--- a/speech_class/EST_Wave.cc ++++ b/speech_class/EST_Wave.cc +@@ -392,13 +392,13 @@ EST_write_status EST_Wave::save(FILE *fp, const EST_String type) + + EST_write_status EST_Wave::save_file(const EST_String filename, + EST_String ftype, +- EST_String stype, int obo) ++ EST_String stype, int obo, const char *mode) + { + FILE *fp; + + if (filename == "-") + fp = stdout; +- else if ((fp = fopen(filename,"wb")) == NULL) ++ else if ((fp = fopen(filename, mode)) == NULL) + { + cerr << "Wave save: can't open output file \"" << + filename << "\"" << endl; +@@ -433,7 +433,55 @@ EST_write_status EST_Wave::save_file(FILE *fp, + } + + return (*s_fun)(fp, *this, sample_type, obo); ++} ++ ++EST_write_status EST_Wave::save_file_data(FILE *fp, ++ EST_String ftype, ++ EST_String stype, int obo) ++{ ++ EST_WaveFileType t = EST_WaveFile::map.token(ftype); ++ EST_sample_type_t sample_type = EST_sample_type_map.token(stype); ++ ++ if (t == wff_none) ++ { ++ cerr << "Unknown Wave file type " << ftype << endl; ++ return write_fail; ++ } ++ ++ EST_WaveFile::Save_TokenStream * s_fun = EST_WaveFile::map.info(t).save_data; + ++ if (s_fun == NULL) ++ { ++ cerr << "Can't save wave data to files type " << ftype << endl; ++ return write_fail; ++ } ++ ++ return (*s_fun)(fp, *this, sample_type, obo); ++} ++ ++ ++EST_write_status EST_Wave::save_file_header(FILE *fp, ++ EST_String ftype, ++ EST_String stype, int obo) ++{ ++ EST_WaveFileType t = EST_WaveFile::map.token(ftype); ++ EST_sample_type_t sample_type = EST_sample_type_map.token(stype); ++ ++ if (t == wff_none) ++ { ++ cerr << "Unknown Wave file type " << ftype << endl; ++ return write_fail; ++ } ++ ++ EST_WaveFile::Save_TokenStream * s_fun = EST_WaveFile::map.info(t).save_header; ++ ++ if (s_fun == NULL) ++ { ++ cerr << "Can't save wave header to files type " << ftype << endl; ++ return write_fail; ++ } ++ ++ return (*s_fun)(fp, *this, sample_type, obo); + } + + void EST_Wave::resample(int new_freq) +diff --git a/speech_class/EST_WaveFile.cc b/speech_class/EST_WaveFile.cc +index 5e8d46e..61d5c23 100644 +--- a/speech_class/EST_WaveFile.cc ++++ b/speech_class/EST_WaveFile.cc +@@ -43,8 +43,8 @@ + #include "EST_cutils.h" + #include "EST_Option.h" + #include "EST_io_aux.h" +-#include "stdio.h" +-#include "math.h" ++#include ++#include + + void extract(EST_Wave &sig, EST_Option &al); + +@@ -62,7 +62,12 @@ EST_write_status (*standard_save_fn_fp)(FILE *fp, + int offset, int nsamp, + int nchan, int srate, + EST_sample_type_t stype, int bo); +- ++ ++typedef ++EST_write_status (*standard_save_header_fn_fp)(FILE *fp, ++ int nsamp, ++ int nchan, int srate, ++ EST_sample_type_t stype, int bo); + + static + EST_read_status load_using(standard_load_fn_fp fn, +@@ -109,6 +114,19 @@ EST_write_status status = (*fn)(fp, + return status; + } + ++static ++EST_write_status save_header_using(standard_save_header_fn_fp fn, ++ FILE *fp, const EST_Wave wv, ++ EST_sample_type_t stype, int bo) ++{ ++ ++EST_write_status status = (*fn)(fp, ++ wv.num_samples(), wv.num_channels(), ++ wv.sample_rate(), ++ stype, bo); ++return status; ++} ++ + EST_read_status EST_WaveFile::load_nist(EST_TokenStream &ts, + EST_Wave &wv, + int rate, +@@ -128,6 +146,20 @@ EST_write_status EST_WaveFile::save_nist(FILE *fp, + return save_using(save_wave_nist, fp, wv, stype, bo); + } + ++EST_write_status EST_WaveFile::save_nist_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_nist_data, fp, wv, stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_nist_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_nist_header, fp, wv, stype, bo); ++} ++ + EST_read_status EST_WaveFile::load_est(EST_TokenStream &ts, + EST_Wave &wv, + int rate, +@@ -149,7 +181,24 @@ EST_write_status EST_WaveFile::save_est(FILE *fp, + return save_using(save_wave_est, + fp, wv, + stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_est_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_est_data, ++ fp, wv, ++ stype, bo); ++} + ++EST_write_status EST_WaveFile::save_est_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_est_header, ++ fp, wv, ++ stype, bo); + } + + EST_read_status EST_WaveFile::load_aiff(EST_TokenStream &ts, +@@ -171,6 +220,19 @@ EST_write_status EST_WaveFile::save_aiff(FILE *fp, + return save_using(save_wave_aiff, fp, wv, stype, bo); + } + ++EST_write_status EST_WaveFile::save_aiff_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_aiff_data, fp, wv, stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_aiff_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_aiff_header, fp, wv, stype, bo); ++} + + EST_read_status EST_WaveFile::load_riff(EST_TokenStream &ts, + EST_Wave &wv, +@@ -191,6 +253,19 @@ EST_write_status EST_WaveFile::save_riff(FILE *fp, + return save_using(save_wave_riff, fp, wv, stype, bo); + } + ++EST_write_status EST_WaveFile::save_riff_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_riff_data, fp, wv, stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_riff_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_riff_header, fp, wv, stype, bo); ++} + + EST_read_status EST_WaveFile::load_esps(EST_TokenStream &ts, + EST_Wave &wv, +@@ -213,6 +288,23 @@ EST_write_status EST_WaveFile::save_esps(FILE *fp, + stype, bo); + } + ++EST_write_status EST_WaveFile::save_esps_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_sd_data, ++ fp, wv, ++ stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_esps_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_sd_header, ++ fp, wv, ++ stype, bo); ++} + + EST_read_status EST_WaveFile::load_audlab(EST_TokenStream &ts, + EST_Wave &wv, +@@ -233,6 +325,19 @@ EST_write_status EST_WaveFile::save_audlab(FILE *fp, + return save_using(save_wave_audlab, fp, wv, stype, bo); + } + ++EST_write_status EST_WaveFile::save_audlab_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_audlab_data, fp, wv, stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_audlab_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_audlab_header, fp, wv, stype, bo); ++} + + EST_read_status EST_WaveFile::load_snd(EST_TokenStream &ts, + EST_Wave &wv, +@@ -253,6 +358,21 @@ EST_write_status EST_WaveFile::save_snd(FILE *fp, + return save_using(save_wave_snd, fp, wv, stype, bo); + } + ++EST_write_status EST_WaveFile::save_snd_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_using(save_wave_snd_data, fp, wv, stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_snd_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_snd_header, fp, wv, stype, bo); ++} ++ ++ + + EST_read_status EST_WaveFile::load_raw(EST_TokenStream &ts, + EST_Wave &wv, +@@ -293,6 +413,20 @@ EST_write_status status = save_wave_raw(fp, + return status; + } + ++EST_write_status EST_WaveFile::save_raw_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++return save_raw(fp, wv, stype, bo); ++} ++ ++ ++EST_write_status EST_WaveFile::save_raw_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ return save_header_using(save_wave_raw_header, fp, wv, stype, bo); ++} + + EST_read_status EST_WaveFile::load_ulaw(EST_TokenStream &ts, + EST_Wave &wv, +@@ -315,6 +449,25 @@ EST_write_status EST_WaveFile::save_ulaw(FILE *fp, + return save_using(save_wave_ulaw, fp, localwv, stype, bo); + } + ++EST_write_status EST_WaveFile::save_ulaw_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ EST_Wave localwv = wv; ++ localwv.resample(8000); ++ return save_using(save_wave_ulaw_data, fp, localwv, stype, bo); ++} ++ ++ ++EST_write_status EST_WaveFile::save_ulaw_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ EST_Wave localwv = wv; ++ localwv.resample(8000); ++ return save_header_using(save_wave_ulaw_header, fp, localwv, stype, bo); ++} ++ + EST_read_status EST_WaveFile::load_alaw(EST_TokenStream &ts, + EST_Wave &wv, + int rate, +@@ -575,25 +728,43 @@ static + EST_TValuedEnumDefinition wavefile_names[] = + { + { wff_none, { NULL }, +- { FALSE, NULL, NULL, "unknown track file type"} }, ++ { FALSE, NULL, NULL, NULL, NULL, "unknown track file type"} }, + { wff_nist, { "nist", "timit" }, +- { TRUE, EST_WaveFile::load_nist, EST_WaveFile::save_nist, "nist/timit" } }, ++ { TRUE, EST_WaveFile::load_nist, EST_WaveFile::save_nist, ++ EST_WaveFile::save_nist_header, EST_WaveFile::save_nist_data, ++ "nist/timit" } }, + { wff_est, { "est"}, +- { TRUE, EST_WaveFile::load_est, EST_WaveFile::save_est, "est" } }, ++ { TRUE, EST_WaveFile::load_est, EST_WaveFile::save_est, ++ EST_WaveFile::save_est_header, EST_WaveFile::save_est_data, ++ "est" } }, + { wff_esps, { "esps", "sd"}, +- { TRUE, EST_WaveFile::load_esps, EST_WaveFile::save_esps, "esps SD waveform" } }, ++ { TRUE, EST_WaveFile::load_esps, EST_WaveFile::save_esps, ++ EST_WaveFile::save_esps_header, EST_WaveFile::save_esps_data, ++ "esps SD waveform" } }, + { wff_audlab, { "audlab", "vox"}, +- { TRUE, EST_WaveFile::load_audlab, EST_WaveFile::save_audlab, "audlab waveform" } }, ++ { TRUE, EST_WaveFile::load_audlab, EST_WaveFile::save_audlab, ++ EST_WaveFile::save_audlab_header, EST_WaveFile::save_audlab_data, ++ "audlab waveform" } }, + { wff_snd, { "snd", "au"}, +- { TRUE, EST_WaveFile::load_snd, EST_WaveFile::save_snd, "Sun snd file" } }, ++ { TRUE, EST_WaveFile::load_snd, EST_WaveFile::save_snd, ++ EST_WaveFile::save_snd_header, EST_WaveFile::save_snd_data, ++ "Sun snd file" } }, + { wff_aiff, { "aiff" }, +- { TRUE, EST_WaveFile::load_aiff, EST_WaveFile::save_aiff, "Apple aiff file" } }, ++ { TRUE, EST_WaveFile::load_aiff, EST_WaveFile::save_aiff, ++ EST_WaveFile::save_aiff_header, EST_WaveFile::save_aiff_data, ++ "Apple aiff file" } }, + { wff_riff, { "riff", "wav" }, +- { TRUE, EST_WaveFile::load_riff, EST_WaveFile::save_riff, "Microsoft wav/riff file" } }, ++ { TRUE, EST_WaveFile::load_riff, EST_WaveFile::save_riff, ++ EST_WaveFile::save_riff_header, EST_WaveFile::save_riff_data, ++ "Microsoft wav/riff file" } }, + { wff_raw, { "raw" }, +- { FALSE, EST_WaveFile::load_raw, EST_WaveFile::save_raw, "Headerless File" } }, ++ { FALSE, EST_WaveFile::load_raw, EST_WaveFile::save_raw, ++ EST_WaveFile::save_raw_header, EST_WaveFile::save_raw_data, ++ "Headerless File" } }, + { wff_ulaw, { "ulaw", "basic" }, +- { FALSE, EST_WaveFile::load_ulaw, EST_WaveFile::save_ulaw, "Headerless 8K ulaw File" } }, ++ { FALSE, EST_WaveFile::load_ulaw, EST_WaveFile::save_ulaw, ++ EST_WaveFile::save_ulaw_header, EST_WaveFile::save_ulaw_data, ++ "Headerless 8K ulaw File" } }, + { wff_none, {NULL} } + }; + +diff --git a/speech_class/EST_WaveFile.h b/speech_class/EST_WaveFile.h +index e9217b9..a185f5a 100644 +--- a/speech_class/EST_WaveFile.h ++++ b/speech_class/EST_WaveFile.h +@@ -96,34 +96,54 @@ public: + bool recognise; + Load_TokenStream *load; + Save_TokenStream *save; ++ Save_TokenStream *save_header; ++ Save_TokenStream *save_data; + const char *description; + } Info; + + static EST_write_status save_nist(SaveWave_TokenStreamArgs); ++ static EST_write_status save_nist_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_nist_data(SaveWave_TokenStreamArgs); + static EST_read_status load_nist(LoadWave_TokenStreamArgs); + + static EST_write_status save_est(SaveWave_TokenStreamArgs); ++ static EST_write_status save_est_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_est_data(SaveWave_TokenStreamArgs); + static EST_read_status load_est(LoadWave_TokenStreamArgs); + + static EST_write_status save_esps(SaveWave_TokenStreamArgs); ++ static EST_write_status save_esps_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_esps_data(SaveWave_TokenStreamArgs); + static EST_read_status load_esps(LoadWave_TokenStreamArgs); + + static EST_write_status save_audlab(SaveWave_TokenStreamArgs); ++ static EST_write_status save_audlab_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_audlab_data(SaveWave_TokenStreamArgs); + static EST_read_status load_audlab(LoadWave_TokenStreamArgs); + + static EST_write_status save_snd(SaveWave_TokenStreamArgs); ++ static EST_write_status save_snd_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_snd_data(SaveWave_TokenStreamArgs); + static EST_read_status load_snd(LoadWave_TokenStreamArgs); + + static EST_write_status save_aiff(SaveWave_TokenStreamArgs); ++ static EST_write_status save_aiff_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_aiff_data(SaveWave_TokenStreamArgs); + static EST_read_status load_aiff(LoadWave_TokenStreamArgs); + + static EST_write_status save_riff(SaveWave_TokenStreamArgs); ++ static EST_write_status save_riff_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_riff_data(SaveWave_TokenStreamArgs); + static EST_read_status load_riff(LoadWave_TokenStreamArgs); + + static EST_write_status save_raw(SaveWave_TokenStreamArgs); ++ static EST_write_status save_raw_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_raw_data(SaveWave_TokenStreamArgs); + static EST_read_status load_raw(LoadWave_TokenStreamArgs); + + static EST_write_status save_ulaw(SaveWave_TokenStreamArgs); ++ static EST_write_status save_ulaw_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_ulaw_data(SaveWave_TokenStreamArgs); + static EST_read_status load_ulaw(LoadWave_TokenStreamArgs); + + static EST_write_status save_alaw(SaveWave_TokenStreamArgs); +diff --git a/speech_class/EST_wave_io.cc b/speech_class/EST_wave_io.cc +index dae0963..7cec8f4 100644 +--- a/speech_class/EST_wave_io.cc ++++ b/speech_class/EST_wave_io.cc +@@ -283,10 +283,10 @@ enum EST_read_status load_wave_nist(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_nist(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, ++enum EST_write_status save_wave_nist_header(FILE *fp, ++ int num_samples, int num_channels, + int sample_rate, +- enum EST_sample_type_t sample_type, int bo) ++ enum EST_sample_type_t sample_type, int bo) + { + char h[1024], p[1024]; + const char *t; +@@ -322,13 +322,37 @@ enum EST_write_status save_wave_nist(FILE *fp, const short *data, int offset, + strcat(h, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); + + if (fwrite(&h, 1024, 1, fp) != 1) +- return misc_write_error; ++ return misc_write_error; + ++ return write_ok; ++} ++ ++ ++enum EST_write_status save_wave_nist_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ if (data == NULL) ++ return write_ok; ++ + return save_raw_data(fp,data,offset,num_samples,num_channels, + sample_type,bo); + + } + ++enum EST_write_status save_wave_nist(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_nist_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ return save_wave_nist_data(fp, data, offset, ++ num_samples, num_channels, ++ sample_rate, sample_type, bo); ++} ++ + /*=======================================================================*/ + /* EST's own format */ + /*=======================================================================*/ +@@ -401,10 +425,10 @@ enum EST_read_status load_wave_est(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_est(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, ++enum EST_write_status save_wave_est_header(FILE *fp, ++ int num_samples, int num_channels, + int sample_rate, +- enum EST_sample_type_t sample_type, int bo) ++ enum EST_sample_type_t sample_type, int bo) + { + fprintf(fp, "EST_File wave\n"); + fprintf(fp, "DataType binary\n"); +@@ -416,10 +440,32 @@ enum EST_write_status save_wave_est(FILE *fp, const short *data, int offset, + fprintf(fp, "ByteOrder %s\n", ((bo == bo_big) ? "10" : "01")); + + fprintf(fp, "EST_Header_End\n"); +- ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_est_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ if (data == NULL) ++ return write_ok; ++ + return save_raw_data(fp, data, offset, num_samples, num_channels, + sample_type, bo); ++} ++ ++enum EST_write_status save_wave_est(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_est_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); + ++ return save_wave_est_data(fp, data, offset, ++ num_samples, num_channels, ++ sample_rate, sample_type, bo); + } + + /*=======================================================================*/ +@@ -576,10 +622,9 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_riff(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, +- int sample_rate, +- enum EST_sample_type_t sample_type, int bo) ++enum EST_write_status save_wave_riff_header(FILE *fp, int num_samples, ++ int num_channels, int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) + { + (void)bo; + const char *info; +@@ -636,10 +681,35 @@ enum EST_write_status save_wave_riff(FILE *fp, const short *data, int offset, + if (EST_BIG_ENDIAN) data_size = SWAPINT(data_size); + fwrite(&data_size,1,4,fp); /* total number of bytes in data */ + ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_riff_data(FILE *fp, const short *data, ++ int offset, int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ if (data == NULL) ++ return write_ok; ++ + return save_raw_data(fp,data,offset,num_samples,num_channels, + sample_type,bo_little); + } + ++ ++enum EST_write_status save_wave_riff(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_riff_header(fp, num_samples, num_channels, sample_rate, ++ sample_type, bo); ++ ++ return save_wave_riff_data(fp, data, offset, num_samples, ++ num_channels, sample_rate, sample_type, bo); ++ ++} ++ + /*=======================================================================*/ + /* Amiga/Apple AIFF waveform format */ + /* This was constructed using info in AudioIFF1.3.hqx found on the web */ +@@ -776,10 +846,11 @@ enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_aiff(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, ++ ++enum EST_write_status save_wave_aiff_header(FILE *fp, ++ int num_samples, int num_channels, + int sample_rate, +- enum EST_sample_type_t sample_type, int bo) ++ enum EST_sample_type_t sample_type, int bo) + { + (void)bo; + const char *info; +@@ -830,16 +901,40 @@ enum EST_write_status save_wave_aiff(FILE *fp, const short *data, int offset, + data_int = SWAPINT(data_int); + fwrite(&data_int,1,4,fp); /* blocksize */ + +- if ((sample_type == st_short) || +- (sample_type == st_uchar)) +- return save_raw_data(fp,data,offset,num_samples,num_channels, +- sample_type,bo_big); ++ return write_ok; ++ ++} ++ ++enum EST_write_status save_wave_aiff_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ ++ if (data == NULL) ++ return write_ok; ++ if ((sample_type == st_short) || (sample_type == st_uchar)) ++ return save_raw_data(fp,data, offset, num_samples, num_channels, ++ sample_type, bo_big); + else + { + fprintf(stderr,"AIFF: requested data type not uchar or short\n"); + return misc_write_error; + } +- ++} ++ ++ ++enum EST_write_status save_wave_aiff(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_aiff_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ ++ return save_wave_aiff_data(fp, data, offset, ++ num_samples, num_channels, ++ sample_rate, sample_type, bo); + } + + /*=======================================================================*/ +@@ -885,19 +980,47 @@ enum EST_read_status load_wave_ulaw(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_ulaw(FILE *fp, const short *data, int offset, ++enum EST_write_status save_wave_ulaw_header(FILE *fp, + int num_samples, int num_channels, + int sample_rate, + enum EST_sample_type_t sample_type, int bo) + { +- (void)sample_rate; +- (void)sample_type; ++ (void) sample_rate; ++ (void) sample_type; ++ (void) fp; ++ (void) num_samples; ++ (void) num_channels; ++ (void) bo; ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_ulaw_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ if (data == NULL) ++ return write_ok; ++ + return save_wave_raw(fp,data,offset,num_samples,num_channels, + 8000,st_mulaw,bo); ++} + ++enum EST_write_status save_wave_ulaw(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_ulaw_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); + ++ return save_wave_ulaw_data(fp, data, offset, ++ num_samples, num_channels, ++ sample_rate, sample_type, bo); + } + ++ ++ + enum EST_read_status load_wave_alaw(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, +@@ -1050,8 +1173,8 @@ enum EST_read_status load_wave_snd(EST_TokenStream &ts, short **data, int + return read_ok; + } + +-enum EST_write_status save_wave_snd(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, ++enum EST_write_status save_wave_snd_header(FILE *fp, ++ int num_samples, int num_channels, + int sample_rate, + enum EST_sample_type_t sample_type, int bo) + { +@@ -1103,11 +1226,35 @@ enum EST_write_status save_wave_snd(FILE *fp, const short *data, int offset, + if (fwrite(&header, sizeof(header), 1, fp) != 1) + return misc_write_error; + ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_snd_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ if (data == NULL) ++ return write_ok; ++ + /* snd files are always in BIG_ENDIAN (sun) byte order */ + return save_raw_data(fp,data,offset,num_samples,num_channels, + sample_type,bo_big); + } + ++ ++enum EST_write_status save_wave_snd(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_snd_header(fp, num_samples, num_channels, sample_rate, ++ sample_type, bo); ++ return save_wave_snd_data(fp, data, offset, num_samples, ++ num_channels, sample_rate, sample_type, bo); ++} ++ ++ + /*=======================================================================*/ + /* CSTR Audlab files (from the last century) */ + /* They are always bigendian */ +@@ -1219,8 +1366,8 @@ enum EST_read_status load_wave_audlab(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_audlab(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, ++enum EST_write_status save_wave_audlab_header(FILE *fp, ++ int num_samples, int num_channels, + int sample_rate, + enum EST_sample_type_t sample_type, int bo) + { +@@ -1260,12 +1407,34 @@ enum EST_write_status save_wave_audlab(FILE *fp, const short *data, int offset, + fwrite (&fh, sizeof(fh), 1, fp); + fwrite (&sh, sizeof(sh), 1, fp); + fwrite (&sd, sizeof(sd), 1, fp); +- ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_audlab_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ if (data == NULL) ++ return write_ok; ++ + /* write data*/ + return save_raw_data(fp,data,offset,num_samples,num_channels, + st_short,bo_big); + } + ++enum EST_write_status save_wave_audlab(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_audlab_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ return save_wave_audlab_data(fp, data, offset, ++ num_samples, num_channels, ++ sample_rate, sample_type, bo); ++} ++ + /*=======================================================================*/ + /* Entropic ESPS SD files: portable (non-proprietary) method */ + /*=======================================================================*/ +@@ -1356,8 +1525,9 @@ enum EST_read_status load_wave_sd(EST_TokenStream &ts, short **data, int + + } + +-enum EST_write_status save_wave_sd(FILE *fp, const short *data, int offset, +- int num_samples, int num_channels, ++ ++enum EST_write_status save_wave_sd_header(FILE *fp, ++ int num_samples, int num_channels, + int sample_rate, + enum EST_sample_type_t sample_type, int bo) + +@@ -1382,6 +1552,7 @@ enum EST_write_status save_wave_sd(FILE *fp, const short *data, int offset, + } + /* I believe all of the following are necessary and in this order */ + add_field(hdr,"samples",esps_type,num_channels); ++ /* FIXME: What is doing this path here?? */ + add_fea_special(hdr,ESPS_FEA_DIRECTORY,"margo:/disk/disk10/home/awb/projects/speech_tools/main"); + add_fea_special(hdr,ESPS_FEA_COMMAND, + "EDST waveform written as ESPS FEA_SD.\n\ +@@ -1397,11 +1568,37 @@ enum EST_write_status save_wave_sd(FILE *fp, const short *data, int offset, + } + /* lets ignore desired bo and sample type for the time being */ + delete_esps_hdr(hdr); +- ++ return write_ok; ++} ++ ++ ++enum EST_write_status save_wave_sd_data(FILE *fp, const short *data, ++ int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++ ++{ ++ if (data == NULL) ++ return write_ok; ++ + return save_raw_data(fp,data,offset,num_samples,num_channels, + sample_type,EST_NATIVE_BO); + } + ++enum EST_write_status save_wave_sd(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++ ++{ ++ save_wave_sd_header(fp, num_samples, num_channels, sample_rate, ++ sample_type, bo); ++ return save_wave_sd_data(fp, data, offset, num_samples, ++ num_channels, sample_rate, sample_type, bo); ++ ++} ++ + /*=======================================================================*/ + /* Raw data files -- unheadered */ + /* THESE FUNCTIONS ARE DIFFERENT FROM THE REST */ +@@ -1496,21 +1693,151 @@ enum EST_read_status load_wave_raw(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_raw(FILE *fp, const short *data, ++enum EST_write_status save_wave_raw_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_raw_data(FILE *fp, const short *data, + int offset, +- int num_samples, int num_channels, ++ int num_samples, int num_channels, + int sample_rate, +- enum EST_sample_type_t sample_type, int bo) ++ enum EST_sample_type_t sample_type, int bo) + { +- (void)sample_rate; ++ if (data == NULL) ++ return write_ok; + + return save_raw_data(fp,data,offset,num_samples,num_channels, + sample_type,bo); + } + ++enum EST_write_status save_wave_raw(FILE *fp, const short *data, ++ int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ (void)sample_rate; ++ ++ return save_wave_raw_data(fp, data, offset, num_samples, ++ num_channels, sample_rate, sample_type, bo); ++} ++ + /***********************************************************************/ + /* */ + /* end of file type specific functions */ + /* */ + /***********************************************************************/ + ++enum EST_write_status wave_io_save_header(FILE *fp, ++ const int num_samples, const int num_channels, ++ const int sample_rate, ++ const EST_String& stype, const int bo, ++ const EST_String& ftype) ++{ ++ EST_WaveFileType t = EST_WaveFile::map.token(ftype); ++ EST_sample_type_t sample_type = EST_sample_type_map.token(stype); ++ switch(t) ++ { ++ case wff_nist: ++ return save_wave_nist_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_esps: ++ return save_wave_sd_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_est: ++ return save_wave_est_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_audlab: ++ return save_wave_audlab_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_snd: ++ return save_wave_snd_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_aiff: ++ return save_wave_aiff_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_riff: ++ return save_wave_riff_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_raw: ++ return save_wave_raw_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_ulaw: ++ return save_wave_ulaw_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ default: ++ case wff_none: ++ cerr << "Can't save wave header to files type " << ftype << endl; ++ break; ++ } ++ return write_ok; ++} ++ ++ ++enum EST_write_status wave_io_save_data(FILE *fp, const short * data, ++ const int offset, ++ const int num_samples, const int num_channels, ++ const int sample_rate, ++ const EST_String& stype, const int bo, ++ const EST_String& ftype) ++{ ++ EST_WaveFileType t = EST_WaveFile::map.token(ftype); ++ EST_sample_type_t sample_type = EST_sample_type_map.token(stype); ++ switch(t) ++ { ++ case wff_nist: ++ return save_wave_nist_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_esps: ++ return save_wave_sd_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_est: ++ return save_wave_est_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_audlab: ++ return save_wave_audlab_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_snd: ++ return save_wave_snd_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_aiff: ++ return save_wave_aiff_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_riff: ++ return save_wave_riff_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_raw: ++ return save_wave_raw_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ case wff_ulaw: ++ return save_wave_ulaw_data(fp, data, offset, num_samples, num_channels, ++ sample_rate, sample_type, bo); ++ break; ++ default: ++ case wff_none: ++ cerr << "Can't save wave data to files type " << ftype << endl; ++ break; ++ } ++ return write_ok; ++} +diff --git a/speech_class/waveP.h b/speech_class/waveP.h +index 9af6096..406e4b1 100644 +--- a/speech_class/waveP.h ++++ b/speech_class/waveP.h +@@ -51,7 +51,17 @@ enum EST_read_status load_wave_raw(EST_TokenStream &ts, short **data, int + enum EST_write_status save_wave_raw(FILE *fp, const short *data, int offset, + int num_samples, int num_channels, + int sample_rate, +- enum EST_sample_type_t sample_type, int bo) ; ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_raw_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_raw_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); + + enum EST_read_status load_wave_ulaw(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int +@@ -62,6 +72,16 @@ enum EST_write_status save_wave_ulaw(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t, int bo); + ++enum EST_write_status save_wave_ulaw_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_ulaw_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_alaw(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -81,6 +101,16 @@ enum EST_write_status save_wave_nist(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_nist_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_nist_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_est(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -91,6 +121,16 @@ enum EST_write_status save_wave_est(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_est_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_est_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_sd(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -101,6 +141,16 @@ enum EST_write_status save_wave_sd(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_sd_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_sd_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_audlab(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -111,6 +161,16 @@ enum EST_write_status save_wave_audlab(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_audlab_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_audlab_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_snd(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -121,6 +181,16 @@ enum EST_write_status save_wave_snd(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_snd_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_snd_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -131,6 +201,16 @@ enum EST_write_status save_wave_aiff(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_aiff_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_aiff_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +@@ -141,4 +221,14 @@ enum EST_write_status save_wave_riff(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t sample_type, int bo); + ++enum EST_write_status save_wave_riff_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_riff_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + #endif /* __EST_WAVEP_H__ */ +-- +1.8.3.4 + + +From cbb58d2c46f59b918f8bae060db2e7d2846edcca Mon Sep 17 00:00:00 2001 +From: Sergio Oller +Date: Thu, 25 Dec 2014 14:50:41 -0800 +Subject: Allow writing ALAW files in parts + +Backported from Debian: wave_save_parts_alaw.diff, rev f150a7a5c75c. + +Signed-off-by: Timothy Gu + +diff --git a/speech_class/EST_WaveFile.cc b/speech_class/EST_WaveFile.cc +index 61d5c23..6476849 100644 +--- a/speech_class/EST_WaveFile.cc ++++ b/speech_class/EST_WaveFile.cc +@@ -480,6 +480,24 @@ EST_read_status EST_WaveFile::load_alaw(EST_TokenStream &ts, + offset, length); + } + ++EST_write_status EST_WaveFile::save_alaw_header(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ EST_Wave localwv = wv; ++ localwv.resample(8000); ++ return save_header_using(save_wave_alaw_header, fp, localwv, stype, bo); ++} ++ ++EST_write_status EST_WaveFile::save_alaw_data(FILE *fp, ++ const EST_Wave &wv, ++ EST_sample_type_t stype, int bo) ++{ ++ EST_Wave localwv = wv; ++ localwv.resample(8000); ++ return save_using(save_wave_alaw_data, fp, localwv, stype, bo); ++} ++ + EST_write_status EST_WaveFile::save_alaw(FILE *fp, + const EST_Wave &wv, + EST_sample_type_t stype, int bo) +diff --git a/speech_class/EST_WaveFile.h b/speech_class/EST_WaveFile.h +index a185f5a..cdf948c 100644 +--- a/speech_class/EST_WaveFile.h ++++ b/speech_class/EST_WaveFile.h +@@ -147,6 +147,8 @@ public: + static EST_read_status load_ulaw(LoadWave_TokenStreamArgs); + + static EST_write_status save_alaw(SaveWave_TokenStreamArgs); ++ static EST_write_status save_alaw_header(SaveWave_TokenStreamArgs); ++ static EST_write_status save_alaw_data(SaveWave_TokenStreamArgs); + static EST_read_status load_alaw(LoadWave_TokenStreamArgs); + + static EST_TNamedEnumI map; +diff --git a/speech_class/EST_wave_io.cc b/speech_class/EST_wave_io.cc +index 7cec8f4..1bdaf4f 100644 +--- a/speech_class/EST_wave_io.cc ++++ b/speech_class/EST_wave_io.cc +@@ -1060,17 +1060,44 @@ enum EST_read_status load_wave_alaw(EST_TokenStream &ts, short **data, int + return format_ok; + } + +-enum EST_write_status save_wave_alaw(FILE *fp, const short *data, int offset, ++enum EST_write_status save_wave_alaw_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ (void) sample_rate; ++ (void) sample_type; ++ (void) fp; ++ (void) num_samples; ++ (void) num_channels; ++ (void) bo; ++ return write_ok; ++} ++ ++enum EST_write_status save_wave_alaw_data(FILE *fp, const short *data, int offset, + int num_samples, int num_channels, + int sample_rate, + enum EST_sample_type_t sample_type, int bo) + { + (void)sample_rate; + (void)sample_type; ++ if (data == NULL) ++ return write_ok; + return save_wave_raw(fp,data,offset,num_samples,num_channels, + 8000,st_alaw,bo); ++} + ++enum EST_write_status save_wave_alaw(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo) ++{ ++ save_wave_alaw_header(fp, num_samples, num_channels, ++ sample_rate, sample_type, bo); + ++ return save_wave_alaw_data(fp, data, offset, ++ num_samples, num_channels, ++ sample_rate, sample_type, bo); + } + + +diff --git a/speech_class/waveP.h b/speech_class/waveP.h +index 406e4b1..aa78512 100644 +--- a/speech_class/waveP.h ++++ b/speech_class/waveP.h +@@ -91,6 +91,16 @@ enum EST_write_status save_wave_alaw(FILE *fp, const short *data, int offset, + int sample_rate, + enum EST_sample_type_t, int bo); + ++enum EST_write_status save_wave_alaw_header(FILE *fp, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ ++enum EST_write_status save_wave_alaw_data(FILE *fp, const short *data, int offset, ++ int num_samples, int num_channels, ++ int sample_rate, ++ enum EST_sample_type_t sample_type, int bo); ++ + enum EST_read_status load_wave_nist(EST_TokenStream &ts, short **data, int + *num_samples, int *num_channels, int *word_size, int + *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int +-- +1.8.3.4 + + +From 22e096d3b4122b80cce76b203fcdb8d2e75413ca Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:52:30 -0800 +Subject: Check all fread() calls + +Backported from Debian: check_fread.diff, rev 4a67fbe7e. + +Signed-off-by: Timothy Gu + +diff --git a/include/EST_Token.h b/include/EST_Token.h +index e6fe38d..6b9512f 100644 +--- a/include/EST_Token.h ++++ b/include/EST_Token.h +@@ -329,7 +329,7 @@ class EST_TokenStream{ + { if (!peeked_tokp) get(); + peeked_tokp = TRUE; return current_tok; } + /// Reading binary data, (don't use peek() immediately beforehand) +- int fread(void *buff,int size,int nitems); ++ int fread(void *buff,int size,int nitems) EST_WARN_UNUSED_RESULT; + //@} + /**@name stream initialization functions */ + //@{ +diff --git a/include/EST_common.h b/include/EST_common.h +index 42af9d9..ee63e1e 100644 +--- a/include/EST_common.h ++++ b/include/EST_common.h +@@ -43,6 +43,14 @@ + + /* all this stuff should be common to C and C++ */ + ++#if defined __GNUC__ ++ #define EST_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) ++#elif defined __clang__ ++ #define EST_WARN_UNUSED_RESULT __attribute__((annotate("lo_warn_unused"))) ++#else ++ #define EST_WARN_UNUSED_RESULT ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +diff --git a/speech_class/EST_wave_io.cc b/speech_class/EST_wave_io.cc +index 1bdaf4f..d3a35f0 100644 +--- a/speech_class/EST_wave_io.cc ++++ b/speech_class/EST_wave_io.cc +@@ -503,7 +503,8 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + return wrong_format; + + /* We've got a riff file */ +- ts.fread(&dsize,4,1); ++ /* Next 4 bytes are the file size */ ++ if(ts.fread(&dsize,4,1) != 1) return misc_read_error; + /* .wav files are always little endian */ + if (EST_BIG_ENDIAN) dsize = SWAPINT(dsize); + if ((ts.fread(info,sizeof(char),4) != 4) || +@@ -516,9 +517,9 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + (strncmp(info,"fmt ",4) != 0)) + return misc_read_error; /* something else wrong */ + +- ts.fread(&dsize,4,1); ++ if (ts.fread(&dsize,4,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) dsize = SWAPINT(dsize); +- ts.fread(&shortdata,2,1); ++ if (ts.fread(&shortdata,2,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) shortdata = SWAPSHORT(shortdata); + + switch (shortdata) +@@ -541,16 +542,16 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + actual_sample_type = st_short; + /* return misc_read_error; */ + } +- ts.fread(&shortdata,2,1); ++ if (ts.fread(&shortdata,2,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) shortdata = SWAPSHORT(shortdata); + *num_channels = shortdata; +- ts.fread(sample_rate,4,1); ++ if (ts.fread(sample_rate,4,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) *sample_rate = SWAPINT(*sample_rate); +- ts.fread(&intdata,4,1); /* average bytes per second -- ignored */ ++ if (ts.fread(&intdata,4,1) != 1) return misc_read_error; /* average bytes per second -- ignored */ + if (EST_BIG_ENDIAN) intdata = SWAPINT(intdata); +- ts.fread(&shortdata,2,1); /* block align ? */ ++ if (ts.fread(&shortdata,2,1) != 1) return misc_read_error; /* block align ? */ + if (EST_BIG_ENDIAN) shortdata = SWAPSHORT(shortdata); +- ts.fread(&shortdata,2,1); ++ if (ts.fread(&shortdata,2,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) shortdata = SWAPSHORT(shortdata); + + sample_width = (shortdata+7)/8; +@@ -567,14 +568,14 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + } + if (strncmp(info,"data",4) == 0) + { +- ts.fread(&samps,4,1); ++ if (ts.fread(&samps,4,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) samps = SWAPINT(samps); + samps /= (sample_width*(*num_channels)); + break; + } + else if (strncmp(info,"fact",4) == 0) + { /* some other type of chunk -- skip it */ +- ts.fread(&samps,4,1); ++ if (ts.fread(&samps,4,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) samps = SWAPINT(samps); + ts.seek(samps+ts.tell()); /* skip rest of header */ + /* Hope this is the right amount */ +@@ -584,7 +585,7 @@ enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int + // fprintf(stderr,"Ignoring unsupported chunk type \"%c%c%c%c\" in RIFF file\n", + // info[0],info[1],info[2],info[3]); + //return misc_read_error; +- ts.fread(&dsize,4,1); ++ if(ts.fread(&dsize,4,1) != 1) return misc_read_error; + if (EST_BIG_ENDIAN) dsize = SWAPINT(dsize); + ts.seek(dsize+ts.tell()); /* skip this chunk */ + } +@@ -750,7 +751,7 @@ enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int + return wrong_format; + + /* We've got an aiff file, I hope */ +- ts.fread(&dsize,4,1); ++ if (ts.fread(&dsize,4,1) != 1) return misc_read_error; + if (EST_LITTLE_ENDIAN) /* file is in different byte order */ + dsize = SWAPINT(dsize); + if ((ts.fread(info,sizeof(char),4) != 4) || +@@ -760,7 +761,7 @@ enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int + return misc_read_error; + } + +- for ( ; ts.fread(&chunk,1,sizeof(chunk)) == sizeof(chunk) ; ) ++ for ( ; ts.fread(&chunk, sizeof(chunk), 1) == 1 ; ) + { /* for each chunk in the file */ + if (EST_LITTLE_ENDIAN) /* file is in different byte order */ + chunk.size = SWAPINT(chunk.size); +@@ -771,10 +772,13 @@ enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int + fprintf(stderr,"AIFF chunk: bad size\n"); + return misc_read_error; + } +- ts.fread(&comm_channels,1,sizeof(short)); +- ts.fread(&comm_samples,1,sizeof(int)); +- ts.fread(&comm_bits,1,sizeof(short)); +- if (ts.fread(ieee_ext_sample_rate,1,10) != 10) ++ if (ts.fread(&comm_channels, sizeof(short), 1) != 1) ++ return misc_read_error; ++ if (ts.fread(&comm_samples, sizeof(int), 1) != 1) ++ return misc_read_error; ++ if (ts.fread(&comm_bits, sizeof(short), 1) != 1) ++ return misc_read_error; ++ if (ts.fread(ieee_ext_sample_rate, 10, 1) != 1) + { + fprintf(stderr,"AIFF chunk: eof within COMM chunk\n"); + return misc_read_error; +@@ -789,7 +793,7 @@ enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int + } + else if (strncmp(chunk.id,"SSND",4) == 0) + { +- if (ts.fread(&ssndchunk,1,sizeof(ssndchunk)) != sizeof(ssndchunk)) ++ if (ts.fread(&ssndchunk, sizeof(ssndchunk), 1) != 1) + { + fprintf(stderr,"AIFF chunk: eof within SSND chunk\n"); + return misc_read_error; +@@ -1127,7 +1131,8 @@ enum EST_read_status load_wave_snd(EST_TokenStream &ts, short **data, int + int current_pos; + + current_pos = ts.tell(); +- ts.fread(&header, sizeof(Sun_au_header), 1); ++ if (ts.fread(&header, sizeof(Sun_au_header), 1) != 1) ++ return misc_read_error; + + /* test for magic number */ + if ((EST_LITTLE_ENDIAN) && +@@ -1347,12 +1352,16 @@ enum EST_read_status load_wave_audlab(EST_TokenStream &ts, short **data, int + + /* Read header structures from char array */ + current_pos = ts.tell(); +- ts.fread(&fh, sizeof(struct audlabfh), 1); ++ ++ if (ts.fread(&fh, sizeof(struct audlabfh), 1) != 1) ++ return misc_read_error; + if (strcmp(fh.file_type, "Sample") != 0) + return wrong_format; + +- ts.fread(&sh, sizeof(struct audlabsh), 1); +- ts.fread(&sd, sizeof(struct audlabsd), 1); ++ if (ts.fread(&sh, sizeof(struct audlabsh), 1) != 1) ++ return misc_read_error; ++ if (ts.fread(&sd, sizeof(struct audlabsd), 1) != 1) ++ return misc_read_error; + hdr_length = sizeof(struct audlabfh) + + sizeof(struct audlabsh) + + sizeof(struct audlabsd); +-- +1.8.3.4 + + +From 644690fc0c8e45fe5c58caa9bd928eedb178fa49 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 14:55:07 -0800 +Subject: Fix a few memory handling bugs + +Backported from Debian: memory_bugs.diff, rev 0691e0f66a14c. + +Signed-off-by: Timothy Gu + +diff --git a/base_class/rateconv.cc b/base_class/rateconv.cc +index f27fb44..10ef465 100644 +--- a/base_class/rateconv.cc ++++ b/base_class/rateconv.cc +@@ -431,7 +431,7 @@ static int outmax; + + static int ioerr(void) + { +- delete g_coep; ++ delete[] g_coep; + return -1; + } + +@@ -585,7 +585,7 @@ int rateconv(short *in,int isize, short **out, int *osize, + return ioerr(); + } while (outsize == OUTBUFFSIZE); + +- delete g_coep; ++ delete[] g_coep; + + *osize = outpos; + +diff --git a/base_class/string/EST_String.cc b/base_class/string/EST_String.cc +index 3cab0f1..3e33da3 100644 +--- a/base_class/string/EST_String.cc ++++ b/base_class/string/EST_String.cc +@@ -329,6 +329,7 @@ int EST_String::gsub_internal (const char *os, int olength, const char *s, int l + p += length; + at=end; + } ++ if (p != from+at) + memcpy(p, from+at, size-at); + + p += size-at; +diff --git a/stats/EST_Discrete.cc b/stats/EST_Discrete.cc +index f151888..89d3d74 100644 +--- a/stats/EST_Discrete.cc ++++ b/stats/EST_Discrete.cc +@@ -151,7 +151,7 @@ Discretes::~Discretes() + + for (i=0; i +Date: Thu, 25 Dec 2014 14:56:46 -0800 +Subject: Allow `-pc longest` in lower case + +Backported from Debian: ch_wave-LONGEST.diff, rev: a9c9f0e91f. + +Signed-off-by: Timothy Gu + +diff --git a/main/ch_wave_main.cc b/main/ch_wave_main.cc +index 3e74a12..e7859ac 100644 +--- a/main/ch_wave_main.cc ++++ b/main/ch_wave_main.cc +@@ -199,7 +199,7 @@ int main (int argc, char *argv[]) + wave_info(sigload); + else if (al.present("-pc")) + { +- if ((al.val("-pc") == "longest") && ++ if ((downcase(al.val("-pc")) == "longest") && + (sig.num_samples() < sigload.num_samples())) + sig.resize(sigload.num_samples()); + else /* "first" or sig is longer */ +-- +1.8.3.4 + + +From 295c71122265d274429dd6712323d8f624a712fa Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 15:27:31 -0800 +Subject: Add Haiku configurations + + +diff --git a/config/systems/Haiku.mak b/config/systems/Haiku.mak +new file mode 100644 +index 0000000..5d78efd +--- /dev/null ++++ b/config/systems/Haiku.mak +@@ -0,0 +1,56 @@ ++ ########################################################################### ++ ## ## ++ ## Centre for Speech Technology Research ## ++ ## University of Edinburgh, UK ## ++ ## Copyright (c) 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. ## ++ ## ## ++ ## THE UNIVERSITY OF EDINBURGH 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 THE UNIVERSITY OF EDINBURGH 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. ## ++ ## ## ++ ########################################################################### ++ ## ## ++ ## Author: Tiancheng "Timothy" Gu ## ++ ## -------------------------------------------------------------------- ## ++ ## Settings for BeOS-derived systems, e.g. Haiku ## ++ ## ## ++ ########################################################################### ++ ++include $(EST)/config/systems/default.mak ++ ++## Don't assume echo -n works ++ECHO_N = /bin/printf "%s" ++ ++## No native audio ++NATIVE_AUDIO = ++ ++## ncurses available, and sockets operations are in libnetwork ++OS_LIBS = -lncurses -lnetwork ++ ++## No math library needed. Empty $(sort) needed so that `ifdef MATH_LIBRARY` ++## returns true. ++MATH_LIBRARY = $(sort ) ++ ++## awk is a compatible awk, usually gawk. ++NAWK=awk +diff --git a/config/systems/ix86_Haiku.mak b/config/systems/ix86_Haiku.mak +new file mode 100644 +index 0000000..3822625 +--- /dev/null ++++ b/config/systems/ix86_Haiku.mak +@@ -0,0 +1,41 @@ ++ ########################################################################### ++ ## ## ++ ## Centre for Speech Technology Research ## ++ ## University of Edinburgh, UK ## ++ ## Copyright (c) 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. ## ++ ## ## ++ ## THE UNIVERSITY OF EDINBURGH 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 THE UNIVERSITY OF EDINBURGH 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. ## ++ ## ## ++ ########################################################################### ++ ## ## ++ ## Author: Tiancheng "Timothy" Gu ## ++ ## -------------------------------------------------------------------- ## ++ ## Settings for BeOS-derived systems, e.g. Haiku ## ++ ## ## ++ ########################################################################### ++ ++include $(EST)/config/systems/Haiku.mak ++ +diff --git a/config/systems/x86_64_Haiku.mak b/config/systems/x86_64_Haiku.mak +new file mode 100644 +index 0000000..3822625 +--- /dev/null ++++ b/config/systems/x86_64_Haiku.mak +@@ -0,0 +1,41 @@ ++ ########################################################################### ++ ## ## ++ ## Centre for Speech Technology Research ## ++ ## University of Edinburgh, UK ## ++ ## Copyright (c) 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. ## ++ ## ## ++ ## THE UNIVERSITY OF EDINBURGH 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 THE UNIVERSITY OF EDINBURGH 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. ## ++ ## ## ++ ########################################################################### ++ ## ## ++ ## Author: Tiancheng "Timothy" Gu ## ++ ## -------------------------------------------------------------------- ## ++ ## Settings for BeOS-derived systems, e.g. Haiku ## ++ ## ## ++ ########################################################################### ++ ++include $(EST)/config/systems/Haiku.mak ++ +-- +1.8.3.4 + + +From ce49b8a8bf93cf694281be2e979ec58c3950635e Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 15:30:42 -0800 +Subject: Haiku-specific configuration + +Signed-off-by: Timothy Gu + +diff --git a/config/config.in b/config/config.in +index 15d563e..e7e6a65 100644 +--- a/config/config.in ++++ b/config/config.in +@@ -61,7 +61,7 @@ WARN=1 + # VERBOSE=1 + #DEBUG=1 + # PROFILE=gprof +-#SHARED=2 ++SHARED=2 + + ## Directory specific selections which override the above + +@@ -83,7 +83,7 @@ OPTIMISE_sigpr = 3 + # INCLUDE_MODULES += ESD_AUDIO + + ## Native audio for your platform (sun, linux, freebsd, irix, macosx, windows) +-INCLUDE_MODULES += NATIVE_AUDIO ++# INCLUDE_MODULES += NATIVE_AUDIO + + ## Special code to run Windows MPLAYER + # INCLUDE_MODULES += MPLAYER_AUDIO +@@ -172,7 +172,7 @@ INCLUDE_MODULES += RXP + + # Languages to generate wrappers for. Currently: PYTHON + # PERL5 is no longer supported +-CONFIG_WRAPPER_LANGUAGES = PYTHON ++CONFIG_WRAPPER_LANGUAGES = + + # Language specific includes should be set to correct site paths + CONFIG_PYTHON_INCLUDES= -I/usr/include/python2.2/ +-- +1.8.3.4 + + +From a88060a26c29c6f61b6e18824d0164f82456c6ac Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 25 Dec 2014 16:30:07 -0800 +Subject: Add missing library major version + + +diff --git a/config/project.mak b/config/project.mak +index 2578fc1..11884c5 100644 +--- a/config/project.mak ++++ b/config/project.mak +@@ -42,6 +42,7 @@ + PROJECT_NAME = Edinburgh Speech Tools Library + PROJECT_PREFIX = EST + PROJECT_VERSION = 2.4 ++PROJECT_MAJOR_VERSION = 2 + PROJECT_DATE = December 2014 + PROJECT_STATE = release + +-- +1.8.3.4 + + +From f50c1e621e9d510f475032474438b2df97ac07a0 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Fri, 26 Dec 2014 02:35:24 +0000 +Subject: config/system.sh: Use `uname -p` for machine type + +Fixes Haiku detection + +diff --git a/config/system.sh b/config/system.sh +index 71b271c..b7ac4a1 100644 +--- a/config/system.sh ++++ b/config/system.sh +@@ -46,9 +46,9 @@ OSTYPE=`uname -s | + sed -e '/^\([^_]*\).*/s//\1/' -e '/\//s///g'` + + # CPU, downcased, /s and some uninteresting details eliminated +-MACHINETYPE=`{ mach || uname -m || echo unknown ; } 2>/dev/null | ++MACHINETYPE=`{ mach || uname -p || echo unknown ; } 2>/dev/null | + tr ABCDEFGHIJKLMNOPQRSTUVWXYZ/ abcdefghijklmnopqrstuvwxyz_ | +- sed -e 's/i[0-9]86/ix86/' \ ++ sed -e 's/i\{0,1\}[0-9x]86/ix86/' \ + -e 's/sun4/sparc/' \ + -e 's/ip[0-9]*/ip/'\ + -e 's/ /_/g'\ +-- +1.8.3.4 + diff --git a/app-accessibility/speech_tools/speech_tools-2.4.recipe b/app-accessibility/speech_tools/speech_tools-2.4.recipe new file mode 100644 index 000000000..7c644a8f0 --- /dev/null +++ b/app-accessibility/speech_tools/speech_tools-2.4.recipe @@ -0,0 +1,150 @@ +SUMMARY="Edinburgh speech tools library" +SUMMARY_tools="Edinburgh Speech Tools" + +DESCRIPTION="The Edinburgh speech tools library is a collection of C++ classes \ +that aide in developing machine-synthesized voices. Developed by the University \ +of Edinburgh, it is used in Festival, a text-to-speech engine developed by \ +the University of Edinburgh as well. +" +HOMEPAGE="http://www.cstr.ed.ac.uk/projects/speech_tools/" +SRC_URI="http://www.festvox.org/packed/festival/${portVersion}/speech_tools-${portVersion}-release.tar.gz" +CHECKSUM_SHA256="fbc2482c443919aa79d2e599d6a5faee4e793df55a79ef377f1dc7e8ba237010" +SOURCE_DIR="speech_tools" +REVISION="1" + +# Although individually many files have different licenses, as a whole this +# license covers all the files. +LICENSE=" + Edinburgh Speech Tools + " +COPYRIGHT=" + 1986 University of Toronto + 1987, 1993 The Regents of the University of California + 1992, 1995 Markus Mummert + 1992 Rich Salz + 1992 Simmule Turner + 1994-2014 University of Edinburgh, UK + 1997-1998 Richard Tobin + 1999-2003 Language Technologies Institute, Carnegie Mellon University + " + +ARCHITECTURES="x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86 !x86_gcc2" + +PROVIDES=" + speech_tools$secondaryArchSuffix = $portVersion + lib:libestbase$secondaryArchSuffix = $portVersion compat >= 2 + lib:libestools$secondaryArchSuffix = $portVersion compat >= 2 + lib:libeststring$secondaryArchSuffix = $portVersion compat >= 2 + " +PROVIDES_devel=" + flite${secondaryArchSuffix}_devel = $portVersion + devel:libestbase$secondaryArchSuffix = $portVersion compat >= 2 + devel:libestools$secondaryArchSuffix = $portVersion compat >= 2 + devel:libeststring$secondaryArchSuffix = $portVersion compat >= 2 + " +PROGS=" bcat ch_lab ch_track ch_utt ch_wave design_filter dp \ + na_play na_record ngram_build ngram_test ols \ + ols_test pda pitchmark scfg_make \ + scfg_parse scfg_test scfg_train sig2fv sigfilter spectgen \ + tilt_analysis tilt_synthesis viterbi wagon wagon_test \ + wfst_build wfst_run wfst_train xml_parser + " +SCRIPTS=" + make_wagon_desc + raw_to_xgraph + resynth + " +PROVIDES_tools=" + speech_tools_tools = $portVersion + cmd:simple_pitchmark = $portVersion + " +for p in $PROGS $SCRIPTS; do + PROVIDES_tools=" + $PROVIDES_tools + cmd:$p = $portVersion + " +done +REQUIRES=" + haiku$secondaryArchSuffix + gcc${secondaryArchSuffix}_syslibs + lib:libncurses$secondaryArchSuffix + " +REQUIRES_devel=" + haiku${secondaryArchSuffix}_devel + speech_tools$secondaryArchSuffix == $portVersion base + " +REQUIRES_tools=" + haiku$secondaryArchSuffix + gcc${secondaryArchSuffix}_syslibs + speech_tools$secondaryArchSuffix == $portVersion base + cmd:perl + lib:libncurses$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libncurses$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:awk + cmd:find + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:mkdepend + " + +PATCHES="speech_tools-${portVersion}.patchset" + +BUILD() +{ + runConfigure ./configure + # There are some problems with concurrency. + make +} + +INSTALL() +{ + cmdBinDir=$prefix/bin + mkdir -p $cmdBinDir + (cd main && cp $PROGS $cmdBinDir) + for s in $SCRIPTS; do + sed 's,__PERL__,/bin/perl,g' $cmdBinDir/$s + chmod +x $cmdBinDir/$s + done + sed 's,__PERL__,/bin/perl,g' \ + $cmdBinDir/simple-pitchmark + chmod +x $cmdBinDir/simple-pitchmark + + mkdir -p $libDir + # Install everything to lib/ and let prepareInstalledDevelLibs handle + # devel libs, etc. + cp lib/*.a lib/*.so lib/*.so.* $libDir + + # Installs possibly internal headers as well, as debian installs them + mkdir -p $includeDir/ + cp -a include/* $includeDir/ + rm -rf $includeDir/Makefile \ + $includeDir/*/Makefile \ + $includeDir/win32 + cp -a base_class/*.h $includeDir/ + mkdir -p $includeDir/base_class/ + cp -a base_class/*.cc $includeDir/base_class/ + + prepareInstalledDevelLibs \ + libestbase \ + libestools \ + libeststring + packageEntries devel \ + $developDir + packageEntries tools \ + $cmdBinDir +} diff --git a/app-arch/unlzx/additional-files/unlzx-expander-rules b/app-arch/unlzx/additional-files/unlzx-expander-rules new file mode 100644 index 000000000..75b5f81ce --- /dev/null +++ b/app-arch/unlzx/additional-files/unlzx-expander-rules @@ -0,0 +1 @@ +"application/x-lzx" .lzx "unlzx -v %s" "unlzx %s" diff --git a/app-arch/unlzx/unlzx-1.1.recipe b/app-arch/unlzx/unlzx-1.1.recipe new file mode 100644 index 000000000..938de0dbc --- /dev/null +++ b/app-arch/unlzx/unlzx-1.1.recipe @@ -0,0 +1,41 @@ +SUMMARY="Decompresses LZX archives on multiple platforms" +DESCRIPTION="LZX is the name of an LZ77 family compression algorithm invented \ +by Johnathon Forbes and Tomi Poutanen. unlzx is a program designed to extract \ +these archives." +HOMEPAGE="http://aminet.net/package/misc/unix/unlzx.c.gz" +SRC_URI="git+https://github.com/tweakdeveloper/unlzx.git#36a85e7" +ADDITIONAL_FILES="unlzx-expander-rules" +REVISION="3" +LICENSE="Public Domain" +COPYRIGHT="2001 Erik Meusel" + +ARCHITECTURES="x86_gcc2 x86" + +REQUIRES=" + haiku + " + +BUILD_REQUIRES=" + haiku_devel + cmd:gcc + cmd:strip + " + +PROVIDES=" + unlzx = $portVersion + cmd:unlzx + " + +BUILD() +{ + gcc unlzx.c -o unlzx + strip unlzx +} + +INSTALL() +{ + expanderRulesDir=$dataDir/expander/rules + mkdir -p $binDir $expanderRulesDir + cp unlzx $binDir + cp $portDir/additional-files/unlzx-expander-rules $expanderRulesDir +} diff --git a/app-benchmarks/iozone/iozone-3.326.recipe b/app-benchmarks/iozone/iozone-3.326.recipe index 398529eac..e51ee9554 100644 --- a/app-benchmarks/iozone/iozone-3.326.recipe +++ b/app-benchmarks/iozone/iozone-3.326.recipe @@ -47,7 +47,9 @@ BUILD() INSTALL() { cd src/current/ - mkdir -p $binDir/iozone - cp iozone $binDir/iozone + cp iozone $binDir cp fileop $binDir + + mkdir -p $manDir/man1 + cp ../../docs/iozone.1 $manDir/man1 } \ No newline at end of file diff --git a/app-dicts/mythes/mythes-1.2.4.recipe b/app-dicts/mythes/mythes-1.2.4.recipe new file mode 100644 index 000000000..eb22a9f02 --- /dev/null +++ b/app-dicts/mythes/mythes-1.2.4.recipe @@ -0,0 +1,84 @@ +SUMMARY="A simple thesaurus" +DESCRIPTION="MyThes is a simple thesaurus that used a structured text \ +data file and an index file with binary search to lookup words \ +and phrases and return information on part of speech, \ +meanings, and synonyms. + +- written in C++ to make it easier to interface with \ +LibreOffice, OpenOffice, AbiWord, Pspell, etc +- it is stateless, uses no static variables and \ +should be completely reentrant with no ifdefs +- it compiles with -ansi and -pedantic and -Wall \ +with no warnigns so it shouldbe quite portable +- it uses a simple perl program to read the structured \ +text file and create the index needed for binary \ +searching +- it is very simple with *lots* of comments. \ +The main "smarts" are in the structure of the \ +text file that makes up the thesaurus data +- It comes with a ready-to-go structured thesaurus \ +data file for en_US extracted from the WordNet-2.0 data. +- Please see WordNet_license.txt and WordNet_readme.txt \ +for more information on the very useful project! +- See http://www.danielnaber.de/wn2ooo/ for utilities to \ +regenerate an up to date English thesaurus from the most \ +recent WordNet data." +HOMEPAGE="http://sourceforge.net/projects/hunspell/files/MyThes/1.2.4" +SRC_URI="http://prdownloads.sf.net/hunspell/mythes-1.2.4.tar.gz" +CHECKSUM_SHA256="1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f" +COPYRIGHT="1994 - 2009 Free Software Foundation, Inc." +LICENSE="BSD (2-clause)" +REVISION="1" + +PROVIDES=" + mythes$secondaryArchSuffix = $portVersion + cmd:mythes = $portVersion + cmd:th_gen_idx.pl + lib:libmythes_1.2$secondaryArchSuffix = $portVersion + " + +PROVIDES_devel=" + devel:libmythes_1.2$secondaryArchSuffix = $portVersion + mythes${secondaryArchSuffix}_devel = $portVersion + " + +ARCHITECTURES="x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +REQUIRES=" + haiku$secondaryArchSuffix + lib:libhunspell_1.3$secondaryArchSuffix + cmd:perl + " + +REQUIRES_devel=" + mythes$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + devel:libhunspell_1.3$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:awk + haiku${secondaryArchSuffix}_devel + " + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLibs \ + libmythes-1.2 + packageEntries devel \ + $developDir +} \ No newline at end of file diff --git a/app-shells/bash_completion/bash_completion-2.1.recipe b/app-shells/bash_completion/bash_completion-2.1.recipe new file mode 100644 index 000000000..fd292206e --- /dev/null +++ b/app-shells/bash_completion/bash_completion-2.1.recipe @@ -0,0 +1,65 @@ +SUMMARY="Tab-completion for the Bash shell" +DESCRIPTION="Since v2.04, bash has allowed you to intelligently program \ +and extend its standard completion behavior to achieve complex command \ +lines with just a few keystrokes. Imagine typing ssh [Tab] and being \ +able to complete on hosts from your ~/.ssh/known_hosts files. Or typing \ +man 3 str [Tab] and getting a list of all string handling functions in \ +the UNIX manual. mount system: [Tab] would complete on all exported \ +file-systems from the host called system, while make [Tab] would complete \ +on all targets in Makefile. This project was conceived to produce \ +programmable completion routines for the most common Linux/UNIX commands, \ +reducing the amount of typing sysadmins and programmers need to do on \ +a daily basis." +HOMEPAGE="http://bash-completion.alioth.debian.org/" +SRC_URI="http://bash-completion.alioth.debian.org/files/bash-completion-$portVersion.tar.bz2" +CHECKSUM_SHA256="2b606804a7d5f823380a882e0f7b6c8a37b0e768e72c3d4107c51fbe8a46ae4f" +SOURCE_DIR="bash-completion-$portVersion" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2006-2014 Debian Project" +ARCHITECTURES="any" + +PROVIDES=" + bash_completion = $portVersion + " +REQUIRES=" + cmd:bash + " +BUILD_REQUIRES=" + cmd:bash + " +BUILD_PREREQUIRES=" + haiku + cmd:bash + cmd:awk + cmd:make + " + +GLOBAL_WRITABLE_FILES=" + settings/profile.d/bash_completion.sh auto-merge + " +USER_SETTINGS_FILES=" + settings/profile.d/bash_completion.sh + " + +PATCH() +{ + cd completions + for file in * + do + chmod +x $file + done +} + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + chmod +x $settingsDir/profile.d/bash_completion.sh + chmod +x $dataDir/bash-completion/bash_completion +} diff --git a/dev-vcs/rcs/rcs-5.9.3.recipe b/dev-vcs/rcs/rcs-5.9.3.recipe new file mode 100644 index 000000000..fa5e4376b --- /dev/null +++ b/dev-vcs/rcs/rcs-5.9.3.recipe @@ -0,0 +1,67 @@ +SUMMARY="Revision Control System" +DESCRIPTION="The Revision Control System (RCS) manages multiple revisions \ +of files. RCS automates the storing, retrieval, logging, identification, \ +and merging of revisions. RCS is useful for text that is revised \ +frequently, including source code, programs, documentation, graphics, \ +papers, and form letters. + +RCS is (mostly) deprecated now. Unless you have an existing RCS repository \ +that you need to access, using Subversion or Git is preferred." +HOMEPAGE="http://www.gnu.org/software/rcs/" +COPYRIGHT="1986-2005 Free Software Foundation, Inc." +LICENSE="GNU GPL v1 + GNU LGPL v2" +SRC_URI="https://ftp.gnu.org/gnu/rcs/rcs-5.9.3.tar.xz" +CHECKSUM_SHA256="68b0d1c1b8657766cd7dc78e10564ce4836220e64665fb35fbe74dbc1dff5b47" +REVISION="1" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + rcs = $portVersion compat >= 5.9 + cmd:ci = $portVersion compat >= 5.9 + cmd:co = $portVersion compat >= 5.9 + cmd:ident = $portVersion compat >= 5.9 + cmd:merge = $portVersion compat >= 5.9 + cmd:rcs = $portVersion compat >= 5.9 + cmd:rcsclean = $portVersion compat >= 5.9 + cmd:rcsdiff = $portVersion compat >= 5.9 + cmd:rcsmerge = $portVersion compat >= 5.9 + cmd:rlog = $portVersion compat >= 5.9 + " +REQUIRES=" + haiku$secondaryArchSuffix + cmd:ed + cmd:awk + cmd:diff + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + + cmd:ed + cmd:awk + cmd:diff + " + +BUILD() +{ + runConfigure --omit-dirs binDir ./configure --bindir=$prefix/bin + make $jobArgs +} + +INSTALL() +{ + make install +} diff --git a/dev-vcs/subversion/patches/subversion-1.8.10.patchset b/dev-vcs/subversion/patches/subversion-1.8.11.patchset similarity index 100% rename from dev-vcs/subversion/patches/subversion-1.8.10.patchset rename to dev-vcs/subversion/patches/subversion-1.8.11.patchset diff --git a/dev-vcs/subversion/subversion-1.8.10.recipe b/dev-vcs/subversion/subversion-1.8.11.recipe similarity index 97% rename from dev-vcs/subversion/subversion-1.8.10.recipe rename to dev-vcs/subversion/subversion-1.8.11.recipe index 2d64dd0f5..aa05c4f6c 100644 --- a/dev-vcs/subversion/subversion-1.8.10.recipe +++ b/dev-vcs/subversion/subversion-1.8.11.recipe @@ -10,7 +10,7 @@ HOMEPAGE="http://subversion.apache.org" LICENSE="Apache-Subversion" COPYRIGHT="2010-2014 The Apache Software Foundation" SRC_URI="http://wwwftp.ciril.fr/pub/apache/subversion/subversion-$portVersion.tar.bz2" -CHECKSUM_SHA256="1cc900c8a7974337c3ed389dc6b5c59012ec48c7d4107ae31fd7c929ded47dcc" +CHECKSUM_SHA256="10b056420e1f194c12840368f6bf58842e6200f9cb8cc5ebbf9be2e89e56e4d9" REVISION="1" ARCHITECTURES="x86_gcc2 x86 x86_64" @@ -81,7 +81,7 @@ USER_SETTINGS_FILES=" " -PATCHES="subversion-1.8.10.patchset" +PATCHES="subversion-$portVersion.patchset" BUILD() { diff --git a/games-action/heroes/heroes-0.21.recipe b/games-action/heroes/heroes-0.21.recipe new file mode 100644 index 000000000..c63805256 --- /dev/null +++ b/games-action/heroes/heroes-0.21.recipe @@ -0,0 +1,63 @@ +SUMMARY="An action game similar to Tron and Nibbles." +DESCRIPTION="Heroes is similar to the Tron and Nibbles games of yore, but \ +includes many graphical improvements and new game features. In it, you must \ +maneuver a small vehicle around a world and collect powerups while avoiding \ +obstacles, your opponents trails, and even your own trail." +HOMEPAGE="http://heroes.sourceforge.net/" +SRC_URI="http://prdownloads.sourceforge.net/heroes/heroes-0.21.tar.gz" +CHECKSUM_SHA256="1264981d37d0fa12905ca627e6329c22ae6db10a1abaf3ec9b9c7357d391b54f" +SRC_URI_2="http://prdownloads.sourceforge.net/heroes/heroes-data-1.5.tar.gz" +CHECKSUM_SHA256_2="af2af6b1fd83636db03d0d2aa77243d31dccd1cb14a20269ed765edb2bb4ff43" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2000-2002 Alexandre Duret-Lutz, \ +Romual Genevois, \ +Alexandre Liverneaux, \ +Philippe Meisburger" + +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +PROVIDES=" + heroes = portVersion + app:heroes = $portVersion + cmd:heroeslvl = $portVersion +" + +REQUIRES=" + haiku + lib:libintl + lib:libsdl + lib:libsdl_mixer +" + +BUILD_REQUIRES=" + haiku_devel + devel:libintl + devel:libsdl + devel:libsdl_mixer +" + +BUILD_PREREQUIRES=" + cmd:gcc + cmd:libtoolize + cmd:make +" + +BUILD() +{ + libtoolize -fci + ./configure --prefix=$appsDir/Heroes + make $jobArgs + cd ../../sources-2/heroes-data-1.5 + libtoolize -fci + ./configure --prefix=$appsDir/Heroes + make $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/Heroes + make install + cd ../../sources-2/heroes-data-1.5 + make install +} diff --git a/games-arcade/plee_the_bear/patches/plee_the_bear-0.7.0.patchset b/games-arcade/plee_the_bear/patches/plee_the_bear-0.7.0.patchset index fdd9681f1..c121a7061 100644 --- a/games-arcade/plee_the_bear/patches/plee_the_bear-0.7.0.patchset +++ b/games-arcade/plee_the_bear/patches/plee_the_bear-0.7.0.patchset @@ -1,8 +1,12 @@ -From 03033c51349e01d5d06ee74545a15a534525d785 Mon Sep 17 00:00:00 2001 +From 33e29a8c2f19b290ed6e9056a60aac6fd27426c6 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 6 Apr 2014 14:54:36 +0200 -Subject: Fix search paths for SDL2 header files. +Subject: [PATCH 1/4] Fix search paths for SDL2 header files. +--- + bear/cmake-helper/FindSDL2.cmake | 2 +- + bear/cmake-helper/FindSDL2_mixer.cmake | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bear/cmake-helper/FindSDL2.cmake b/bear/cmake-helper/FindSDL2.cmake index 7665a55..bcd3050 100644 @@ -33,12 +37,15 @@ index 59ed911..d795965 100644 -- 1.8.3.4 - -From 4a4404ab5a5b9c67925ec6d910ddc5f47fb1b910 Mon Sep 17 00:00:00 2001 +From 864a651724bec4acce7b92fd3e1bddaa00f17c19 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 6 Apr 2014 17:02:35 +0200 -Subject: Link libintl on haiku. +Subject: [PATCH 2/4] Link libintl on haiku. +--- + bear/bear-engine/running_bear/CMakeLists.txt | 2 +- + plee-the-bear/launcher/src/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bear/bear-engine/running_bear/CMakeLists.txt b/bear/bear-engine/running_bear/CMakeLists.txt index 8b04d89..4fffd94 100644 @@ -69,12 +76,16 @@ index 9ed5d32..ff88206 100644 -- 1.8.3.4 - -From 415c83accad83bf6677dd3d578ab6712582910b9 Mon Sep 17 00:00:00 2001 +From c929f602fb74adcdf495e144b66f4981c0655ba5 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 6 Apr 2014 19:41:58 +0200 -Subject: Fix install directories. +Subject: [PATCH 3/4] Fix install directories. +--- + bear/cmake-helper/bear-config.cmake | 2 +- + bear/cmake-module/CMakeLists.txt | 2 +- + plee-the-bear/CMakeLists.txt | 6 +++--- + 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bear/cmake-helper/bear-config.cmake b/bear/cmake-helper/bear-config.cmake index e66d79e..b483445 100644 @@ -103,7 +114,7 @@ index e182689..24c2113 100644 set( BEAR_CMAKE_MODULES diff --git a/plee-the-bear/CMakeLists.txt b/plee-the-bear/CMakeLists.txt -index 6a123d9..9bc8df3 100644 +index 6a123d9..c3dbb90 100644 --- a/plee-the-bear/CMakeLists.txt +++ b/plee-the-bear/CMakeLists.txt @@ -23,7 +23,7 @@ include( docbook-to-man ) @@ -115,6 +126,15 @@ index 6a123d9..9bc8df3 100644 endif( NOT PTB_INSTALL_DATA_DIR ) # where the game executables are installed +@@ -38,7 +38,7 @@ if( NOT PTB_INSTALL_CUSTOM_LIBRARY_DIR ) + "${PTB_INSTALL_EXECUTABLE_DIR}" + ) + else( WIN32 ) +- set( PTB_INSTALL_CUSTOM_LIBRARY_DIR lib ) ++ set( PTB_INSTALL_CUSTOM_LIBRARY_DIR lib${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR} ) + endif( WIN32 ) + endif( NOT PTB_INSTALL_CUSTOM_LIBRARY_DIR ) + @@ -154,7 +154,7 @@ subdirs( install( @@ -127,3 +147,65 @@ index 6a123d9..9bc8df3 100644 -- 1.8.3.4 +From 34aca4d0b287e50d35957badf3e72060264f7a45 Mon Sep 17 00:00:00 2001 +From: Theodore Kokkoris +Date: Wed, 24 Dec 2014 23:53:14 +0200 +Subject: [PATCH 4/4] Change settings location on Haiku + +--- + .../bear-engine/core/src/engine/code/game_local_client.cpp | 14 ++++++++++++++ + .../src/engine/system/code/default_game_filesystem.cpp | 6 +++++- + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/bear/bear-engine/core/src/engine/code/game_local_client.cpp b/bear/bear-engine/core/src/engine/code/game_local_client.cpp +index 51c055b..83ab880 100644 +--- a/bear/bear-engine/core/src/engine/code/game_local_client.cpp ++++ b/bear/bear-engine/core/src/engine/code/game_local_client.cpp +@@ -51,6 +51,11 @@ + #include + #include + ++#if defined(__HAIKU__) ++ #include ++ #include ++#endif ++ + /*----------------------------------------------------------------------------*/ + /** + * \brief Print the options of the program. +@@ -1107,6 +1112,15 @@ void bear::engine::game_local_client::init_game_filesystem() + m_game_filesystem = + freedesktop_game_filesystem( m_game_description.game_name() ); + ++#elif defined( __HAIKU__ ) ++ BPath path; ++ status_t status = find_directory(B_USER_SETTINGS_DIRECTORY, &path); ++ if (status < B_OK) ++ // fall back to default ++ m_game_filesystem = default_game_filesystem( m_game_description.game_name() ); ++ else ++ m_game_filesystem = default_game_filesystem( m_game_description.game_name(), path.Path()); ++ + #else + + m_game_filesystem = default_game_filesystem( m_game_description.game_name() ); +diff --git a/bear/bear-engine/core/src/engine/system/code/default_game_filesystem.cpp b/bear/bear-engine/core/src/engine/system/code/default_game_filesystem.cpp +index 99ea2f8..0435b5a 100644 +--- a/bear/bear-engine/core/src/engine/system/code/default_game_filesystem.cpp ++++ b/bear/bear-engine/core/src/engine/system/code/default_game_filesystem.cpp +@@ -107,7 +107,11 @@ std::string bear::engine::default_game_filesystem::get_game_directory() const + boost::filesystem::path dir( m_root ); + + std::string result; +- std::string subdir = '.' + get_name_as_filename( m_game_name ); ++ #if defined(__HAIKU__) ++ std::string subdir = get_name_as_filename( m_game_name ); ++ #else ++ std::string subdir = '.' + get_name_as_filename( m_game_name ); ++ #endif + + dir /= boost::filesystem::path( subdir ); + +-- +1.8.3.4 + diff --git a/games-arcade/plee_the_bear/plee_the_bear-0.7.0.recipe b/games-arcade/plee_the_bear/plee_the_bear-0.7.0.recipe index a14612159..a9f89c7ca 100644 --- a/games-arcade/plee_the_bear/plee_the_bear-0.7.0.recipe +++ b/games-arcade/plee_the_bear/plee_the_bear-0.7.0.recipe @@ -6,18 +6,21 @@ SRC_URI="http://www.stuff-o-matic.com/plee-the-bear/download/file.php?platform=s CHECKSUM_SHA256="41dfe864fe2d791d6f99ba7cd330e22c94fce19d82909054eeac594aa4f2924e" SRC_FILENAME="plee-the-bear-0.7.0.tgz" -REVISION="1" -ARCHITECTURES="?x86" +REVISION="2" +ARCHITECTURES="x86" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then # x86_gcc2 is fine as primary target architecture as long as we're building # for a different secondary architecture. - ARCHITECTURES="$ARCHITECTURES !x86_gcc2" + ARCHITECTURES="x86_gcc2 $ARCHITECTURES" +else + ARCHITECTURES="!x86_gcc2 $ARCHITECTURES" fi -SECONDARY_ARCHITECTURES="x86" +SECONDARY_ARCHITECTURES="!x86_gcc2 x86" PROVIDES=" plee_the_bear = $portVersion cmd:plee_the_bear = $portVersion + lib:libplee_the_bear$secondaryArchSuffix lib:libbear_audio$secondaryArchSuffix lib:libbear_communication$secondaryArchSuffix lib:libbear_debug$secondaryArchSuffix @@ -65,7 +68,7 @@ BUILD_REQUIRES=" devel:libpng$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix devel:libintl$secondaryArchSuffix - boost_devel${secondaryArchSuffix} + boost${secondaryArchSuffix}_devel " BUILD_PREREQUIRES=" haiku${secondaryArchSuffix}_devel @@ -79,7 +82,7 @@ SOURCE_DIR="plee-the-bear-0.7.0-light" PATCHES="plee_the_bear-$portVersion.patchset" BUILD() { - cmake . -DBEAR_EDITORS_ENABLED=FALSE -DCMAKE_INSTALL_PREFIX=$prefix + cmake . -DBEAR_EDITORS_ENABLED=FALSE -DCMAKE_INSTALL_PREFIX=$prefix -DCMAKE_CXX_FLAGS="-DNDEBUG" make $jobArgs } @@ -93,16 +96,14 @@ INSTALL() # ----- DESCRIPTION ----------------------------------------------------------- -DESCRIPTION=" -Plee the Bear is a platform game in which you play an angry bear whose son has -been kidnapped by god. Here is a guy hard to brave! Jump in this amazing journey -to find and rescue your son. Because you want to rescue him, don't you? Or to -slap him? Maybe both…. +DESCRIPTION="Plee the Bear is a platform game in which you play an angry bear whose son has \ +been kidnapped by god. Here is a guy hard to brave! Jump in this amazing journey \ +to find and rescue your son. Because you want to rescue him, don't you? Or to \ +slap him? Maybe both…. \ -With three levels of the storyline and four mini-games, Plee the Bear did -received very positive criticisms. The players loved the fun, the graphics and -the music; the community around the free software movement appreciated the -overall process and the quality of the resources, remarkable for a free game; -and the indie gaming community was pleasantly surprised by the technical skills -and the details of the game. -" +With three levels of the storyline and four mini-games, Plee the Bear \ +received very positive criticisms. The players loved the fun, the graphics and \ +the music; the community around the free software movement appreciated the \ +overall process and the quality of the resources, remarkable for a free game; \ +and the indie gaming community was pleasantly surprised by the technical skills \ +and the details of the game." diff --git a/games-emulation/dgen/dgen-1.33.recipe b/games-emulation/dgen/dgen-1.33.recipe index 9e5f00cae..619d0b82c 100644 --- a/games-emulation/dgen/dgen-1.33.recipe +++ b/games-emulation/dgen/dgen-1.33.recipe @@ -9,8 +9,7 @@ Genesis and Mega Drive systems. Features: * Screenshots, demos recording and playback" HOMEPAGE="http://dgen.sourceforge.net/" COPYRIGHT="1998-2014 tamentis & zamaz" -SRC_URI="http://sourceforge.net/projects/dgen/files/dgen/$portVersion/dgen-sdl-$portVersion.tar.gz/download" -SRC_FILENAME="dgen-sdl-$portVersion.tar.gz" +SRC_URI="http://sourceforge.net/projects/dgen/files/dgen/$portVersion/dgen-sdl-$portVersion.tar.gz" CHECKSUM_SHA256="99e2c06017c22873c77f88186ebcc09867244eb6e042c763bb094b02b8def61e" SOURCE_DIR="dgen-sdl-$portVersion" REVISION="1" diff --git a/games-engines/openscenegraph/licenses/OSGPL b/games-engines/openscenegraph/licenses/OSGPL new file mode 100644 index 000000000..6340792d7 --- /dev/null +++ b/games-engines/openscenegraph/licenses/OSGPL @@ -0,0 +1,578 @@ + OpenSceneGraph Public License, Version 0.0 + ========================================== + + Copyright (C) 2002 Robert Osfield. + + Everyone is permitted to copy and distribute verbatim copies + of this licence document, but changing it is not allowed. + + OPENSCENEGRAPH PUBLIC LICENCE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + This library is free software; you can redistribute it and/or modify it + under the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 + or later. + + Notes: the OSGPL is based on the LGPL, with the 4 exceptions laid + out in the wxWindows section below. The LGPL is contained in the + final section of this license. + + +------------------------------------------------------------------------------- + + wxWindows Library Licence, Version 3 + ==================================== + + Copyright (C) 1998 Julian Smart, Robert Roebling [, ...] + + Everyone is permitted to copy and distribute verbatim copies + of this licence document, but changing it is not allowed. + + WXWINDOWS LIBRARY LICENCE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public Licence as published by + the Free Software Foundation; either version 2 of the Licence, or (at + your option) any later version. + + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library + General Public Licence for more details. + + You should have received a copy of the GNU Library General Public Licence + along with this software, usually in a file named COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA. + + EXCEPTION NOTICE + + 1. As a special exception, the copyright holders of this library give + permission for additional uses of the text contained in this release of + the library as licenced under the wxWindows Library Licence, applying + either version 3 of the Licence, or (at your option) any later version of + the Licence as published by the copyright holders of version 3 of the + Licence document. + + 2. The exception is that you may use, copy, link, modify and distribute + under the user's own terms, binary object code versions of works based + on the Library. + + 3. If you copy code from files distributed under the terms of the GNU + General Public Licence or the GNU Library General Public Licence into a + copy of this library, as this licence permits, the exception does not + apply to the code that you add in this way. To avoid misleading anyone as + to the status of such modified files, you must delete this exception + notice from such code and/or adjust the licensing conditions notice + accordingly. + + 4. If you write modifications of your own for this library, it is your + choice whether to permit this exception to apply to your modifications. + If you do not wish that, you must delete the exception notice from such + code and/or adjust the licensing conditions notice accordingly. + + +------------------------------------------------------------------------------ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/games-engines/openscenegraph/openscenegraph-3.2.1.recipe b/games-engines/openscenegraph/openscenegraph-3.2.1.recipe new file mode 100644 index 000000000..51a0b2afc --- /dev/null +++ b/games-engines/openscenegraph/openscenegraph-3.2.1.recipe @@ -0,0 +1,144 @@ +SUMMARY="An open source, real-time graphics middle-ware used by developers" +DESCRIPTION=" +The OpenSceneGraph is an open source high performance 3D graphics toolkit, used \ +by application developers in fields such as visual simulation, games, virtual \ +reality, scientific visualization and modelling. Written entirely in Standard \ +C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris \ +, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well \ +established as the world leading scene graph technology, used widely in the \ +vis-sim, space, scientific, oil-gas, games and virtual reality industries." +HOMEPAGE="http://www.openscenegraph.org" +SRC_URI="http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.1.zip" +CHECKSUM_SHA256="d9ae72263d0191855b0f804d93c586d489f119aca0499292acc09bb0fa0b3e6d" +REVISION="1" +LICENSE="OSGPL" +COPYRIGHT="2002-2014 Robert Osfield and others" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + openscenegraph$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libOpenThreads$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosg$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgAnimation$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgDB$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgFX$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgGA$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgManipulator$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgParticle$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgPresentation$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgShadow$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgSim$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgTerrain$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgText$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgUtil$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgViewer$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgVolume$secondaryArchSuffix = 3.2.1 compat >= 3 + lib:libosgWidget$secondaryArchSuffix = 3.2.1 compat >= 3 +" + +REQUIRES=" + haiku$secondaryArchSuffix + mesa$secondaryArchSuffix + lib:libgl$secondaryArchSuffix + lib:libsdl$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libtiff$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libgcc_s$secondaryArchSuffix +" + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + mesa${secondaryArchSuffix}_devel + devel:libsdl$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libz$secondaryArchSuffix +" + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:cmake + cmd:make + cmd:pkg_config$secondaryArchSuffix +" + +PATCHES="openscenegraph-3.2.1.patchset" + +SOURCE_DIR="OpenSceneGraph-3.2.1" + +BUILD() +{ + cmake . -DCMAKE_INSTALL_PREFIX=$prefix -DOSG_USE_QT=OFF -DBUILD_OSG_APPLICATIONS=OFF -DOSG_WINDOWING_SYSTEM=None + make $jobArgs + +} + +INSTALL() +{ + make install + + mkdir -p $includeDir + mv $prefix/include/* $includeDir/ + rm -rf $prefix/include + + mkdir -p $prefix/lib-temp + mv $prefix/lib/* $prefix/lib-temp/ + mkdir -p $libDir + mv $prefix/lib-temp/* $libDir + rm -rf $prefix/lib-temp + + prepareInstalledDevelLibs libOpenThreads \ + libosg libosgAnimation libosgDB libosgFX \ + libosgGA libosgManipulator libosgParticle \ + libosgPresentation libosgShadow libosgSim \ + libosgTerrain libosgText libosgUtil libosgViewer \ + libosgVolume libosgWidget + + fixPkgconfig + + packageEntries devel $developDir + +} + +PROVIDES_devel=" + openscenegraph${secondaryArchSuffix}_devel = 3.2.1 compat >= 3 + devel:libOpenThreads$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosg$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgAnimation$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgDB$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgFX$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgGA$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgManipulator$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgParticle$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgPresentation$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgShadow$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgSim$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgTerrain$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgText$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgUtil$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgViewer$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgVolume$secondaryArchSuffix = 3.2.1 compat >= 3 + devel:libosgWidget$secondaryArchSuffix = 3.2.1 compat >= 3 + +" +REQUIRES_devel=" + openscenegraph$secondaryArchSuffix == $portVersion +" diff --git a/games-engines/openscenegraph/openscenegraph-git.recipe b/games-engines/openscenegraph/openscenegraph-git.recipe new file mode 100644 index 000000000..e499fb7ca --- /dev/null +++ b/games-engines/openscenegraph/openscenegraph-git.recipe @@ -0,0 +1,145 @@ +SUMMARY="An open source, real-time graphics middle-ware used by developers" +DESCRIPTION=" +The OpenSceneGraph is an open source high performance 3D graphics toolkit, used \ +by application developers in fields such as visual simulation, games, virtual \ +reality, scientific visualization and modelling. Written entirely in Standard \ +C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris \ +, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well \ +established as the world leading scene graph technology, used widely in the \ +vis-sim, space, scientific, oil-gas, games and virtual reality industries." +HOMEPAGE="http://www.openscenegraph.org" +SRC_URI="git://github.com/openscenegraph/osg#77f09f9e649cfedd32608ed6ec67bf1de7cd53ac" +REVISION="1" +LICENSE="OSGPL" +COPYRIGHT="2002-2014 Robert Osfield and others" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + openscenegraph$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libOpenThreads$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosg$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgAnimation$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgDB$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgFX$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgGA$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgManipulator$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgParticle$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgPresentation$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgShadow$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgSim$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgTerrain$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgText$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgUtil$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgViewer$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgVolume$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgWidget$secondaryArchSuffix = 3.3.4 compat >= 3 + lib:libosgUI$secondaryArchSuffix = 3.3.4 compat >= 3 +" + +REQUIRES=" + haiku$secondaryArchSuffix + mesa$secondaryArchSuffix + lib:libgl$secondaryArchSuffix + lib:libsdl$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libtiff$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libgcc_s$secondaryArchSuffix +" + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + mesa${secondaryArchSuffix}_devel + devel:libsdl$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libz$secondaryArchSuffix +" + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:cmake + cmd:make + cmd:pkg_config$secondaryArchSuffix +" + +PATCHES="openscenegraph-3.2.1.patchset" + +SOURCE_DIR="OpenSceneGraph-3.2.1" + +BUILD() +{ + cmake . -DCMAKE_INSTALL_PREFIX=$prefix -DOSG_USE_QT=OFF -DBUILD_OSG_APPLICATIONS=OFF -DOSG_WINDOWING_SYSTEM=None + make $jobArgs + +} + +INSTALL() +{ + make install + + mkdir -p $includeDir + mv $prefix/include/* $includeDir/ + rm -rf $prefix/include + + mkdir -p $prefix/lib-temp + mv $prefix/lib/* $prefix/lib-temp/ + mkdir -p $libDir + mv $prefix/lib-temp/* $libDir + rm -rf $prefix/lib-temp + + prepareInstalledDevelLibs libOpenThreads \ + libosg libosgAnimation libosgDB libosgFX \ + libosgGA libosgManipulator libosgParticle \ + libosgPresentation libosgShadow libosgSim \ + libosgTerrain libosgText libosgUtil libosgViewer \ + libosgVolume libosgWidget libosgUI + + fixPkgconfig + + packageEntries devel $developDir + +} + +PROVIDES_devel=" + openscenegraph${secondaryArchSuffix}_devel = 3.3.4 compat >= 3 + devel:libOpenThreads$secondaryArchSuffix = 3.3.0 compat >= 3 + devel:libosg$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgAnimation$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgDB$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgFX$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgGA$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgManipulator$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgParticle$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgPresentation$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgShadow$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgSim$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgTerrain$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgText$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgUtil$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgViewer$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgVolume$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgWidget$secondaryArchSuffix = 3.3.4 compat >= 3 + devel:libosgUI$secondaryArchSuffix = 3.3.4 compat >= 3 + +" +REQUIRES_devel=" + openscenegraph$secondaryArchSuffix == 3.3.4 +" diff --git a/games-engines/openscenegraph/patches/openscenegraph-3.2.1.patchset b/games-engines/openscenegraph/patches/openscenegraph-3.2.1.patchset new file mode 100644 index 000000000..28ee177e3 --- /dev/null +++ b/games-engines/openscenegraph/patches/openscenegraph-3.2.1.patchset @@ -0,0 +1,36 @@ +From 3e731d32a286903a4b75d445ec6fdf0b8359b5d9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Adri=C3=A1n=20Arroyo=20Calle?= + +Date: Wed, 24 Dec 2014 14:55:21 +0000 +Subject: Add __HAIKU__ when needed + + +diff --git a/src/osgDB/FileUtils.cpp b/src/osgDB/FileUtils.cpp +index affd682..dcbb532 100644 +--- a/src/osgDB/FileUtils.cpp ++++ b/src/osgDB/FileUtils.cpp +@@ -76,7 +76,7 @@ typedef char TCHAR; + #if (MAC_OS_X_VERSION_MAX_ALLOWED <= 1040) + #define stat64 stat + #endif +-#elif defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ ++#elif defined(__CYGWIN__) || defined(__HAIKU__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ + (defined(__hpux) && !defined(_LARGEFILE64_SOURCE)) + #define stat64 stat + #endif +diff --git a/src/osgPlugins/osc/osc/OscHostEndianness.h b/src/osgPlugins/osc/osc/OscHostEndianness.h +index 3720ea6..6f4c6bc 100644 +--- a/src/osgPlugins/osc/osc/OscHostEndianness.h ++++ b/src/osgPlugins/osc/osc/OscHostEndianness.h +@@ -51,7 +51,7 @@ + + #else + +- #if defined(__GLIBC__) || defined(__ANDROID__) || defined(__CYGWIN__) ++ #if defined(__GLIBC__) || defined(__ANDROID__) || defined(__CYGWIN__) || defined(__HAIKU__) + #include + #if (__BYTE_ORDER == __LITTLE_ENDIAN) + #define __LITTLE_ENDIAN__ +-- +1.8.3.4 + diff --git a/haiku-apps/beam/beam-1.2alpha.recipe b/haiku-apps/beam/beam-1.2alpha.recipe index 86dc8d459..fab9f0f64 100644 --- a/haiku-apps/beam/beam-1.2alpha.recipe +++ b/haiku-apps/beam/beam-1.2alpha.recipe @@ -1,7 +1,7 @@ SUMMARY="An e-mail client." HOMEPAGE="http://beam.sourceforge.net" -SRC_URI="git://beam.git.sourceforge.net/gitroot/beam/beam" -REVISION="3" +SRC_URI="git://beam.git.sourceforge.net/gitroot/beam/beam#95dc769db2f9090a038bc5a2c46f009379b2d57b" +REVISION="5" ARCHITECTURES="x86_gcc2 x86" PROVIDES=" beam = $portVersion @@ -26,8 +26,6 @@ BUILD_PREREQUIRES=" cmd:flex " -PATCHES="beam-1.2alpha.patchset" - BUILD() { jam -q $jobArgs diff --git a/haiku-apps/beam/patches/beam-1.2alpha.patchset b/haiku-apps/beam/patches/beam-1.2alpha.patchset deleted file mode 100644 index 5ac3ffe2d..000000000 --- a/haiku-apps/beam/patches/beam-1.2alpha.patchset +++ /dev/null @@ -1,22 +0,0 @@ -From 6545d15dfc53594f4141047bf4c84d55cfccda6d Mon Sep 17 00:00:00 2001 -From: Chris Roberts -Date: Thu, 14 Nov 2013 02:12:56 -0700 -Subject: Adjust search path for libbnetapi - - -diff --git a/build-jam/BuildSettings b/build-jam/BuildSettings -index d411b68..4874ac6 100644 ---- a/build-jam/BuildSettings -+++ b/build-jam/BuildSettings -@@ -44,7 +44,7 @@ if $(OSPLAT) = X86 { - PLATFORM = zeta ; - } - # check for libbnetapi... -- local haveLibbnetapi = [ GLOB /boot/develop/lib/x86 : libbnetapi.so ] ; -+ local haveLibbnetapi = [ GLOB /boot/system/develop/lib : libbnetapi.so ] ; - if $(haveLibbnetapi) { - LIBNETAPI = bnetapi ; - } --- -1.8.3.4 - diff --git a/haiku-apps/binary_clock/binary_clock-2.0.recipe b/haiku-apps/binaryclock/binaryclock-20141223.recipe similarity index 63% rename from haiku-apps/binary_clock/binary_clock-2.0.recipe rename to haiku-apps/binaryclock/binaryclock-20141223.recipe index ef07650c9..a685cdd21 100644 --- a/haiku-apps/binary_clock/binary_clock-2.0.recipe +++ b/haiku-apps/binaryclock/binaryclock-20141223.recipe @@ -5,7 +5,7 @@ quite enjoyable to reprogram my brain to learn to read it at a glance. It just \ takes a little getting used to. " HOMEPAGE="http://github.com/HaikuArchives/BinaryClock" -SRC_URI="git://github.com/HaikuArchives/BinaryClock#5d04da1137" +SRC_URI="git://github.com/HaikuArchives/BinaryClock#bfefbf7f93e7a07c841fdb1162e119b0364fee85" REVISION="2" LICENSE="GNU GPL v2" COPYRIGHT="2000 David Enderson" @@ -13,7 +13,7 @@ COPYRIGHT="2000 David Enderson" ARCHITECTURES="x86_gcc2 !x86 !x86_64" PROVIDES=" - binary_clock = $portVersion + binaryclock = $portVersion app:BinaryClock = $portVersion " @@ -26,26 +26,32 @@ BUILD_REQUIRES=" " BUILD_PREREQUIRES=" + makefile_engine cmd:make cmd:gcc cmd:ld " USER_SETTINGS_FILES=" - settings/BinaryClock_2.xx + settings/BinaryClock " BUILD() { cd Application - g++ -o BinaryClock *.cpp -lbe -ltranslation - xres -o BinaryClock BinaryClock.rsrc - mimeset -f BinaryClock + make $jobArgs OBJ_DIR=objects + + cd ../Screensaver + make $jobArgs OBJ_DIR=objects } INSTALL() { - mkdir -p $appsDir - cp Application/BinaryClock $appsDir + mkdir -p $appsDir + mkdir -p $addOnsDir/Screen\ Savers/ + + cp Application/objects/BinaryClock $appsDir addAppDeskbarSymlink $appsDir/BinaryClock "Binary Clock" + + cp Screensaver/objects/BinaryClock $addOnsDir/Screen\ Savers } diff --git a/haiku-apps/randomizer/patches/randomizer-1.0.0b1.patch b/haiku-apps/randomizer/patches/randomizer-1.0.0b1.patch deleted file mode 100644 index 0951e990f..000000000 --- a/haiku-apps/randomizer/patches/randomizer-1.0.0b1.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 24da7eed9c8cd793d4f873100584b70ea11d4458 Mon Sep 17 00:00:00 2001 -From: Luke -Date: Sat, 7 Dec 2013 13:04:48 +0000 -Subject: [PATCH] Add makefile - ---- - src/makefile | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 128 insertions(+) - create mode 100644 src/makefile - -diff --git a/src/makefile b/src/makefile -new file mode 100644 -index 0000000..c6df5ad ---- /dev/null -+++ b/src/makefile -@@ -0,0 +1,128 @@ -+## BeOS Generic Makefile v2.3 ## -+ -+## Fill in this file to specify the project being created, and the referenced -+## makefile-engine will do all of the hard work for you. This handles both -+## Intel and PowerPC builds of the BeOS and Haiku. -+ -+## Application Specific Settings --------------------------------------------- -+ -+# specify the name of the binary -+NAME=Randomizer -+ -+# specify the type of binary -+# APP: Application -+# SHARED: Shared library or add-on -+# STATIC: Static library archive -+# DRIVER: Kernel Driver -+TYPE=APP -+ -+# add support for new Pe and Eddie features -+# to fill in generic makefile -+ -+#%{ -+# @src->@ -+ -+# specify the source files to use -+# full paths or paths relative to the makefile can be included -+# all files, regardless of directory, will have their object -+# files created in the common object directory. -+# Note that this means this makefile will not work correctly -+# if two source files with the same name (source.c or source.cpp) -+# are included from different directories. Also note that spaces -+# in folder names do not work well with this makefile. -+SRCS=App.cpp AppView.cpp AppWindow.cpp Generator.cpp main.cpp \ -+RandoBox.cpp RandoMenuBar.cpp RandoTextView.cpp -+ -+# specify the resource definition files to use -+# full path or a relative path to the resource file can be used. -+RDEFS= -+ -+# specify the resource files to use. -+# full path or a relative path to the resource file can be used. -+# both RDEFS and RSRCS can be defined in the same makefile. -+RSRCS=Randomizer.rsrc -+ -+# @<-src@ -+#%} -+ -+# end support for Pe and Eddie -+ -+# specify additional libraries to link against -+# there are two acceptable forms of library specifications -+# - if your library follows the naming pattern of: -+# libXXX.so or libXXX.a you can simply specify XXX -+# library: libbe.so entry: be -+# -+# - if your library does not follow the standard library -+# naming scheme you need to specify the path to the library -+# and it's name -+# library: my_lib.a entry: my_lib.a or path/my_lib.a -+LIBS=be $(STDCPPLIBS) -+ -+# specify additional paths to directories following the standard -+# libXXX.so or libXXX.a naming scheme. You can specify full paths -+# or paths relative to the makefile. The paths included may not -+# be recursive, so include all of the paths where libraries can -+# be found. Directories where source files are found are -+# automatically included. -+LIBPATHS= -+ -+# additional paths to look for system headers -+# thes use the form: #include
-+# source file directories are NOT auto-included here -+SYSTEM_INCLUDE_PATHS = -+ -+# additional paths to look for local headers -+# thes use the form: #include "header" -+# source file directories are automatically included -+LOCAL_INCLUDE_PATHS = -+ -+# specify the level of optimization that you desire -+# NONE, SOME, FULL -+OPTIMIZE= -+ -+# specify any preprocessor symbols to be defined. The symbols will not -+# have their values set automatically; you must supply the value (if any) -+# to use. For example, setting DEFINES to "DEBUG=1" will cause the -+# compiler option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG" -+# would pass "-DDEBUG" on the compiler's command line. -+DEFINES= -+ -+# specify special warning levels -+# if unspecified default warnings will be used -+# NONE = supress all warnings -+# ALL = enable all warnings -+WARNINGS = -+ -+# specify whether image symbols will be created -+# so that stack crawls in the debugger are meaningful -+# if TRUE symbols will be created -+SYMBOLS = -+ -+# specify debug settings -+# if TRUE will allow application to be run from a source-level -+# debugger. Note that this will disable all optimzation. -+DEBUGGER = -+ -+# specify additional compiler flags for all files -+COMPILER_FLAGS = -+ -+# specify additional linker flags -+LINKER_FLAGS = -+ -+# specify the version of this particular item -+# (for example, -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL") -+# This may also be specified in a resource. -+APP_VERSION = -+ -+# (for TYPE == DRIVER only) Specify desired location of driver in the /dev -+# hierarchy. Used by the driverinstall rule. E.g., DRIVER_PATH = video/usb will -+# instruct the driverinstall rule to place a symlink to your driver's binary in -+# ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will appear at -+# /dev/video/usb when loaded. Default is "misc". -+DRIVER_PATH = -+ -+TARGET_DIR = . -+ -+## include the makefile-engine -+include $(BUILDHOME)/etc/makefile-engine --- -1.8.3.4 - diff --git a/haiku-apps/randomizer/randomizer-1.0.0b1.recipe b/haiku-apps/randomizer/randomizer-1.0.0b1.recipe index 672daa2d7..aa2253004 100644 --- a/haiku-apps/randomizer/randomizer-1.0.0b1.recipe +++ b/haiku-apps/randomizer/randomizer-1.0.0b1.recipe @@ -5,12 +5,13 @@ any given length, and control what characters are used. This program can be used for many purposes, such as for generating random \ passwords or random numbers. " -HOMEPAGE="https://code.google.com/p/randomizer/" -SRC_URI="svn+http://randomizer.googlecode.com/svn/trunk/@r12" +HOMEPAGE="https://github.com/HaikuArchives/Randomizer/" +SRC_URI="git+https://github.com/HaikuArchives/Randomizer#06c248254f" LICENSE="MIT" COPYRIGHT="2005-2009 Sergey S. Kazenyuk" -REVISION="1" +REVISION="2" ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" +SOURCE_DIR="randomizer-1.0.0b1/src" PROVIDES=" randomizer = $portVersion @@ -31,21 +32,16 @@ BUILD_PREREQUIRES=" cmd:mkdepend " -PATCHES=" - randomizer-1.0.0b1.patch - " - SRC_FILENAME="download" BUILD() { - cd src - make BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` + make } INSTALL() { mkdir -p $appsDir - cp src/Randomizer $appsDir + cp Randomizer $appsDir addAppDeskbarSymlink $appsDir/Randomizer } diff --git a/haiku-apps/snapshot/snapshot-1.0.recipe b/haiku-apps/snapshot/snapshot-1.0.recipe new file mode 100644 index 000000000..d04396364 --- /dev/null +++ b/haiku-apps/snapshot/snapshot-1.0.recipe @@ -0,0 +1,43 @@ +SUMMARY="Tracker add-on to take snapshots of files or folders" +DESCRIPTION="This Tracker add-on lets you take snapshots of a folder, saving it \ +as zip file, with a timestamp, to a preset folder. Snapshots are \ +currently saved to /boot/home/Snapshots" +HOMEPAGE="https://github.com/HaikuArchives/SnapShot" +SRC_URI="git+https://github.com/HaikuArchives/Snapshot#9ba592336a0d54707b7e5983dce93f8958b61d37 +LICENSE="BSD (3-clause)" +COPYRIGHT="2000 Jonas Sundström" + +USER_SETTINGS_FILES="settings/Kirilla/Snapshot/settings" + +ARCHITECTURES="x86_gcc2" + +PROVIDES=" + snapshot = $portVersion + addon:snapshot = $portVersion + " + +REQUIRES=" + haiku + " + +BUILD_REQUIRES=" + haiku_devel + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc + cmd:mkdepend + " + +BUILD() +{ + cd Source + make $jobArgs OBJ_DIR=objects +} + +INSTALL() +{ + mkdir -p $addOnsDir/Tracker + cp -a Source/objects/Snapshot $addOnsDir/Tracker +} diff --git a/haiku-apps/tolmach/tolmach-1.1.0.recipe b/haiku-apps/tolmach/tolmach-1.1.0.recipe index 089e2ccee..8b4214906 100644 --- a/haiku-apps/tolmach/tolmach-1.1.0.recipe +++ b/haiku-apps/tolmach/tolmach-1.1.0.recipe @@ -15,7 +15,6 @@ ARCHITECTURES="x86_gcc2 x86 ?x86_64" PROVIDES=" tolmach = $portVersion app:Tolmach = $portVersion - lib:libfSub " REQUIRES=" diff --git a/haiku-games/bevexed/bevexed-1.1.recipe b/haiku-games/bevexed/bevexed-20141224.recipe similarity index 78% rename from haiku-games/bevexed/bevexed-1.1.recipe rename to haiku-games/bevexed/bevexed-20141224.recipe index 2dae91d2c..c7987d621 100644 --- a/haiku-games/bevexed/bevexed-1.1.recipe +++ b/haiku-games/bevexed/bevexed-20141224.recipe @@ -4,8 +4,8 @@ A maddeningly-addictive puzzle game. The concept is simple: put the tiles in \ the grid on the left such that the numbers match wherever 2 tiles touch. " HOMEPAGE="https://github.com/HaikuArchives/BeVexed" -SRC_URI="git+https://github.com/HaikuArchives/BeVexed#3a45d8f364" -REVISION="1" +SRC_URI="git+https://github.com/HaikuArchives/BeVexed#01613e90e6ce3c2b47a592efe8e248db3445f536" +REVISION="2" LICENSE="MIT" COPYRIGHT="2006 DarkWyrm" @@ -45,8 +45,11 @@ BUILD() INSTALL() { - cd source mkdir -p $appsDir - cp -a objects/BeVexed $appsDir + mkdir -p $dataDir/BeVexed + + cp -r backgrounds $dataDir/BeVexed + + cp -a source/objects/BeVexed $appsDir addAppDeskbarSymlink $appsDir/BeVexed } diff --git a/media-fonts/ahem/ahem-1.0.recipe b/media-fonts/ahem/ahem-1.0.recipe index 215eef282..8080fb62a 100644 --- a/media-fonts/ahem/ahem-1.0.recipe +++ b/media-fonts/ahem/ahem-1.0.recipe @@ -20,7 +20,7 @@ SRC_URI="https://github.com/Kozea/Ahem/archive/1.0.tar.gz" CHECKSUM_SHA256="bae33954780217ea0e8e517f51e5a84c525ff22b39a508d50ab49e2d5cef7530" LICENSE="Public Domain" COPYRIGHT="Late-90s Todd Fahrner" -REVISION="1" +REVISION="2" SOURCE_DIR="Ahem-1.0" ARCHITECTURES="any" @@ -41,6 +41,7 @@ BUILD() INSTALL() { - mkdir -p $fontsDir/ahem - cp Ahem.ttf README $fontsDir/ahem + FONTDIR=$fontsDir/ttfonts + mkdir -p $FONTDIR + cp Ahem.ttf $FONTDIR } diff --git a/media-fonts/anonymous_pro/anonymous_pro-1.002.001.recipe b/media-fonts/anonymous_pro/anonymous_pro-1.002.001.recipe index c3b0ad6dd..b14cb74d3 100644 --- a/media-fonts/anonymous_pro/anonymous_pro-1.002.001.recipe +++ b/media-fonts/anonymous_pro/anonymous_pro-1.002.001.recipe @@ -10,7 +10,7 @@ SRC_URI="http://www.marksimonson.com/assets/content/fonts/AnonymousPro-1.002.zip CHECKSUM_SHA256="86665847a51cdfb58a1e1dfd8b1ba33f183485affe50b53e3304f63d3d3552ab" LICENSE="SIL Open Font License v1.1" COPYRIGHT="2009 Mark Simonson, with reserved font name Anonymous Pro" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -29,8 +29,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/anonymous-pro + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} - cp README.txt ${FONTDIR}/anonymous-pro-readme.txt } diff --git a/media-fonts/arabeyes_fonts/arabeyes_fonts-1.1.recipe b/media-fonts/arabeyes_fonts/arabeyes_fonts-1.1.recipe index 9a1b7b09a..16566f291 100644 --- a/media-fonts/arabeyes_fonts/arabeyes_fonts-1.1.recipe +++ b/media-fonts/arabeyes_fonts/arabeyes_fonts-1.1.recipe @@ -8,8 +8,7 @@ contributions. HOMEPAGE="http://projects.arabeyes.org/project.php?proj=Khotot" SRC_URI="http://sourceforge.net/projects/arabeyes/files/Fonts/ae_fonts/ae_fonts1_ttf_1.1.tar.bz2" CHECKSUM_SHA256="c517f6ac0643d2416101c9b375be38ec4fe7810b7ad3a1465438dd45b819e054" -REVISION="1" -DEPEND="" +REVISION="2" LICENSE="GNU GPL v2" COPYRIGHT="2003-2007 Arabeyes.org 2002-2005 Free Software Foundation" @@ -21,26 +20,24 @@ PROVIDES="arabeyes_fonts = $portVersion" REQUIRES="" BUILD_REQUIRES="" BUILD_PREREQUIRES=" - cmd:tar coreutils " -SOURCE_DIR="ae_fonts1-1.1" +SOURCE_DIR="ae_fonts1-1.1/" BUILD() { - tar xvjf $portDir/download/ae_fonts1_ttf_1.1.tar.bz2 + true } INSTALL() { - cd ae_fonts1-1.1 - FONTDIR=$fontsDir/arabeyes + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} - cp -rd AAHS ${FONTDIR}/ - cp -rd AGA ${FONTDIR}/ - cp -rd FS ${FONTDIR}/ - cp -rd Kasr ${FONTDIR}/ - cp -rd MCS ${FONTDIR}/ - cp -rd Shmookh ${FONTDIR}/ + cp AAHS/*.ttf ${FONTDIR}/ + cp AGA/*.ttf ${FONTDIR}/ + cp FS/*.ttf ${FONTDIR}/ + cp Kasr/*.ttf ${FONTDIR}/ + cp MCS/*.ttf ${FONTDIR}/ + cp Shmookh/*.ttf ${FONTDIR}/ } diff --git a/media-fonts/cantarell/cantarell-0.0.7.recipe b/media-fonts/cantarell/cantarell-0.0.16.recipe similarity index 73% rename from media-fonts/cantarell/cantarell-0.0.7.recipe rename to media-fonts/cantarell/cantarell-0.0.16.recipe index b25153a71..d235ee43f 100644 --- a/media-fonts/cantarell/cantarell-0.0.7.recipe +++ b/media-fonts/cantarell/cantarell-0.0.16.recipe @@ -9,13 +9,15 @@ European, Dutch and Afrikaans writing systems. The Cantarell typeface is \ included in Google Fonts too. " HOMEPAGE="http://wiki.gnome.org/CantarellFonts" -SRC_URI="http://ftp.gnome.org/pub/GNOME/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.7.tar.bz2" -CHECKSUM_SHA256="79f69beca780d84c7c5753566d801ca14e46b6c111ec71527e37ae29377c2c79" +SRC_URI="http://ftp.gnome.org/pub/GNOME/sources/cantarell-fonts/0.0/cantarell-fonts-${portVersion}.tar.xz" +CHECKSUM_SHA256="15bf87555321556750bc68ace360f3df420359a8ab257e15c44fb69710152f1c" LICENSE="SIL Open Font License v1.1" -COPYRIGHT="2009-2011 Understanding Limited, 2010-2011 Jakub Steiner" +COPYRIGHT="2009-2011 Understanding Limited +2010-2012 Jakub Steiner" REVISION="1" ARCHITECTURES="any" +SECONDARY_ARCHITECTURES="x86 x86_gcc2" DISABLE_SOURCE_PACKAGE=yes PROVIDES="cantarell = $portVersion" @@ -23,7 +25,7 @@ REQUIRES="" BUILD_REQUIRES="" BUILD_PREREQUIRES="coreutils" -SOURCE_DIR="cantarell-fonts-0.0.7" +SOURCE_DIR="cantarell-fonts-$portVersion" BUILD() { @@ -32,8 +34,8 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/cantarell + FONTDIR=$fontsDir/otfonts mkdir -p ${FONTDIR} cp otf/*.otf ${FONTDIR} - cp README ${FONTDIR}/cantarell-readme.txt + cp README ${FONTDIR}/cantarell.readme } diff --git a/media-fonts/cardo/cardo-1.04.recipe b/media-fonts/cardo/cardo-1.04.recipe index c3c3274c7..87b719f3a 100644 --- a/media-fonts/cardo/cardo-1.04.recipe +++ b/media-fonts/cardo/cardo-1.04.recipe @@ -11,7 +11,7 @@ SRC_URI="http://scholarsfonts.net/cardo104.zip" CHECKSUM_SHA256="9401db6357cb71fa1f8791323679f81d6b0473d6280a7ec8abdf11b5e52f455f" LICENSE="SIL Open Font License v1.1" COPYRIGHT="2004–2011 David J. Perry, with Reserved Font Name Cardo" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -30,7 +30,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/cardo + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} } diff --git a/media-fonts/courier_prime/courier_prime-1.0.recipe b/media-fonts/courier_prime/courier_prime-1.0.recipe index 309374cbe..23bf94b70 100644 --- a/media-fonts/courier_prime/courier_prime-1.0.recipe +++ b/media-fonts/courier_prime/courier_prime-1.0.recipe @@ -8,7 +8,7 @@ should not change. HOMEPAGE="http://quoteunquoteapps.com/courierprime/" SRC_URI="http://quoteunquoteapps.com/downloads/courier-prime.zip" CHECKSUM_SHA256="d5d4faf1bee0d1f52bab1103cbfdfb354976331c86f999c110c22a098cb12d73" -REVISION="1" +REVISION="2" LICENSE="SIL Open Font License v1.1" COPYRIGHT="2013 Quote-Unquote Apps" @@ -34,8 +34,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/courier-prime + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp -r *.ttf ${FONTDIR}/ - cp Read\ me.txt ${FONTDIR}/README.txt } diff --git a/media-fonts/croscorefonts/croscorefonts-1.21.0.recipe b/media-fonts/croscorefonts/croscorefonts-1.21.0.recipe index 6fc578aa2..3282e1740 100644 --- a/media-fonts/croscorefonts/croscorefonts-1.21.0.recipe +++ b/media-fonts/croscorefonts/croscorefonts-1.21.0.recipe @@ -13,8 +13,8 @@ CHECKSUM_SHA256_3="89619d3f06b55495e94458eb8fbd69ae7c654db5782b2cecfdaffa2c8b291 SOURCE_DIR="" LICENSE="Apache v2" -COPYRIGHT="Mike Frysinger" -REVISION="1" +COPYRIGHT="2010-2013 Google Corporation" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE="yes" @@ -30,10 +30,10 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/ttfonts/croscorefonts/ + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} cp ../sources-2/*.ttf ${FONTDIR} cp ../sources-3/*.ttf ${FONTDIR} -} \ No newline at end of file +} diff --git a/media-fonts/droid/droid-113.recipe b/media-fonts/droid/droid-113.recipe index 2b908a4b0..06ba3babd 100644 --- a/media-fonts/droid/droid-113.recipe +++ b/media-fonts/droid/droid-113.recipe @@ -10,7 +10,7 @@ SRC_URI="http://ports-space.haiku-files.org/media-fonts/source/droid-113.tar.gz" CHECKSUM_SHA256="c9339f0f1aaa055f8b06a2b28c1c3fb5ddffe6c6a6a7a7735fc0ad93d0eab12f" LICENSE="Apache v2" COPYRIGHT="2005-2008 The Android Open Source Project" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -30,9 +30,8 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/droid + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} - cp Ahem.ttf ${FONTDIR} cp DroidSans-Bold.ttf ${FONTDIR} cp DroidSansFallback.ttf ${FONTDIR} cp DroidSerif-Bold.ttf ${FONTDIR} @@ -41,5 +40,4 @@ INSTALL() cp DroidSansMono.ttf ${FONTDIR} cp DroidSerif-BoldItalic.ttf ${FONTDIR} cp DroidSerif-Regular.ttf ${FONTDIR} - cp README.txt ${FONTDIR}/droid-fonts-readme.txt } diff --git a/media-fonts/droid/droid-4.3_r2.2.recipe b/media-fonts/droid/droid-4.3_r2.2.recipe index 0b802f2c0..3923c917d 100644 --- a/media-fonts/droid/droid-4.3_r2.2.recipe +++ b/media-fonts/droid/droid-4.3_r2.2.recipe @@ -11,7 +11,7 @@ SRC_URI="http://ports-space.haiku-files.org/media-fonts/source/droid-4.3_r2.2.zi CHECKSUM_SHA256="221133c329efdb2b911c18ef222eeb3fcb011e5be7c37623e68faa90c15b8cd0" LICENSE="Apache v2" COPYRIGHT="2005-2008 The Android Open Source Project" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -31,7 +31,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/droid + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} - cp . ${FONTDIR} -R + cp *.ttf ${FONTDIR} } diff --git a/media-fonts/essays-1743/essays1743-2.001.recipe b/media-fonts/essays-1743/essays1743-2.001.recipe index 64afcbf84..5d5bc6bb8 100644 --- a/media-fonts/essays-1743/essays1743-2.001.recipe +++ b/media-fonts/essays-1743/essays1743-2.001.recipe @@ -12,7 +12,7 @@ SOURCE_DIR="" LICENSE="GNU LGPL v2.1" COPYRIGHT="John Stracke" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE="yes" @@ -28,8 +28,8 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/ttfonts/essays1743/ + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp essays1743/*.ttf ${FONTDIR} -} \ No newline at end of file +} diff --git a/media-fonts/farsi_fonts/farsi_fonts-0.4.recipe b/media-fonts/farsi_fonts/farsi_fonts-0.4.recipe index 0ad6033be..3fd24740d 100644 --- a/media-fonts/farsi_fonts/farsi_fonts-0.4.recipe +++ b/media-fonts/farsi_fonts/farsi_fonts-0.4.recipe @@ -1,7 +1,7 @@ DESCRIPTION="Farsi (Perisian) Unicode fonts" HOMEPAGE="http://www.farsiweb.ir/" SRC_URI="http://www.farsiweb.ir/font/farsifonts-0.4.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="65a78975c923fd9db7b9441c32559c1b" @@ -12,7 +12,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/ + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp -r *.ttf ${FONTDIR} } diff --git a/media-fonts/humor_sans/humor_sans-1.0.recipe b/media-fonts/humor_sans/humor_sans-1.0.recipe index f010cebeb..bcd270a35 100644 --- a/media-fonts/humor_sans/humor_sans-1.0.recipe +++ b/media-fonts/humor_sans/humor_sans-1.0.recipe @@ -1,6 +1,6 @@ -SUMMARY="The Human-Sans font" +SUMMARY="The Humor-Sans font" DESCRIPTION=" -A sanserif typeface in the style of xkcd. Xkcd is a popular webcomics with \ +A sans-serif typeface in the style of xkcd. Xkcd is a popular webcomics with \ focus on computer science or everything else. " HOMEPAGE="http://antiyawn.com/uploads/humorsans.html" @@ -8,7 +8,7 @@ SRC_URI="http://antiyawn.com/uploads/Humor-Sans-1.0.ttf" CHECKSUM_SHA256="2ded6a27448c9ed30aaff177744e2bcf1e52e0aab018b2a8be64565df633318f" LICENSE="SIL Open Font License v1.1" COPYRIGHT="2009, Michael Ciuffo, with Reserved Font Name Humor-Sans" -REVISION="1" +REVISION="2" ARCHITECTURES="!any" DISABLE_SOURCE_PACKAGE=yes @@ -27,7 +27,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/humor-sans + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} } diff --git a/media-fonts/inconsolata/inconsolata-1.0.recipe b/media-fonts/inconsolata/inconsolata-1.0.recipe index 23cce1f39..eceb5c6c1 100644 --- a/media-fonts/inconsolata/inconsolata-1.0.recipe +++ b/media-fonts/inconsolata/inconsolata-1.0.recipe @@ -1,7 +1,7 @@ DESCRIPTION="Inconsolata Programmer's font" HOMEPAGE="http://www.levien.com/type/myfonts/inconsolata.html" SRC_URI="http://media.nodnod.net/Inconsolata-dz.otf.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="8510443343f43382566511e73abc06f8" @@ -12,7 +12,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/inconsolata + FONTDIR=${fontsDir}/otfonts mkdir -p ${FONTDIR} wget http://levien.com/type/myfonts/Inconsolata.otf wget http://www.cosmix.org/software/files/InconsolataHellenic.zip diff --git a/media-fonts/kacst_fonts/kacst_fonts-5.0.recipe b/media-fonts/kacst_fonts/kacst_fonts-5.0.recipe index c2a34ed0e..0bef51cbe 100644 --- a/media-fonts/kacst_fonts/kacst_fonts-5.0.recipe +++ b/media-fonts/kacst_fonts/kacst_fonts-5.0.recipe @@ -1,7 +1,7 @@ DESCRIPTION="KACST Arabic Truetype Fonts" HOMEPAGE="http://www.arabeyes.org/project.php?proj=Khotot" SRC_URI="http://sourceforge.net/projects/arabeyes/files/latest/download?source=files" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="0a7ad4538d3b97adfbefa4c5cf8c2660" @@ -13,11 +13,9 @@ BUILD() INSTALL() { cd kacst_one_5.0 - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/arabeyes + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} - cp KacstOne-Bold.sfd ${FONTDIR}/ cp KacstOne-Bold.ttf ${FONTDIR}/ - cp KacstOne.sfd ${FONTDIR}/ cp KacstOne.ttf ${FONTDIR}/ } diff --git a/media-fonts/lateef_font/lateef_font-1.001.recipe b/media-fonts/lateef_font/lateef_font-1.001.recipe index 0de1633c9..69b0ac8e9 100644 --- a/media-fonts/lateef_font/lateef_font-1.001.recipe +++ b/media-fonts/lateef_font/lateef_font-1.001.recipe @@ -1,7 +1,7 @@ DESCRIPTION="Arabic font" HOMEPAGE="http://scripts.sil.org/ArabicFonts_Download" SRC_URI="http://scripts.sil.org/cms/scripts/render_download.php?format=file&media_id=Lateef_OT_1_001&filename=LateefRegOT_1.001.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="c060ab84ab33ae8f991103258b8e7f22" @@ -12,7 +12,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/ + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} cp -r *.ttf ${FONTDIR} } diff --git a/media-fonts/liberation_fonts/liberation_fonts-1.06.0.20100721.recipe b/media-fonts/liberation_fonts/liberation_fonts-1.06.0.20100721.recipe index 57da7e16c..a6f4c14a4 100644 --- a/media-fonts/liberation_fonts/liberation_fonts-1.06.0.20100721.recipe +++ b/media-fonts/liberation_fonts/liberation_fonts-1.06.0.20100721.recipe @@ -4,7 +4,7 @@ with Arial, Times New Roman, and Courier New. It is sponsored by Red Hat. " HOMEPAGE="https://fedorahosted.org/liberation-fonts" SRC_URI="http://ports-space.haiku-files.org/media-fonts/source/liberation-fonts-1.06.0.20100721.tar.gz" -REVISION="1" +REVISION="2" STATUS_HAIKU="broken" DEPEND="fontforge" CHECKSUM_MD5="2f45bd873ab48cf0c3a00fbd350c0e80" @@ -17,7 +17,7 @@ BUILD() INSTALL() { cd liberation-fonts-1.06.0.20100721 - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/liberation + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} cp -a *.ttf ${FONTDIR}/. } diff --git a/media-fonts/lohit/lohit-2.3.8.recipe b/media-fonts/lohit/lohit-2.3.8.recipe index 2ebdbdbfe..9b2b05218 100644 --- a/media-fonts/lohit/lohit-2.3.8.recipe +++ b/media-fonts/lohit/lohit-2.3.8.recipe @@ -13,7 +13,7 @@ SRC_URI="http://rbhalera.fedorapeople.org/released/lohit/lohit-fonts-2.3.8.tar.g CHECKSUM_SHA256="68091ab047f9e4e22f069f802dceac52994267f126dc238b3815eed217a02991" LICENSE="GNU GPL v2" COPYRIGHT="2004-2011 Red Hat" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -34,8 +34,8 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/lohit + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} find . -name "*.ttf" -exec cp {} ${FONTDIR} \; - cp README ${FONTDIR}/lohit-readme.txt + cp README ${FONTDIR}/lohit.readme } diff --git a/media-fonts/mplus/mplus-2.2.4.recipe b/media-fonts/mplus/mplus-2.2.4.recipe index bd30c546a..df9750fd0 100644 --- a/media-fonts/mplus/mplus-2.2.4.recipe +++ b/media-fonts/mplus/mplus-2.2.4.recipe @@ -7,7 +7,7 @@ SOURCE_DIR="." CHECKSUM_SHA256="7862e113e04986646117267c4baee30aea163d43a382c14693f15287f16bbf25" LICENSE="GNU GPL v2" COPYRIGHT="2002-2008 M+ Fonts Project" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE="yes" @@ -23,8 +23,8 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/ttfonts/mplus/ + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp mplus-TESTFLIGHT-059/*.ttf ${FONTDIR} -} \ No newline at end of file +} diff --git a/media-fonts/nafees_nastaleeq/nafees_nastaleeq-1.02.recipe b/media-fonts/nafees_nastaleeq/nafees_nastaleeq-1.02.recipe index 38f5396b4..bb1201e85 100644 --- a/media-fonts/nafees_nastaleeq/nafees_nastaleeq-1.02.recipe +++ b/media-fonts/nafees_nastaleeq/nafees_nastaleeq-1.02.recipe @@ -4,7 +4,7 @@ style of one of the finest calligraphers of Pakistan (Nafees Raqam). " HOMEPAGE="http://www.crulp.org/software/localization/Fonts/nafeesNastaleeq.html" SRC_URI="http://www.crulp.org/Downloads/localization/fonts/NafeesNastaleeq/Nafees_Nastaleeq_v1.02.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="34ca164ce011b682522431fc332c0cb6" @@ -15,7 +15,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/nafees-nastaleeq + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} cp "Nafees Nastaleeq v1.02.ttf" ${FONTDIR} } diff --git a/media-fonts/nafees_riqa/nafees_riqa-1.00.recipe b/media-fonts/nafees_riqa/nafees_riqa-1.00.recipe index 7ec14d2d5..bcd18aa0c 100644 --- a/media-fonts/nafees_riqa/nafees_riqa-1.00.recipe +++ b/media-fonts/nafees_riqa/nafees_riqa-1.00.recipe @@ -3,7 +3,7 @@ Open Type Font for writng Urdu in Riqa script based on Unicode standard. " HOMEPAGE="http://www.crulp.org/software/localization/Fonts/nafeesRiqa.html" SRC_URI="http://www.crulp.org/Downloads/localization/fonts/NafeesRiqa/Nafees_Riqa_v1.0.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="504c6ada41a408575a120daf2a110b6f" @@ -14,7 +14,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/nafees-riqa + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp "Nafees Riqa v1.0.ttf" ${FONTDIR} } diff --git a/media-fonts/nanumfont/nanumfont-2.0.recipe b/media-fonts/nanumfont/nanumfont-2.0.recipe index 957a28fe2..a9af8355a 100644 --- a/media-fonts/nanumfont/nanumfont-2.0.recipe +++ b/media-fonts/nanumfont/nanumfont-2.0.recipe @@ -3,7 +3,7 @@ Korean monospace font distributed by NHN. " HOMEPAGE="http://dev.naver.com/projects/nanumfont" SRC_URI="http://dev.naver.com/frs/download.php/441/NanumGothicCoding-2.0.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="6214a5844454c96faeac9a60539c7daf" @@ -14,7 +14,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/nanumfont + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} cp -r *.ttf ${FONTDIR}/ } diff --git a/media-fonts/noto_sans_bengali/noto_sans_bengali-1.02.recipe b/media-fonts/noto_sans_bengali/noto_sans_bengali-1.02.recipe index 815468b0b..20d8d280f 100644 --- a/media-fonts/noto_sans_bengali/noto_sans_bengali-1.02.recipe +++ b/media-fonts/noto_sans_bengali/noto_sans_bengali-1.02.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="bc9422930cb09b0736ed3ebf60f747bb0078e451087b52926a4ae0d1d50db42c" LICENSE="Apache v2" COPYRIGHT="2013 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/noto_sans_cjk/noto_sans_cjk-1.001.recipe b/media-fonts/noto_sans_cjk/noto_sans_cjk-1.001.recipe index fbcb049dd..c3d9dba0a 100644 --- a/media-fonts/noto_sans_cjk/noto_sans_cjk-1.001.recipe +++ b/media-fonts/noto_sans_cjk/noto_sans_cjk-1.001.recipe @@ -44,7 +44,7 @@ CHECKSUM_SHA256_7="e6e04ca22f7182eb87277d476564637b714a022cee51497737b0639e88c9f LICENSE="Apache v2" COPYRIGHT="2014 Adobe Systems Incorporated" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -65,7 +65,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/otfonts mkdir -p ${FONTDIR} cp `find ../sources* -type f -name \*.otf` ${FONTDIR} } diff --git a/media-fonts/noto_sans_devanagari/noto_sans_devanagari-1.05.recipe b/media-fonts/noto_sans_devanagari/noto_sans_devanagari-1.05.recipe index a75967fef..f4fbba9cc 100644 --- a/media-fonts/noto_sans_devanagari/noto_sans_devanagari-1.05.recipe +++ b/media-fonts/noto_sans_devanagari/noto_sans_devanagari-1.05.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="8601d16cb04d740d2a2a27299ae59445971bbbed3d6b401c14e6fb1d461dd353" LICENSE="Apache v2" COPYRIGHT="2012 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/noto_sans_gujarati/noto_sans_gujarati-1.02.recipe b/media-fonts/noto_sans_gujarati/noto_sans_gujarati-1.02.recipe index 213e0fb14..04621f266 100644 --- a/media-fonts/noto_sans_gujarati/noto_sans_gujarati-1.02.recipe +++ b/media-fonts/noto_sans_gujarati/noto_sans_gujarati-1.02.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="44e6925fa81c7a59992415ffce24434e7b2609af7921d10e735879ebbc5a593f" LICENSE="Apache v2" COPYRIGHT="2013 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/noto_sans_gurmukhi/noto_sans_gurmukhi-1.01.recipe b/media-fonts/noto_sans_gurmukhi/noto_sans_gurmukhi-1.01.recipe index 7217207e1..bde6c207a 100644 --- a/media-fonts/noto_sans_gurmukhi/noto_sans_gurmukhi-1.01.recipe +++ b/media-fonts/noto_sans_gurmukhi/noto_sans_gurmukhi-1.01.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="c154bacc4998fa6e8eb380cf6823a07c2cf6bcafbad373446fbb7576f61d1e48" LICENSE="Apache v2" COPYRIGHT="2013 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/noto_sans_sinhala/noto_sans_sinhala-1.01.recipe b/media-fonts/noto_sans_sinhala/noto_sans_sinhala-1.01.recipe index 62e386d5e..e28dbef76 100644 --- a/media-fonts/noto_sans_sinhala/noto_sans_sinhala-1.01.recipe +++ b/media-fonts/noto_sans_sinhala/noto_sans_sinhala-1.01.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="2cf8027b61f0657e64959e17eb16f4d84658a950c36ee483d4bf1ade8df9d683" LICENSE="Apache v2" COPYRIGHT="2014 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/noto_sans_tamil/noto_sans_tamil-1.04.recipe b/media-fonts/noto_sans_tamil/noto_sans_tamil-1.04.recipe index 12c1e2f14..7047fe32a 100644 --- a/media-fonts/noto_sans_tamil/noto_sans_tamil-1.04.recipe +++ b/media-fonts/noto_sans_tamil/noto_sans_tamil-1.04.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="15d8f1e5310f4d2eecf2e46a9d74b52c5a30afae00b90d2fe92bc8f00a5c1ee8" LICENSE="Apache v2" COPYRIGHT="2012 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/noto_sans_telugu/noto_sans_telugu-1.02.recipe b/media-fonts/noto_sans_telugu/noto_sans_telugu-1.02.recipe index 13724e96a..efbe61d73 100644 --- a/media-fonts/noto_sans_telugu/noto_sans_telugu-1.02.recipe +++ b/media-fonts/noto_sans_telugu/noto_sans_telugu-1.02.recipe @@ -12,7 +12,7 @@ SRC_URI="https://www.google.com/get/noto/pkgs/NotoSans${LANG_DL}-hinted.zip" CHECKSUM_SHA256="8d434121cb8e10b02f80a1a7ab87a9a70ef2eee96aababe4ec871e554578c460" LICENSE="Apache v2" COPYRIGHT="2013 Google Inc." -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/NotoSans${LANG_DL} + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} diff --git a/media-fonts/paratype/paratype-1.0.recipe b/media-fonts/paratype/paratype-1.0.recipe index af546807b..14c2dcfc5 100644 --- a/media-fonts/paratype/paratype-1.0.recipe +++ b/media-fonts/paratype/paratype-1.0.recipe @@ -10,7 +10,7 @@ CHECKSUM_SHA256_2="e7a2a27ed0481d20973f0d3b589362d055269082e3fc4d96f81dacd58bad8 CHECKSUM_SHA256_3="e34e729f9509cf85acc52caadf68e96db90457b7164ba45719967d53e7a20dcc" LICENSE="SIL Open Font License v1.1" COPYRIGHT="2009 ParaType" -REVISION="1" +REVISION="2" SOURCE_DIR="" ARCHITECTURES="any" @@ -31,9 +31,10 @@ BUILD() INSTALL() { - mkdir -p $fontsDir/paratype - cp *.ttf $fontsDir/paratype - cp ../sources-2/*.ttf $fontsDir/paratype - cp ../sources-3/*.ttf $fontsDir/paratype + FONTDIR=$fontsDir/ttfonts + mkdir -p $FONTDIR + cp *.ttf $FONTDIR + cp ../sources-2/*.ttf $FONTDIR + cp ../sources-3/*.ttf $FONTDIR } diff --git a/media-fonts/roboto/roboto-1.2.recipe b/media-fonts/roboto/roboto-1.2.recipe index 825c43caf..48d6d934b 100644 --- a/media-fonts/roboto/roboto-1.2.recipe +++ b/media-fonts/roboto/roboto-1.2.recipe @@ -16,7 +16,7 @@ SRC_URI="http://developer.android.com/downloads/design/roboto-1.2.zip" CHECKSUM_SHA256="5101b5bdb3b7b14cc922a771ba068bfcae8634467c1f446bc89bc2b4f8b4f1b5" LICENSE="Apache v2" COPYRIGHT="2013 Christian Robertson" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes PROVIDES=" @@ -36,7 +36,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/roboto + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cd Roboto_v$portVersion diff --git a/media-fonts/scheherazade_font/scheherazade_font-1.005.recipe b/media-fonts/scheherazade_font/scheherazade_font-1.005.recipe index 68b702406..40681b41d 100644 --- a/media-fonts/scheherazade_font/scheherazade_font-1.005.recipe +++ b/media-fonts/scheherazade_font/scheherazade_font-1.005.recipe @@ -3,7 +3,7 @@ Arabic script font. " HOMEPAGE="http://scripts.sil.org/ArabicFonts_Download" SRC_URI="http://scripts.sil.org/cms/scripts/render_download.php?format=file&media_id=Scheherazade_OT_1_005&filename=ScherazadeRegOT-1.005.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="3c7e7d7f93802162effe2b517af98be0" @@ -15,7 +15,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/scheherazade + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} cp -r *.ttf ${FONTDIR} } diff --git a/media-fonts/terminus_ttf/terminus_ttf-4.38.2.recipe b/media-fonts/terminus_ttf/terminus_ttf-4.38.2.recipe index 36a0677d4..9398cd1c2 100644 --- a/media-fonts/terminus_ttf/terminus_ttf-4.38.2.recipe +++ b/media-fonts/terminus_ttf/terminus_ttf-4.38.2.recipe @@ -4,7 +4,7 @@ HOMEPAGE="http://files.ax86.net/terminus-ttf/" SRC_URI="http://files.ax86.net/terminus-ttf/files/$portVersion/terminus-ttf-$portVersion.zip" CHECKSUM_SHA256="95896b5711e8c96cae180e3c8c837f23618c611e1aebc40639bc983d519dd5bd" SOURCE_DIR="terminus-ttf-$portVersion" -REVISION="1" +REVISION="2" ARCHITECTURES="x86 x86_gcc2 x86_64" LICENSE="SIL Open Font License v1.1" COPYRIGHT="2010 Dimitar Toshkov Zhekov @@ -26,7 +26,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/terminus-ttf + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp -r *.ttf ${FONTDIR}/ } diff --git a/media-fonts/ubuntu_font_family/ubuntu_font_family-0.80.recipe b/media-fonts/ubuntu_font_family/ubuntu_font_family-0.80.recipe index 9d4763f48..7a71b61fd 100644 --- a/media-fonts/ubuntu_font_family/ubuntu_font_family-0.80.recipe +++ b/media-fonts/ubuntu_font_family/ubuntu_font_family-0.80.recipe @@ -10,7 +10,7 @@ SRC_URI="http://font.ubuntu.com/download/ubuntu-font-family-0.80.zip" CHECKSUM_SHA256="107170099bbc3beae8602b97a5c423525d363106c3c24f787d43e09811298e4c" LICENSE="Ubuntu Font License 1.0" COPYRIGHT="2011 Canonical Ltd." -REVISION="3" +REVISION="4" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -29,7 +29,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/ubuntu-font-family + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp Ubuntu-B.ttf ${FONTDIR} cp Ubuntu-BI.ttf ${FONTDIR} @@ -44,5 +44,5 @@ INSTALL() cp UbuntuMono-BI.ttf ${FONTDIR} cp UbuntuMono-R.ttf ${FONTDIR} cp UbuntuMono-RI.ttf ${FONTDIR} - cp README.txt ${FONTDIR}/ubuntu-fonts-readme.txt + cp README.txt ${FONTDIR}/ubuntu_font_family.readme } diff --git a/media-fonts/ukijorgfonts/ukijorgfonts-1.0.recipe b/media-fonts/ukijorgfonts/ukijorgfonts-1.0.recipe index 05e2c6a67..318ea6621 100644 --- a/media-fonts/ukijorgfonts/ukijorgfonts-1.0.recipe +++ b/media-fonts/ukijorgfonts/ukijorgfonts-1.0.recipe @@ -1,7 +1,7 @@ DESCRIPTION="Uyghur Computer Science Association font project" HOMEPAGE="http://www.ukij.org/fonts/" SRC_URI="http://ukijorgfonts.googlecode.com/files/ukijorgfonts.zip" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="e50ed1b90f96cad12e31f8769bd598dc" @@ -12,7 +12,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/ukijorgfonts + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} } diff --git a/media-fonts/unifont/unifont-7.0.06.recipe b/media-fonts/unifont/unifont-7.0.06.recipe index 918e787d4..6bb3fb79b 100644 --- a/media-fonts/unifont/unifont-7.0.06.recipe +++ b/media-fonts/unifont/unifont-7.0.06.recipe @@ -8,7 +8,7 @@ SRC_URI="http://unifoundry.com/pub/unifont-7.0.06.tar.gz" SOURCE_DIR="" LICENSE="GNU GPL v2" COPYRIGHT="Unifoundry" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE="yes" @@ -24,7 +24,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/ttfonts/unifont/ + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp unifont-7.0.06/font/precompiled/*.ttf ${FONTDIR} diff --git a/media-fonts/vl_gothic/vl_gothic-20140530.recipe b/media-fonts/vl_gothic/vl_gothic-20140530.recipe index f63f269ac..f3f20e048 100644 --- a/media-fonts/vl_gothic/vl_gothic-20140530.recipe +++ b/media-fonts/vl_gothic/vl_gothic-20140530.recipe @@ -17,7 +17,7 @@ COPYRIGHT="1990-2003 Wada Laboratory, the University of Tokyo. 2006-2014 Daisuke SUZUKI . 2006-2014 Project Vine . " -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -36,7 +36,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/VL-Gothic + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp VL-Gothic-Regular.ttf ${FONTDIR} cp VL-PGothic-Regular.ttf ${FONTDIR} diff --git a/media-fonts/vollkorn/vollkorn-2.1.recipe b/media-fonts/vollkorn/vollkorn-2.1.recipe index 63bf217a8..8a30610d4 100644 --- a/media-fonts/vollkorn/vollkorn-2.1.recipe +++ b/media-fonts/vollkorn/vollkorn-2.1.recipe @@ -10,7 +10,7 @@ SRC_URI="http://friedrichalthausen.de/wp-content/plugins/cimy-counter/cc_redirec CHECKSUM_SHA256="2eaa427dbe42e37bfdc182c1e3446abdc889806fe0b6c9a14e0fc0c3acc997f5" LICENSE="SIL Open Font License v1.1" COPYRIGHT="Friedrich Althausen" -REVISION="1" +REVISION="2" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -29,7 +29,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/vollkorn + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp *.ttf ${FONTDIR} } diff --git a/media-fonts/wqy_microhei/wqy_microhei-0.2.0~beta.recipe b/media-fonts/wqy_microhei/wqy_microhei-0.2.0~beta.recipe index 38e19e6bb..c1c5747ec 100644 --- a/media-fonts/wqy_microhei/wqy_microhei-0.2.0~beta.recipe +++ b/media-fonts/wqy_microhei/wqy_microhei-0.2.0~beta.recipe @@ -14,7 +14,7 @@ COPYRIGHT=" 2007 Google Corp. 2008-2010 WenQuanYi Board of Trustees and Qianqian Fang " -REVISION="3" +REVISION="4" ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE=yes @@ -34,7 +34,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/wenquanyi + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp wqy-microhei.ttc ${FONTDIR}/wqy-microhei.ttf } diff --git a/media-fonts/wqy_zenhei/wqy_zenhei-0.9.45.recipe b/media-fonts/wqy_zenhei/wqy_zenhei-0.9.45.recipe index c04558372..11b106ba3 100644 --- a/media-fonts/wqy_zenhei/wqy_zenhei-0.9.45.recipe +++ b/media-fonts/wqy_zenhei/wqy_zenhei-0.9.45.recipe @@ -10,7 +10,7 @@ LICENSE=" GNU GPL v2 with font embedding exception " COPYRIGHT="2005-2010 Qianqian Fang and The WenQuanYi Project Board of Trustees" -REVISION="2" +REVISION="3" ARCHITECTURES="any" PROVIDES=" @@ -32,7 +32,7 @@ BUILD() INSTALL() { - FONTDIR=$fontsDir/wenquanyi + FONTDIR=$fontsDir/ttfonts mkdir -p ${FONTDIR} cp wqy-zenhei.ttc ${FONTDIR}/wqy-zenhei.ttf } diff --git a/media-fonts/x_series_fonts/x_series_fonts-2.0.recipe b/media-fonts/x_series_fonts/x_series_fonts-2.0.recipe index f4ac36b1b..7a4a295ab 100644 --- a/media-fonts/x_series_fonts/x_series_fonts-2.0.recipe +++ b/media-fonts/x_series_fonts/x_series_fonts-2.0.recipe @@ -5,7 +5,7 @@ Persian, Arabic, Urdu, Pashto, Dari, Uzbek, Kurdish, Uighur, old Turkish \ " HOMEPAGE="http://wiki.irmug.com/index.php/X_Series_2" SRC_URI="http://irmug.com/downloads/dl.php?id=21" -REVISION="1" +REVISION="2" STATUS_HAIKU="stable" DEPEND="" CHECKSUM_MD5="1e45723ebad5e748d4b5f6f28074833f" @@ -16,7 +16,7 @@ BUILD() INSTALL() { - FONTDIR=${DESTDIR}/`finddir B_COMMON_FONTS_DIRECTORY`/x-series + FONTDIR=${fontsDir}/ttfonts mkdir -p ${FONTDIR} wget http://irmug.com/downloads/dl.php?id=21 unzip -o Zar.zip diff --git a/media-libs/libpng/libpng-1.5.20.recipe b/media-libs/libpng/libpng-1.5.21.recipe similarity index 83% rename from media-libs/libpng/libpng-1.5.20.recipe rename to media-libs/libpng/libpng-1.5.21.recipe index a47415858..2c9db48c5 100644 --- a/media-libs/libpng/libpng-1.5.20.recipe +++ b/media-libs/libpng/libpng-1.5.21.recipe @@ -11,15 +11,15 @@ COPYRIGHT=" " LICENSE="LibPNG" SRC_URI="http://prdownloads.sourceforge.net/libpng/libpng-$portVersion.tar.gz" -CHECKSUM_SHA256="ca16b85feea75604d6ee2072486afe3fb52d867b4105e0bc60dbea78b4bc2ee0" +CHECKSUM_SHA256="835ce1d42ea9f50eddf74754f2b06b1c0f7a1d8e46deb89b839a5ca018599793" REVISION="1" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" libpng$secondaryArchSuffix = $portVersion compat >= 1.5 - lib:libpng$secondaryArchSuffix = 15.20.0 compat >= 15 - lib:libpng15$secondaryArchSuffix = 15.20.0 compat >= 15 + lib:libpng$secondaryArchSuffix = 15.21.0 compat >= 15 + lib:libpng15$secondaryArchSuffix = 15.21.0 compat >= 15 " REQUIRES=" haiku$secondaryArchSuffix @@ -70,8 +70,8 @@ PROVIDES_devel=" libpng${secondaryArchSuffix}_devel = $portVersion compat >= 1.5 cmd:libpng_config$secondaryArchSuffix = $portVersion compat >= 1.5 cmd:libpng15_config$secondaryArchSuffix = $portVersion compat >= 1.5 - devel:libpng$secondaryArchSuffix = 15.20.0 compat >= 15 - devel:libpng15$secondaryArchSuffix = 15.20.0 compat >= 15 + devel:libpng$secondaryArchSuffix = 15.21.0 compat >= 15 + devel:libpng15$secondaryArchSuffix = 15.21.0 compat >= 15 " REQUIRES_devel=" libpng$secondaryArchSuffix == $portVersion base diff --git a/media-libs/libpng/libpng12-1.2.51.recipe b/media-libs/libpng/libpng12-1.2.52.recipe similarity index 79% rename from media-libs/libpng/libpng12-1.2.51.recipe rename to media-libs/libpng/libpng12-1.2.52.recipe index 8406b6ca9..6fb3d3cc6 100644 --- a/media-libs/libpng/libpng12-1.2.51.recipe +++ b/media-libs/libpng/libpng12-1.2.52.recipe @@ -13,17 +13,17 @@ COPYRIGHT=" 1995-1996 Guy Eric Schalnat, Group 42, Inc. " LICENSE="LibPNG" -SRC_URI="http://sourceforge.net/projects/libpng/files/libpng12/1.2.51/libpng-1.2.51.tar.bz2" -CHECKSUM_SHA256="b0ad409d7048c851eadb2abab6c1a1a1e131bc4d3d07501ff7c820cce5bec811" -SOURCE_DIR="libpng-1.2.51" +SRC_URI="http://sourceforge.net/projects/libpng/files/libpng12/$portVersion/libpng-$portVersion.tar.bz2" +CHECKSUM_SHA256="e90ede6d543152e68c08c91c45f39565185ac7eb8cb2b5d058a196050ab04229" +SOURCE_DIR="libpng-$portVersion" REVISION="1" ARCHITECTURES="x86_gcc2" SECONDARY_ARCHITECTURES="x86_gcc2" PROVIDES=" libpng12$secondaryArchSuffix = $portVersion compat >= 1.2 - lib:libpng$secondaryArchSuffix = 3.51.0 compat >= 3 - lib:libpng12$secondaryArchSuffix = 3.51.0 compat >= 3 + lib:libpng$secondaryArchSuffix = 3.52.0 compat >= 3 + lib:libpng12$secondaryArchSuffix = 3.52.0 compat >= 3 " REQUIRES=" haiku$secondaryArchSuffix @@ -72,8 +72,8 @@ PROVIDES_devel=" libpng12${secondaryArchSuffix}_devel = $portVersion compat >= 1.2 cmd:libpng_config$secondaryArchSuffix = $portVersion compat >= 1.2 cmd:libpng12_config$secondaryArchSuffix = $portVersion compat >= 1.2 - devel:libpng$secondaryArchSuffix = 3.51.0 compat >= 3 - devel:libpng12$secondaryArchSuffix = 3.51.0 compat >= 3 + devel:libpng$secondaryArchSuffix = 3.52.0 compat >= 3 + devel:libpng12$secondaryArchSuffix = 3.52.0 compat >= 3 " REQUIRES_devel=" libpng12$secondaryArchSuffix == $portVersion base diff --git a/media-libs/libpng/libpng16-1.6.15.recipe b/media-libs/libpng/libpng16-1.6.16.recipe similarity index 85% rename from media-libs/libpng/libpng16-1.6.15.recipe rename to media-libs/libpng/libpng16-1.6.16.recipe index 39fde2cdc..db5882161 100644 --- a/media-libs/libpng/libpng16-1.6.15.recipe +++ b/media-libs/libpng/libpng16-1.6.16.recipe @@ -11,7 +11,7 @@ COPYRIGHT=" " LICENSE="LibPNG" SRC_URI="http://prdownloads.sourceforge.net/libpng/libpng-$portVersion.tar.gz" -CHECKSUM_SHA256="dc4f90ff3ba4559b5eb653da9058e3d862d5e8162fe2612f9339a6f6d2a2139d" +CHECKSUM_SHA256="02f96b6bad5a381d36d7ba7a5d9be3b06f7fe6c274da00707509c23592a073ad" SOURCE_DIR="libpng-$portVersion" REVISION="1" ARCHITECTURES="x86_gcc2 x86 x86_64 arm" @@ -19,8 +19,8 @@ SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" libpng16$secondaryArchSuffix = $portVersion compat >= 1.6 - lib:libpng$secondaryArchSuffix = 16.15.0 compat >= 16 - lib:libpng16$secondaryArchSuffix = 16.15.0 compat >= 16 + lib:libpng$secondaryArchSuffix = 16.16.0 compat >= 16 + lib:libpng16$secondaryArchSuffix = 16.16.0 compat >= 16 " REQUIRES=" haiku$secondaryArchSuffix @@ -69,8 +69,8 @@ PROVIDES_devel=" cmd:libpng16_config$secondaryArchSuffix = $portVersion compat >= 1.6 cmd:pngfix$secondaryArchSuffix = $portVersion compat >= 1.6 cmd:png_fix_itxt$secondaryArchSuffix = $portVersion compat >= 1.6 - devel:libpng$secondaryArchSuffix = 16.15.0 compat >= 16 - devel:libpng16$secondaryArchSuffix = 16.15.0 compat >= 16 + devel:libpng$secondaryArchSuffix = 16.16.0 compat >= 16 + devel:libpng16$secondaryArchSuffix = 16.16.0 compat >= 16 " REQUIRES_devel=" libpng16$secondaryArchSuffix == $portVersion base diff --git a/net-libs/librsync/librsync-1.0.0pre.recipe b/net-libs/librsync/librsync-1.0.0.recipe similarity index 61% rename from net-libs/librsync/librsync-1.0.0pre.recipe rename to net-libs/librsync/librsync-1.0.0.recipe index f50168be7..6d132d571 100644 --- a/net-libs/librsync/librsync-1.0.0pre.recipe +++ b/net-libs/librsync/librsync-1.0.0.recipe @@ -7,10 +7,20 @@ design similar to that of zlib with the aim of allowing it to be embedded \ into many different applications." HOMEPAGE="http://librsync.sourcefrog.net" -GIT_HASH='ad8d065bfd' -SRC_URI="git://github.com/librsync/librsync.git#$GIT_HASH" -#CHECKSUM_SHA256="" + +# Unfortunately the maintainer of librsync did not publish a tag or released +# tarball for the 1.0.0 release (yet?). Use a static tarball with Git hash +# for now (which comparing to directly cloning allows for double-checking +# correctness of the source). +GIT_HASH='02f1cc19182845d37cfb6a893f54af220a294ce7' +# Attach the $GIT_HASH to the file name just in case upstream publishes an +# official release tarball. +SRC_FILENAME="librsync-${portVersion}-${GIT_HASH}.tar.gz" +SRC_URI="https://github.com/librsync/librsync/archive/${GIT_HASH}.tar.gz" +CHECKSUM_SHA256='25d046a8cbc6e075cc68925b5070c1f0e731e3a018446f6bda20ec9723a5631a' REVISION="1" +SOURCE_DIR="librsync-${GIT_HASH}" + ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" LICENSE="GNU LGPL v2.1" @@ -23,16 +33,12 @@ COPYRIGHT="1995 Patrick Powell REQUIRES=" haiku$secondaryArchSuffix - lib:libbz2$secondaryArchSuffix lib:libpopt$secondaryArchSuffix - lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - devel:libbz2$secondaryArchSuffix devel:libpopt$secondaryArchSuffix - devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" @@ -53,17 +59,13 @@ BUILD_PREREQUIRES=" PROVIDES=" $portName = $portVersion cmd:rdiff$secondaryArchSuffix = $portVersion - lib:librsync$secondaryArchSuffix = 1.0.2 compat >= 1 + lib:librsync$secondaryArchSuffix = 2.0.0 compat >= 2 " -PATCH() -{ - sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac -} +PATCHES="librsync-${portVersion}.patchset" BUILD() { - mkdir -p m4 autoreconf -fi runConfigure ./configure \ --enable-shared @@ -84,9 +86,11 @@ TEST() make check } +# Although the librsync soname is bumped to 2.0.0, it is purely an ABI change, +# so the compat level for the devel package remains at 1. PROVIDES_devel=" - ${portName}_devel = $portVersion - devel:librsync$secondaryArchSuffix = 1.0.2 compat >= 1 + ${portName}_devel = $portVersion compat >= 1 + devel:librsync$secondaryArchSuffix = 2.0.0 compat >= 1 " REQUIRES_devel=" librsync$secondaryArchSuffix == $portVersion base diff --git a/net-libs/librsync/patches/librsync-1.0.0.patchset b/net-libs/librsync/patches/librsync-1.0.0.patchset new file mode 100644 index 000000000..70a04f5bd --- /dev/null +++ b/net-libs/librsync/patches/librsync-1.0.0.patchset @@ -0,0 +1,28 @@ +From 6fdcdff86e215e06817462c0fe4d63a0ca64cf21 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Tue, 23 Dec 2014 06:15:47 +0000 +Subject: blake2b: Separate declaration and code + +Fixes old compilers like gcc 2.95.3. + +Signed-off-by: Timothy Gu + +diff --git a/blake2b-ref.c b/blake2b-ref.c +index bcf81da..43cf4c1 100644 +--- a/blake2b-ref.c ++++ b/blake2b-ref.c +@@ -149,10 +149,10 @@ static inline int blake2b_init0( blake2b_state *S ) + /* init xors IV with input parameter block */ + int blake2b_init_param( blake2b_state *S, const blake2b_param *P ) + { +- blake2b_init0( S ); + uint8_t *p = ( uint8_t * )( P ); + size_t i; + ++ blake2b_init0( S ); + /* IV XOR ParamBlock */ + for( i = 0; i < 8; ++i ) + S->h[i] ^= load64( p + sizeof( S->h[i] ) * i ); +-- +1.8.3.4 +