From 30aebdacf1e910693127363da83d704ea5ca46fa Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 1 Feb 2017 22:45:30 +0100 Subject: [PATCH] espeak: Switch to espeak-ng --- packages/espeak/Makefile.patch | 24 +++++++++++++++ packages/espeak/build.sh | 42 ++++++++++++++++++++++----- packages/espeak/char_unsigned_narrowing.patch | 21 -------------- packages/espeak/compat-stdint.h.patch | 12 ++++++++ packages/espeak/makefile.patch | 37 ----------------------- packages/espeak/no_asynch.patch | 18 ------------ 6 files changed, 71 insertions(+), 83 deletions(-) create mode 100644 packages/espeak/Makefile.patch delete mode 100644 packages/espeak/char_unsigned_narrowing.patch create mode 100644 packages/espeak/compat-stdint.h.patch delete mode 100644 packages/espeak/makefile.patch delete mode 100644 packages/espeak/no_asynch.patch diff --git a/packages/espeak/Makefile.patch b/packages/espeak/Makefile.patch new file mode 100644 index 00000000..58a2bd68 --- /dev/null +++ b/packages/espeak/Makefile.patch @@ -0,0 +1,24 @@ +diff -u -r ../espeak-ng-1.49.1/Makefile.am ./Makefile.am +--- ../espeak-ng-1.49.1/Makefile.am 2017-01-21 21:57:13.000000000 +0100 ++++ ./Makefile.am 2017-02-01 00:30:07.810286033 +0100 +@@ -121,7 +121,7 @@ + + lib_LTLIBRARIES += src/libespeak-ng.la + +-src_libespeak_ng_la_LDFLAGS = -version-info $(SHARED_VERSION) -lpthread -lm \ ++src_libespeak_ng_la_LDFLAGS = -version-info $(SHARED_VERSION) -lm \ + ${PCAUDIOLIB_LIBS} + + src_libespeak_ng_la_CFLAGS = -Isrc/include -Isrc/include/compat \ +diff -u -r ../espeak-ng-1.49.1/Makefile.in ./Makefile.in +--- ../espeak-ng-1.49.1/Makefile.in 2017-01-21 21:57:17.000000000 +0100 ++++ ./Makefile.in 2017-02-01 00:30:24.202085646 +0100 +@@ -472,7 +472,7 @@ + src/include/espeak-ng/espeak_ng.h \ + src/include/espeak-ng/speak_lib.h + +-src_libespeak_ng_la_LDFLAGS = -version-info $(SHARED_VERSION) -lpthread -lm \ ++src_libespeak_ng_la_LDFLAGS = -version-info $(SHARED_VERSION) -lm \ + ${PCAUDIOLIB_LIBS} + + src_libespeak_ng_la_CFLAGS = -Isrc/include -Isrc/include/compat -fPIC \ diff --git a/packages/espeak/build.sh b/packages/espeak/build.sh index 620cd114..29a947f3 100644 --- a/packages/espeak/build.sh +++ b/packages/espeak/build.sh @@ -1,11 +1,39 @@ -_MAJOR_VERSION=1.48 -TERMUX_PKG_VERSION=${_MAJOR_VERSION}.04 -TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/espeak/espeak/espeak-${_MAJOR_VERSION}/espeak-${TERMUX_PKG_VERSION}-source.zip -TERMUX_PKG_FOLDERNAME=espeak-${TERMUX_PKG_VERSION}-source -TERMUX_PKG_HOMEPAGE=http://espeak.sourceforge.net/ +TERMUX_PKG_HOMEPAGE=https://github.com/espeak-ng/espeak-ng TERMUX_PKG_DESCRIPTION="Compact software speech synthesizer" +# Use eSpeak NG as the original eSpeak project is dead. +# See https://github.com/espeak-ng/espeak-ng/issues/180 +# about cross compilation of espeak-ng. +TERMUX_PKG_VERSION=1.49.1 +TERMUX_PKG_SRCURL=https://github.com/espeak-ng/espeak-ng/releases/download/${TERMUX_PKG_VERSION}/espeak-ng-${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=4502c6e352d587fda326e8a55763e7d7c28b40e82c9c4683258ecc0a339ed0d4 +TERMUX_PKG_FOLDERNAME=espeak-ng-${TERMUX_PKG_VERSION} TERMUX_PKG_BUILD_IN_SRC=yes +TERMUX_PKG_HOSTBUILD=yes +# --without-async due to that using pthread_cancel(). +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-async" -termux_step_configure () { - export TERMUX_PKG_BUILDDIR=$TERMUX_PKG_BUILDDIR/src +termux_step_host_build() { + cp -Rf $TERMUX_PKG_SRCDIR/* . + unset MAKEFLAGS + ./configure --prefix=$TERMUX_PREFIX + make -j$TERMUX_MAKE_PROCESSES src/{e,}speak-ng + + # Man pages require the ronn ruby program. + #make src/espeak-ng.1 + #cp src/espeak-ng.1 $TERMUX_PREFIX/share/man/man1 + #(cd $TERMUX_PREFIX/share/man/man1 && ln -s -f espeak-ng.1 espeak.1) + + make install +} + +termux_step_make() { + # Prevent caching of host build: + rm -Rf $TERMUX_PKG_HOSTBUILD_DIR + make -j$TERMUX_MAKE_PROCESSES src/{e,}speak-ng +} + +termux_step_make_install() { + rm $TERMUX_PREFIX/bin/{e,}speak{,-ng} + cp src/.libs/espeak-ng $TERMUX_PREFIX/bin/espeak + cp src/.libs/libespeak-ng.so $TERMUX_PREFIX/lib/libespeak-ng.so.1.1.49 } diff --git a/packages/espeak/char_unsigned_narrowing.patch b/packages/espeak/char_unsigned_narrowing.patch deleted file mode 100644 index 77b623de..00000000 --- a/packages/espeak/char_unsigned_narrowing.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u -r ../espeak-1.48.01-source/src/tr_languages.cpp ./src/tr_languages.cpp ---- ../espeak-1.48.01-source/src/tr_languages.cpp 2014-02-02 11:52:30.000000000 +0100 -+++ ./src/tr_languages.cpp 2014-02-11 22:02:07.000000000 +0100 -@@ -198,7 +198,7 @@ - 0x200d, 1, // zero width joiner - 0, 0 }; - --const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8 -+const unsigned char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8 - - - static Translator* NewTranslator(void) -@@ -758,7 +758,7 @@ - tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2; - tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ROMAN | NUM_ROMAN_ORDINAL; - tr->langopts.numbers2 = NUM2_ORDINAL_NO_AND; -- tr->langopts.roman_suffix = string_ordinal; -+ tr->langopts.roman_suffix = (char*) string_ordinal; - } - else - if(name2 == L_pap) diff --git a/packages/espeak/compat-stdint.h.patch b/packages/espeak/compat-stdint.h.patch new file mode 100644 index 00000000..6d59fc00 --- /dev/null +++ b/packages/espeak/compat-stdint.h.patch @@ -0,0 +1,12 @@ +diff -u -r ../espeak-ng-1.49.1/src/include/compat/stdint.h ./src/include/compat/stdint.h +--- ../espeak-ng-1.49.1/src/include/compat/stdint.h 2017-01-21 21:57:13.000000000 +0100 ++++ ./src/include/compat/stdint.h 2017-02-01 00:28:46.687277703 +0100 +@@ -19,6 +19,8 @@ + #ifndef STDINT_H_COMPAT_SHIM + #define STDINT_H_COMPAT_SHIM + ++#include "config.h" ++ + #ifdef _MSC_VER + + #if _MSC_VER >= 1600 // Visual C++ 10 (Visual Studio 2010) and above... diff --git a/packages/espeak/makefile.patch b/packages/espeak/makefile.patch deleted file mode 100644 index d9f6b7e2..00000000 --- a/packages/espeak/makefile.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -u -r ../espeak-1.48.01-source/src/Makefile ./src/Makefile ---- ../espeak-1.48.01-source/src/Makefile 2014-02-02 11:58:11.000000000 +0100 -+++ ./src/Makefile 2014-02-11 22:18:52.000000000 +0100 -@@ -1,8 +1,8 @@ - # remove -fno-exceptions if it causes problems with stdio library on some platforms (ARM) - --DATADIR=/usr/share/espeak-data - --PREFIX=/usr -+PREFIX=@TERMUX_PREFIX@ -+DATADIR=$(PREFIX)/share/espeak - BINDIR=$(PREFIX)/bin - INCDIR=$(PREFIX)/include/espeak - LIBDIR=$(PREFIX)/lib -@@ -27,7 +27,7 @@ - - # 'runtime' uses pulseaudio if it is running, else uses portaudio - #AUDIO = runtime --AUDIO = portaudio -+#AUDIO = portaudio - #AUDIO = portaudio0 - #AUDIO = portaudio2 - #AUDIO = pulseaudio -@@ -83,11 +83,11 @@ - - SRCS1=$(speak_SOURCES) - OBJS1=$(patsubst %.cpp,%.o,$(SRCS1)) --LIBS1=-lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS) -+LIBS1=-lstdc++ $(LIB_AUDIO) $(EXTRA_LIBS) - - SRCS2=$(libespeak_SOURCES) - OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2)) --LIBS2=-lstdc++ $(LIB_AUDIO) -lpthread -+LIBS2=-lstdc++ $(LIB_AUDIO) - - SRCS3 = espeak.cpp - OBJS3=$(patsubst %.cpp,%.o,$(SRCS3)) diff --git a/packages/espeak/no_asynch.patch b/packages/espeak/no_asynch.patch deleted file mode 100644 index 4c770bb5..00000000 --- a/packages/espeak/no_asynch.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -u -r ../espeak-1.48.01-source/src/speech.h ./src/speech.h ---- ../espeak-1.48.01-source/src/speech.h 2014-02-02 11:52:30.000000000 +0100 -+++ ./src/speech.h 2014-02-11 22:16:17.000000000 +0100 -@@ -47,12 +47,12 @@ - //#define ESPEAK_API extern "C" - - #ifdef LIBRARY --#define USE_ASYNC -+//#define USE_ASYNC - #endif - - #ifdef _ESPEAKEDIT - #define USE_PORTAUDIO --#define USE_ASYNC -+//#define USE_ASYNC - #define LOG_FRAMES // write keyframe info to log-espeakedit - #endif - -- 2.11.0