]> git.pld-linux.org Git - packages/speech-dispatcher.git/blob - speech-dispatcher.spec
c38fd4a95213c0a11a0694765c6036af677002a8
[packages/speech-dispatcher.git] / speech-dispatcher.spec
1 # TODO:
2 # - think about default configuration (DefaultModule is espeak, which is not loaded by default)
3 # - common-lisp and guile bindings (src/api/{cl,guile})
4 #
5 # Conditional build:
6 %bcond_with     baratinoo       # Voxygen Baratinoo synthesizer support (proprietary)
7 %bcond_without  espeak          # eSpeak synthesizer support
8 %bcond_without  espeak_ng       # eSpeak-NG synthesizer support
9 %bcond_without  flite           # Flite synthesizer support
10 %bcond_with     ibmtts          # IBM TTS synthesizer support (proprietary)
11 %bcond_without  ivona           # Ivona synthesizer support
12 %bcond_with     kali            # Kali synthesizer support (proprietary?)
13 %bcond_without  svox            # SVOX Pico synthesizer support
14 %bcond_without  alsa            # ALSA audio output supprot
15 %bcond_without  libao           # libao audio output supprot
16 %bcond_without  nas             # NAS audio output support
17 %bcond_without  pulseaudio      # pulse audio output support
18 %bcond_without  python          # Python 3 binding (python 2.x no longer supported)
19 %bcond_without  static_libs     # don't build static libraries
20 #
21 Summary:        A device independent layer for speech synthesis
22 Summary(pl.UTF-8):      Niezależna od urządzenia warstwa obsługująca syntezę mowy
23 Name:           speech-dispatcher
24 Version:        0.10.1
25 Release:        2
26 License:        LGPL v2.1+ (library and audio drivers), GPL v2+ (programs and speech modules)
27 Group:          Applications/Sound
28 #Source0Download: https://github.com/brailcom/speechd/releases
29 Source0:        https://github.com/brailcom/speechd/releases/download/%{version}/%{name}-%{version}.tar.gz
30 # Source0-md5:  49bc64d8517762d9c9818f5ef3d3bc42
31 Source1:        %{name}.init
32 Source2:        %{name}.sysconfig
33 Source3:        %{name}.tmpfiles
34 Patch0:         %{name}-info.patch
35 URL:            https://freebsoft.org/speechd
36 %{?with_alsa:BuildRequires:     alsa-lib-devel}
37 BuildRequires:  autoconf >= 2.63
38 # for __pycache__ support (python 3.2+)
39 BuildRequires:  automake >= 1:1.13
40 BuildRequires:  dotconf-devel >= 1.3
41 %{?with_espeak:BuildRequires:   espeak-devel}
42 %{?with_espeak_ng:BuildRequires:        espeak-ng-devel}
43 BuildRequires:  gettext-tools >= 0.19.8
44 BuildRequires:  glib2-devel >= 1:2.36
45 BuildRequires:  help2man
46 %{?with_flite:BuildRequires:    flite-devel}
47 %{?with_ibmtts:BuildRequires:   ibmtts-devel}
48 BuildRequires:  intltool >= 0.40.0
49 %{?with_libao:BuildRequires:    libao-devel}
50 %{?with_ivona:BuildRequires:    libdumbtts-devel}
51 BuildRequires:  libltdl-devel
52 BuildRequires:  libsndfile-devel >= 1.0.2
53 BuildRequires:  libstdc++-devel
54 BuildRequires:  libtool >= 2:2.2
55 %{?with_nas:BuildRequires:      nas-devel}
56 BuildRequires:  pkgconfig
57 %{?with_pulseaudio:BuildRequires:       pulseaudio-devel}
58 %{?with_python:BuildRequires:   python3-devel >= 1:3.2}
59 %{?with_python:BuildRequires:   python3-pyxdg}
60 BuildRequires:  rpm-pythonprov
61 BuildRequires:  rpmbuild(macros) >= 1.527
62 %{?with_svox:BuildRequires:     svox-devel}
63 BuildRequires:  texinfo
64 %{?with_nas:BuildRequires:      xorg-lib-libXau-devel}
65 Requires(post,preun):   /sbin/chkconfig
66 Requires(postun):       /usr/sbin/groupdel
67 Requires(postun):       /usr/sbin/userdel
68 Requires(pre):  /bin/id
69 Requires(pre):  /usr/bin/getgid
70 Requires(pre):  /usr/sbin/groupadd
71 Requires(pre):  /usr/sbin/useradd
72 Requires:       %{name}-libs = %{version}-%{release}
73 Requires:       dotconf >= 1.3
74 Requires:       libsndfile >= 1.0.2
75 # for spd-conf
76 Requires:       python3-%{name} = %{version}-%{release}
77 Requires:       rc-scripts
78 Provides:       group(%{name})
79 Provides:       user(%{name})
80 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
81
82 %description
83 Speech Dispatcher provides a device independent layer for speech
84 synthesis.
85
86 %description -l pl.UTF-8
87 Speech Dispatcher zapewnia niezależną od urządzenia warstwę
88 obsługującą syntezę mowy.
89
90 %package audio-libao
91 Summary:        libao audio output module for Speech Dispatcher
92 Summary(pl.UTF-8):      Moduł wyjścia dźwięku libao dla Speech Dispatchera
93 License:        LGPL v2.1+
94 Group:          Applications/Sound
95 Requires:       %{name} = %{version}-%{release}
96
97 %description audio-libao
98 libao audio output module for Speech Dispatcher.
99
100 %description audio-libao -l pl.UTF-8
101 Moduł wyjścia dźwięku libao dla Speech Dispatchera.
102
103 %package audio-nas
104 Summary:        NAS audio output module for Speech Dispatcher
105 Summary(pl.UTF-8):      Moduł wyjścia dźwięku NAS dla Speech Dispatchera
106 License:        LGPL v2.1+
107 Group:          Applications/Sound
108 Requires:       %{name} = %{version}-%{release}
109
110 %description audio-nas
111 NAS audio output module for Speech Dispatcher.
112
113 %description audio-nas -l pl.UTF-8
114 Moduł wyjścia dźwięku NAS dla Speech Dispatchera.
115
116 %package audio-pulse
117 Summary:        PulseAudio audio output module for Speech Dispatcher
118 Summary(pl.UTF-8):      Moduł wyjścia dźwięku PulseAudio dla Speech Dispatchera
119 License:        LGPL v2.1+
120 Group:          Applications/Sound
121 Requires:       %{name} = %{version}-%{release}
122
123 %description audio-pulse
124 PulseAudio audio output module for Speech Dispatcher.
125
126 %description audio-pulse -l pl.UTF-8
127 Moduł wyjścia dźwięku PulseAudio dla Speech Dispatchera.
128
129 %package module-baratinoo
130 Summary:        Baratinoo synthesizer module for Speech Dispatcher
131 Summary(pl.UTF-8):      Moduł syntezatora Baratinoo dla Speech Dispatchera
132 Group:          Applications/Sound
133 Requires:       %{name} = %{version}-%{release}
134
135 %description module-baratinoo
136 Baratinoo synthesizer module for Speech Dispatcher.
137
138 %description module-baratinoo -l pl.UTF-8
139 Moduł syntezatora Baratinoo dla Speech Dispatchera.
140
141 %package module-espeak
142 Summary:        eSpeak synthesizer module for Speech Dispatcher
143 Summary(pl.UTF-8):      Moduł syntezatora eSpeak dla Speech Dispatchera
144 Group:          Applications/Sound
145 Requires:       %{name} = %{version}-%{release}
146
147 %description module-espeak
148 eSpeak synthesizer module for Speech Dispatcher.
149
150 %description module-espeak -l pl.UTF-8
151 Moduł syntezatora eSpeak dla Speech Dispatchera.
152
153 %package module-espeak-ng
154 Summary:        eSpeak NG synthesizer module for Speech Dispatcher
155 Summary(pl.UTF-8):      Moduł syntezatora eSpeak NG dla Speech Dispatchera
156 Group:          Applications/Sound
157 Requires:       %{name} = %{version}-%{release}
158
159 %description module-espeak-ng
160 eSpeak NG synthesizer module for Speech Dispatcher.
161
162 %description module-espeak-ng -l pl.UTF-8
163 Moduł syntezatora eSpeak NG dla Speech Dispatchera.
164
165 %package module-flite
166 Summary:        Flite synthesizer module for Speech Dispatcher
167 Summary(pl.UTF-8):      Moduł syntezatora Flite dla Speech Dispatchera
168 Group:          Applications/Sound
169 Requires:       %{name} = %{version}-%{release}
170
171 %description module-flite
172 Flite synthesizer module for Speech Dispatcher.
173
174 %description module-flite -l pl.UTF-8
175 Moduł syntezatora Flite dla Speech Dispatchera.
176
177 %package module-ibmtts
178 Summary:        IBM TTS synthesizer module for Speech Dispatcher
179 Summary(pl.UTF-8):      Moduł syntezatora IBM TTS dla Speech Dispatchera
180 Group:          Applications/Sound
181 Requires:       %{name} = %{version}-%{release}
182
183 %description module-ibmtts
184 IBM TTS synthesizer module for Speech Dispatcher.
185
186 %description module-ibmtts -l pl.UTF-8
187 Moduł syntezatora IBM TTS dla Speech Dispatchera.
188
189 %package module-ivona
190 Summary:        Ivona synthesizer module for Speech Dispatcher
191 Summary(pl.UTF-8):      Moduł syntezatora Ivona dla Speech Dispatchera
192 Group:          Applications/Sound
193 Requires:       %{name} = %{version}-%{release}
194
195 %description module-ivona
196 Ivona synthesizer module for Speech Dispatcher.
197
198 %description module-ivona -l pl.UTF-8
199 Moduł syntezatora Ivona dla Speech Dispatchera.
200
201 %package module-kali
202 Summary:        Kali synthesizer module for Speech Dispatcher
203 Summary(pl.UTF-8):      Moduł syntezatora Kali dla Speech Dispatchera
204 Group:          Applications/Sound
205 Requires:       %{name} = %{version}-%{release}
206
207 %description module-kali
208 Kali synthesizer module for Speech Dispatcher.
209
210 %description module-kali -l pl.UTF-8
211 Moduł syntezatora Kali dla Speech Dispatchera.
212
213 %package module-pico
214 Summary:        SVOX Pico synthesizer module for Speech Dispatcher
215 Summary(pl.UTF-8):      Moduł syntezatora SVOX Pico dla Speech Dispatchera
216 Group:          Applications/Sound
217 Requires:       %{name} = %{version}-%{release}
218
219 %description module-pico
220 SVOX Pico synthesizer module for Speech Dispatcher.
221
222 %description module-pico -l pl.UTF-8
223 Moduł syntezatora SVOX Pico dla Speech Dispatchera.
224
225 %package libs
226 Summary:        Speech Dispatcher client library
227 Summary(pl.UTF-8):      Biblioteka kliencka Speech Dispatchera
228 License:        LGPL v2.1+
229 Group:          Libraries
230 Requires:       glib2 >= 1:2.36
231
232 %description libs
233 Speech Dispatcher provides a device independent layer for speech
234 synthesis. This package contains client library.
235
236 %description libs -l pl.UTF-8
237 Speech Dispatcher zapewnia niezależną od urządzenia warstwę
238 obsługującą syntezę mowy. Ten pakiet zawiera biblitotekę kliencką.
239
240 %package devel
241 Summary:        Header files for speech-dispatcher library
242 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki speech-dispatcher
243 License:        LGPL v2.1+
244 Group:          Development/Libraries
245 Requires:       %{name}-libs = %{version}-%{release}
246 Requires:       glib2-devel >= 1:2.36
247
248 %description devel
249 Header files for speech-dispatcher library.
250
251 %description devel -l pl.UTF-8
252 Pliki nagłówkowe biblioteki speech-dispatcher.
253
254 %package static
255 Summary:        Static speech-dispatcher library
256 Summary(pl.UTF-8):      Statyczna biblioteka speech-dispatcher
257 License:        LGPL v2.1+
258 Group:          Development/Libraries
259 Requires:       %{name}-devel = %{version}-%{release}
260
261 %description static
262 Static speech-dispatcher library.
263
264 %description static -l pl.UTF-8
265 Statyczna biblioteka speech-dispatcher.
266
267 %package -n python3-%{name}
268 Summary:        Python 3 library for communication with Speech Dispatcher
269 Summary(pl.UTF-8):      Biblioteka Pythona 3 do komunikacji ze Speech Dispatcherem
270 License:        LGPL v2.1+
271 Group:          Libraries/Python
272 Requires:       python3-modules
273 Obsoletes:      python-speech-dispatcher
274
275 %description -n python3-%{name}
276 Speech Dispatcher provides a device independent layer for speech
277 synthesis. This package contains a Python 3 library for communication
278 with Speech Dispatcher.
279
280 %description -n python3-%{name} -l pl.UTF-8
281 Speech Dispatcher zapewnia niezależną od urządzenia warstwę
282 obsługującą syntezę mowy. Ten pakiet zawiera bibliotekę Pythona 3 do
283 komunikacji ze Speech Dispatcherem.
284
285 %prep
286 %setup -q
287 %patch0 -p1
288
289 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' src/api/python/speechd_config/spd-conf
290
291 %build
292 %{__libtoolize}
293 %{__aclocal}
294 %{__autoconf}
295 %{__autoheader}
296 %{__automake}
297 %configure \
298         %{__disable python} \
299         --disable-silent-rules \
300         %{__enable_disable static_libs static} \
301         %{__with_without alsa} \
302         %{__with_without baratinoo} \
303         --with-default-audio-method=%{?with_alsa:alsa}%{!?with_alsa:oss} \
304         %{__with_without espeak} \
305         %{__with_without flite} \
306         %{__with_without ibmtts} \
307         %{__with_without ivona} \
308         %{__with_without kali} \
309         %{__with_without libao} \
310         %{__with_without nas} \
311         %{__with_without pulseaudio pulse} \
312         %{__with_without svox pico}
313
314 %{__make}
315
316 %install
317 rm -rf $RPM_BUILD_ROOT
318 install -d $RPM_BUILD_ROOT/var/{log,run}/speech-dispatcher \
319         $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
320
321 %{__make} install \
322         DESTDIR=$RPM_BUILD_ROOT
323
324 install -D %{SOURCE1}   $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
325 install -D %{SOURCE2}   $RPM_BUILD_ROOT/etc/sysconfig/%{name}
326 install %{SOURCE3} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
327
328 %{__rm} $RPM_BUILD_ROOT%{_libdir}/speech-dispatcher/spd_*.la
329 %if %{with static_libs}
330 %{__rm} $RPM_BUILD_ROOT%{_libdir}/speech-dispatcher/spd_*.a
331 %endif
332 %if %{without ibmtts}
333 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/speech-dispatcher/modules/ibmtts.conf
334 %endif
335
336 %find_lang %{name}
337
338 %clean
339 rm -rf $RPM_BUILD_ROOT
340
341 %pre
342 %groupadd -g 224 %{name}
343 %useradd -u 224 -g 224 -G audio -d /usr/share/empty -s /bin/false -c "%{name} user" %{name}
344
345 %post
346 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
347 /sbin/chkconfig --add %{name}
348 %service %{name} restart
349
350 %preun
351 if [ "$1" = "0" ]; then
352         %service %{name} stop
353         /sbin/chkconfig --del %{name}
354 fi
355
356 %postun
357 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
358 if [ "$1" = "0" ]; then
359         %userremove %{name}
360         %groupremove %{name}
361 fi
362
363 %post   libs -p /sbin/ldconfig
364 %postun libs -p /sbin/ldconfig
365
366 %files -f %{name}.lang
367 %defattr(644,root,root,755)
368 %doc ANNOUNCE AUTHORS BUGS FAQ NEWS README.md README.overview.md TODO
369 %attr(754,root,root) /etc/rc.d/init.d/%{name}
370 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
371 %attr(755,root,root) %{_bindir}/spd-conf
372 %attr(755,root,root) %{_bindir}/spd-say
373 %attr(755,root,root) %{_bindir}/spdsend
374 %attr(755,root,root) %{_bindir}/speech-dispatcher
375 %dir %{_libdir}/speech-dispatcher
376 %{?with_alsa:%attr(755,root,root) %{_libdir}/speech-dispatcher/spd_alsa.so}
377 %{_libdir}/speech-dispatcher/spd_oss.so
378 %dir %{_libdir}/speech-dispatcher-modules
379 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_cicero
380 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_dummy
381 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_festival
382 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_generic
383 %{_datadir}/speech-dispatcher
384 %{_datadir}/sounds/speech-dispatcher
385 %dir %{_sysconfdir}/speech-dispatcher
386 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/speechd.conf
387 %dir %{_sysconfdir}/speech-dispatcher/clients
388 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/clients/emacs.conf
389 %dir %{_sysconfdir}/speech-dispatcher/modules
390 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/cicero.conf
391 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/dtk-generic.conf
392 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/epos-generic.conf
393 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/espeak-generic.conf
394 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/espeak-mbrola-generic.conf
395 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/festival.conf
396 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/llia_phon-generic.conf
397 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/mary-generic-disabled.conf
398 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/swift-generic.conf
399 %dir %attr(755,%{name},%{name}) /var/run/speech-dispatcher
400 %dir %attr(755,%{name},%{name}) /var/log/speech-dispatcher
401 %{systemdunitdir}/speech-dispatcherd.service
402 %{systemdtmpfilesdir}/%{name}.conf
403 %{_mandir}/man1/spd-conf.1*
404 %{_mandir}/man1/spd-say.1*
405 %{_mandir}/man1/speech-dispatcher.1*
406 %{_infodir}/spd-say.info*
407 %{_infodir}/speech-dispatcher.info*
408 %lang(cs) %{_infodir}/speech-dispatcher-cs.info*
409 %{_infodir}/ssip.info*
410
411 %if %{with libao}
412 %files audio-libao
413 %defattr(644,root,root,755)
414 %attr(755,root,root) %{_libdir}/speech-dispatcher/spd_libao.so
415 %endif
416
417 %if %{with nas}
418 %files audio-nas
419 %defattr(644,root,root,755)
420 %attr(755,root,root) %{_libdir}/speech-dispatcher/spd_nas.so
421 %endif
422
423 %if %{with pulseaudio}
424 %files audio-pulse
425 %defattr(644,root,root,755)
426 %attr(755,root,root) %{_libdir}/speech-dispatcher/spd_pulse.so
427 %endif
428
429 %if %{with baratinoo}
430 %files module-baratinoo
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_baratinoo
433 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/baratinoo.conf
434 %endif
435
436 %if %{with espeak}
437 %files module-espeak
438 %defattr(644,root,root,755)
439 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_espeak
440 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/espeak.conf
441 %endif
442
443 %if %{with espeak_ng}
444 %files module-espeak-ng
445 %defattr(644,root,root,755)
446 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_espeak-ng
447 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/espeak-ng.conf
448 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/espeak-ng-mbrola-generic.conf
449 %endif
450
451 %if %{with flite}
452 %files module-flite
453 %defattr(644,root,root,755)
454 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_flite
455 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/flite.conf
456 %endif
457
458 %if %{with ibmtts}
459 %files module-ibmtts
460 %defattr(644,root,root,755)
461 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_ibmtts
462 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/ibmtts.conf
463 %endif
464
465 %if %{with ivona}
466 %files module-ivona
467 %defattr(644,root,root,755)
468 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_ivona
469 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/ivona.conf
470 %endif
471
472 %if %{with kali}
473 %files module-kali
474 %defattr(644,root,root,755)
475 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_kali
476 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/kali.conf
477 %endif
478
479 %if %{with svox}
480 %files module-pico
481 %defattr(644,root,root,755)
482 %attr(755,root,root) %{_libdir}/speech-dispatcher-modules/sd_pico
483 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/pico.conf
484 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/speech-dispatcher/modules/pico-generic.conf
485 %endif
486
487 %files libs
488 %defattr(644,root,root,755)
489 %attr(755,root,root) %{_libdir}/libspeechd.so.*.*.*
490 %attr(755,root,root) %ghost %{_libdir}/libspeechd.so.2
491
492 %files devel
493 %defattr(644,root,root,755)
494 %attr(755,root,root) %{_libdir}/libspeechd.so
495 %{_libdir}/libspeechd.la
496 %{_includedir}/speech-dispatcher
497 %{_pkgconfigdir}/speech-dispatcher.pc
498
499 %if %{with static_libs}
500 %files static
501 %defattr(644,root,root,755)
502 %{_libdir}/libspeechd.a
503 %endif
504
505 %if %{with python}
506 %files -n python3-%{name}
507 %defattr(644,root,root,755)
508 %dir %{py3_sitedir}/speechd
509 %{py3_sitedir}/speechd/*.py
510 %{py3_sitedir}/speechd/__pycache__
511 %dir %{py3_sitedir}/speechd_config
512 %{py3_sitedir}/speechd_config/*.py
513 %{py3_sitedir}/speechd_config/__pycache__
514 %endif
This page took 0.114137 seconds and 2 git commands to generate.