Blob Blame History Raw
%define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")

Name:           speech-dispatcher
Version:        0.6.6
Release:        13%{?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
BuildRequires:	flite-devel
#BuildRequires:	ibmtts-devel
BuildRequires:	espeak-devel
Buildrequires:	nas-devel
BuildRequires:	alsa-lib-devel
Buildrequires:	pulseaudio-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
%setup -q
%patch -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
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
install -p -m 0755 %SOURCE1 $RPM_BUILD_ROOT%{_initrddir}/


#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 {} ';'


%clean
rm -rf $RPM_BUILD_ROOT

%post 
/sbin/ldconfig
/sbin/chkconfig --add speech-dispatcherd

%postun
/sbin/ldconfig
if [ "$1" -ge "1" ] ; then
/sbin/service speech-dispatcherd condrestart >/dev/null 2>&1 || :
fi

%preun
if [ $1 = 0 ] ; then
/sbin/service speech-dispatcherd stop >/dev/null 2>&1
/sbin/chkconfig --del speech-dispatcherd
fi


%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog NEWS README TODO COPYING

%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


%{_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


%attr(0755,root,root)%{_initrddir}/speech-dispatcherd

%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

* Mon Jun 23 2008    Hemant Goyal <goyal.hemant@gmail.com> 0.6.6-13

- changed permission of speech-dispatcherd to 0644 too.

* Fri Jun 20 2008    Hemant Goyal <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 0.6.6-11

- fixed encoding of speech-dispatcher-cs.info file to UTF-8

* Wed Jun 11 2008    Hemant Goyal <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 0.6.6-9
- removed %%{_infodir}/dir file

* Sat Jun 07 2008    Hemant Goyal <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 0.6.6-5

- Removed conitional building options
- Added BuildRequires for dotconf-devel


* Mon Feb 18 2008    Hemant Goyal <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 0.6.6-2

- fixed directory ownerships

* Sat Feb 16 2008   Hemant Goyal <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 0.6.5-4

- updated build root

* Sat Feb 16 2008   Hemant Goyal <goyal.hemant@gmail.com> 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 <goyal.hemant@gmail.com> 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.