summaryrefslogtreecommitdiff
path: root/packages/espeak
diff options
context:
space:
mode:
Diffstat (limited to 'packages/espeak')
-rw-r--r--packages/espeak/espeak-data_1.35.bb30
-rw-r--r--packages/espeak/espeak.inc7
-rw-r--r--packages/espeak/espeak_1.30.bb52
-rw-r--r--packages/espeak/espeak_1.35.bb45
4 files changed, 82 insertions, 52 deletions
diff --git a/packages/espeak/espeak-data_1.35.bb b/packages/espeak/espeak-data_1.35.bb
new file mode 100644
index 0000000000..4dc9aa9882
--- /dev/null
+++ b/packages/espeak/espeak-data_1.35.bb
@@ -0,0 +1,30 @@
+require espeak.inc
+
+PR = "r0"
+
+inherit native
+
+PACKAGES = "${PN}"
+FILES_${PN} = "${layout_datadir}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+TARGET_ARCH = "${MACHINE_ARCH}"
+
+do_compile() {
+ # Fixing byte order of phoneme data files
+ cd "${S}/platforms/big_endian"
+ sed -i '/^ *CC *=/d' Makefile
+ sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c
+ oe_runmake
+ ./espeak-phoneme-data "${S}/espeak-data"
+ cp -f phondata phonindex phontab "${S}/espeak-data"
+}
+
+do_install() {
+ install -d ${D}${layout_datadir}/espeak-data
+ install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data
+}
+
+do_stage() {
+ :
+}
diff --git a/packages/espeak/espeak.inc b/packages/espeak/espeak.inc
new file mode 100644
index 0000000000..c0502b6ca3
--- /dev/null
+++ b/packages/espeak/espeak.inc
@@ -0,0 +1,7 @@
+DESCRIPTION = "eSpeak is a compact open source software speech synthesizer"
+SECTION = "base"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip"
+
+S = "${WORKDIR}/espeak-${PV}-source"
diff --git a/packages/espeak/espeak_1.30.bb b/packages/espeak/espeak_1.30.bb
deleted file mode 100644
index 523acc77cb..0000000000
--- a/packages/espeak/espeak_1.30.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-#
-# Copyright Matthias Hentges <devel@hentges.net> (c) 2008
-# License: MIT (see http://www.opensource.org/licenses/mit-license.php
-# for a copy of the license)
-#
-# Filename: espeak_1.30.bb
-# Date: 20080104 (YMD)
-
-DESCRIPTION = "eSpeak is a compact open source software speech synthesizer"
-SECTION = "base"
-LICENSE = "GPL"
-
-DEPENDS = "portaudio-v19"
-
-######################################################################################
-
-PR = "r2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip"
-
-S = "${WORKDIR}/${PN}-${PV}-source"
-
-FILES_${PN} += " /usr/share/espeak-data/ "
-
-do_configure() {
- # espeak supports portaudio in APIs V18 and V19
- cp ${S}/src/portaudio19.h ${S}/src/portaudio.h
-}
-
-do_compile() {
- cd src
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- install -d ${D}/usr/share/espeak-data
-
- install -m 0755 ${S}/src/espeak ${D}${bindir}
- oe_libinstall -so -C src libespeak ${D}${libdir}
-
- cp -prf ${S}/espeak-data/* ${D}/usr/share/espeak-data
-}
-
-do_stage() {
- install -d ${STAGING_INCDIR}/espeak
- install -m 0644 ${S}/src/speak_lib.h ${STAGING_INCDIR}/espeak/
- oe_libinstall -so -C src libespeak ${STAGING_LIBDIR}
-}
diff --git a/packages/espeak/espeak_1.35.bb b/packages/espeak/espeak_1.35.bb
new file mode 100644
index 0000000000..f7dacf54bc
--- /dev/null
+++ b/packages/espeak/espeak_1.35.bb
@@ -0,0 +1,45 @@
+require espeak.inc
+
+EXTRA_PHONEMES = '${@base_contains("SITEINFO_ENDIANESS", "be", "espeak-data (= ${PV})", "", d)}'
+RDEPENDS = "portaudio-v19 ${EXTRA_PHONEMES}"
+
+PR = "r1"
+
+CXXFLAGS += "-DUSE_PORTAUDIO"
+
+FILES_${PN} += "${datadir}/espeak-data"
+
+do_configure() {
+ # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19
+ cp "${S}/src/portaudio19.h" "${S}/src/portaudio.h"
+}
+
+do_compile() {
+ cd src
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ install -d ${D}${datadir}/espeak-data
+
+ # we do not ship "speak" binary though.
+ install -m 0755 ${S}/src/espeak ${D}${bindir}
+ install -m 0644 ${S}/src/speak_lib.h ${D}${includedir}
+ oe_libinstall -so -C src libespeak ${D}${libdir}
+
+ if [ "${SITEINFO_ENDIANESS}" = "be" ] ; then
+ # the big-endian phon* files are provided by the package espeak-data
+ rm -f ${S}/espeak-data/phon*
+ fi
+
+ cp -prf ${S}/espeak-data/* ${D}${datadir}/espeak-data
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/espeak
+ install -m 0644 ${S}/src/speak_lib.h ${STAGING_INCDIR}/espeak/
+ oe_libinstall -so -C src libespeak ${STAGING_LIBDIR}
+}