split recipes
[scm/bb/meta-tizen.git] / meta-tizen-common-base / recipes-extended / festival / festival.inc
1 DESCRIPTION = "A free speech synthesis and text-to-speech system"
2 HOMEPAGE = "http://www.cstr.ed.ac.uk/projects/festival/"
3 SECTION = "System/Libraries"
4 LICENSE = "MIT and GPL-2.0+ and TCL"
5 PV = "2.1"
6
7 SRC_URI = ""
8
9 S = "${WORKDIR}/git"
10
11 inherit manifest autotools-brokensep
12
13 BBCLASSEXTEND = ""
14 PROVIDES = ""
15
16 #PROVIDES by festival
17
18
19 #PROVIDES by festival-dev
20 PROVIDES += "festival-dev"
21
22
23 RDEPENDS = ""
24 #RDEPENDS of festival-dev (${PN}-dev)
25 RDEPENDS_${PN}-dev += "festival"
26
27
28 DEPENDS = ""
29 #DEPENDS of festival
30 DEPENDS += "ncurses"
31 inherit pkgconfig
32
33 do_prep() {
34  cd ${S}
35  #extracte source 1 
36  pushd ${S}/../
37  unp ${S}/packaging/speech_tools-2.1-release.tar.gz 
38  popd 
39  #extracte source 2 
40  pushd ${S}/../
41  unp ${S}/packaging/festlex_CMU.tar.gz 
42  popd 
43  #extracte source 3 
44  pushd ${S}/../
45  unp ${S}/packaging/festvox_kallpc16k.tar.gz 
46  popd 
47  #extracte source 4 
48  pushd ${S}/../
49  unp ${S}/packaging/festlex_POSLEX.tar.gz 
50  popd 
51  chmod -Rf a+rX,u+w,g-w,o-w ${S}
52  #setup -q -b 1 -b 2 -b 3 -b 4
53  mv ../festival/lib/* lib/
54  cat ${S}/packaging/festival-1.95-examples.patch | patch -s  -p1 --fuzz=2
55  #patch0 -p1
56  cat ${S}/packaging/festival-text2wave-manpage.patch | patch -s  -p1 --fuzz=2
57  #patch1 -p1
58  cat ${S}/packaging/festival-1.95-libdir.patch | patch -s  -p0 --fuzz=2
59  #patch2
60  cat ${S}/packaging/festival-1.95-audsp.patch | patch -s  -p0 --fuzz=2
61  #patch3
62  cat ${S}/packaging/festival-1.96-chroot.patch | patch -s  -p0 --fuzz=2
63  #patch4
64  cat ${S}/packaging/festival-no-LD_LIBRARY_PATH-extension.patch | patch -s  -p1 --fuzz=2
65  #patch5 -p1
66  cat ${S}/packaging/festival-safe-temp-file.patch | patch -s  -p1 --fuzz=2
67  #patch6 -p1
68  cat ${S}/packaging/festival-use-pacat.patch | patch -s  -p1 -b --suffix .use-pacat  --fuzz=2
69  #patch7 -p1 -b .use-pacat 
70  cd ../speech_tools
71  cat ${S}/packaging/speech_tools-undefined-operation.patch | patch -s  -p1 --fuzz=2
72  #patch101 -p1
73  cat ${S}/packaging/speech_tools-1.2.95-config.patch | patch -s  -p0 --fuzz=2
74  #patch102
75  cat ${S}/packaging/speech_tools-no-LD_LIBRARY_PATH-extension.patch | patch -s  -p1 --fuzz=2
76  #patch103 -p1
77  cat ${S}/packaging/speech_tools-gcc47.patch | patch -s  -p1 --fuzz=2
78  #patch104 -p1
79  cat ${S}/packaging/festival-1.96-speechtools-shared-build.patch | patch -s  -p2 -b --suffix .shared-build --fuzz=2
80  #patch200 -p2 -b .shared-build
81  cat ${S}/packaging/festival-1.96-bettersonamehack.patch | patch -s  -p2 -b --suffix .bettersoname --fuzz=2
82  #patch201 -p2 -b .bettersoname
83  cat ${S}/packaging/festival-1.96-main-speech_tools-shared-build.patch | patch -s  -p2 -b --suffix .shared --fuzz=2
84  #patch205 -p2 -b .shared
85  cd ../festival-2.1
86  cat ${S}/packaging/festival-1.96-main-festival-shared-build.patch | patch -s  -p1 -b --suffix .shared --fuzz=2
87  #patch206 -p1 -b .shared
88  cd ../speech_tools
89  cat ${S}/packaging/no-shared-data.patch | patch -s  -p1 -b --suffix .no-shared-data --fuzz=2
90  #patch210 -p1 -b .no-shared-data
91  cat ${S}/packaging/festival-1.96-speechtools-linklibswithotherlibs.patch | patch -s  -p1 -b --suffix .linklibswithotherlibs --fuzz=2
92  #patch211 -p1 -b .linklibswithotherlibs
93  
94  
95 }
96 do_patch_append() {
97     bb.build.exec_func('do_prep', d)
98 }
99
100 do_configure() {
101 }
102
103 do_compile() {
104  cd ${S}
105   LANG=C
106   export LANG
107   unset DISPLAY
108   LD_AS_NEEDED=1; export LD_AS_NEEDED ;
109   
110   # festival
111   
112   autotools_do_configure
113   
114   cd ..
115   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/speech_tools/lib
116   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/festival-2.1/src/lib
117   # speech tools
118   cd speech_tools
119   ./configure --prefix=${prefix}               --libdir=${prefix}/lib               --datadir=${prefix}/share/festival               --sysconfdir=${sysconfdir}
120   
121   oe_runmake CC="${CC} -fPIC $RPM_OPT_FLAGS" CXX="${HOST_SYS}-g++ $RPM_OPT_FLAGS -fPIC -Wno-non-template-friend -ffriend-injection -fno-strict-aliasing"
122   cd ../festival-2.1
123   oe_runmake CC="${CC} -fPIC $RPM_OPT_FLAGS" CXX="${HOST_SYS}-g++ $RPM_OPT_FLAGS -fPIC -Wno-non-template-friend -ffriend-injection -fno-strict-aliasing"
124   oe_runmake doc
125   
126   
127   
128   
129 }
130 EXTRA_OECONF += " --prefix=${prefix} --libdir=${prefix}/lib --datadir=${prefix}/share/festival --sysconfdir=${sysconfdir}"
131
132 do_install() {
133  export RPM_BUILD_ROOT=${D}
134  cd ${S}
135  LANG=C
136  export LANG
137  unset DISPLAY
138  rm -rf ${D}
139  mkdir -p ${D}
140  
141  cd ..
142  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/speech_tools/lib
143  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/festival-2.1/src/lib
144  cd -
145  #%make_install
146  #make INSTALLED_BIN=%{buildroot}%{_bindir} make_installed_bin_shared
147  cd ../speech_tools
148  
149    oe_runmake \
150          DESTDIR=${D} \
151          INSTALL_ROOT=${D} \
152          BINDIR=${prefix}/bin \
153    install  
154    rm -f ${D}${infodir}/dir 
155    find ${D} -regex ".*\.la$" | xargs rm -f -- 
156    find ${D} -regex ".*\.a$" | xargs rm -f --
157  cd ../festival-2.1
158  # install binarys
159  install -D bin/text2wave ${D}${prefix}/bin/text2wave
160  install -m 755 src/main/festival ${D}${prefix}/bin/
161  install -m 755 src/main/festival_client ${D}${prefix}/bin/
162  install -m 755 bin/festival_server* ${D}${prefix}/bin/
163  install -m 755 examples/saytime ${D}${prefix}/bin/
164  # install manpages
165  install -D -m 644 doc/festival.1 ${D}${mandir}/man1/festival.1
166  install -m 644 doc/festival_client.1 ${D}${mandir}/man1/
167  install -m 644 doc/text2wave.1 ${D}${mandir}/man1/
168  # install configs
169  install -D lib/festival.scm ${D}${sysconfdir}/festival.scm
170  # install dictionarys
171  install -D lib/dicts/cmu/cmudict-0.4.out ${D}${prefix}/share/festival/dicts/cmu/cmudict-0.4.out
172  install -m 644 lib/dicts/cmu/*.scm ${D}${prefix}/share/festival/dicts/cmu/
173  install -m 644 lib/dicts/wsj.wp39.poslexR ${D}${prefix}/share/festival/dicts/
174  install -m 644 lib/dicts/wsj.wp39.tri.ngrambin ${D}${prefix}/share/festival/dicts/
175  # install voices
176  mkdir -p ${D}${prefix}/share/festival/voices/english/kal_diphone/festvox
177  mkdir -p ${D}${prefix}/share/festival/voices/english/kal_diphone/group
178  cp lib/voices/english/kal_diphone/group/* ${D}${prefix}/share/festival/voices/english/kal_diphone/group/
179  cp lib/voices/english/kal_diphone/festvox/*.scm ${D}${prefix}/share/festival/voices/english/kal_diphone/festvox
180  # install data
181  cp lib/*.scm ${D}${prefix}/share/festival/
182  cp lib/*.ngrambin ${D}${prefix}/share/festival/
183  cp lib/*.gram ${D}${prefix}/share/festival/
184  cp lib/*.el ${D}${prefix}/share/festival/
185  install -D lib/etc/unknown_Linux/audsp ${D}${prefix}/lib/festival/audsp
186  # install libs
187  install -D src/lib/libFestival.so  ${D}/${prefix}/lib/libFestival.so
188  # install includes
189  mkdir -p ${D}${prefix}/include/
190  install -m 644 src/include/*.h ${D}${prefix}/include/
191  cd ../speech_tools
192  # install includes
193  mkdir -p ${D}${prefix}/include/instantiate
194  mkdir -p ${D}${prefix}/include/ling_class
195  mkdir -p ${D}${prefix}/include/rxp
196  mkdir -p ${D}${prefix}/include/sigpr
197  mkdir -p ${D}${prefix}/include/unix
198  install -m 644 include/*h ${D}${prefix}/include
199  install -m 644 include/instantiate/*h ${D}${prefix}/include/instantiate
200  install -m 644 include/ling_class/*h ${D}${prefix}/include/ling_class
201  install -m 644 include/rxp/*h ${D}${prefix}/include/rxp
202  install -m 644 include/sigpr/*h ${D}${prefix}/include/sigpr
203  install -m 644 include/unix/*h ${D}${prefix}/include/unix
204  # make sure we have no static libs, install shared ones
205  install -m 644 lib/lib*.so* ${D}${prefix}/lib
206  rm -f ${D}${prefix}/lib/*.a
207  
208  # install init script
209  # install -m 755 -D %{S:6} %{buildroot}/etc/init.d/%name
210  # install -d %{buildroot}%_sbindir
211  # ln -sf ../../etc/init.d/%name %{buildroot}/usr/sbin/rc%name
212  # installl sysconfig file
213  #install -m 644 -D %{S:5} %{buildroot}/var/adm/fillup-templates/sysconfig.%name
214  
215  
216 }
217
218 pkg_postinst_${PN}() {
219     #!/bin/sh -e
220
221     ldconfig
222
223 }
224
225 pkg_postinst_${PN}() {
226     #!/bin/sh -e
227
228     ldconfig
229
230 }
231
232 pkg_postrm_${PN}() {
233     #!/bin/sh -e
234
235     ldconfig
236
237 }
238
239 pkg_postrm_${PN}() {
240     #!/bin/sh -e
241
242     ldconfig
243
244 }
245
246 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
247 PACKAGES += " festival "
248 PACKAGES += " festival-dev "
249
250 festival_files = ""
251 festival_files += "MIT COPYING"
252 festival_files += "README INSTALL examples/*.text examples/ex1.* examples/*.scm examples/*.dtd"
253 festival_files += "${sysconfdir}/festival.scm"
254 festival_files += "${prefix}/bin/festival"
255 festival_files += "${prefix}/bin/festival_client"
256 festival_files += "${prefix}/bin/festival_server"
257 festival_files += "${prefix}/bin/festival_server_control"
258 festival_files += "${prefix}/bin/text2wave"
259 festival_files += "${prefix}/bin/saytime"
260 festival_files += "${prefix}/lib/libe*.so.*"
261 festival_files += "${prefix}/lib/libFestival.so"
262 festival_files += "${prefix}/lib/festival"
263 festival_files += "${prefix}/share/festival"
264 festival_files += "${mandir}/man1/*"
265
266 festival-dev_files = ""
267 festival-dev_files += "${prefix}/include/*"
268 festival-dev_files += "${prefix}/lib/libe*.so"
269
270 FILES_${PN} = "${festival_files}"
271 FILES_${PN}-dev = "${festival-dev_files}"
272
273 PKG_festival= "festival"
274 PKG_festival-dev= "festival-dev"
275
276 require festival-extraconf.inc
277