diff --git a/0001-Add-support-for-eSpeak-NG.patch b/0001-Add-support-for-eSpeak-NG.patch deleted file mode 100644 index 9fcb4de..0000000 --- a/0001-Add-support-for-eSpeak-NG.patch +++ /dev/null @@ -1,549 +0,0 @@ -From 6df30ecf05440a1a0f197817d3e39c15d04f15c0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= -Date: Wed, 28 Feb 2018 22:49:07 +0100 -Subject: [PATCH] Add support for eSpeak-NG - -It is mostly a copy of the eSpeak driver. - -Squashed with Dave Mielke's commit: -Some modifications to the introduction of the eSpeak-NG speech driver: (dm) - -Fix the order of lists that are alphabetically sorted by driver code. -Undo the changes to the derived Portuguese documents. ---- - Documents/CONTRIBUTORS | 1 + - Documents/Manual-BRLTTY/English/driver-codes.sgml | 1 + - .../Manual-BRLTTY/English/speech-drivers.sgml | 2 + - Documents/Manual-BRLTTY/French/driver-codes.sgml | 1 + - Documents/Manual-BRLTTY/French/speech-drivers.sgml | 2 + - Documents/README.DOS | 5 +- - Documents/brltty.1.in | 3 + - Documents/brltty.conf.in | 7 + - Documents/speech-driver.csv | 1 + - Drivers/Speech/eSpeak-NG/Makefile.in | 29 ++++ - Drivers/Speech/eSpeak-NG/README | 34 ++++ - Drivers/Speech/eSpeak-NG/speech.c | 174 +++++++++++++++++++++ - README | 1 + - brltty.spec.in | 25 +++ - cfg-android | 1 + - cfg-darwin | 1 + - cfg-dos | 1 + - config.mk.in | 1 + - configure.ac | 4 + - 19 files changed, 292 insertions(+), 2 deletions(-) - create mode 100644 Drivers/Speech/eSpeak-NG/Makefile.in - create mode 100644 Drivers/Speech/eSpeak-NG/README - create mode 100644 Drivers/Speech/eSpeak-NG/speech.c - -diff --git a/Documents/CONTRIBUTORS b/Documents/CONTRIBUTORS -index 5a3af85b8..282ea193a 100644 ---- a/Documents/CONTRIBUTORS -+++ b/Documents/CONTRIBUTORS -@@ -50,6 +50,7 @@ Nikita Tseykovets - Ole Guldberg - Olivier Bert - Ollie Mallard -+olysonek - Oscar Fernandez - Pete De Vasto - Peter Lundblad -diff --git a/Documents/Manual-BRLTTY/English/driver-codes.sgml b/Documents/Manual-BRLTTY/English/driver-codes.sgml -index 09eae4039..870cde7e3 100644 ---- a/Documents/Manual-BRLTTY/English/driver-codes.sgml -+++ b/Documents/Manual-BRLTTY/English/driver-codes.sgml -@@ -10,6 +10,7 @@ bm|Baum (Native, HT, PB1, PB2)@ - bn|BrailleNote@ - cb|CombiBraille@ - ec|EcoBraille@ -+en|eSpeak-NG@ - es|eSpeak@ - eu|EuroBraille@ - fl|FestivalLite@ -diff --git a/Documents/Manual-BRLTTY/English/speech-drivers.sgml b/Documents/Manual-BRLTTY/English/speech-drivers.sgml -index 49caa060f..66c66e850 100644 ---- a/Documents/Manual-BRLTTY/English/speech-drivers.sgml -+++ b/Documents/Manual-BRLTTY/English/speech-drivers.sgml -@@ -8,6 +8,8 @@ CombiBraille - |@ - eSpeak - |text to speech engine@ -+eSpeak-NG -+ |text to speech engine@ - ExternalSpeech - |runs /usr/local/bin/externalspeech@ - Festival -diff --git a/Documents/Manual-BRLTTY/French/driver-codes.sgml b/Documents/Manual-BRLTTY/French/driver-codes.sgml -index 09eae4039..870cde7e3 100644 ---- a/Documents/Manual-BRLTTY/French/driver-codes.sgml -+++ b/Documents/Manual-BRLTTY/French/driver-codes.sgml -@@ -10,6 +10,7 @@ bm|Baum (Native, HT, PB1, PB2)@ - bn|BrailleNote@ - cb|CombiBraille@ - ec|EcoBraille@ -+en|eSpeak-NG@ - es|eSpeak@ - eu|EuroBraille@ - fl|FestivalLite@ -diff --git a/Documents/Manual-BRLTTY/French/speech-drivers.sgml b/Documents/Manual-BRLTTY/French/speech-drivers.sgml -index 9d079b6c6..ede82d398 100644 ---- a/Documents/Manual-BRLTTY/French/speech-drivers.sgml -+++ b/Documents/Manual-BRLTTY/French/speech-drivers.sgml -@@ -6,6 +6,8 @@ CombiBraille - |@ - eSpeak - |text to speech engine@ -+eSpeak-NG -+ |text to speech engine@ - ExternalSpeech - |runs /usr/local/bin/externalspeech@ - Festival -diff --git a/Documents/README.DOS b/Documents/README.DOS -index eca9540ec..5b5de15c4 100644 ---- a/Documents/README.DOS -+++ b/Documents/README.DOS -@@ -285,8 +285,9 @@ You should be able to use a configure command like this one:: - --disable-api --disable-icu --disable-x \ - --without-usb-package --without-bluetooth-package \ - --without-libbraille --with-braille-driver=-vr,all \ -- --without-espeak --without-flite \ -- --without-speechd --with-speech-driver=all \ -+ --without-espeak --without-espeak-ng \ -+ --without-flite --without-speechd \ -+ --with-speech-driver=all \ - --with-screen-driver=pb,-all - - The ``cfg-dos`` Script -diff --git a/Documents/brltty.1.in b/Documents/brltty.1.in -index ab7b3c1db..b95aaa964 100644 ---- a/Documents/brltty.1.in -+++ b/Documents/brltty.1.in -@@ -714,6 +714,9 @@ CombiBraille - .B ec - EcoBraille - .TP 4 -+.B en -+eSpeak-NG -+.TP 4 - .B es - eSpeak - .TP 4 -diff --git a/Documents/brltty.conf.in b/Documents/brltty.conf.in -index e11273674..80967177a 100644 ---- a/Documents/brltty.conf.in -+++ b/Documents/brltty.conf.in -@@ -343,6 +343,7 @@ - #speech-driver an # Android (text to speech engine) - #speech-driver bl # BrailleLite - #speech-driver cb # CombiBraille -+#speech-driver en # eSpeak-NG (text to speech engine) - #speech-driver es # eSpeak (text to speech engine) - #speech-driver fl # FestivalLite (text to speech engine) - #speech-driver fv # Festival (text to speech engine) -@@ -383,6 +384,12 @@ - #speech-parameters es:PunctList= - #speech-parameters es:Voice=default - -+# eSpeak-NG Speech Driver Parameters -+#speech-parameters en:MaxRate=450 # [80-] -+#speech-parameters en:Path= -+#speech-parameters en:PunctList= -+#speech-parameters en:Voice=en -+ - # ExternalSpeech Speech Driver Parameters - #speech-parameters xs:Program=/usr/local/bin/externalspeech - #speech-parameters xs:Uid=65534 -diff --git a/Documents/speech-driver.csv b/Documents/speech-driver.csv -index 2e339a6bf..b56e85cbf 100644 ---- a/Documents/speech-driver.csv -+++ b/Documents/speech-driver.csv -@@ -4,6 +4,7 @@ - "bl","BrailleLite" - "cb","CombiBraille" - "es","eSpeak (text to speech engine)" -+"en","eSpeak-NG (text to speech engine)" - "fl","FestivalLite (text to speech engine)" - "fv","Festival (text to speech engine)" - "gs","GenericSay (pipes to /usr/local/bin/say)" -diff --git a/Drivers/Speech/eSpeak-NG/Makefile.in b/Drivers/Speech/eSpeak-NG/Makefile.in -new file mode 100644 -index 000000000..d91f9c59d ---- /dev/null -+++ b/Drivers/Speech/eSpeak-NG/Makefile.in -@@ -0,0 +1,29 @@ -+############################################################################### -+# BRLTTY - A background process providing access to the console screen (when in -+# text mode) for a blind person using a refreshable braille display. -+# -+# Copyright (C) 1995-2018 by The BRLTTY Developers. -+# -+# BRLTTY comes with ABSOLUTELY NO WARRANTY. -+# -+# This is free software, placed under the terms of the -+# GNU Lesser General Public License, as published by the Free Software -+# Foundation; either version 2.1 of the License, or (at your option) any -+# later version. Please see the file LICENSE-LGPL for details. -+# -+# Web Page: http://brltty.com/ -+# -+# This software is maintained by Dave Mielke . -+############################################################################### -+ -+DRIVER_CODE = en -+DRIVER_NAME = eSpeak-NG -+DRIVER_COMMENT = text to speech engine -+DRIVER_VERSION = 0.1 -+DRIVER_DEVELOPERS = Nicolas Pitre , Ondřej Lysoněk -+SPK_OBJS = @speech_libraries_en@ -+include $(SRC_TOP)speech.mk -+ -+speech.$O: -+ $(CC) $(SPK_CFLAGS) -I$(ESPEAK_NG_ROOT)/include -c $(SRC_DIR)/speech.c -+ -diff --git a/Drivers/Speech/eSpeak-NG/README b/Drivers/Speech/eSpeak-NG/README -new file mode 100644 -index 000000000..825848aa0 ---- /dev/null -+++ b/Drivers/Speech/eSpeak-NG/README -@@ -0,0 +1,34 @@ -+This directory contains the BRLTTY speech driver for the eSpeak-NG text to -+speech engine. The eSpeak-NG web site is -+https://github.com/espeak-ng/espeak-ng/. -+ -+eSpeak-NG comes with a simple command-line tool called espeak-ng which can be -+used to test it, and to recompile modified dictionaries, etc. Please see -+the espeak-ng man page for more information. -+ -+BRLTTY's configure script automatically includes this driver if the -+eSpeak-NG development library is installed. -+ -+This driver recognizes the following parameters: -+ -+path -+ -+ Specifies the directory containing the espeak-ng-data directory. -+ If not specified, the default location is used. -+ -+punctlist -+ -+ Specified a list of punctuation characters whose names are to be -+ spoken when the speech punctuation parameter is set to "Some". -+ If not specified, a default list is used. -+ -+voice -+ -+ Specifies a voice/language to use. The complete list of available -+ voices may be obtained with the command 'espeak-ng --voices'. -+ -+maxrate -+ -+ Overrides the maximum speech rate value. The default is 450. -+ This cannot be lower than 80. -+ -diff --git a/Drivers/Speech/eSpeak-NG/speech.c b/Drivers/Speech/eSpeak-NG/speech.c -new file mode 100644 -index 000000000..af918c971 ---- /dev/null -+++ b/Drivers/Speech/eSpeak-NG/speech.c -@@ -0,0 +1,174 @@ -+/* -+ * BRLTTY - A background process providing access to the console screen (when in -+ * text mode) for a blind person using a refreshable braille display. -+ * -+ * Copyright (C) 1995-2018 by The BRLTTY Developers. -+ * -+ * BRLTTY comes with ABSOLUTELY NO WARRANTY. -+ * -+ * This is free software, placed under the terms of the -+ * GNU Lesser General Public License, as published by the Free Software -+ * Foundation; either version 2.1 of the License, or (at your option) any -+ * later version. Please see the file LICENSE-LGPL for details. -+ * -+ * Web Page: http://brltty.com/ -+ * -+ * This software is maintained by Dave Mielke . -+ */ -+ -+#include "prologue.h" -+ -+#include -+#include -+#include -+ -+#include "log.h" -+#include "parse.h" -+ -+typedef enum { -+ PARM_PATH, -+ PARM_PUNCTLIST, -+ PARM_VOICE, -+ PARM_MAXRATE -+} DriverParameter; -+#define SPKPARMS "path", "punctlist", "voice", "maxrate" -+ -+#include "spk_driver.h" -+ -+#include -+ -+static int maxrate = espeakRATE_MAXIMUM; -+ -+static void -+spk_say(volatile SpeechSynthesizer *spk, const unsigned char *buffer, size_t length, size_t count, const unsigned char *attributes) -+{ -+ int result; -+ -+ /* add 1 to the length in order to pass along the trailing zero */ -+ result = espeak_Synth(buffer, length+1, 0, POS_CHARACTER, 0, -+ espeakCHARS_UTF8, NULL, (void *)spk); -+ if (result != EE_OK) -+ logMessage(LOG_ERR, "eSpeak-NG: Synth() returned error %d", result); -+} -+ -+static void -+spk_mute(volatile SpeechSynthesizer *spk) -+{ -+ espeak_Cancel(); -+} -+ -+static int SynthCallback(short *audio, int numsamples, espeak_EVENT *events) -+{ -+ volatile SpeechSynthesizer *spk = events->user_data; -+ -+ while (events->type != espeakEVENT_LIST_TERMINATED) { -+ if (events->type == espeakEVENT_WORD) -+ tellSpeechLocation(spk, events->text_position - 1); -+ if (events->type == espeakEVENT_MSG_TERMINATED) -+ tellSpeechFinished(spk); -+ events++; -+ } -+ return 0; -+} -+ -+static void -+spk_drain(volatile SpeechSynthesizer *spk) -+{ -+ espeak_Synchronize(); -+} -+ -+static void -+spk_setVolume(volatile SpeechSynthesizer *spk, unsigned char setting) -+{ -+ int volume = getIntegerSpeechVolume(setting, 50); -+ espeak_SetParameter(espeakVOLUME, volume, 0); -+} -+ -+static void -+spk_setRate(volatile SpeechSynthesizer *spk, unsigned char setting) -+{ -+ int h_range = (maxrate - espeakRATE_MINIMUM)/2; -+ int rate = getIntegerSpeechRate(setting, h_range) + espeakRATE_MINIMUM; -+ espeak_SetParameter(espeakRATE, rate, 0); -+} -+ -+static void -+spk_setPitch(volatile SpeechSynthesizer *spk, unsigned char setting) -+{ -+ int pitch = getIntegerSpeechPitch(setting, 50); -+ espeak_SetParameter(espeakPITCH, pitch, 0); -+} -+ -+static void -+spk_setPunctuation(volatile SpeechSynthesizer *spk, SpeechPunctuation setting) -+{ -+ espeak_PUNCT_TYPE punct; -+ if (setting <= SPK_PUNCTUATION_NONE) -+ punct = espeakPUNCT_NONE; -+ else if (setting >= SPK_PUNCTUATION_ALL) -+ punct = espeakPUNCT_ALL; -+ else -+ punct = espeakPUNCT_SOME; -+ espeak_SetParameter(espeakPUNCTUATION, punct, 0); -+} -+ -+static int spk_construct(volatile SpeechSynthesizer *spk, char **parameters) -+{ -+ char *data_path, *voicename, *punctlist; -+ int result; -+ -+ spk->setVolume = spk_setVolume; -+ spk->setRate = spk_setRate; -+ spk->setPitch = spk_setPitch; -+ spk->setPunctuation = spk_setPunctuation; -+ spk->drain = spk_drain; -+ -+ logMessage(LOG_INFO, "eSpeak-NG version %s", espeak_Info(NULL)); -+ -+ data_path = parameters[PARM_PATH]; -+ if (data_path && !*data_path) -+ data_path = NULL; -+ result = espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, data_path, 0); -+ if (result < 0) { -+ logMessage(LOG_ERR, "eSpeak-NG: initialization failed"); -+ return 0; -+ } -+ -+ voicename = parameters[PARM_VOICE]; -+ if(!voicename || !*voicename) -+ voicename = "en"; -+ result = espeak_SetVoiceByName(voicename); -+ if (result != EE_OK) { -+ espeak_VOICE voice_select; -+ memset(&voice_select, 0, sizeof(voice_select)); -+ voice_select.languages = voicename; -+ result = espeak_SetVoiceByProperties(&voice_select); -+ } -+ if (result != EE_OK) { -+ logMessage(LOG_ERR, "eSpeak-NG: unable to load voice '%s'", voicename); -+ return 0; -+ } -+ -+ punctlist = parameters[PARM_PUNCTLIST]; -+ if (punctlist && *punctlist) { -+ wchar_t w_punctlist[strlen(punctlist) + 1]; -+ int i = 0; -+ while ((w_punctlist[i] = punctlist[i]) != 0) i++; -+ espeak_SetPunctuationList(w_punctlist); -+ } -+ -+ if (parameters[PARM_MAXRATE]) { -+ int val = atoi(parameters[PARM_MAXRATE]); -+ if (val > espeakRATE_MINIMUM) maxrate = val; -+ } -+ -+ espeak_SetSynthCallback(SynthCallback); -+ -+ return 1; -+} -+ -+static void spk_destruct(volatile SpeechSynthesizer *spk) -+{ -+ espeak_Cancel(); -+ espeak_Terminate(); -+} -diff --git a/README b/README -index 5fcd8c221..9fd946eb5 100644 ---- a/README -+++ b/README -@@ -210,6 +210,7 @@ The following speech synthesizers are supported: - - BrailleLite - - CombiBraille - - eSpeak [text to speech engine] -+- eSpeak-NG [text to speech engine] - - ExternalSpeech [runs /usr/local/bin/externalspeech] - - Festival [text to speech engine] - - FestivalLite [text to speech engine] -diff --git a/brltty.spec.in b/brltty.spec.in -index 8a4986c5d..f5aa33dc2 100644 ---- a/brltty.spec.in -+++ b/brltty.spec.in -@@ -144,6 +144,27 @@ Install this package if you would like to be able to use the - eSpeak text-to-speech engine. - - -+%package -n brltty-speech-espeak-ng -+Version: @PACKAGE_VERSION@ -+Release: 1 -+Group: System Environment/Daemons -+License: GPL -+ -+Requires: espeak-ng -+ -+BuildRequires: espeak-ng-devel -+ -+AutoProv: no -+AutoReq: yes -+ -+Summary: eSpeak-NG speech driver for BRLTTY. -+%description -n brltty-speech-espeak-ng -+This package provides the eSpeak-NG speech driver for BRLTTY. -+ -+Install this package if you would like to be able to use the -+eSpeak-NG text-to-speech engine. -+ -+ - %package -n brltty-speech-festival - Version: @PACKAGE_VERSION@ - Release: 1 -@@ -512,6 +533,7 @@ rm -fr "${RPM_BUILD_ROOT}" - %{_libdir}/brltty - %exclude %{_libdir}/brltty/libbrlttybba.so - %exclude %{_libdir}/brltty/libbrlttybxw.so -+%exclude %{_libdir}/brltty/libbrlttysen.so - %exclude %{_libdir}/brltty/libbrlttyses.so - %exclude %{_libdir}/brltty/libbrlttysfl.so - %exclude %{_libdir}/brltty/libbrlttysfv.so -@@ -541,6 +563,9 @@ rm -fr "${RPM_BUILD_ROOT}" - %files -n brltty-speech-espeak - %{_libdir}/brltty/libbrlttyses.so - -+%files -n brltty-speech-espeak-ng -+%{_libdir}/brltty/libbrlttysen.so -+ - %files -n brltty-speech-festival - %{_libdir}/brltty/libbrlttysfv.so - -diff --git a/cfg-android b/cfg-android -index 1c9ad3e14..db83a28a6 100755 ---- a/cfg-android -+++ b/cfg-android -@@ -89,6 +89,7 @@ export LDFLAGS="-Wl,--fix-cortex-a8" - --with-braille-driver=-ba,-bg,-tt,-vr,al,at,bm,bn,ce,eu,fs,hm,ht,hw,ic,ir,md,mm,mt,np,pg,pm,sk,vo \ - \ - --without-espeak \ -+ --without-espeak-ng \ - --without-flite \ - --without-mikropuhe \ - --without-speechd \ -diff --git a/cfg-darwin b/cfg-darwin -index 13741c371..992292717 100755 ---- a/cfg-darwin -+++ b/cfg-darwin -@@ -25,6 +25,7 @@ - --without-libbraille \ - \ - --without-espeak \ -+ --without-espeak-ng \ - --without-flite \ - --without-mikropuhe \ - --without-speechd \ -diff --git a/cfg-dos b/cfg-dos -index 82277980b..55427b7b2 100755 ---- a/cfg-dos -+++ b/cfg-dos -@@ -57,6 +57,7 @@ export LDFLAGS="" - --with-braille-driver=-vr,all \ - \ - --without-espeak \ -+ --without-espeak-ng \ - --without-flite \ - --without-mikropuhe \ - --without-speechd \ -diff --git a/config.mk.in b/config.mk.in -index ead6ca348..89af949de 100644 ---- a/config.mk.in -+++ b/config.mk.in -@@ -370,6 +370,7 @@ SCREEN_DRIVER_LIBRARIES = @screen_driver_libraries@ - SCREEN_DRIVERS = @screen_drivers@ - - ESPEAK_ROOT = @espeak_root@ -+ESPEAK_NG_ROOT = @espeak_ng_root@ - FLITE_ROOT = @flite_root@ - FLITE_LANGUAGE = @flite_language@ - FLITE_LEXICON = @flite_lexicon@ -diff --git a/configure.ac b/configure.ac -index 39eb98390..b86f85209 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1742,6 +1742,10 @@ BRLTTY_ARG_DISABLE( - BRLTTY_SPEECH_DRIVER([bl], [BrailleLite]) - BRLTTY_SPEECH_DRIVER([cb], [CombiBraille]) - -+ BRLTTY_IF_PACKAGE([eSpeak-NG], [espeak_ng], [include/espeak-ng/speak_lib.h], [dnl -+ BRLTTY_SPEECH_DRIVER([en], [eSpeak-NG], [-L$(ESPEAK_NG_ROOT)/lib -lespeak-ng]) -+ ]) -+ - BRLTTY_IF_PACKAGE([eSpeak], [espeak], [include/espeak/speak_lib.h], [dnl - BRLTTY_SPEECH_DRIVER([es], [eSpeak], [-L$(ESPEAK_ROOT)/lib -lespeak]) - ]) --- -2.14.3 - diff --git a/brltty-5.6-libs-add-ldflags.patch b/brltty-5.6-libs-add-ldflags.patch deleted file mode 100644 index d7545ce..0000000 --- a/brltty-5.6-libs-add-ldflags.patch +++ /dev/null @@ -1,108 +0,0 @@ -From bc609b45ee5b44247d528e9462cb28792753a267 Mon Sep 17 00:00:00 2001 -From: Dave Mielke -Date: Tue, 24 Apr 2018 17:41:28 -0400 -Subject: [PATCH] The distribution-supplied LDFLAGS should also be used when - making shared objects. (dm) - ---- - configure.ac | 73 +++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 38 insertions(+), 35 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 906a8f632..4e8b0ccb7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -377,7 +377,7 @@ in - solaris* ) LDFLAGS_DYNAMIC="";; - *) AC_MSG_ERROR([dynamic linkage not supported for ${host_os}]);; - esac --LDFLAGS_DYNAMIC="${LDFLAGS} BRLTTY_OPTIONS_LD2CC([${LDFLAGS_DYNAMIC}])" -+LDFLAGS_DYNAMIC="BRLTTY_OPTIONS_LD2CC([${LDFLAGS_DYNAMIC}])" - - if test "${GCC}" = "yes" - then -@@ -404,6 +404,7 @@ else - fi - - pkgconfig_flags_libs="--libs" -+ - BRLTTY_ARG_ENABLE( - [standalone-programs], - [statically linked executables], -@@ -429,40 +430,42 @@ test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes - AC_SUBST([can_make_BrlAPIref]) - - AC_CACHE_CHECK([for shared object creation command], [brltty_cv_prog_make_object_shared], [dnl --case "${host_os}" --in -- linux*|gnu*|openbsd*|freebsd*|kfreebsd*|netbsd*|*qnx*|cygwin*|mingw*|elf*) -- brltty_mkshr_ld_make="-shared" -- ;; -- solaris*) -- brltty_mkshr_ld_make="-G" -- ;; -- hpux*) -- brltty_mkshr_ld_make="-b" -- ;; -- osf*) -- brltty_mkshr_ld_make="-shared" -- ;; -- darwin*) -- brltty_mkshr_ld_make="-bundle" -- brltty_mkshr_ld_options="-flat_namespace -undefined suppress" -- brltty_mkshr_gcc_make="-bundle" -- ;; -- msdos*) -- brltty_mkshr_ld_make="not_supported_on_msdos" -- brltty_mkshr_ld_options="not_supported_on_msdos" -- brltty_mkshr_gcc_make="not_supported_on_msdos" -- ;; -- *) -- AC_MSG_ERROR([loadable module creation command not configured for ${host_os}]) -- ;; --esac --if test "${GCC}" = "yes" --then -- brltty_cv_prog_make_object_shared="\$(CC) ${brltty_mkshr_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mkshr_ld_options}]) -o" --else -- brltty_cv_prog_make_object_shared="\$(LD) ${brltty_mkshr_ld_make} ${brltty_mkshr_ld_options} -o" --fi]) -+ case "${host_os}" -+ in -+ linux*|gnu*|openbsd*|freebsd*|kfreebsd*|netbsd*|*qnx*|cygwin*|mingw*|elf*) -+ brltty_mkshr_ld_make="-shared" -+ ;; -+ solaris*) -+ brltty_mkshr_ld_make="-G" -+ ;; -+ hpux*) -+ brltty_mkshr_ld_make="-b" -+ ;; -+ osf*) -+ brltty_mkshr_ld_make="-shared" -+ ;; -+ darwin*) -+ brltty_mkshr_ld_make="-bundle" -+ brltty_mkshr_ld_options="-flat_namespace -undefined suppress" -+ brltty_mkshr_gcc_make="-bundle" -+ ;; -+ *) -+ AC_MSG_ERROR([loadable module creation command not configured for ${host_os}]) -+ brltty_mkshr_ld_make="NOT_SUPPORTED" -+ brltty_mkshr_ld_options="NOT_SUPPORTED" -+ brltty_mkshr_gcc_make="NOT_SUPPORTED" -+ ;; -+ esac -+ -+ if test "${GCC}" = "yes" -+ then -+ brltty_cv_prog_make_object_shared="\$(CC) ${brltty_mkshr_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mkshr_ld_options}])" -+ else -+ brltty_cv_prog_make_object_shared="\$(LD) ${brltty_mkshr_ld_make} ${brltty_mkshr_ld_options}" -+ fi -+ -+ brltty_cv_prog_make_object_shared="${brltty_cv_prog_make_object_shared} ${LDFLAGS} -o" -+]) - AC_SUBST([MKSHR], ["${brltty_cv_prog_make_object_shared}"]) - - AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_make_object_relocatable], [dnl diff --git a/brltty-5.6-libs-add-ldflags2.patch b/brltty-5.6-libs-add-ldflags2.patch deleted file mode 100644 index a51d645..0000000 --- a/brltty-5.6-libs-add-ldflags2.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/Bindings/OCaml/Makefile.in b/Bindings/OCaml/Makefile.in -index 47f7201..469f41e 100644 ---- a/Bindings/OCaml/Makefile.in -+++ b/Bindings/OCaml/Makefile.in -@@ -55,13 +55,13 @@ OCAML_FILES = $(OCAML_MISC) $(OCAML_CLIBS) $(OCAML_BCLIB) $(OCAML_NCLIB) - all : $(OCAML_FILES) - - $(OCAML_CLIBS) : brlapi_stubs.$O brlapi -- $(OCAMLMKLIB) $(API_LDFLAGS) -oc $(OCAML_LIB)_stubs brlapi_stubs.$O -+ $(OCAMLMKLIB) -ldopt "$(LDFLAGS)" $(API_LDFLAGS) -oc $(OCAML_LIB)_stubs brlapi_stubs.$O - - $(OCAML_BCLIB) : $(OCAML_CLIBS) brlapi.cmo - $(OCAMLC) -a $(OCAMLMKLIB_FLAGS) -o $(OCAML_LIB).cma brlapi.cmo - - $(OCAML_NCLIB) : $(OCAML_CLIBS) brlapi.cmx -- $(OCAMLMKLIB) $(OCAMLMKLIBOPT_FLAGS) -o $(OCAML_LIB) brlapi.cmx -+ $(OCAMLMKLIB) -ldopt "$(LDFLAGS)" $(OCAMLMKLIBOPT_FLAGS) -o $(OCAML_LIB) brlapi.cmx - - brlapi.cmi: brlapi.mli - $(OCAMLC) -o $@ -c brlapi.mli -diff --git a/configure.ac b/configure.ac -index daed454..8938c6b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -544,9 +544,9 @@ in - esac - if test "${GCC}" = "yes" - then -- brltty_cv_prog_mklib="\$(CC) ${brltty_mklib_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mklib_ld_options+${brltty_mklib_ld_options} }]) -o" -+ brltty_cv_prog_mklib="\$(CC) \$(LDFLAGS) ${brltty_mklib_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mklib_ld_options+${brltty_mklib_ld_options} }]) -o" - else -- brltty_cv_prog_mklib="\$(LD) ${brltty_mklib_ld_make} ${brltty_mklib_ld_options+${brltty_mklib_ld_options} } -o" -+ brltty_cv_prog_mklib="\$(LD) \$(LDFLAGS) ${brltty_mklib_ld_make} ${brltty_mklib_ld_options+${brltty_mklib_ld_options} } -o" - fi]) - AC_SUBST([MKLIB], ["${brltty_cv_prog_mklib}"]) - diff --git a/brltty-5.6.tar.xz b/brltty-5.6.tar.xz deleted file mode 100644 index 0a3d481..0000000 Binary files a/brltty-5.6.tar.xz and /dev/null differ diff --git a/brltty-loadLibrary.patch b/brltty-6.1-loadLibrary.patch similarity index 61% rename from brltty-loadLibrary.patch rename to brltty-6.1-loadLibrary.patch index 11ac936..a43c19e 100644 --- a/brltty-loadLibrary.patch +++ b/brltty-6.1-loadLibrary.patch @@ -1,10 +1,10 @@ -diff --git a/Bindings/Java/Native.java b/Bindings/Java/Native.java +diff --git a/Bindings/Java/NativeLibrary.java b/Bindings/Java/NativeLibrary.java index 8a3b003..c404bf2 100644 ---- a/Bindings/Java/Native.java -+++ b/Bindings/Java/Native.java -@@ -21,7 +21,15 @@ package org.a11y.BrlAPI; +--- a/Bindings/Java/NativeLibrary.java ++++ b/Bindings/Java/NativeLibrary.java +@@ -21,7 +21,15 @@ public class NativeLibrary { + } - public class Native { static { - System.loadLibrary("brlapi_java"); + try { @@ -15,7 +15,7 @@ index 8a3b003..c404bf2 100644 + } catch( UnsatisfiedLinkError f ) { + throw new UnsatisfiedLinkError("brlapi_java library load failed"); + } -+ } ++ } + new NativeLibrary().initializeNativeData(); } - - protected long handle; + } diff --git a/brltty-6.1.tar.xz b/brltty-6.1.tar.xz new file mode 100644 index 0000000..f0eee68 Binary files /dev/null and b/brltty-6.1.tar.xz differ diff --git a/brltty.spec b/brltty.spec index dba94ce..e389d8d 100644 --- a/brltty.spec +++ b/brltty.spec @@ -1,4 +1,4 @@ -%define api_ver 0.6.7 +%define api_ver 0.8.0 %define tcl_version tcl8.6 %{!?tcl_sitearch: %global tcl_sitearch %{_prefix}/%{_lib}/%{tcl_version}} @@ -6,8 +6,8 @@ %bcond_with speech Name: brltty -Version: 5.6 -Release: 35 +Version: 6.1 +Release: 1 Summary: Braille display driver for Linux/Unix License: LGPLv2+ URL: http://brltty.app/ @@ -16,22 +16,13 @@ Source0: http://brltty.app/archive/%{name}-%{version}.tar.xz Source1: brltty.service #patch0~2 from fedora -Patch0: brltty-loadLibrary.patch +Patch0: brltty-6.1-loadLibrary.patch %if %{with speech} Patch1: brltty-5.0-libspeechd.patch %endif -%if %{with espeak} -Patch2: 0001-Add-support-for-eSpeak-NG.patch -%endif - -#patch3~4 from upstream -Patch3: brltty-5.6-libs-add-ldflags.patch -Patch4: brltty-5.6-libs-add-ldflags2.patch - - -BuildRequires: byacc glibc-kernheaders bluez-libs-devel systemd gettext gdb +BuildRequires: brltty tcl-brltty byacc glibc-kernheaders bluez-libs-devel systemd gettext gdb BuildRequires: python3-devel autoconf at-spi2-core-devel alsa-lib-devel %if %{with espeak} @@ -150,7 +141,7 @@ PYTHONS= --without-espeak %endif -%make_build +make VERBOSE=1 find . \( -path ./doc -o -path ./Documents \) -prune -o \ @@ -172,7 +163,9 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/libbrlapi.a %find_lang %{name} cp -p %{name}.lang ../ - +cp -a %{_libdir}/libbrlapi.so.* %{buildroot}%{_libdir} +cp -a %{_libdir}/tcl8.6/brlapi-* %{buildroot}%{_libdir}/tcl8.6 + /usr/bin/2to3 -wn ${RPM_BUILD_ROOT}/etc/brltty/Contraction/latex-access.ctb sed -i 's|/usr/bin/python|/usr/bin/python3|g' ${RPM_BUILD_ROOT}/etc/brltty/Contraction/latex-access.ctb @@ -222,7 +215,7 @@ fi %exclude %{_libdir}/brltty/libbrlapi_java.so %{_sysconfdir}/brltty/ -%{_sysconfdir}/X11/Xsession.d/60xbrlapi +%{_sysconfdir}/X11/Xsession.d/90xbrlapi %{_datadir}/polkit-1/actions/org.a11y.brlapi.policy %exclude %{_datadir}/gdm/greeter/autostart/xbrlapi.desktop @@ -251,6 +244,7 @@ fi %files -n tcl-%{name} %{tcl_sitearch}/brlapi-%{api_ver} +%{tcl_sitearch}/brlapi-0.6.7 %files -n python3-%{name} %{python3_sitearch}/brlapi.cpython-*.so @@ -275,6 +269,12 @@ fi %changelog +* Thu Jul 23 2020 gaihuiying - 6.1-1 +- Type:requirement +- Id:NA +- SUG:NA +- DESC:update brltty version to 6.1 + * Wed Mar 18 2020 songnannan - 5.6-35 - change the path for tcl