%define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") %if 0%{?olpc} %define with_nas 0 %define with_pulse 0 %define with_flite 0 %else %define with_nas 1 %define with_pulse 1 %define with_flite 1 %endif Name: speech-dispatcher Version: 0.6.6 Release: 21%{?dist} Summary: To provide a high-level device independent layer for speech synthesis Group: System Environment/Libraries # Almost all files are under GPLv2+, however # src/c/clients/spdsend/spdsend.h is licensed under GPLv2, # which makes %%_bindir/spdsend GPLv2. License: GPLv2+ and GPLv2 URL: http://www.freebsoft.org/pub/projects/speechd/ Source0: http://www.freebsoft.org/pub/projects/speechd/%{name}-%{version}.tar.gz Source1: http://www.nsitonline.in/hemant/stuff/speechd-rpm/speech-dispatcherd BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch0: http://www.nsitonline.in/hemant/stuff/speechd-rpm/speechd.patch %if 0%{?fedora} >= 8 BuildRequires: python-setuptools-devel %else BuildRequires: python-setuptools %endif %if %{with_flite} BuildRequires: flite-devel %endif BuildRequires: espeak-devel %if %{with_nas} Buildrequires: nas-devel %endif %if %{with_pulse} Buildrequires: pulseaudio-lib-devel %else Buildrequires: glib2-devel %endif %if 0%{?fedora} >=10 BuildRequires: libraw1394 %endif BuildRequires: alsa-lib-devel BuildRequires: dotconf-devel BuildRequires: texinfo Requires(post): /sbin/chkconfig /sbin/install-info Requires(preun): /sbin/chkconfig /sbin/service /sbin/install-info Requires(postun): /sbin/service %description * Common interface to different TTS engines * Handling concurrent synthesis requests – requests may come asynchronously from multiple sources within an application and/or from more different applications. * Subsequent serialization, resolution of conflicts and priorities of incoming requests * Context switching – state is maintained for each client connection independently, event for connections from within one application. * High-level client interfaces for popular programming languages * Common sound output handling – audio playback is handled by Speech Dispatcher rather than the TTS engine, since most engines have limited sound output capabilities. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: speech-dispatcher = %{version}-%{release} License: GPLv2+ %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc Summary: Documentation for speech-dispatcher License: GPLv2+ Group: Documentation Requires: speech-dispatcher = %{version}-%{release} Requires(post): /sbin/install-info Requires(preun):/sbin/install-info %description doc speechd documentation %package python Summary: Python Client API for speech-dispatcher License: GPLv2+ Group: Development/Libraries Requires: speech-dispatcher = %{version}-%{release} %description python speechd python module %prep cat << EOF Build options: nas support : %{with_nas} pulse support : %{with_pulse} flite support : %{with_flite} Dist Status: olpc : %{?olpc} fedora : %{?fedora} EOF %setup -q %patch0 -p1 %build iconv -f ISO-8859-2 -t UTF-8 doc/speech-dispatcher-cs.texi -o doc/speech-dispatcher-cs_c.texi mv doc/speech-dispatcher-cs_c.texi doc/speech-dispatcher-cs.texi %configure --disable-static make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT #Install the Python Modules cd src/python/ mkdir -p build/lib/speechd python setup.py install --root $RPM_BUILD_ROOT chmod 0755 $RPM_BUILD_ROOT%{python_sitelib}/speechd/_test.py #Move to the base BUILD folder cd ../../ for dir in \ config/ doc/ src/audio/ src/c/ src/modules/ src/tests/ src/server/ do pushd $dir make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" popd done #Install the init shell script %if 0%{?fedora} mkdir -p $RPM_BUILD_ROOT%{_initrddir} install -p -m 0755 %SOURCE1 $RPM_BUILD_ROOT%{_initrddir}/ %endif #Rename certain generically named binaries mv $RPM_BUILD_ROOT%{_bindir}/long_message $RPM_BUILD_ROOT%{_bindir}/spd_long_message mv $RPM_BUILD_ROOT%{_bindir}/run_test $RPM_BUILD_ROOT%{_bindir}/spd_run_test #Remove %{_infodir}/dir file rm -f $RPM_BUILD_ROOT%{_infodir}/dir cd ../../ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' # Now move the files, change ownerships, apply setuid settings incase build is for # olpc. %if 0%{?olpc} #Move the speech-dispatcher configuration files to olpc writable location. mkdir -p $RPM_BUILD_ROOT/home/olpc/.speechd mv $RPM_BUILD_ROOT%{_sysconfdir}/speech-dispatcher/* $RPM_BUILD_ROOT/home/olpc/.speechd %endif %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig %if 0%{?fedora} /sbin/chkconfig --add speech-dispatcherd %endif %postun /sbin/ldconfig %if 0%{?fedora} if [ "$1" -ge "1" ] ; then /sbin/service speech-dispatcherd condrestart >/dev/null 2>&1 || : fi %endif %preun %if 0%{?fedora} if [ $1 = 0 ] ; then /sbin/service speech-dispatcherd stop >/dev/null 2>&1 /sbin/chkconfig --del speech-dispatcherd fi %endif %files %defattr(-,root,root,-) %doc AUTHORS ChangeLog NEWS README TODO COPYING %if 0%{?olpc} %config(noreplace) %attr(0644,olpc,olpc) /home/olpc/.speechd/speechd.conf %config(noreplace) %attr(0644,olpc,olpc) /home/olpc/.speechd/clients/*.conf %config(noreplace) %attr(0644,olpc,olpc) /home/olpc/.speechd/modules/*.conf %dir %attr(0755,olpc,olpc) /home/olpc/.speechd/ %dir %attr(0755,olpc,olpc) /home/olpc/.speechd/clients %dir %attr(0755,olpc,olpc) /home/olpc/.speechd/modules %else %config(noreplace) %{_sysconfdir}/speech-dispatcher/speechd.conf %config(noreplace) %{_sysconfdir}/speech-dispatcher/clients/*.conf %config(noreplace) %{_sysconfdir}/speech-dispatcher/modules/*.conf %dir %{_sysconfdir}/speech-dispatcher/ %dir %{_sysconfdir}/speech-dispatcher/clients %dir %{_sysconfdir}/speech-dispatcher/modules %endif %{_bindir}/* %{_libdir}/speech-dispatcher-modules/sd_* %dir %{_libdir}/speech-dispatcher-modules %{_libdir}/libspeechd.so.2 %{_libdir}/libspeechd.so.2.0.5 %{_libdir}/speech-dispatcher/lib*.so %{_libdir}/speech-dispatcher/libsdaudio.so.2 %{_libdir}/speech-dispatcher/libsdaudio.so.2.0.2 %dir %{_libdir}/speech-dispatcher %if 0%{?fedora} %attr(0755,root,root)%{_initrddir}/speech-dispatcherd %endif %files devel %defattr(-,root,root,-) %{_includedir}/* %{_libdir}/lib*.so %files doc %defattr(-,root,root,-) %{_infodir}/* %post doc /sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : /sbin/install-info %{_infodir}/spd-say.info %{_infodir}/dir || : /sbin/install-info %{_infodir}/ssip.info %{_infodir}/dir || : /sbin/install-info %{_infodir}/%{name}-cs.info %{_infodir}/dir || : %preun doc if [ $1 = 0 ]; then /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/spd-say.info %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/ssip.info %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/%{name}-cs.info %{_infodir}/dir || : fi %files python %defattr(-,root,root,-) %{python_sitelib}/speechd* ######################################################### # CHANGELOGS ######################################################### %changelog * Wed Feb 25 2009 Fedora Release Engineering - 0.6.6-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.6.6-20 - Rebuild for Python 2.6 * Sun Sep 21 2008 Ville Skyttä - 0.6.6-19 - Fix Patch0:/%%patch mismatch. * Wed Jul 16 2008 Hemant Goyal 0.6.6-18 - removed suid permission for speech-dispatcher binary. * Wed Jul 16 2008 Hemant Goyal 0.6.6-17 - changing permissions of speech-dispatcher to 6711 (setuid and setguid) - relocating configuration files in case of OLPC branch. - excluding init script in case of OLPC branch. * Wed Jul 16 2008 Hemant Goyal 0.6.6-16 - yet another release bump required :-/ * Wed Jul 16 2008 Hemant Goyal 0.6.6-15 - release bump * Mon Jul 13 2008 Hemant Goyal 0.6.6-14 - conditional build required for OLPC Branch - Building without nas and pulse-audio support. * Mon Jun 23 2008 Hemant Goyal 0.6.6-13 - changed permission of speech-dispatcherd to 0644 too. * Fri Jun 20 2008 Hemant Goyal 0.6.6-12 - added BuildRequires: texinfo (for makeinfo) - changed permissions of Sourcex to 0644 - incorporated modified init script by mtasaka - fixed a few more macros in changelog - modified location of Source1 and Patch0 to point to online locations * Wed Jun 18 2008 Hemant Goyal 0.6.6-11 - fixed encoding of speech-dispatcher-cs.info file to UTF-8 * Wed Jun 11 2008 Hemant Goyal 0.6.6-10 - removed Requires(preun) duplicates - applied -p option correctly to install command - fixed macros in changelog to prevent them from exapnding - fixed the init script - added patch to change log directory of speech-dispatcher and start only espeak * Sun Jun 08 2008 Hemant Goyal 0.6.6-9 - removed %%{_infodir}/dir file * Sat Jun 07 2008 Hemant Goyal 0.6.6-8 - converted speech-dispatcher-cs.info to UTF-8 encoding - removed multiple file listings of /usr/lib/python2.5/site-packages/speechd/_test.py and fixed its mode - added init script as a SOURCE instead as a patch - duplicate Requires have now been removed - Timestamping of files has now been added - Install script fixed - init script fixed * Tue Jun 03 2008 Hemant Goyal 0.6.6-7 - changed license of base package to GPLv2+ and GPL - changed license of all other packages to GPLv2+ - fixed install sequence using cleaner for loop and pushd and popd commands - added init script for speech-dispatcher daemon - added COPYING to doc in base package - removed comment after /sbin/ldconfig - resolved rpmlint errors for base package [except UTF-8 encoding error for (cs) documentation file] - renamed long_message to spd_long_message and run_test to spd_run_test - reset mode of _test.py to 0755 * Sun Apr 27 2008 Hemant Goyal 0.6.6-6 - changed BR to pulseaudio-lib-devel - removed dotconf BR - gave ownership of /%%{python_sitelib}/speechd-0.3-py2.5.egg-info to python package if package is built for Fedora 9 or above * Sun Apr 13 2008 Hemant Goyal 0.6.6-5 - Removed conitional building options - Added BuildRequires for dotconf-devel * Mon Feb 18 2008 Hemant Goyal 0.6.6-4 - Manually specyfying make install for each src directory to be installed - Installing python package seprately by by-passing make install * Sun Feb 17 2008 Hemant Goyal 0.6.6-3 - Added Requires(post), Requires(preun) for -doc package - Changed scriptlet from postun to preun for -doc package - Removed Epoch - Moved %%{_libdir}/lib*.so back to devel pacakge - Require dependecny on base pacakge is now set to %%{version}-%%{release} instead of %%{version} - removed --prefix=$RPM_BUILD_ROOT/%%{_prefix} against configure macro. -- -python subpackage does not build anymore. - removed python subpackag rules from SPEC file. * Sat Feb 16 2008 Hemant Goyal 0.6.6-2 - fixed directory ownerships * Sat Feb 16 2008 Hemant Goyal 0.6.6-1 - using newest version of speech-dispatcher - updated %%{_libdir}/libspeechd.so.2.0.4 to %%{_libdir}/libspeechd.so.2.0.5 - python packages are being generated correctly now - must force prefix=$RPM_BUILD_ROOT/%%{_prefix} to enable python packages to get installed correctly. - finding and deleting .*la files in $RPM_BUILD_ROOT to avoid unpackaged files error. * Sat Feb 16 2008 Hemant Goyal 0.6.5-4 - updated build root * Sat Feb 16 2008 Hemant Goyal 0.6.5-3 - added macro to prevent error from stopping build for not including *.la files - added epoch to the SPEC - conditional build seems to be working correctly the old way only?? - unified changelogs * Fri Feb 15 2008 Hemant Goyal 0.6.5-2 - Removed .la files - Removed doc-cs packages and merged it into doc package - Removed packaging of static files, and tested -without static_libs option for configure script - Moved symlink .so files from devel package to main package - Commented /sbin/ldconfig for devel package.