Sync from SUSE:SLFO:Main speech-dispatcher revision 32bda991835b96374582205be674cfee

This commit is contained in:
Adrian Schröter 2025-02-26 11:51:09 +01:00
parent 9f8c88c0b8
commit 425ba6cb61
5 changed files with 205 additions and 29 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>python311</package>
</multibuild>

BIN
speech-dispatcher-0.11.4.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
speech-dispatcher-0.12.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,109 @@
-------------------------------------------------------------------
Sun Feb 23 21:44:39 UTC 2025 - Michael Gorse <mgorse@suse.com>
- Update to version 0.12.0:
* Add libspeechd-module library for making it simpler to create
external spd modules.
* Update CLDR to version 45, symbols from orca 45.2, and symbols
from NVDA.
* Also support loading symbols from home directory.
-------------------------------------------------------------------
Tue Oct 29 18:29:19 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 0.12.0~rc4:
* audio: Fix logging from audio modules in server-side audio.
* Sort Baratinoo engine higher.
* espeak-ng-mbrola: Fix mbrola voices with rate different from
22KHz
* Add a run-spd-say script and make run-speechd and run-spd-say
able to talk directly.
* Add initial pipewire support.
- Drop speech-dispatcher-missing-return-vals.patch and
speech-dispatcher-pulseaudio-samples.patch: fixed upstream.
- Add libpipewire-0.3 to BuildRequires to build Pipewire support.
- Package speechd_module library.
-------------------------------------------------------------------
Wed Oct 16 07:25:09 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Drop rcFOO symlinks (PED-266).
-------------------------------------------------------------------
Fri Jul 5 17:34:04 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Add speech-dispatcher-pulseaudio-samples.patch: fix for losing
samples with pulseaudio.
-------------------------------------------------------------------
Wed May 22 18:40:02 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 0.12.0~rc3:
* Detect module failures from generic module.
* Make the fallback espeak-ng and dummy modules hardcoded.
* Better detect generic module failures to disable them.
* pulse: Use asynchronous API to avoid buffer underruns.
* generic: Make stripping punctuation use locale charset.
- Add speech-dispatcher-missing-return-vals.patch: add missing
return statements.
-------------------------------------------------------------------
Thu Feb 22 20:43:22 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 0.12.0~rc2:
* Add openjtalk module.
* Fix splitting long UTF-8 sequences.
* Update CLDR to version 44 and symbols from NVDA.
* Add spd_fd function to C api.
-------------------------------------------------------------------
Thu Feb 22 07:52:51 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Use _multibuild to build also a python311 flavor in SLE15
(jsc#PED-68)
- Rename the python3-speechd package to %{primary_python}-speechd
in TW/ALP so that it follows the python package naming policy.
- Fix %_datadir which is now included in the main speech-dispatcher
package instead of in -configure.
- Only provide python3-speechd from python311-speechd in TW/ALP,
otherwise the python 3.11 flavor might be selected instead of
the real python3-speechd package in SLE15.
- Only require python-speechd for the -configure package. The base
package does not require it to be installed.
-------------------------------------------------------------------
Tue Feb 13 09:20:06 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Update to version 0.12.0~rc1:
* Add socket activation
* libspeechd: Simplify buffer management.
* Add language and variant parameters to "list voice" command.
- Add pkgconfig(libsystemd) to BuildRequires.
-------------------------------------------------------------------
Sun Jan 14 17:31:18 UTC 2024 - Michael Gorse <mgorse@suse.com>
- Have speech-dispatcher-module espeak supplement libespeak-ng1,
rather than espeak-ng. The latter provides a binary which is not
used or needed and that might not be installed.
-------------------------------------------------------------------
Mon Aug 14 20:12:09 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Update to version 0.11.5:
* Update CLDR to version 43 and symbols from NVDA.
* Fix parsing and emitting space character.
* Reduce espeak buffer size to avoid ssml issues.
* Add --disable-doc.
* Fix spd-conf not being able to set the default module.
* Fix pausing without index.
-------------------------------------------------------------------
Wed Jun 28 14:19:26 UTC 2023 - ecsos <ecsos@opensuse.org>
- Use always python3.11 to build, so Leap use also python3.11 to
build.
-------------------------------------------------------------------
Tue Dec 13 19:23:02 UTC 2022 - Michael Gorse <mgorse@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package speech-dispatcher
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,15 +16,38 @@
#
%global flavor @BUILD_FLAVOR@%{nil}
%if 0%{?suse_version} >= 1500
%define espeak espeak-ng
%define espeakdev espeak-ng-devel
%define espeak espeak-ng
%define espeakdev espeak-ng-devel
%define espeak_lib libespeak-ng1
%else
%define espeak espeak
%define espeakdev espeak-devel
%define espeak espeak
%define espeakdev espeak-devel
%define espeak_lib espeak
%endif
%if 0%{?suse_version} > 1500
%define _python %{primary_python}
%if "%{flavor}" == "python311"
ExclusiveArch: do-not-build
%endif
%else
%if "%{flavor}" == "python311"
%{?sle15_python_module_pythons}
%define _python python311
%define python_sitearch %{?python_sitearch:%python311_sitearch}
%else
%define _python python3
%define python_sitearch %{?python_sitearch:%python3_sitearch}
%endif
%endif
%if "%{flavor}" == ""
Name: speech-dispatcher
Version: 0.11.4
%else
Name: speech-dispatcher-%{_python}
%endif
Version: 0.12.0
Release: 0
# FIXME missing backends: festival lite, ibmeci (ibm tts), dumbtts/ivona, nas
# The API and bindings are LGPL-2.1-or-later, other parts are
@ -33,11 +56,12 @@ Summary: Device independent layer for speech synthesis
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Daemons
URL: https://devel.freebsoft.org/speechd
Source0: https://github.com/brailcom/speechd/releases/download/%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/brailcom/speechd/releases/download/%{version}/speech-dispatcher-%{version}.tar.gz
Patch0: harden_speech-dispatcherd.service.patch
# Logrotate file taken from Debian
Source2: speech-dispatcher.logrotate
Source99: baselibs.conf
BuildRequires: %{_python}-setuptools
BuildRequires: %{espeakdev}
BuildRequires: alsa-devel
BuildRequires: dotconf-devel
@ -49,10 +73,10 @@ BuildRequires: libpulse-devel
BuildRequires: libsndfile-devel
BuildRequires: libtool
BuildRequires: makeinfo
BuildRequires: python3-setuptools
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd)
Requires: python3-speechd
# FIXME: use proper Requires(pre/post/preun/...)
PreReq: %{install_info_prereq}
Suggests: festival
@ -79,8 +103,9 @@ tricky aspects of the speech subsystem.
Summary: Configuration tool for Speech Dispatcher
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Daemons
Requires: %{_python}-pyxdg
Requires: %{_python}-speechd
Requires: %{name} = %{version}
Requires: python3-pyxdg
Enhances: %{name}
%description configure
@ -101,7 +126,7 @@ Summary: ESpeak module for Speech Dispatcher
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Daemons
Requires: %{name} = %{version}
Supplements: packageand(%{name}:%{espeak})
Supplements: packageand(%{name}:%{espeak_lib})
%description module-espeak
The goal of Speech Dispatcher project is to provide a high-level device
@ -131,6 +156,22 @@ 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 -n libspeechd_module0
Summary: Library for creating speech-dispatcher modules
License: LGPL-2.1-or-later
Group: System/Libraries
Recommends: %{name}
%description -n libspeechd_module0
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.
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 -n libspeechd-devel
Summary: Device independent layer for speech synthesis - Development files
License: LGPL-2.1-or-later
@ -150,13 +191,17 @@ 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 -n python3-speechd
%package -n %{_python}-speechd
Summary: Device independent layer for speech synthesis - Python Bindings
License: LGPL-2.1-or-later
Group: Development/Libraries/Python
Requires: %{name} >= %{version}
Requires: speech-dispatcher >= %{version}
%if 0%{?suse_version} > 1500
Provides: python3-speechd = %{version}
Obsoletes: python3-speechd < %{version}
%endif
%description -n python3-speechd
%description -n %{_python}-speechd
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.
@ -167,16 +212,20 @@ devices directly nor to handle concurrent access, sound output and other
tricky aspects of the speech subsystem.
%prep
%setup -q
# dummy module must almost never be dissabled
%autosetup -p1
# dummy module must almost never be disabled
sed -i "s/#AddModule \"dummy\"/AddModule \"dummy\"/" -i config/speechd.conf
# you must enable at least one module (except dummy), otherwise it will load
# all available modules and may cause huge cpu usage!
sed -i "s/#AddModule \"%{espeak}\"/AddModule \"%{espeak}\"/" -i config/speechd.conf
%patch0 -p1
sed -i '1{\,^#!%{_bindir}/env python,d}' src/api/python/speechd/_test.py
%build
%global optflags %{optflags} -fcommon
%if "%{flavor}" == "python311"
export PYTHON=/usr/bin/python3.11
%endif
%configure --disable-static \
--with-libao \
--with-alsa \
@ -186,13 +235,18 @@ sed -i "s/#AddModule \"%{espeak}\"/AddModule \"%{espeak}\"/" -i config/speechd.c
--without-kali \
--with-ibmtts=no \
--with-voxin=no
%if "%{flavor}" == "python311"
cd src/api/python/speechd
%endif
%make_build
%install
%if "%{flavor}" == "python311"
cd src/api/python/speechd
%endif
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
mkdir -p %{buildroot}%{_sbindir}
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcspeech-dispatcherd
%if "%{flavor}" == ""
# Create log dir. 0700 since the logs can contain user information.
install -d -m 0700 %{buildroot}%{_localstatedir}/log/speech-dispatcher/
# Install logrotate script
@ -212,10 +266,15 @@ rm -f %{buildroot}%{_sysconfdir}/speech-dispatcher/modules/ibmtts.conf
test -d %{buildroot}%{_infodir}/dir && rm %{buildroot}%{_infodir}/dir
%find_lang %{name}
# rpmlint
sed -i -e 's|/usr/bin/env python3|/usr/bin/python3|g' %{buildroot}%{_bindir}/spd-conf
%{python_expand # Fix shebang path
sed -i "1s|#\!.*python.*|#\!/usr/bin/$python|" %{buildroot}%{_bindir}/spd-conf
}
%endif
# Deduplicate python bytecode
%fdupes %{buildroot}%{python3_sitearch}/speechd*
%fdupes %{buildroot}%{python_sitearch}/speechd*
# Deduplicate locale files
%fdupes %{buildroot}%{_datadir}/speech-dispatcher/locale
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
@ -253,6 +312,7 @@ done
%postun -n libspeechd2 -p /sbin/ldconfig
%if "%{flavor}" == ""
%files -f %{name}.lang
%doc AUTHORS ANNOUNCE NEWS README.md
%license COPYING.LGPL COPYING.GPL-2 COPYING.GPL-3
@ -274,6 +334,7 @@ done
%{_libexecdir}/speech-dispatcher-modules/sd_dummy
%{_libexecdir}/speech-dispatcher-modules/sd_festival
%{_libexecdir}/speech-dispatcher-modules/sd_generic
%{_libexecdir}/speech-dispatcher-modules/sd_openjtalk
%{_infodir}/%{name}*.info.gz
%{_infodir}/spd-say.info.gz
%{_infodir}/ssip.info.gz
@ -286,12 +347,13 @@ done
%endif
# systemd service file
%{_unitdir}/speech-dispatcherd.service
%{_sbindir}/rcspeech-dispatcherd
%{_userunitdir}/speech-dispatcher.service
%{_userunitdir}/speech-dispatcher.socket
%{_datadir}/speech-dispatcher/
%files configure
%{_bindir}/spd-conf
%{python3_sitearch}/speechd_config/
%{_datadir}/speech-dispatcher/
%{python_sitearch}/speechd_config/
%files module-espeak
%config(noreplace) %{_sysconfdir}/speech-dispatcher/modules/espeak.conf
@ -301,12 +363,17 @@ done
%files -n libspeechd2
%{_libdir}/libspeechd.so.*
%files -n libspeechd_module0
%{_libdir}/libspeechd_module.so.*
%files -n libspeechd-devel
%{_includedir}/%{name}/
%{_libdir}/*.so
%{_libdir}/pkgconfig/%{name}.pc
%endif
%files -n python3-speechd
%{python3_sitearch}/speechd/
%files -n %{_python}-speechd
%{python_sitearch}/speechd/
%pycache_only %{python_sitearch}/speechd/__pycache__
%changelog