Browse Source

espeak: Switch to espeak-ng

android-5
Fredrik Fornwall 8 years ago
parent
commit
30aebdacf1
  1. 24
      packages/espeak/Makefile.patch
  2. 42
      packages/espeak/build.sh
  3. 21
      packages/espeak/char_unsigned_narrowing.patch
  4. 12
      packages/espeak/compat-stdint.h.patch
  5. 37
      packages/espeak/makefile.patch
  6. 18
      packages/espeak/no_asynch.patch

24
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 \

42
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
}

21
packages/espeak/char_unsigned_narrowing.patch

@ -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)

12
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...

37
packages/espeak/makefile.patch

@ -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))

18
packages/espeak/no_asynch.patch

@ -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
Loading…
Cancel
Save