diff --git a/0001-Make-espeak-ng-the-default-output-module.patch b/0001-Make-espeak-ng-the-default-output-module.patch deleted file mode 100644 index 1b587197304e70765439025809c0ca2e96be9cea..0000000000000000000000000000000000000000 --- a/0001-Make-espeak-ng-the-default-output-module.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b4400c86b7481cd8ffd6d1ae4dc62d0be29e1e30 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= -Date: Fri, 9 Mar 2018 14:13:47 +0100 -Subject: [PATCH] Make espeak-ng the default output module - ---- - config/speechd.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/speechd.conf b/config/speechd.conf -index 140de3a..f99e3ce 100644 ---- a/config/speechd.conf -+++ b/config/speechd.conf -@@ -240,7 +240,7 @@ DefaultVolume 100 - # The DefaultModule selects which output module is the default. You - # must use one of the names of the modules loaded with AddModule. - --DefaultModule espeak -+DefaultModule espeak-ng - - # The LanguageDefaultModule selects which output modules are prefered - # for specified languages. --- -2.14.3 - diff --git a/0001-Remove-pyxdg-dependency.patch b/0001-Remove-pyxdg-dependency.patch index 5b0b8d205c52824923580c90b37bb8aaed2c6aec..45243bb6502d69fe6c1763e0406de956b7b54b40 100644 --- a/0001-Remove-pyxdg-dependency.patch +++ b/0001-Remove-pyxdg-dependency.patch @@ -1,28 +1,15 @@ -From 5ede80b0713c75b21925203c3ef389c86cb69e6d Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Fri, 20 Jul 2018 15:04:48 +0200 -Subject: [PATCH] Remove pyxdg dependency - -And use the same algorithm as GLib to determine the base user config -directory (XDG_CONFIG_HOME, then ~/.config then /tmp/$USERNAME/.config) ---- - src/api/python/speechd_config/config.py.in | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/src/api/python/speechd_config/config.py.in b/src/api/python/speechd_config/config.py.in -index ccf8803..e8393e5 100644 ---- a/src/api/python/speechd_config/config.py.in -+++ b/src/api/python/speechd_config/config.py.in -@@ -30,8 +30,6 @@ import socket +--- speech-dispatcher-0.11.1/src/api/python/speechd_config/config.py~ 2022-01-08 16:36:58.000000000 -0600 ++++ speech-dispatcher-0.11.1/src/api/python/speechd_config/config.py 2022-01-10 10:39:08.029069754 -0600 +@@ -29,8 +29,6 @@ import sys import time -from xdg import BaseDirectory - - # Locale/gettext configuration + # Configuration and sound data paths + from . import buildconfig - locale.setlocale(locale.LC_ALL, '') -@@ -167,7 +165,16 @@ class Tests: +@@ -180,7 +178,16 @@ def user_conf_dir(self): """Return user configuration directory""" @@ -40,6 +27,3 @@ index ccf8803..e8393e5 100644 def system_conf_dir(self): """Determine system configuration directory""" --- -2.17.1 - diff --git a/0002-Fix-global-variable-gcc10.patch b/0002-Fix-global-variable-gcc10.patch deleted file mode 100644 index 2cda9214e56af4e02c65ebd9f7692e6b86f3a845..0000000000000000000000000000000000000000 --- a/0002-Fix-global-variable-gcc10.patch +++ /dev/null @@ -1,436 +0,0 @@ -From adbdca72c8b7adfe05a31c333da3a3ee444295c8 Mon Sep 17 00:00:00 2001 -Date: Fri, 30 Jul 2021 16:38:12 +0800 - ---- - src/clients/say/options.c | 24 +++++++++++++++++++ - src/clients/say/options.h | 40 +++++++++++++++---------------- - src/modules/festival_client.c | 2 ++ - src/modules/festival_client.h | 2 +- - src/modules/module_utils.c | 13 +++++++++++ - src/modules/module_utils.h | 22 +++++++++--------- - src/server/compare.h | 4 ++-- - src/server/configuration.c | 3 +++ - src/server/configuration.h | 4 ++-- - src/server/speaking.c | 7 ++++++ - src/server/speaking.h | 14 +++++------ - src/server/speechd.c | 25 ++++++++++++++++++++ - src/server/speechd.h | 44 +++++++++++++++++------------------ - 13 files changed, 139 insertions(+), 65 deletions(-) - -diff --git a/src/clients/say/options.c b/src/clients/say/options.c -index 6ac6c31..47b2d7d 100644 ---- a/src/clients/say/options.c -+++ b/src/clients/say/options.c -@@ -35,6 +35,30 @@ - #include "options.h" - #include - -+signed int rate; -+signed int pitch; -+signed int pitch_range; -+signed int volume; -+ -+int list_output_modules; -+char *output_module; -+char *sound_icon; -+char *language; -+char *voice_type; -+char *punctuation_mode; -+char *priority; -+int pipe_mode; -+SPDDataMode ssml_mode; -+int spelling; -+int wait_till_end; -+int stop_previous; -+int cancel_previous; -+int list_synthesis_voices; -+char *synthesis_voice; -+ -+char *application_name; -+char *connection_name; -+ - void options_print_help(char *argv[]) - { - assert(argv); -diff --git a/src/clients/say/options.h b/src/clients/say/options.h -index 6996151..ddc9b59 100644 ---- a/src/clients/say/options.h -+++ b/src/clients/say/options.h -@@ -24,28 +24,28 @@ - #include - #include "speechd_types.h" - --signed int rate; --signed int pitch; --signed int volume; -+extern signed int rate; -+extern signed int pitch; -+extern signed int volume; - --int list_output_modules; --char *output_module; --char *sound_icon; --char *language; --char *voice_type; --char *punctuation_mode; --char *priority; --int pipe_mode; --SPDDataMode ssml_mode; --int spelling; --int wait_till_end; --int stop_previous; --int cancel_previous; --int list_synthesis_voices; --char *synthesis_voice; -+extern int list_output_modules; -+extern char *output_module; -+extern char *sound_icon; -+extern char *language; -+extern char *voice_type; -+extern char *punctuation_mode; -+extern char *priority; -+extern int pipe_mode; -+extern SPDDataMode ssml_mode; -+extern int spelling; -+extern int wait_till_end; -+extern int stop_previous; -+extern int cancel_previous; -+extern int list_synthesis_voices; -+extern char *synthesis_voice; - --char *application_name; --char *connection_name; -+extern char *application_name; -+extern char *connection_name; - - static struct option long_options[] = { - {"rate", 1, 0, 'r'}, -diff --git a/src/modules/festival_client.c b/src/modules/festival_client.c -index c1d2493..584b3ac 100644 ---- a/src/modules/festival_client.c -+++ b/src/modules/festival_client.c -@@ -73,6 +73,8 @@ - - #include "module_utils.h" - -+int festival_connection_crashed; -+ - /* For testing endianness */ - int fapi_endian_loc = 1; - -diff --git a/src/modules/festival_client.h b/src/modules/festival_client.h -index b66146e..f477c0a 100644 ---- a/src/modules/festival_client.h -+++ b/src/modules/festival_client.h -@@ -45,7 +45,7 @@ - #define FESTIVAL_DEFAULT_SERVER_PORT 1314 - #define FESTIVAL_DEFAULT_TEXT_MODE "fundamental" - --int festival_connection_crashed; -+extern int festival_connection_crashed; - - typedef struct FT_Info { - int encoding; -diff --git a/src/modules/module_utils.c b/src/modules/module_utils.c -index e0ca428..397232c 100644 ---- a/src/modules/module_utils.c -+++ b/src/modules/module_utils.c -@@ -37,6 +37,19 @@ extern char *module_index_mark; - - pthread_mutex_t module_stdout_mutex = PTHREAD_MUTEX_INITIALIZER; - -+int log_level; -+AudioID *module_audio_id; -+SPDMsgSettings msg_settings; -+SPDMsgSettings msg_settings_old; -+int current_index_mark; -+int Debug; -+FILE *CustomDebugFile; -+configfile_t *configfile; -+configoption_t *module_dc_options; -+int module_num_dc_options; -+const char *module_name; -+char *module_index_mark; -+ - char *do_message(SPDMessageType msgtype) - { - int ret; -diff --git a/src/modules/module_utils.h b/src/modules/module_utils.h -index a98821d..9920e45 100644 ---- a/src/modules/module_utils.h -+++ b/src/modules/module_utils.h -@@ -43,21 +43,21 @@ - #include - #include "spd_audio.h" - --int log_level; -+extern int log_level; - --AudioID *module_audio_id; -+extern AudioID *module_audio_id; - --SPDMsgSettings msg_settings; --SPDMsgSettings msg_settings_old; -+extern SPDMsgSettings msg_settings; -+extern SPDMsgSettings msg_settings_old; - --int current_index_mark; -+extern int current_index_mark; - --int Debug; --FILE *CustomDebugFile; -+extern int Debug; -+extern FILE *CustomDebugFile; - --configfile_t *configfile; --configoption_t *module_dc_options; --int module_num_dc_options; -+extern configfile_t *configfile; -+extern configoption_t *module_dc_options; -+extern int module_num_dc_options; - - #define CLEAN_OLD_SETTINGS_TABLE()\ - msg_settings_old.rate = -101;\ -@@ -367,7 +367,7 @@ configoption_t *add_config_option(configoption_t * options, - #define INDEX_MARK_BODY_LEN 6 - #define INDEX_MARK_BODY "__spd_" - --char *module_index_mark; -+extern char *module_index_mark; - - /* This macro must be placed at the initialization of the module so that the - later functions are possible to use */ -diff --git a/src/server/compare.h b/src/server/compare.h -index 13a58d0..e94d011 100644 ---- a/src/server/compare.h -+++ b/src/server/compare.h -@@ -29,7 +29,7 @@ gint compare_message_uid(gconstpointer element, gconstpointer value, - gpointer x); - - /* Pointer to function compare_message_uid */ --gint(*p_msg_lc) (); --gint(*p_msg_uid_lc) (); -+extern gint(*p_msg_lc) (); -+extern gint(*p_msg_uid_lc) (); - - #endif /* COMPARE_H */ -diff --git a/src/server/configuration.c b/src/server/configuration.c -index ea2b64e..a199561 100644 ---- a/src/server/configuration.c -+++ b/src/server/configuration.c -@@ -36,6 +36,9 @@ - - static TFDSetClientSpecific *cl_spec_section; - -+configoption_t *spd_options; -+int spd_num_options; -+ - /* So that gcc doesn't comply about casts to char* */ - - /* == CONFIGURATION MANAGEMENT FUNCTIONS */ -diff --git a/src/server/configuration.h b/src/server/configuration.h -index bdc698e..516cc51 100644 ---- a/src/server/configuration.h -+++ b/src/server/configuration.h -@@ -31,8 +31,8 @@ - #define SPEECHD_DEFAULT_PORT 6560 - - /* Loading options from DotConf */ --configoption_t *spd_options; --int spd_num_options; -+extern configoption_t *spd_options; -+extern int spd_num_options; - - configoption_t *load_config_options(int *num_options); - void free_config_options(configoption_t * opts, int *num); -diff --git a/src/server/speaking.c b/src/server/speaking.c -index a6afc40..2eb4502 100644 ---- a/src/server/speaking.c -+++ b/src/server/speaking.c -@@ -46,6 +46,13 @@ static SPDPriority highest_priority = 0; - - int SPEAKING = 0; - int poll_count; -+OutputModule *speaking_module; -+int speaking_uid; -+int speaking_gid; -+int pause_requested; -+int pause_requested_fd; -+int pause_requested_uid; -+int resume_requested; - - /* - Speak() is responsible for getting right text from right -diff --git a/src/server/speaking.h b/src/server/speaking.h -index 5d79195..37e17a4 100644 ---- a/src/server/speaking.h -+++ b/src/server/speaking.h -@@ -28,15 +28,15 @@ - - #include - --OutputModule *speaking_module; --int speaking_uid; --int speaking_gid; -+extern OutputModule *speaking_module; -+extern int speaking_uid; -+extern int speaking_gid; - - /* Pause and resume handling */ --int pause_requested; --int pause_requested_fd; --int pause_requested_uid; --int resume_requested; -+extern int pause_requested; -+extern int pause_requested_fd; -+extern int pause_requested_uid; -+extern int resume_requested; - - /* Speak() is responsible for getting right text from right - * queue in right time and saying it loud through corresponding -diff --git a/src/server/speechd.c b/src/server/speechd.c -index d463cd8..2af4563 100644 ---- a/src/server/speechd.c -+++ b/src/server/speechd.c -@@ -58,11 +58,36 @@ void destroy_pid_file(); - /* Server socket file descriptor */ - int server_socket; - -+TSpeechDMode spd_mode; -+ - GMainLoop *main_loop = NULL; - gint server_timeout_source = 0; - - int client_count = 0; - -+struct SpeechdOptions SpeechdOptions; -+struct SpeechdStatus SpeechdStatus; -+pthread_t speak_thread; -+pthread_mutex_t logging_mutex; -+pthread_mutex_t element_free_mutex; -+pthread_mutex_t output_layer_mutex; -+pthread_mutex_t socket_com_mutex; -+GHashTable *fd_settings; -+GHashTable *language_default_modules; -+GHashTable *fd_uid; -+TSpeechDQueue *MessageQueue; -+GList *MessagePausedList; -+GList *client_specific_settings; -+GList *last_p5_block; -+TFDSetElement GlobalFDSet; -+int speaking_pipe[2]; -+GHashTable *speechd_sockets_status; -+FILE *logfile; -+FILE *custom_logfile; -+char *custom_log_kind; -+FILE *debug_logfile; -+TSpeechDMode spd_mode; -+ - static gboolean speechd_client_terminate(gpointer key, gpointer value, gpointer user); - static gboolean speechd_reload_dead_modules(gpointer user_data); - static gboolean speechd_load_configuration(gpointer user_data); -diff --git a/src/server/speechd.h b/src/server/speechd.h -index d4860d6..03b17d9 100644 ---- a/src/server/speechd.h -+++ b/src/server/speechd.h -@@ -124,7 +124,7 @@ typedef enum { - SPD_MODE_SINGLE /* */ - } TSpeechDMode; - --TSpeechDMode spd_mode; -+extern TSpeechDMode spd_mode; - - /* TSpeechDQueue is a queue for messages. */ - typedef struct { -@@ -149,7 +149,7 @@ typedef struct { - #include "alloc.h" - #include "speaking.h" - --struct { -+extern struct SpeechdOptions { - char *communication_method; - int communication_method_set; - char *socket_path; -@@ -173,48 +173,48 @@ struct { - int server_timeout_set; - } SpeechdOptions; - --struct { -+extern struct SpeechdStatus { - int max_uid; /* The largest assigned uid + 1 */ - int max_gid; /* The largest assigned gid + 1 */ - int max_fd; - } SpeechdStatus; - - /* speak() thread defined in speaking.c */ --pthread_t speak_thread; --pthread_mutex_t logging_mutex; --pthread_mutex_t element_free_mutex; --pthread_mutex_t output_layer_mutex; --pthread_mutex_t socket_com_mutex; -+extern pthread_t speak_thread; -+extern pthread_mutex_t logging_mutex; -+extern pthread_mutex_t element_free_mutex; -+extern pthread_mutex_t output_layer_mutex; -+extern pthread_mutex_t socket_com_mutex; - - /* Table of all configured (and succesfully loaded) output modules */ - extern GList *output_modules; - - /* Table of settings for each active client (=each active socket)*/ --GHashTable *fd_settings; -+extern GHashTable *fd_settings; - /* Table of default output modules for different languages */ --GHashTable *language_default_modules; -+extern GHashTable *language_default_modules; - /* Table of relations between client file descriptors and their uids */ --GHashTable *fd_uid; -+extern GHashTable *fd_uid; - - /* Speech Dispatcher main priority queue for messages */ --TSpeechDQueue *MessageQueue; -+extern TSpeechDQueue *MessageQueue; - /* List of messages from paused clients waiting for resume */ --GList *MessagePausedList; -+extern GList *MessagePausedList; - - /* List of different entries of client-specific configuration */ --GList *client_specific_settings; -+extern GList *client_specific_settings; - - /* Saves the last received priority progress message */ --GList *last_p5_block; -+extern GList *last_p5_block; - - /* Global default settings */ --TFDSetElement GlobalFDSet; -+extern TFDSetElement GlobalFDSet; - - /* Inter thread comm pipe */ --int speaking_pipe[2]; -+extern int speaking_pipe[2]; - - /* Managing sockets communication */ --GHashTable *speechd_sockets_status; -+extern GHashTable *speechd_sockets_status; - typedef struct { - int awaiting_data; - int inside_block; -@@ -235,10 +235,10 @@ void MSG2(int level, char *kind, char *format, ...); - #define FATAL(msg) { fatal_error(); MSG(-1,"Fatal error [%s:%d]:"msg, __FILE__, __LINE__); exit(EXIT_FAILURE); } - #define DIE(msg) { MSG(0,"Error [%s:%d]:"msg, __FILE__, __LINE__); exit(EXIT_FAILURE); } - --FILE *logfile; --FILE *custom_logfile; --char *custom_log_kind; --FILE *debug_logfile; -+extern FILE *logfile; -+extern FILE *custom_logfile; -+extern char *custom_log_kind; -+extern FILE *debug_logfile; - - /* For debugging purposes, does nothing */ - void fatal_error(void); --- -2.23.0 - diff --git a/speech-dispatcher-0.11.1.tar.gz b/speech-dispatcher-0.11.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7d10bbc871e016f35bb3e3b1d7fed7df4e7fccd7 Binary files /dev/null and b/speech-dispatcher-0.11.1.tar.gz differ diff --git a/speech-dispatcher-0.8.8.tar.gz b/speech-dispatcher-0.8.8.tar.gz deleted file mode 100644 index 2598d766e246b997b20f9d0a3b278fb3aef36a55..0000000000000000000000000000000000000000 Binary files a/speech-dispatcher-0.8.8.tar.gz and /dev/null differ diff --git a/speech-dispatcher.spec b/speech-dispatcher.spec index 0544f64c608a6b8c9609df60d741d1213b77b25c..eee73638db4874b11ce28de444503aa585994816 100644 --- a/speech-dispatcher.spec +++ b/speech-dispatcher.spec @@ -1,18 +1,16 @@ Name: speech-dispatcher -Version: 0.8.8 -Release: 12 +Version: 0.11.1 +Release: 1 Summary: Common high-level interface to speech synthesis License: GPLv2+ and GPLv2 URL: http://devel.freebsoft.org/speechd -Source0: http://www.freebsoft.org/pub/projects/speechd/speech-dispatcher-%{version}.tar.gz +Source0: https://github.com/brailcom/speechd/releases/download/%{version}/speech-dispatcher-%{version}.tar.gz Source1: http://www.freebsoft.org/pub/projects/sound-icons/sound-icons-0.1.tar.gz Source2: speech-dispatcherd.service -Patch0001: 0001-Make-espeak-ng-the-default-output-module.patch -Patch0002: 0001-Remove-pyxdg-dependency.patch -Patch0003: 0002-Fix-global-variable-gcc10.patch +Patch0001: 0001-Remove-pyxdg-dependency.patch BuildRequires: alsa-lib-devel desktop-file-utils dotconf-devel espeak-ng-devel flite-devel BuildRequires: glib2-devel intltool libao-devel libtool-ltdl-devel libsndfile-devel -BuildRequires: pulseaudio-libs-devel python3-devel python3-setuptools texinfo systemd gcc +BuildRequires: pulseaudio-libs-devel python3-devel python3-setuptools texinfo systemd gcc gcc-c++ make Provides: speech-dispatcher-utils = %{version}-%{release} Obsoletes: speech-dispatcher-utils < %{version}-%{release} Requires: python3-speechd = %{version}-%{release} speech-dispatcher-espeak-ng @@ -81,10 +79,15 @@ Python v3 module for speech-dispatcher %prep %autosetup -n speech-dispatcher-%{version} -p1 tar xf %{SOURCE1} + %build %configure --with-alsa --with-pulse --with-libao --without-oss --without-nas --with-flite --without-espeak \ - --with-espeak-ng --sysconfdir=%{_sysconfdir} --with-default-audio-method=pulse + --with-espeak-ng --sysconfdir=%{_sysconfdir} --with-default-audio-method=pulse \ + --with-kali=no --with-baratinoo=no --with-voxin=no \ + --with-module-bindir=%{_libdir}/speech-dispatcher-modules/ + %make_build V=1 + %install %make_install install -d %{buildroot}%{_unitdir} @@ -137,7 +140,8 @@ if [ $1 = 0 ]; then fi %files -f speech-dispatcher.lang -%doc COPYING NEWS README +%license COPYING.LGPL COPYING.GPL-2 COPYING.GPL-3 +%doc NEWS README.md %dir %{_sysconfdir}/speech-dispatcher/{clients,modules} %config(noreplace) %{_sysconfdir}/speech-dispatcher/speechd.conf %config(noreplace) %{_sysconfdir}/speech-dispatcher/clients/*.conf @@ -165,6 +169,7 @@ fi %files espeak-ng %config(noreplace) %{_sysconfdir}/speech-dispatcher/modules/espeak-ng.conf %{_libdir}/speech-dispatcher-modules/sd_espeak-ng +%{_libdir}/speech-dispatcher-modules/sd_espeak-ng-mbrola %files festival %config(noreplace) %{_sysconfdir}/speech-dispatcher/modules/festival.conf @@ -178,6 +183,9 @@ fi %{python3_sitearch}/speechd* %changelog +* Mon May 23 2022 wulei - 0.11.1-1 +- Update package + * Sat Jul 31 2021 chenyanpanHW - 0.8.8-12 - DESC: delete -S git from %autosetup, and delete BuildRequires git