1*4882a593SmuzhiyunDESCRIPTION = "eSpeak is a compact open source software speech synthesizer" 2*4882a593SmuzhiyunSECTION = "base" 3*4882a593SmuzhiyunLICENSE = "GPL-3.0-only" 4*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c" 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \ 7*4882a593Smuzhiyun file://0001-Fix-build-of-shared-library-on-architectures-needing.patch \ 8*4882a593Smuzhiyun file://0002-tr_languages-cast-string_ordinal-init-values.patch \ 9*4882a593Smuzhiyun" 10*4882a593SmuzhiyunSRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3" 11*4882a593SmuzhiyunSRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659" 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunS = "${WORKDIR}/espeak-${PV}-source" 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunDEPENDS = "portaudio-v19 qemu-helper-native" 16*4882a593Smuzhiyuninherit siteinfo qemu 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunCXXFLAGS += "-DUSE_PORTAUDIO" 20*4882a593SmuzhiyunTARGET_CC_ARCH += "${LDFLAGS}" 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunFILES:${PN} += "${datadir}/espeak-data" 23*4882a593Smuzhiyun 24*4882a593Smuzhiyundo_configure() { 25*4882a593Smuzhiyun # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19 26*4882a593Smuzhiyun install -m 0644 "${S}/src/portaudio19.h" "${S}/src/portaudio.h" 27*4882a593Smuzhiyun} 28*4882a593Smuzhiyun 29*4882a593Smuzhiyundo_compile() { 30*4882a593Smuzhiyun cd src 31*4882a593Smuzhiyun oe_runmake 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun cd "${S}/platforms/big_endian" 34*4882a593Smuzhiyun qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${S}/platforms/big_endian', '${STAGING_DIR_TARGET}${base_libdir}'])}" 35*4882a593Smuzhiyun cat >qemuwrapper <<EOF 36*4882a593Smuzhiyun#!/bin/sh 37*4882a593Smuzhiyun$qemu_binary "\$@" 38*4882a593SmuzhiyunEOF 39*4882a593Smuzhiyun chmod +x qemuwrapper 40*4882a593Smuzhiyun sed -i '/^ *CC *=/d' Makefile 41*4882a593Smuzhiyun # Fixing byte order of phoneme data files 42*4882a593Smuzhiyun if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then 43*4882a593Smuzhiyun sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c 44*4882a593Smuzhiyun else 45*4882a593Smuzhiyun sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER LITTLE_ENDIAN\n\1/' espeak-phoneme-data.c 46*4882a593Smuzhiyun fi 47*4882a593Smuzhiyun oe_runmake 48*4882a593Smuzhiyun ./qemuwrapper ./espeak-phoneme-data "${S}/espeak-data" "." "${S}/espeak-data/phondata-manifest" 49*4882a593Smuzhiyun cp -f phondata phonindex phontab "${S}/espeak-data" 50*4882a593Smuzhiyun} 51*4882a593Smuzhiyun 52*4882a593Smuzhiyundo_install() { 53*4882a593Smuzhiyun install -d ${D}${bindir} 54*4882a593Smuzhiyun install -d ${D}${libdir} 55*4882a593Smuzhiyun install -d ${D}${includedir}/espeak 56*4882a593Smuzhiyun install -d ${D}${datadir}/espeak-data 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun # we do not ship "speak" binary though. 59*4882a593Smuzhiyun install -m 0755 ${S}/src/espeak ${D}${bindir} 60*4882a593Smuzhiyun install -m 0644 ${S}/src/speak_lib.h ${D}${includedir}/espeak/ 61*4882a593Smuzhiyun ln -sf espeak/espeak.h ${D}${includedir}/ 62*4882a593Smuzhiyun oe_libinstall -so -C src libespeak ${D}${libdir} 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun cp -R --no-dereference --preserve=mode,links ${S}/espeak-data/* ${D}${datadir}/espeak-data 65*4882a593Smuzhiyun} 66*4882a593Smuzhiyun 67*4882a593SmuzhiyunRDEPENDS:${PN} = "portaudio-v19" 68