File festival.spec of Package festival

#
# spec file for package festival (Version 1.96)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

Name:           festival
BuildRequires:  gcc-c++ ncurses-devel pkgconfig
Url:            http://www.cstr.ed.ac.uk/projects/festival/
License:        BSD 3-Clause
Group:          Productivity/Text/Convertors
AutoReqProv:    on
Version:        1.96
Release:        72
Summary:        The Festival Speech Synthesis System
Source0:        festival-%{version}-beta.tar.bz2
Source1:        speech_tools-1.2.96-beta.tar.bz2
Source2:        festlex_CMU.tar.bz2
Source3:        festvox_kallpc16k.tar.bz2
Source4:        festlex_POSLEX.tar.bz2
Source5:        sysconfig.festival
Source6:        rcfestival
# festival patches
Patch0:         %{name}-%{version}.patch
Patch1:         festival-1.95-gcc4.patch
Patch2:         festival-1.95-examples.patch
Patch3:         festival-text2wave-manpage.patch
Patch4:         festival-1.95-libdir.patch
Patch7:         festival-1.95-audsp.patch
Patch8:         festival-1.96-chroot.patch
# speech-tools patches
Patch11:        speech_tools-1.2.95-gcc4.patch
Patch12:        speech_tools-1.2.95-config.patch
Patch13:        speech_tools-1.2.95-gcc41.patch
Patch14:        speech_tools-1.2.95-returnvalue.patch
Patch15:        speech_tools-1.2.96-beta.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
PreReq:         %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd

%description
Festival is a multilingual speech synthesis system developed at CSTR.
It offers a full text-to-speech system with various APIs as well as an
environment for development and research of speech synthesis
techniques. It is written in C++ and has a Scheme-based command
interpreter for general control.



Authors:
--------
    Alan W Black <awb@cs.cmu.edu>
    Rob Clark <robert@cstr.ed.ac.uk>
    Korin Richmond <korin@cstr.ed.ac.uk>

%package devel
Summary:        Development Package for Festival
Group:          Productivity/Text/Convertors
AutoReqProv:    on
Requires:       %name == %version

%description devel
Files needed for developing software that uses Festival.



Authors:
--------
    Alan W Black <awb@cs.cmu.edu>
    Rob Clark <robert@cstr.ed.ac.uk>
    Korin Richmond <korin@cstr.ed.ac.uk>

%prep
%setup -q -b 1 -b 2 -b 3 -b 4 -q -n festival
%patch0
%patch1
%patch2 -p1
%patch3 -p1
%patch4
%patch7
%patch8
cd ../speech_tools
#%patch11 -p1
%patch12
%patch13 -p1
%patch14 -p1
%patch15

%build
# festival
./configure --prefix=%_prefix \
	    --libdir=%_libdir \
	    --datadir=%_datadir/festival \
	    --sysconfdir=%_sysconfdir
# speech tools
cd ../speech_tools
./configure --prefix=%_prefix \
            --libdir=%_libdir \
	    --datadir=%_datadir/festival \
            --sysconfdir=%_sysconfdir
make CC="gcc -fPIC $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS -fPIC -Wno-non-template-friend -ffriend-injection -fno-strict-aliasing"
cd ../festival
make CC="gcc -fPIC $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS -fPIC -Wno-non-template-friend -ffriend-injection -fno-strict-aliasing"
make doc

%install
make install DESTDIR=$RPM_BUILD_ROOT
cd ../speech_tools
make install DESTDIR=$RPM_BUILD_ROOT
cd ../festival
# install binarys
install -D bin/text2wave $RPM_BUILD_ROOT%_bindir/text2wave
install -m 755 bin/festival* $RPM_BUILD_ROOT%_bindir/
install -m 755 examples/saytime $RPM_BUILD_ROOT%_bindir/
# install manpages
install -D -m 644 doc/festival.1 $RPM_BUILD_ROOT%_mandir/man1/festival.1
install -m 644 doc/festival_client.1 $RPM_BUILD_ROOT%_mandir/man1/
install -m 644 doc/text2wave.1 $RPM_BUILD_ROOT%_mandir/man1/
# install configs
install -D lib/festival.scm $RPM_BUILD_ROOT%_sysconfdir/festival.scm
# install dictionarys
install -D lib/dicts/cmu/cmudict-0.4.out $RPM_BUILD_ROOT%_datadir/%name/dicts/cmu/cmudict-0.4.out
install -m 644 lib/dicts/cmu/*.scm $RPM_BUILD_ROOT%_datadir/%name/dicts/cmu/
install -m 644 lib/dicts/wsj.wp39.poslexR $RPM_BUILD_ROOT%_datadir/%name/dicts/
install -m 644 lib/dicts/wsj.wp39.tri.ngrambin $RPM_BUILD_ROOT%_datadir/%name/dicts/
# install voices
mkdir -p $RPM_BUILD_ROOT/usr/share/festival/voices/english/kal_diphone/festvox
mkdir -p $RPM_BUILD_ROOT/usr/share/festival/voices/english/kal_diphone/group
cp lib/voices/english/kal_diphone/group/* $RPM_BUILD_ROOT/usr/share/festival/voices/english/kal_diphone/group/
cp lib/voices/english/kal_diphone/festvox/*.scm $RPM_BUILD_ROOT/usr/share/festival/voices/english/kal_diphone/festvox
# install data
cp lib/*.scm $RPM_BUILD_ROOT/usr/share/festival/
cp lib/*.ngrambin $RPM_BUILD_ROOT/usr/share/festival/
cp lib/*.gram $RPM_BUILD_ROOT/usr/share/festival/
cp lib/*.el $RPM_BUILD_ROOT/usr/share/festival/
install -D lib/etc/unknown_Linux/audsp $RPM_BUILD_ROOT/usr/lib/festival/audsp
# install libs
install -D src/lib/libFestival.a  $RPM_BUILD_ROOT/%_libdir/libFestival.a
# install includes
mkdir -p $RPM_BUILD_ROOT%_includedir/
install -m 644 src/include/*.h $RPM_BUILD_ROOT%_includedir/
cd ../speech_tools
# install includes
mkdir -p $RPM_BUILD_ROOT%_includedir/instantiate
mkdir -p $RPM_BUILD_ROOT%_includedir/ling_class
mkdir -p $RPM_BUILD_ROOT%_includedir/rxp
mkdir -p $RPM_BUILD_ROOT%_includedir/sigpr
mkdir -p $RPM_BUILD_ROOT%_includedir/unix
install -m 644 include/*h $RPM_BUILD_ROOT%_includedir
install -m 644 include/instantiate/*h $RPM_BUILD_ROOT%_includedir/instantiate
install -m 644 include/ling_class/*h $RPM_BUILD_ROOT%_includedir/ling_class
install -m 644 include/rxp/*h $RPM_BUILD_ROOT%_includedir/rxp
install -m 644 include/sigpr/*h $RPM_BUILD_ROOT%_includedir/sigpr
install -m 644 include/unix/*h $RPM_BUILD_ROOT%_includedir/unix
# install libs
install -m 644 lib/lib*.a $RPM_BUILD_ROOT%_libdir
# install init script
install -m 755 -D %{S:6} $RPM_BUILD_ROOT/etc/init.d/%name
install -d $RPM_BUILD_ROOT%_sbindir
ln -sf ../../etc/init.d/%name $RPM_BUILD_ROOT/usr/sbin/rc%name
# installl sysconfig file
install -m 644 -D %{S:5} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.%name

%clean
rm -rf $RPM_BUILD_ROOT

%pre
/usr/sbin/groupadd -r festival 2> /dev/null || :
/usr/sbin/useradd -r -o -g festival -s /bin/false -c "Festival daemon" -d /usr/share/festival/ festival 2> /dev/null || :

%post
%{fillup_only}

%preun
%stop_on_removal %name 

%postun
%restart_on_update %name
%insserv_cleanup

%files 
%defattr(-,root,root)
%doc COPYING README INSTALL examples/*.text examples/ex1.* examples/*.scm examples/*.dtd
%_sysconfdir/festival.scm
%_sysconfdir/init.d/%name
%_bindir/festival
%_bindir/festival_client
%_bindir/festival_server
%_bindir/festival_server_control
%_bindir/text2wave
%_bindir/saytime
%_sbindir/rc%name
%_prefix/lib/festival
%_datadir/festival
%_mandir/man1/*
/var/adm/fillup-templates/*

%files devel
%defattr(-,root,root)
%_includedir/*
%_libdir/lib*.a

%changelog
* Mon Jan 21 2008 mskibbe@suse.de
- fix build problems with new gcc
* Thu Sep 20 2007 hvogel@suse.de
- get rid of usermod %%pre call
- add group/useradd to prereq
* Fri Aug 31 2007 mskibbe@suse.de
- Bug 294691 - VUL-0: Festival: Privilege elevation
* Mon Aug 27 2007 mskibbe@suse.de
- fix 64 bit build problem
* Mon Jul 30 2007 mskibbe@suse.de
- update speech_tools to version 1.96-beta which
  o fix a lot of bugs
  o includes speech_tools-1.2.95-includes.patch
  o fix VUL-0: Festival: Privilege elevation (#294691)
* Fri Mar 30 2007 ro@suse.de
- added ncurses-devel to buildreq
* Mon Jan 29 2007 mskibbe@suse.de
- festival-devel packages is incomplete (#230697)
* Tue Oct 31 2006 meissner@suse.de
- use RPM_OPT_FLAGS
* Wed Sep 13 2006 mskibbe@suse.de
- update to version 1.96 which
  o compiles with gcc 4.0
  o contains a lot of little bug fixes
* Tue Jul 18 2006 mskibbe@suse.de
- fix a problem that audsp cannot be open (#190100)
* Tue Mar 21 2006 hvogel@suse.de
- define outidx [#158757]
* Wed Mar 08 2006 cthiel@suse.de
- PreReq %%fillup_prereq, to make %%post scripts work
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Jan 20 2006 hvogel@suse.de
- remove cmudict_extensions.scm because of license issues.
- add init script for festival in server mode by Andreas Schneider.
  [#143397]
- default allow connections from localhost for gnome-speech.
  Patch by Fernando Herrera. [#144082]
* Wed Jan 11 2006 hvogel@suse.de
- split devel subpackage
* Wed Dec 07 2005 rguenther@suse.de
- fix operator overloads returning references to temporary
  objects
* Thu Nov 03 2005 rguenther@suse.de
- fix gcc 4.1 compilation problems
- build with -ffriend-injection
* Fri Sep 02 2005 hvogel@suse.de
- fix man page permissions [#114849]
* Wed Aug 31 2005 hvogel@suse.de
- add festival.el for emacs [#114380]
* Fri Aug 26 2005 hvogel@suse.de
- fix libdir path [#113090]
* Tue May 24 2005 hvogel@suse.de
- fix missing class types
* Thu May 19 2005 hvogel@suse.de
- add manpages
- get rid of -Wall for g++
- use optflags for gcc
- package the saytime script
- simplify install section
- general sepcfile cleanup
- fix some more include warnings
* Wed May 18 2005 hvogel@suse.de
- Update to version 1.95
- fix the rest
* Fri May 13 2005 yxu@suse.de
- partly fixed for GCC4
- still problems with function templates left
* Mon Jan 10 2005 adrian@suse.de
- install libraries and header files
- do compile with -fPIC
- do not build as root anymore
* Mon Apr 19 2004 meissner@suse.de
- fixed aliasing problem.
* Sat Mar 20 2004 meissner@suse.de
- fixed paths to sample files #36618
* Mon Mar 15 2004 sbrabec@suse.cz
- Removed obsolete mandir and infodir.
* Tue Feb 24 2004 hhetter@suse.de
- include festival license in %%doc
* Thu Feb 19 2004 hhetter@suse.de
- initial SUSE package
openSUSE Build Service is sponsored by