From 2e1f02f3bb0b7efc5eb53da693d85bddfcd4e07e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 18:03:02 +0100 Subject: [PATCH] fix pkgconfig file to add includes path as required by chromium >= 26 [release 0.8-2mamba;Mon Apr 01 2013] --- README.md | 12 + ...ch-dispatcher-0.7.1-alsa_set_default.patch | 12 + ...-dispatcher-0.8-enable_espeak_mbrola.patch | 13 ++ ...patcher-0.8-pkgconfig-add-includedir.patch | 9 + speech-dispatcher.init | 118 ++++++++++ speech-dispatcher.spec | 210 ++++++++++++++++++ 6 files changed, 374 insertions(+) create mode 100644 speech-dispatcher-0.7.1-alsa_set_default.patch create mode 100644 speech-dispatcher-0.8-enable_espeak_mbrola.patch create mode 100644 speech-dispatcher-0.8-pkgconfig-add-includedir.patch create mode 100644 speech-dispatcher.init create mode 100644 speech-dispatcher.spec diff --git a/README.md b/README.md index 4414874..239cf60 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ # speech-dispatcher +The goal of Speech Dispatcher project is to provide a high-level device independent layer for speech synthesis through a simple, stable and well documented interface. +Key features: + * Common interface to different TTS engines + * Handling concurrent synthesis requests – requests may come assynchronously from multiple sources within an application and/or from more different applications + * Subsequent serialization, resolution of conflicts and priorities of incomming 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 + +What is a very high level GUI library to graphics, Speech Dispatcher is to speech synthesis. +The application neither needs to talk to the devices directly nor to handle concurrent access, sound output and other tricky aspects of the speech subsystem. + diff --git a/speech-dispatcher-0.7.1-alsa_set_default.patch b/speech-dispatcher-0.7.1-alsa_set_default.patch new file mode 100644 index 0000000..0555603 --- /dev/null +++ b/speech-dispatcher-0.7.1-alsa_set_default.patch @@ -0,0 +1,12 @@ +diff -Nru speech-dispatcher-0.7.1.orig/config/speechd.conf speech-dispatcher-0.7.1/config/speechd.conf +--- speech-dispatcher-0.7.1.orig/config/speechd.conf 2010-09-10 10:23:54.000000000 +0200 ++++ speech-dispatcher-0.7.1/config/speechd.conf 2012-07-14 15:40:24.068650861 +0200 +@@ -162,7 +162,7 @@ + # different sound systems and provides alternative output for Pulse Audio + # and ALSA as well as for other backends. + +-# AudioOutputMethod "pulse" ++AudioOutputMethod "alsa" + + # -- Pulse Audio parameters -- + diff --git a/speech-dispatcher-0.8-enable_espeak_mbrola.patch b/speech-dispatcher-0.8-enable_espeak_mbrola.patch new file mode 100644 index 0000000..7184220 --- /dev/null +++ b/speech-dispatcher-0.8-enable_espeak_mbrola.patch @@ -0,0 +1,13 @@ +--- speech-dispatcher-0.8/config/speechd.conf.orig 2013-03-07 10:07:03.564754220 +0100 ++++ speech-dispatcher-0.8/config/speechd.conf 2013-03-07 10:07:07.690697567 +0100 +@@ -212,8 +212,8 @@ + #AddModule "flite" "sd_flite" "flite.conf" + #AddModule "ivona" "sd_ivona" "ivona.conf" + #AddModule "pico" "sd_pico" "pico.conf" +-#AddModule "espeak-generic" "sd_generic" "espeak-generic.conf" +-#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf" ++AddModule "espeak-generic" "sd_generic" "espeak-generic.conf" ++AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf" + #AddModule "swift-generic" "sd_generic" "swift-generic.conf" + #AddModule "epos-generic" "sd_generic" "epos-generic.conf" + #AddModule "dtk-generic" "sd_generic" "dtk-generic.conf" diff --git a/speech-dispatcher-0.8-pkgconfig-add-includedir.patch b/speech-dispatcher-0.8-pkgconfig-add-includedir.patch new file mode 100644 index 0000000..fa0ac21 --- /dev/null +++ b/speech-dispatcher-0.8-pkgconfig-add-includedir.patch @@ -0,0 +1,9 @@ +diff -Nru speech-dispatcher-0.8.orig/speech-dispatcher.pc.in speech-dispatcher-0.8/speech-dispatcher.pc.in +--- speech-dispatcher-0.8.orig/speech-dispatcher.pc.in 2012-07-11 11:05:05.000000000 +0200 ++++ speech-dispatcher-0.8/speech-dispatcher.pc.in 2013-04-01 15:03:59.581768421 +0200 +@@ -8,4 +8,4 @@ + Version: @VERSION@ + Requires: glib-2.0 + Libs: -L${libdir} -lspeechd +-Cflags: -I${includedir} ++Cflags: -I${includedir} -I${includedir}/@PACKAGE_NAME@ diff --git a/speech-dispatcher.init b/speech-dispatcher.init new file mode 100644 index 0000000..a4f950d --- /dev/null +++ b/speech-dispatcher.init @@ -0,0 +1,118 @@ +#!/bin/sh +# +# speech-dispatcher A device independent layer for speech synthesis +# +# chkconfig: 345 99 01 +# +# description: A device independent layer for speech synthesis. +# +# $Id: template.init 9117 2007-11-28 20:28:39Z qboosh + +# Source function library +. /etc/rc.d/init.d/functions + +# $ speech-dispatcher -h +# Usage: speech-dispatcher [-{d|s}] [-l {1|2|3|4|5}] [-p=port] | [-v] | [-h] +# Speech Dispatcher -- Common interface for Speech Synthesis (GNU GPL) +# +# -d, --run-daemon - Run as a daemon +# -s, --run-single - Run as single application +# -l, --log-level - Set log level (1..5) +# -p, --port - Specify a port number +# -P, --pid-file - Set path to pid file +# -C, --config-dir - Set path to configuration +# -v, --version - Report version of this program +# -h, --help - Print this info + +LOGLEVEL="" +PORT="" +PIDFILE="" +RUNAS="root" + +# Get service config - may override defaults +[ -r /etc/sysconfig/speech-dispatcher ] && . /etc/sysconfig/speech-dispatcher + +[ "$PIDFILE" ] || PIDFILE="/var/run/speech-dispatcher/speech-dispatcher.pid" + +start() { + # Check if the service is already running? + if [ ! -f /var/lock/subsys/speech-dispatcher ]; then + echo -n "Starting speech-dispatcher: " + daemon --user ${RUNAS:-speech-dispatcher} \ + "$SERVICE_RUN_NICE_LEVEL" \ + speech-dispatcher --pid-file $PIDFILE \ + ${LOGLEVEL:+--log-level $LOGLEVEL} + RETVAL=$? + evaluate_retval + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/speech-dispatcher + else + echo "speech-dispatcher: already running" + fi +} + +stop() { + if [ -f /var/lock/subsys/speech-dispatcher ]; then + # Stop daemons. + echo -n "Stopping speech-dispatcher: " + killproc -p $PIDFILE speech-dispatcher -TERM + evaluate_retval + echo + rm -f /var/lock/subsys/speech-dispatcher + else + echo "speech-dispatcher: not running." + fi +} + +reload() { + if [ -f /var/lock/subsys/speech-dispatcher ]; then + echo -n "Reloading speech-dispatcher: " + killproc -p $PIDFILE speech-dispatcher -HUP + RETVAL=$? + evaluate_retval + echo + else + echo "speech-dispatcher: not_running" + RETVAL=7 + fi +} + +condrestart() { + if [ -f /var/lock/subsys/speech-dispatcher ]; then + stop + start + else + echo "speech-dispatcher: not_running" + RETVAL=$1 + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + try-restart) + condrestart 0 + ;; + reload|force-reload) + reload + ;; + status) + status speech-dispatcher + RETVAL=$? + ;; + *) + echo "Usage: speech-dispatcher {start|stop|restart|try-restart|reload|force-reload|status}" + exit 3 +esac + +exit $RETVAL diff --git a/speech-dispatcher.spec b/speech-dispatcher.spec new file mode 100644 index 0000000..dccfd9b --- /dev/null +++ b/speech-dispatcher.spec @@ -0,0 +1,210 @@ +Name: speech-dispatcher +Version: 0.8 +Release: 2mamba +Summary: A high-level device independent layer for speech synthesis +Group: System/Multimedia +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.freebsoft.org/speechd +Source: http://www.freebsoft.org/pub/projects/speechd/speech-dispatcher-%{version}.tar.gz +Source1: speech-dispatcher.init +Patch0: %{name}-0.7.1-alsa_set_default.patch +Patch1: %{name}-0.8-enable_espeak_mbrola.patch +Patch2: speech-dispatcher-0.8-pkgconfig-add-includedir.patch +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: festival +BuildRequires: glibc-devel +BuildRequires: libalsa-devel +BuildRequires: libaudio-devel +BuildRequires: libdotconf-devel +BuildRequires: libespeak-devel +BuildRequires: libglib-devel +BuildRequires: libpython3-devel +BuildRequires: libsndfile-devel +## AUTOBUILDREQ-END +BuildRequires: libdotconf-devel >= 1.3 +BuildRequires: libltdl-devel +BuildRequires: libao-devel +Requires(post):%{__install_info} +Obsoletes: opentts +Provides: python-speech-dispatcher +Requires: espeak +Requires: espeak-mbrola +Obsoletes: python-speech-dispatcher +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +# *** IBM TTS ECI library missing. Compiling without IBM TTS support! See INSTALL. +# *** PulseAudio library missing. Compiling without PulseAudio support! See INSTALL. + +%description +The goal of Speech Dispatcher project is to provide a high-level device independent layer for speech synthesis through a simple, stable and well documented interface. +Key features: + * Common interface to different TTS engines + * Handling concurrent synthesis requests – requests may come assynchronously from multiple sources within an application and/or from more different applications + * Subsequent serialization, resolution of conflicts and priorities of incomming 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 + +What is a very high level GUI library to graphics, Speech Dispatcher is to speech synthesis. +The application neither needs to talk to the devices directly nor to handle concurrent access, sound output and other tricky aspects of the speech subsystem. + +%package devel +Group: Development/Libraries +Summary: Static libraries and headers for %{name} +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Obsoletes: opentts-devel + +%description devel +The goal of Speech Dispatcher project is to provide a high-level device independent layer for speech synthesis through a simple, stable and well documented interface. + +This package contains static libraries and header files need for development. + +%package -n python-%{name} +Summary: Python wrapper for %{name} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description -n python-%{name} +Contains Python language bindings for developing Python applications that use %{name}. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +%configure +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +install -d -m0755 \ + %{buildroot}/var/log/speech-dispatcher \ + %{buildroot}/var/run/speech-dispatcher + +install -D -m0755 %{S:1} %{buildroot}%{_initrddir}/speech-dispatcherd + +%find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +/sbin/ldconfig +#if [ $1 -eq 1 ]; then +# /sbin/chkconfig --add speech-dispatcherd +# /sbin/service speech-dispatcherd start >/dev/null 2>&1 +#elif [ $1 -gt 1 ]; then +# /sbin/service speech-dispatcherd restart >/dev/null 2>&1 +#fi +%install_info spd-say.info +%install_info speech-dispatcher.info +%install_info ssip.info +exit 0 + +%preun +#if [ $1 -eq 1 ]; then +# /sbin/service speech-dispatcherd stop >/dev/null 2>&1 +# /sbin/chkconfig --del speech-dispatcherd +#fi +%uninstall_info spd-say.info +%uninstall_info speech-dispatcher.info +%uninstall_info ssip.info +exit 0 + +%postun +/sbin/ldconfig +exit 0 + +%files -f %{name}.lang +%defattr(-,root,root) +%dir %{_sysconfdir}/speech-dispatcher/ +%dir %{_sysconfdir}/speech-dispatcher/clients +%dir %{_sysconfdir}/speech-dispatcher/modules +%config(noreplace) %{_sysconfdir}/speech-dispatcher/speechd.conf +%config(noreplace) %{_sysconfdir}/speech-dispatcher/clients/*.conf +%config(noreplace) %{_sysconfdir}/speech-dispatcher/modules/*.conf +%{_initrddir}/speech-dispatcherd +#%{_bindir}/clibrary* +#%{_bindir}/connection_recovery +#%{_bindir}/long_message +#%{_bindir}/run_test +%{_bindir}/spd-conf +%{_bindir}/spd-say +%{_bindir}/spdsend +%{_bindir}/speech-dispatcher +%dir %{_datadir}/speech-dispatcher +%dir %{_datadir}/speech-dispatcher/conf +%{_datadir}/speech-dispatcher/conf/speechd.conf +%{_datadir}/speech-dispatcher/conf/clients/*.conf +%{_datadir}/speech-dispatcher/conf/modules/*.conf +%dir %{_libdir}/speech-dispatcher-modules +%{_libdir}/speech-dispatcher-modules/sd_* +%{_libdir}/libspeechd.so.* +%dir %{_libdir}/speech-dispatcher +%{_libdir}/speech-dispatcher/spd_alsa.so +%{_libdir}/speech-dispatcher/spd_libao.so +%{_libdir}/speech-dispatcher/spd_nas.so +%{_libdir}/speech-dispatcher/spd_oss.so +%{_libdir}/speech-dispatcher/spd_pulse.so +%{_datadir}/sounds/speech-dispatcher/*.wav +%dir /var/log/speech-dispatcher +%dir /var/run/speech-dispatcher +%{_infodir}/spd-say.info.* +%{_infodir}/speech-dispatcher.info.* +%{_infodir}/ssip.info.* +%{python3_sitelib}/speechd* +%doc AUTHORS COPYING + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/speech-dispatcher +%{_includedir}/speech-dispatcher/*.h +%{_libdir}/lib*.so +%{_libdir}/lib*.a +%{_libdir}/lib*.la +%{_libdir}/speech-dispatcher/*.a +%{_libdir}/speech-dispatcher/*.la +%{_libdir}/pkgconfig/speech-dispatcher.pc +%doc ChangeLog NEWS README TODO + +#%files -n python-%{name} +#%defattr(-,root,root) + +%changelog +* Mon Apr 01 2013 Silvan Calarco 0.8-2mamba +- fix pkgconfig file to add includes path as required by chromium >= 26 + +* Sun Mar 10 2013 Automatic Build System 0.8-1mamba +- automatic version update by autodist + +* Sat Jul 14 2012 Silvan Calarco 0.7.1-2mamba +- rebuilt with libdotconf 1.3 +- obsolete opentts +- integrate python-speech-dispatcher into main package as it is for internal use +- set alsa as default output +- enable espeak-generic and espeak-mbrola-generic modules +- require espeak and espeak-mbrola + +* Wed Feb 09 2011 Automatic Build System 0.7.1-1mamba +- automatic update by autodist + +* Tue Feb 16 2010 Davide Madrisan 0.6.7-4mamba +- new subpackages %{name}-devel and python-%{name} +- install all the info files +- own %{_datadir}/speech-dispatcher and %{_libdir}/speech-dispatcher + +* Wed Sep 23 2009 Silvan Calarco 0.6.7-3mamba +- don't activate service on boot because it blocks alsa to other applications + +* Wed Sep 23 2009 Silvan Calarco 0.6.7-2mamba +- added initscript + +* Tue Sep 22 2009 Silvan Calarco 0.6.7-1mamba +- package created by autospec