summaryrefslogtreecommitdiff
path: root/extra/festival/PKGBUILD
blob: 755dc23a17f442d2723b8c94473b4f7f31e6f60b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# $Id: PKGBUILD 102549 2010-12-08 06:43:53Z schiv $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Simo Leone <neotuli@gmail.com>

pkgname=festival
pkgver=2.1
_suffix=release
pkgrel=1
pkgdesc="A general multi-lingual speech synthesis system"
arch=('i686' 'x86_64')
url="http://www.cstr.ed.ac.uk/projects/festival/"
license=('BSD' 'GPL' 'custom')
depends=('perl')
options=('!makeflags')
source=("http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}-${_suffix}.tar.gz"
        "http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/speech_tools-${pkgver}-${_suffix}.tar.gz"
		"http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/festlex_CMU.tar.gz"
		"http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/festlex_OALD.tar.gz"
		"http://www.cstr.ed.ac.uk/downloads/${pkgname}/${pkgver}/festlex_POSLEX.tar.gz"
		'speechconfig.patch'
		'festconfig.patch')
md5sums=('c93eb3e389ed171ab9abd46afe8897a8'
         '6920ddc75b042910a3bcfee3ab106938'
         '6a2ee4fed7c3ebedf197a3b8524ccb87'
         '84af32a914d996f57bc4cb36fe8cdc97'
         'aa80f9250065b318325f16fdad3a4484'
         '550abd77dc20e444673d6ecf87a60fe9'
         '348cc033430aee7989463198818ae74c')

build() {
	# Build Speech Tools first
	cd $srcdir/speech_tools
	patch -Np1 -i $srcdir/speechconfig.patch

	./configure --prefix=/usr --sysconfdir=/etc
	make OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}"

	# Build Festival itself
	cd $srcdir/festival
	patch -Np1 -i $srcdir/festconfig.patch

	# Aviod make failure on making scripts and docs
	sed -i "s#examples bin doc#examples#" Makefile

	./configure --prefix=/usr --sysconfdir=/etc
	make OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}"
}

package() {
	# Install Speech Tools first
	cd $srcdir/speech_tools
	install -dm755 $pkgdir/usr/{bin,lib,include/speech_tools/{,instantiate,ling_class,rxp,sigpr,unix}}

	#binaries
	#move binaries over wrappers (FS#7864)
	for i in `grep -l 'EST shared script' bin/*`; do
		cp -f main/$(basename $i) bin;
	done
	install -m755 -t $pkgdir/usr/bin bin/[a-z]*
	rm -f $pkgdir/usr/bin/{est_gdb,est_examples,est_program}

	#libraries
	install -m755 -t $pkgdir/usr/lib lib/lib*.so.*
	ln -sf libestbase.so.${pkgver}.1 $pkgdir/usr/lib/libestbase.so
	ln -sf libeststring.so.1.2 $pkgdir/usr/lib/libeststring.so
	install -m644 -t $pkgdir/usr/lib lib/lib*.a

	#headers
	for dir in {.,instantiate,ling_class,rxp,sigpr,unix}; do
	  install -m644 -t ${pkgdir}/usr/include/speech_tools/$dir include/$dir/*.h
	done

	# Install Festival itself
	cd $srcdir/festival

	#binaries
	install -m755 src/main/festival $pkgdir/usr/bin/
	install -m755 src/main/festival_client $pkgdir/usr/bin/
	install -m755 examples/text2wave $pkgdir/usr/bin
	install -m755 examples/saytime $pkgdir/usr/bin/

	#libraries
	install -m644 src/lib/libFestival.a $pkgdir/usr/lib/

	#headers
	install -dm755 $pkgdir/usr/include/festival
	install -m644 -t $pkgdir/usr/include/festival src/include/*.h

	mkdir -p $pkgdir/usr/share/festival
	#install -m644 -t $pkgdir/usr/share/festival lib/*.scm
	#need to clean up but requires knowing which files are actually needed...
	cp -aR lib/* $pkgdir/usr/share/festival
	rm -f $(find $pkgdir/usr/share/festival -name Makefile)

	#create voices directory
	install -dm755 $pkgdir/usr/share/festival/voices

	#licenses
	install -D -m644 $srcdir/festival/COPYING \
	                 $pkgdir/usr/share/licenses/$pkgname/LICENSE
	install -D -m644 $srcdir/speech_tools/README \
	                 $pkgdir/usr/share/licenses/$pkgname/LICENSE.other

	#################################################################
	# Ok now some general cleanups
	for i in `find $pkgdir/usr/include/ -type f`; do
		sed -i -e 's,"EST.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/\",speech_tools/,g' \
		-e 's,"siod.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/\",speech_tools/,g' \
		-e 's,"instantiate/.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/instantiate/\",speech_tools/instantiate/,g' -e 's,"instantiate,instantiate,g' \
		-e 's,"ling_class/.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/ling_class/\",speech_tools/ling_class/,g' -e 's,"ling_class,ling_class,g'\
		-e 's,"rxp/.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/rxp/\",speech_tools/rxp/,g' -e 's,"rxp,rxp,g' \
		-e 's,"sigpr/.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/sigpr/\",speech_tools/sigpr/,g' -e 's,"sigpr,sigpr,g' \
		-e 's,"unix/.*\.h",\<speech_tools/&\>,g' -e 's,speech_tools/unix/\",speech_tools/unix/,g' -e 's,\.h\">,.h\>,g' -e 's,"unix,unix,g' \
		-e 's,"festival\.h",\<festival/festival.h\>,g' \
		-e 's,"ModuleDescription\.h",\<festival/ModuleDescription.h\>,g' \
		-e 's,"Phone\.h",\<festival/Phone.h\>,g' $i
	done
}