You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
249 lines
9.3 KiB
249 lines
9.3 KiB
## |
|
## festival.spec -- OpenPKG RPM Package Specification |
|
## Copyright (c) 2000-2020 OpenPKG Project <http://openpkg.org/> |
|
## |
|
## Permission to use, copy, modify, and distribute this software for |
|
## any purpose with or without fee is hereby granted, provided that |
|
## the above copyright notice and this permission notice appear in all |
|
## copies. |
|
## |
|
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
|
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
|
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
|
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
|
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
|
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
|
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
## SUCH DAMAGE. |
|
## |
|
|
|
# package versions |
|
%define V_festival 1.96 |
|
%define V_speech_tools 1.2.96 |
|
%define V_ogireslpc 2.2 |
|
%define V_ogilexicon 2.2 |
|
%define V_ogivoiceas 2.3 |
|
%define V_ogivoicemwm5 2.3 |
|
%define V_ogivoiceaec 2.3 |
|
%define V_ogivoicejph 2.3 |
|
%define V_ogivoicetll 2.3 |
|
%define V_ogivoicerab 2.1 |
|
|
|
# package information |
|
Name: festival |
|
Summary: Speech Synthesis System |
|
URL: http://www.cstr.ed.ac.uk/projects/festival/ |
|
Vendor: University of Edinburgh |
|
Packager: OpenPKG Project |
|
Distribution: OpenPKG Community |
|
Class: EVAL |
|
Group: Audio |
|
License: X11-style |
|
Version: %{V_festival} |
|
Release: 20080323 |
|
|
|
# package options |
|
%option with_ogi no |
|
|
|
# list of sources |
|
Source0: http://festvox.org/packed/festival/%{V_festival}/festival-%{V_festival}-beta.tar.gz |
|
Source1: http://festvox.org/packed/festival/%{V_festival}/speech_tools-%{V_speech_tools}-beta.tar.gz |
|
Source2: http://festvox.org/packed/festival/%{V_festival}/festlex_CMU.tar.gz |
|
Source3: http://festvox.org/packed/festival/%{V_festival}/festlex_POSLEX.tar.gz |
|
Source4: http://festvox.org/packed/festival/%{V_festival}/festlex_OALD.tar.gz |
|
Source5: http://festvox.org/packed/festival/%{V_festival}/festvox_kallpc16k.tar.gz |
|
Source6: http://festvox.org/packed/festival/%{V_festival}/festvox_kedlpc16k.tar.gz |
|
Source7: http://festvox.org/packed/festival/%{V_festival}/festvox_kedlpc8k.tar.gz |
|
Source8: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_awb_arctic_hts.tar.gz |
|
Source9: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_bdl_arctic_hts.tar.gz |
|
Source10: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_jmk_arctic_hts.tar.gz |
|
Source11: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_slt_arctic_hts.tar.gz |
|
Source12: http://www.cslu.ogi.edu/tts/download/data/OGIresLPC-%{V_ogireslpc}.tar.gz |
|
Source13: http://www.cslu.ogi.edu/tts/download/data/OGIlexicon-%{V_ogilexicon}.tar.gz |
|
Source14: http://www.cslu.ogi.edu/tts/download/data/voice_as_di_%{V_ogivoiceas}.tar.gz |
|
Source15: http://www.cslu.ogi.edu/tts/download/data/voice_mwm5_di_%{V_ogivoicemwm5}.tar.gz |
|
Source16: http://www.cslu.ogi.edu/tts/download/data/voice_aec_di_%{V_ogivoiceaec}.tar.gz |
|
Source17: http://www.cslu.ogi.edu/tts/download/data/voice_jph_di_%{V_ogivoicejph}.tar.gz |
|
Source18: http://www.cslu.ogi.edu/tts/download/data/voice_tll_di_%{V_ogivoicetll}.tar.gz |
|
Source19: http://www.cslu.ogi.edu/tts/download/data/voice_ogirab_di_%{V_ogivoicerab}.tar.gz |
|
Source20: rc.festival |
|
Source21: festival-init.scm |
|
Source22: festival-vars.scm |
|
Patch0: festival.patch |
|
|
|
# build information |
|
BuildPreReq: OpenPKG, openpkg >= 20160101, make, gcc, gcc::with_cxx = yes |
|
PreReq: OpenPKG, openpkg >= 20160101, opensp |
|
|
|
%description |
|
Festival offers a general framework for building speech synthesis |
|
systems as well as including examples of various modules. As a whole |
|
it offers full text to speech through a number APIs. Festival is |
|
multi-lingual though English is the most advanced language. The |
|
system is written in C++ and uses the Edinburgh Speech Tools Library |
|
(EST) for low level architecture and has a Scheme (SIOD) based |
|
command interpreter for control. |
|
|
|
%track |
|
prog festival = { |
|
version = %{version} |
|
url = http://festvox.org/packed/festival/ |
|
regex = (1\.\d+|2\.\d+)/ |
|
} |
|
|
|
%prep |
|
%setup -q -c |
|
%setup -q -T -D -a 1 |
|
%setup -q -T -D -a 2 |
|
%setup -q -T -D -a 3 |
|
%setup -q -T -D -a 4 |
|
%setup -q -T -D -a 5 |
|
%setup -q -T -D -a 6 |
|
%setup -q -T -D -a 7 |
|
%setup -q -T -D -a 8 |
|
%setup -q -T -D -a 9 |
|
%setup -q -T -D -a 10 |
|
%setup -q -T -D -a 11 |
|
%if "%{with_ogi}" == "yes" |
|
%setup -q -T -D -a 12 |
|
%setup -q -T -D -a 13 |
|
%setup -q -T -D -a 14 |
|
%setup -q -T -D -a 15 |
|
%setup -q -T -D -a 16 |
|
%setup -q -T -D -a 17 |
|
%setup -q -T -D -a 18 |
|
%setup -q -T -D -a 19 |
|
%endif |
|
%patch -p0 |
|
|
|
%build |
|
# expand variables in patched sources |
|
%{l_shtool} subst %{l_value -s -a} \ |
|
festival/lib/init.scm \ |
|
festival/lib/tts.scm \ |
|
festival/lib/voices.scm |
|
|
|
# optionally activate OGI extension |
|
%if "%{with_ogi}" == "yes" |
|
( echo "ALSO_INCLUDE += OGIcommon OGIeffect OGIinsert OGIdbase OGIresLPC" |
|
) >>festival/config/config.in |
|
%{l_shtool} subst \ |
|
-e 's;^\(OPTIONAL.*\);\1 OGIcommon OGIeffect OGIinsert OGIdbase OGIresLPC;' \ |
|
festival/src/modules/Makefile |
|
%endif |
|
|
|
# support additional platforms |
|
cp speech_tools/config/systems/ix86_FreeBSD.mak \ |
|
speech_tools/config/systems/unknown_FreeBSD.mak |
|
cp speech_tools/config/systems/ix86_SunOS5.mak \ |
|
speech_tools/config/systems/unknown_SunOS5.mak |
|
cp festival/config/systems/ix86_FreeBSD.mak \ |
|
festival/config/systems/unknown_FreeBSD.mak |
|
cp festival/config/systems/ix86_SunOS5.mak \ |
|
festival/config/systems/unknown_SunOS5.mak |
|
|
|
# build speech tools |
|
( cd speech_tools |
|
CC="%{l_cc}" \ |
|
CXX="%{l_cxx}" \ |
|
CFLAGS="%{l_cflags -O}" \ |
|
CXXFLAGS="%{l_cxxflags -O}" \ |
|
CPPFLAGS="%{l_cppflags}" \ |
|
LDFLAGS="%{l_ldflags}" \ |
|
./configure \ |
|
--prefix=%{l_prefix} |
|
%{l_make} %{l_mflags} |
|
) || exit $? |
|
|
|
# build festival toolkit |
|
( cd festival |
|
( echo "FTLIBDIR=%{l_prefix}/lib/festival" |
|
) >>config/config.in |
|
CC="%{l_cc}" \ |
|
CXX="%{l_cxx}" \ |
|
CFLAGS="%{l_cflags -O}" \ |
|
CXXFLAGS="%{l_cxxflags -O}" \ |
|
CPPFLAGS="%{l_cppflags}" \ |
|
LDFLAGS="%{l_ldflags}" \ |
|
./configure \ |
|
--prefix=%{l_prefix} |
|
%{l_make} %{l_mflags} |
|
) || exit $? |
|
|
|
%install |
|
# create installation hierarchy |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/bin \ |
|
$RPM_BUILD_ROOT%{l_prefix}/man/man1 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/festival \ |
|
$RPM_BUILD_ROOT%{l_prefix}/lib/festival \ |
|
$RPM_BUILD_ROOT%{l_prefix}/var/festival |
|
|
|
# install program files |
|
%{l_shtool} install -c -m 755 \ |
|
festival/lib/etc/*/audsp \ |
|
$RPM_BUILD_ROOT%{l_prefix}/bin/festival_audsp |
|
%{l_shtool} install -c -m 755 \ |
|
festival/src/main/festival \ |
|
festival/src/main/festival_client \ |
|
$RPM_BUILD_ROOT%{l_prefix}/bin/ |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;\(exec \).*\(/bin/festival --script\);\1%{l_prefix}\2;' \ |
|
festival/examples/saytime \ |
|
festival/examples/text2pos \ |
|
festival/examples/text2wave \ |
|
$RPM_BUILD_ROOT%{l_prefix}/bin/ |
|
%{l_shtool} install -c -m 644 \ |
|
festival/doc/festival.1 \ |
|
festival/doc/festival_client.1 \ |
|
festival/doc/text2wave.1 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/man/man1/ |
|
|
|
# install library files |
|
chmod -R u+w,a+r,og-w festival/lib |
|
find festival/lib -type d -print | xargs chmod 755 |
|
mv festival/lib/voices/us/* festival/lib/voices/english/ |
|
rmdir festival/lib/voices/us |
|
cp -rp festival/lib/* $RPM_BUILD_ROOT%{l_prefix}/lib/festival/ |
|
rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/festival/etc |
|
|
|
# install default site configuration |
|
%{l_shtool} install -c -m 644 \ |
|
%{SOURCE festival-vars.scm} \ |
|
%{SOURCE festival-init.scm} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/festival/ |
|
|
|
# install run-command script |
|
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
|
%{SOURCE rc.festival} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
|
|
|
# determine installation files |
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
|
%{l_files_std} \ |
|
'%config %{l_prefix}/etc/festival/*' \ |
|
'%attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/festival' |
|
|
|
%files -f files |
|
|
|
%clean |
|
|
|
%post |
|
# after upgrade, restart service |
|
[ $1 -eq 2 ] || exit 0 |
|
eval `%{l_rc} festival status 2>/dev/null` |
|
[ ".$festival_active" = .yes ] && %{l_rc} festival restart |
|
exit 0 |
|
|
|
%preun |
|
# before erase, stop service and remove log files |
|
[ $1 -eq 0 ] || exit 0 |
|
%{l_rc} festival stop 2>/dev/null |
|
rm -f $RPM_INSTALL_PREFIX/var/festival/* >/dev/null 2>&1 || true |
|
exit 0 |
|
|
|
|