6 CATEGORIES= audio accessibility
8 DISTFILES= ${DISTNAME}-release.tar.gz \
9 speech_tools-${PORTVERSION}-release.tar.gz
12 PATCHFILES= src_modules_diphone_diphone.h.diff?id=b58a836:debian \
13 src_modules_diphone_di_io.cc.diff?id=b58a836:debian \
14 src_modules_diphone_diphone.cc.diff?id=b58a836:debian \
15 src_modules_donovan_t2s.h.diff?id=b58a836:debian \
16 src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff?id=b58a836:debian \
17 festival_el_utf8.diff?id=b58a836:debian \
18 lintianspellpatch.diff?id=b58a836:debian \
19 hts21compat.diff?id=b58a836:debian \
20 languagespatch.diff?id=b58a836:debian \
21 ${SPT_PATCHES:C/.*/patch-speech__tools_\0:netbsd/}
22 PATCH_SITES= ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/audio/festival/patches/:netbsd \
23 http://anonscm.debian.org/cgit/tts/festival.git/plain/debian/patches/:debian
25 MAINTAINER= mi@aldan.algebra.com
26 COMMENT= Multi-lingual speech synthesis system
28 BROKEN_aarch64= Fails to link: arm64_unknown.mak: No such file or directory
29 BROKEN_armv6= Fails to link: cc.mak: No such file or directory
30 BROKEN_mips64= Fails to link: cc.mak: No such file or directory
31 BROKEN_powerpc64= Does not build
33 OPTIONS_DEFINE= NAS ESD
34 OPTIONS_DEFAULT=NAS ESD
35 ESD_DESC= ${ESOUND_DESC}
37 CXXFLAGS+= -DFTLIBDIR=${LOCALBASE}/share/festival/lib
38 CONFIGURE_WRKSRC= ${WRKDIR}/festival
40 SPEECHTOOLS= ${WRKSRC}/speech_tools
41 FESTIVAL= ${WRKSRC}/festival
42 MAKE_ARGS+= CC="${CC}" GCC="${CC}" \
43 CXX="${CXX}" GXX="${CXX}" \
44 EST_HOME=${SPEECHTOOLS}
47 SPT_PATCHES= include_ling__class_EST__FeatureFunctionPackage.h \
48 include_unix_EST__socket__unix.h
51 .for d in speech_tools festival
52 ${MAKE_CMD} -C ${WRKDIR}/$d ${MAKE_FLAGS} Makefile ${MAKE_ARGS}
55 # Can not make test in `festival', because the voices may not be installed
56 # XXX: this should fail, if the verdict is not "CORRECT"...
58 ${MAKE_CMD} -C ${WRKDIR}/speech_tools test
60 # The below is needed, because Debian's patches expect a different
63 ${LN} -s festival ${WRKSRC}/festival-2.1~release
64 ${LN} -s festival ${WRKSRC}/b
67 ${REINPLACE_CMD} -e 's,/usr/X11R6,${LOCALBASE},g' \
68 ${WRKSRC}/*/config/systems/default.mak
71 ${m:tu}_LIB_DEPENDS= lib${m:nas=audio}.so:audio/${m:esd=esound}
72 post-patch-${m:tu}-on:
73 ${REINPLACE_CMD} -e 's,# INCLUDE_MODULES += ${m:tu}_AUDIO,INCLUDE_MODULES += ${m:tu}_AUDIO,' \
74 ${WRKDIR}/*/config/config.in
75 ${m:tu}_CONFIGURE_ENABLE=${m}
79 .for d in speech_tools festival
81 if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \
82 CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \
83 ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS}; then \
84 ${ECHO_CMD} "===> configuration script for $d failed."; \
87 # This step helps non-i386 systems and is harmless on i386
88 -${LN} -s ix86_FreeBSD.mak ${WRKDIR}/$d/config/systems/${ARCH:S/armv6/arm/}_unknown.mak
91 -e '/^CFLAGS *=/s|$$| ${CFLAGS}|' \
92 -e '/^CXXFLAGS *=/s|$$| ${CXXFLAGS}|' \
93 -e 's,^OPTIMI,#OPTIMI,' \
94 ${WRKSRC}/speech_tools/config/compilers/gcc*.mak
95 # This step helps to use a compiler, the vendor has not seen before:
96 ${TEST} -e ${WRKDIR}/speech_tools/config/compilers/${CC}.mak || \
97 ${LN} -s gcc_defaults.mak ${WRKDIR}/speech_tools/config/compilers/${CC}.mak
100 @${MKDIR} ${STAGEDIR}${DATADIR}
101 ${CHMOD} -R u+w,a+r,og-w ${FESTIVAL}/lib
102 ${FIND} ${FESTIVAL}/lib -type d -print0 | ${XARGS} -0 ${CHMOD} 755
103 ${FIND} ${FESTIVAL} -type f -name *.orig -delete
104 ${CP} -pPR ${FESTIVAL}/lib ${FESTIVAL}/examples ${STAGEDIR}${DATADIR}
105 ${RM} -r ${STAGEDIR}${DATADIR}/lib/etc/Makefile ${STAGEDIR}${DATADIR}/lib/etc/*FreeBSD* \
106 ${STAGEDIR}${DATADIR}/lib/etc/*unknown
107 ${INSTALL_PROGRAM} ${FESTIVAL}/lib/etc/*/audsp ${STAGEDIR}${PREFIX}/libexec
108 ${INSTALL_PROGRAM} ${FESTIVAL}/src/main/festival ${STAGEDIR}${PREFIX}/libexec/festival.naked
109 ${INSTALL_PROGRAM} ${FESTIVAL}/src/main/festival_client ${STAGEDIR}${PREFIX}/libexec/festival_client.naked
110 for n in festival.sh festival_client.sh sitevars.scm; \
112 ${SED} "s%@PKG_FESTIVAL_LOCATION@%${DATADIR}%; \
113 s%@PKG_PREFIX@%${PREFIX}%" <${FILESDIR}/$$n > ${WRKDIR}/$$n ;} \
115 ${INSTALL_SCRIPT} ${WRKDIR}/festival.sh ${STAGEDIR}${PREFIX}/bin/festival
116 ${INSTALL_SCRIPT} ${WRKDIR}/festival_client.sh ${STAGEDIR}${PREFIX}/bin/festival_client
117 ${INSTALL_DATA} ${WRKDIR}/sitevars.scm ${STAGEDIR}${DATADIR}/lib/sitevars.scm
118 ${INSTALL_MAN} ${FESTIVAL}/doc/festival.1 ${STAGEDIR}${PREFIX}/man/man1/festival.1
119 ${INSTALL_MAN} ${FESTIVAL}/doc/festival_client.1 ${STAGEDIR}${PREFIX}/man/man1/festival_client.1
121 .include <bsd.port.mk>