Tweak audio/mp3splt version 2.6.2
[dports.git] / audio / festival / Makefile
1 # Created by: trevor
2 # $FreeBSD$
3
4 PORTNAME=       festival
5 PORTVERSION=    2.4
6 CATEGORIES=     audio accessibility
7 MASTER_SITES=   FESTIVAL
8 DISTFILES=      ${DISTNAME}-release.tar.gz      \
9                 speech_tools-${PORTVERSION}-release.tar.gz
10 DIST_SUBDIR=    festival
11
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
24
25 MAINTAINER=     mi@aldan.algebra.com
26 COMMENT=        Multi-lingual speech synthesis system
27
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
32
33 OPTIONS_DEFINE= NAS ESD
34 OPTIONS_DEFAULT=NAS ESD
35 ESD_DESC=       ${ESOUND_DESC}
36
37 CXXFLAGS+=      -DFTLIBDIR=${LOCALBASE}/share/festival/lib
38 CONFIGURE_WRKSRC=       ${WRKDIR}/festival
39 USES=           gmake
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}
45 WRKSRC=         ${WRKDIR}
46
47 SPT_PATCHES=    include_ling__class_EST__FeatureFunctionPackage.h       \
48                 include_unix_EST__socket__unix.h
49
50 do-build:
51 .for d in speech_tools festival
52         ${MAKE_CMD} -C ${WRKDIR}/$d ${MAKE_FLAGS} Makefile ${MAKE_ARGS}
53 .endfor
54
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"...
57 post-build test:
58         ${MAKE_CMD} -C ${WRKDIR}/speech_tools test
59
60 # The below is needed, because Debian's patches expect a different
61 # directory-name
62 pre-patch:
63         ${LN} -s festival ${WRKSRC}/festival-2.1~release
64         ${LN} -s festival ${WRKSRC}/b
65
66 post-patch::
67         ${REINPLACE_CMD} -e 's,/usr/X11R6,${LOCALBASE},g'       \
68                 ${WRKSRC}/*/config/systems/default.mak
69
70 .for m in nas esd
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}
76 .endfor
77
78 do-configure:
79 .for d in speech_tools festival
80         @cd ${WRKDIR}/$d && \
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."; \
85                 ${FALSE}; \
86         fi
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
89 .endfor
90         ${REINPLACE_CMD} \
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
98
99 do-install:
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; \
111         do {\
112           ${SED} "s%@PKG_FESTIVAL_LOCATION@%${DATADIR}%; \
113                s%@PKG_PREFIX@%${PREFIX}%" <${FILESDIR}/$$n > ${WRKDIR}/$$n ;} \
114         done
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
120
121 .include <bsd.port.mk>