diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 7b2d613..796fed6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1 @@ -brltty-4.2.tar.gz -/brltty-4.3.tar.gz -/brltty-4.5.tar.gz -/brltty-5.0.tar.xz -/brltty-5.1.tar.xz -/brltty-5.2.tar.xz -/brltty-5.3.tar.xz -/brltty-5.3.1.tar.xz -/brltty-5.4.tar.xz -/brltty-5.5.tar.xz -/brltty-5.6.tar.xz +/brltty-*.tar.xz 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/brlapi-config.h b/brlapi-config.h new file mode 100644 index 0000000..c369b45 --- /dev/null +++ b/brlapi-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "config-32.h" +#elif __WORDSIZE == 64 +#include "config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/brlapi-forbuild.h b/brlapi-forbuild.h new file mode 100644 index 0000000..4f5093e --- /dev/null +++ b/brlapi-forbuild.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "forbuild-32.h" +#elif __WORDSIZE == 64 +#include "forbuild-64.h" +#else +#error "Unknown word size" +#endif diff --git a/brltty-5.0-libspeechd.patch b/brltty-5.0-libspeechd.patch deleted file mode 100644 index 06909e0..0000000 --- a/brltty-5.0-libspeechd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Drivers/Speech/SpeechDispatcher/speech.c b/Drivers/Speech/SpeechDispatcher/speech.c -index d73250a..df92708 100644 ---- a/Drivers/Speech/SpeechDispatcher/speech.c -+++ b/Drivers/Speech/SpeechDispatcher/speech.c -@@ -34,7 +34,7 @@ typedef enum { - - #include "spk_driver.h" - --#include -+#include - - static SPDConnection *connectionHandle = NULL; - static const char *moduleName; 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-loadLibrary.patch b/brltty-6.3-loadLibrary.patch similarity index 52% rename from brltty-loadLibrary.patch rename to brltty-6.3-loadLibrary.patch index 11ac936..8b64481 100644 --- a/brltty-loadLibrary.patch +++ b/brltty-6.3-loadLibrary.patch @@ -1,10 +1,10 @@ -diff --git a/Bindings/Java/Native.java b/Bindings/Java/Native.java -index 8a3b003..c404bf2 100644 ---- a/Bindings/Java/Native.java -+++ b/Bindings/Java/Native.java -@@ -21,7 +21,15 @@ package org.a11y.BrlAPI; +diff --git a/Bindings/Java/NativeComponent.java b/Bindings/Java/NativeComponent.java +index 2e6304a..cf6c9b0 100644 +--- a/Bindings/Java/NativeComponent.java ++++ b/Bindings/Java/NativeComponent.java +@@ -23,7 +23,15 @@ public class NativeComponent extends Component { + private native static void initializeNativeData (); - 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"); + } -+ } ++ } + initializeNativeData(); } - protected long handle; diff --git a/brltty-6.8-libspeechd.patch b/brltty-6.8-libspeechd.patch new file mode 100644 index 0000000..2f4a1d8 --- /dev/null +++ b/brltty-6.8-libspeechd.patch @@ -0,0 +1,11 @@ +--- a/Drivers/Speech/SpeechDispatcher/speech.c~ 2025-05-25 03:58:25.000000000 -0500 ++++ b/Drivers/Speech/SpeechDispatcher/speech.c 2025-07-07 08:58:19.519919859 -0500 +@@ -36,7 +36,7 @@ + + #include "spk_driver.h" + +-#include ++#include + + static SPDConnection *connectionHandle = NULL; + static unsigned int autospawn; diff --git a/brltty.service b/brltty.service index 5cb9f3a..259b9ca 100644 --- a/brltty.service +++ b/brltty.service @@ -1,5 +1,6 @@ [Unit] Description=Braille display driver for Linux/Unix +Before=getty.target display-manager.service [Service] Type=forking diff --git a/brltty.spec b/brltty.spec index 4138d2b..bbe3610 100644 --- a/brltty.spec +++ b/brltty.spec @@ -1,30 +1,34 @@ -%define pkg_version 5.6 -%define api_version 0.6.7 +%define pkg_version 6.8 +%define api_version 0.8.7 -%if 0%{?rhel} && 0%{?rhel} <= 7 -# disable python3 by default -%bcond_with python3 -%else -%bcond_without python3 -%endif +# minimal means brltty-minimal subpackage with minimal deps for +# braille support in Anaconda installer +# https://bugzilla.redhat.com/show_bug.cgi?id=1584679 +%bcond minimal 1 + +# enable python3 by default +%bcond python3 1 -%if 0%{?rhel} > 7 || 0%{?fedora} > 28 # disable python2 by default -%bcond_with python2 -%else -%bcond_without python2 -%endif +%bcond python2 0 %{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)} %{!?tcl_sitearch: %global tcl_sitearch %{_prefix}/%{_lib}/tcl%{tcl_version}} # with speech dispatcher iff on Fedora: -%define with_speech_dispatcher 0%{?fedora} +%bcond speech_dispatcher %{defined fedora} # with espeak support iff on Fedora: -%define with_espeak 0%{?fedora} +%bcond espeak %{defined fedora} -%global with_ocaml 1 +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +%ifnarch %{ix86} +%bcond ocaml %{defined fedora} +%endif + +%ifarch %{java_arches} +%bcond java %{defined fedora} +%endif # Filter private libraries %global _privatelibs libbrltty.+\.so.* @@ -32,37 +36,50 @@ %global __requires_exclude ^(%{_privatelibs})$ Name: brltty -Version: %{pkg_version} -Release: 19%{?dist} -License: LGPLv2+ +Version: 6.8 +Release: 6%{?dist} +License: LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later URL: http://brltty.app/ Source0: http://brltty.app/archive/%{name}-%{version}.tar.xz Source1: brltty.service -Source2: dracut-module-setup.sh -Source3: dracut-brltty-start.sh -Source4: dracut-brltty-cleanup.sh -Source5: dracut-parse-brltty-opts.sh -Source6: dracut-README -Patch1: brltty-loadLibrary.patch +Source2: brlapi-config.h +Source3: brlapi-forbuild.h +Source4: brltty.sysusers +Patch1: brltty-6.3-loadLibrary.patch # libspeechd.h moved in latest speech-dispatch (NOT sent upstream) -Patch2: brltty-5.0-libspeechd.patch -# Upstream patch (commits 9476bc50dc8 and 796fb282e3): -Patch3: 0001-Add-support-for-eSpeak-NG.patch -# https://github.com/brltty/brltty/commit/bc609b45ee5b44247d528e9462cb28792753a267 -Patch4: brltty-5.6-libs-add-ldflags.patch -# https://github.com/brltty/brltty/commit/03110db3ca9110d6fb2f7056d62fc07418c4024e -Patch5: brltty-5.6-libs-add-ldflags2.patch +Patch2: brltty-6.8-libspeechd.patch Summary: Braille display driver for Linux/Unix -BuildRequires: byacc, glibc-kernheaders, bluez-libs-devel, systemd -BuildRequires: gettext, at-spi2-core-devel, alsa-lib-devel -%if %{with_espeak} +BuildRequires: byacc +BuildRequires: glibc-kernheaders +BuildRequires: gcc +BuildRequires: bluez-libs-devel +BuildRequires: systemd +BuildRequires: systemd-rpm-macros +BuildRequires: lua-devel +BuildRequires: gettext +BuildRequires: at-spi2-core-devel +BuildRequires: alsa-lib-devel +%if %{with espeak} BuildRequires: espeak-devel %endif BuildRequires: espeak-ng-devel -BuildRequires: /usr/bin/2to3 BuildRequires: autoconf +BuildRequires: automake +BuildRequires: polkit-devel +BuildRequires: libicu-devel +BuildRequires: doxygen +BuildRequires: linuxdoc-tools +BuildRequires: ncurses-devel +%if %{with python2} +BuildRequires: python2-docutils +BuildRequires: python2-setuptools +%endif +%if %{with python3} +BuildRequires: python3-docutils +BuildRequires: python3-setuptools +%endif +Conflicts: brltty-minimal -Requires: brlapi%{?_isa} = %{api_version}-%{release} # work around a bug in the install process: Requires(post): coreutils Requires(post): systemd @@ -75,13 +92,12 @@ access to the Linux/Unix console (when in text mode) for a blind person using a refreshable braille display. It drives the braille display and provides complete screen review functionality. -%if %{with_speech_dispatcher} +%if %{with speech_dispatcher} BRLTTY can also work with speech synthesizers; if you want to use it with Speech Dispatcher, please install also package %{name}-speech-dispatcher. %package speech-dispatcher Summary: Speech Dispatcher driver for BRLTTY -License: LGPLv2+ BuildRequires: speech-dispatcher-devel Requires: %{name}%{?_isa} = %{pkg_version}-%{release} %description speech-dispatcher @@ -90,32 +106,27 @@ This package provides the Speech Dispatcher driver for BRLTTY. %package docs Summary: Documentation for BRLTTY -License: LGPLv2+ -Requires: %{name} = %{pkg_version}-%{release} BuildArch: noarch %description docs This package provides the documentation for BRLTTY. %package xw Summary: XWindow driver for BRLTTY -License: LGPLv2+ BuildRequires: libSM-devel libICE-devel libX11-devel libXaw-devel libXext-devel libXt-devel libXtst-devel Requires: %{name}%{?_isa} = %{pkg_version}-%{release} -Requires: xorg-x11-fonts-misc, ucs-miscfixed-fonts +Requires: xorg-x11-fonts-misc %description xw This package provides the XWindow driver for BRLTTY. %package at-spi2 Summary: AtSpi2 driver for BRLTTY -License: LGPLv2+ Requires: %{name}%{?_isa} = %{pkg_version}-%{release} %description at-spi2 This package provides the AtSpi2 driver for BRLTTY. -%if %{with_espeak} +%if %{with espeak} %package espeak Summary: eSpeak driver for BRLTTY -License: LGPLv2+ Requires: %{name}%{?_isa} = %{pkg_version}-%{release} %description espeak This package provides the eSpeak driver for BRLTTY. @@ -123,9 +134,8 @@ This package provides the eSpeak driver for BRLTTY. %package espeak-ng Summary: eSpeak-NG driver for BRLTTY -License: LGPLv2+ Requires: %{name}%{?_isa} = %{pkg_version}-%{release} -%if ! %{with_espeak} +%if %{without espeak} Obsoletes: brltty-espeak <= 5.6-5 %endif %description espeak-ng @@ -133,10 +143,8 @@ This package provides the eSpeak-NG driver for BRLTTY. %package -n brlapi Version: %{api_version} -License: LGPLv2+ Summary: Application Programming Interface for BRLTTY -Requires: %{name}%{?_isa} = %{pkg_version}-%{release} -Requires(pre): glibc-common, shadow-utils +Requires(pre): glibc-common Requires(post): coreutils, util-linux %description -n brlapi This package provides the run-time support for the Application @@ -147,7 +155,6 @@ a refreshable braille display. %package -n brlapi-devel Version: %{api_version} -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} Summary: Headers, static archive, and documentation for BrlAPI @@ -165,7 +172,6 @@ which directly accesses a refreshable braille display. %package -n tcl-brlapi Version: %{api_version} -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: tcl-devel Summary: Tcl binding for BrlAPI @@ -176,7 +182,6 @@ This package provides the Tcl binding for BrlAPI. %package -n python2-brlapi %{?python_provide:%python_provide python2-brlapi} Version: %{api_version} -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: Cython BuildRequires: python2-devel @@ -190,7 +195,6 @@ This package provides the Python 2 binding for BrlAPI. %package -n python3-brlapi %{?python_provide:%python_provide python3-brlapi} Version: %{api_version} -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: python3-Cython BuildRequires: python3-devel @@ -203,22 +207,24 @@ Summary: Python 3 binding for BrlAPI This package provides the Python 3 binding for BrlAPI. %endif +%if %{with java} %package -n brlapi-java Version: %{api_version} -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: jpackage-utils BuildRequires: java-devel Summary: Java binding for BrlAPI %description -n brlapi-java This package provides the Java binding for BrlAPI. +%endif -%if 0%{?with_ocaml} +%if %{with ocaml} %package -n ocaml-brlapi Version: %{api_version} -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: ocaml +BuildRequires: ocaml-findlib +BuildRequires: make Summary: OCaml binding for BrlAPI %description -n ocaml-brlapi This package provides the OCaml binding for BrlAPI. @@ -231,6 +237,15 @@ Requires: dracut %description dracut This package provides brltty module for Dracut. +%if %{with minimal} +%package minimal +Summary: Stripped down brltty version for Anaconda installer +Conflicts: brltty +%description minimal +This package provides stripped down brltty version for Anaconda +installer. +%endif + %define version %{pkg_version} %prep @@ -238,30 +253,35 @@ This package provides brltty module for Dracut. mv %{name}-%{version} python2 pushd python2 -%patch1 -p1 -b .loadLibrary -%patch2 -p1 -b .libspeechd -%patch3 -p1 -b .espeak-ng -%patch4 -p1 -b .libs-add-ldflags -%patch5 -p1 -b .libs-add-ldflags2 +%autopatch -p1 # remove packaged binary file rm -f Programs/brltty-ktb + +# produce debuginfo for the OCaml interface +sed -i 's/@OCAMLC@/& -g/;s/@OCAMLOPT@/& -g/;s/@OCAMLMKLIB@/& -g/' \ + Bindings/OCaml/Makefile.in popd # Make a copy of the source tree for building the Python 3 module # Make it all time, we just gonna ignore python2 or python3 when not needed cp -a python2 python3 +%if %{with minimal} +cp -a python2 minimal +%endif %build # If MAKEFLAGS=-jN is set it would break local builds. unset MAKEFLAGS +%if %{with java} # Add the openjdk include directories to CPPFLAGS for i in -I/usr/lib/jvm/java/include{,/linux}; do java_inc="$java_inc $i" done export CPPFLAGS="$java_inc" +%endif export LDFLAGS="%{?build_ldflags}" export CFLAGS="%{optflags} -fno-strict-aliasing $LDFLAGS" @@ -272,16 +292,41 @@ export CXXFLAGS="%{optflags} -fno-strict-aliasing $LDFLAGS" configure_opts=" \ --disable-stripping \ --without-curses \ -%if %{with_speech_dispatcher} +%if %{with speech_dispatcher} --with-speechd=%{_prefix} \ %endif -%if ! %{with_espeak} +%if %{without espeak} --without-espeak \ %endif - --with-install-root=$RPM_BUILD_ROOT +%if %{with java} + --with-install-root=%{buildroot} \ JAVA_JAR_DIR=%{_jnidir} \ JAVA_JNI_DIR=%{_libdir}/brltty \ JAVA_JNI=yes" +%else + --with-install-root=%{buildroot}" +%endif + +configure_opts_minimal=" \ + --disable-stripping \ + --without-curses \ + --without-speechd \ + --without-espeak \ + --disable-icu \ + --disable-polkit \ + --disable-java-bindings \ + --disable-ocaml-bindings \ + --disable-python-bindings \ + --disable-tcl-bindings \ + --disable-speech-support \ + --without-pcm-package \ + --without-midi-package \ + --with-install-root=%{buildroot} \ + --with-configuration-file=brltty-minimal.conf \ + --with-drivers-directory=%{_libdir}/brltty-minimal \ + --with-tables-directory=%{_sysconfdir}/brltty-minimal \ + --with-scripts-directory=%{_libexecdir}/brltty-minimal \ + JAVA_JNI=no" export PYTHONCOERCECLOCALE=0 @@ -294,21 +339,44 @@ pushd python2 %configure $configure_opts PYTHON=%{__python2} # Parallel build seems broken, thus disabling it make + +# documents +pushd Documents +make +popd + popd PYTHONS="$PYTHONS python2" %endif + +%if %{with minimal} +# ... and then do it again for minimal +pushd minimal +./autogen +%configure $configure_opts_minimal +make + +popd +%endif + + %if %{with python3} # ... and then do it again for the Python 3 module pushd python3 ./autogen -%configure $configure_opts PYTHON=%{__python3} CYTHON=%{_bindir}/cython3 +%configure $configure_opts PYTHON=%{__python3} CYTHON=%{_bindir}/cython make + +# documents +pushd Documents +make +popd + popd PYTHONS="$PYTHONS python3" %endif - for python in $PYTHONS do pushd $python find . -name '*.sgml' | @@ -335,8 +403,8 @@ for python in $PYTHONS done %install -%if 0%{?with_ocaml} -mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs +%if %{with ocaml} +mkdir -p %{buildroot}%{_libdir}/ocaml/stublibs %endif %if %{with python2} @@ -348,6 +416,28 @@ make install JAVA_JAR_DIR=%{_jnidir} \ popd %endif + +%if %{with minimal} +# minimal +pushd minimal +make install + +# drop extra drivers +pushd %{buildroot}%{_libdir}/brltty-minimal +rm -f libbrlttybba.so libbrlttybxw.so libbrlttyxa2.so libbrlttysen.so \ + libbrlttyses.so libbrlapi_java.so +popd + +# rename brltty to brltty-minimal +mv %{buildroot}%{_bindir}/brltty %{buildroot}%{_bindir}/brltty-minimal + +# install config +install -d -m 755 "%{buildroot}%{_sysconfdir}" +install -p -m 644 Documents/brltty.conf "%{buildroot}%{_sysconfdir}/brltty-minimal.conf" +popd +%endif + + %if %{with python3} # Python 3 pushd python3 @@ -364,11 +454,16 @@ pushd python3 pushd python2 %endif -install -d -m 755 "${RPM_BUILD_ROOT}%{_sysconfdir}" "$RPM_BUILD_ROOT%{_mandir}/man5" -install -m 644 Documents/brltty.conf "${RPM_BUILD_ROOT}%{_sysconfdir}" -echo ".so man1/brltty.1" > $RPM_BUILD_ROOT%{_mandir}/man5/brltty.conf.5 +# install polkit rules +pushd Authorization/Polkit +make install +popd -install -Dpm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/brltty.service +install -d -m 755 "%{buildroot}%{_sysconfdir}" "%{buildroot}%{_mandir}/man5" +install -p -m 644 Documents/brltty.conf "%{buildroot}%{_sysconfdir}" +echo ".so man1/brltty.1" > %{buildroot}%{_mandir}/man5/brltty.conf.5 + +install -Dpm 644 %{SOURCE1} %{buildroot}%{_unitdir}/brltty.service cp -p LICENSE* ../ @@ -387,35 +482,52 @@ for i in Drivers/Speech/SpeechDispatcher/README \ mkdir -p ../${i%/*} && cp -rp $i ../$i || exit 1 done -# Don't want static lib -rm -rf $RPM_BUILD_ROOT/%{_libdir}/libbrlapi.a +# don't want static lib +rm -rf %{buildroot}/%{_libdir}/libbrlapi.a + +# create /var/lib/brltty directory +mkdir -p %{buildroot}%{_localstatedir}/lib/brltty # ghost brlapi.key -touch ${RPM_BUILD_ROOT}%{_sysconfdir}/brlapi.key +touch %{buildroot}%{_sysconfdir}/brlapi.key +chmod 0640 %{buildroot}%{_sysconfdir}/brlapi.key # disable xbrlapi gdm autostart, there is already orca -rm -f ${RPM_BUILD_ROOT}%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop +rm -f %{buildroot}%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop # make brltty-config executable -chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/brltty-config +chmod 755 %{buildroot}%{_bindir}/brltty-config.sh + +# fix multilib +pushd %{buildroot}%{_includedir}/brltty +for f in config forbuild +do + mv ./$f.h ./$f-$(getconf LONG_BIT).h +done +install -p -m 0644 %{SOURCE2} ./config.h +install -p -m 0644 %{SOURCE3} ./forbuild.h +popd # handle locales %find_lang %{name} cp -p %{name}.lang ../ -#Use python 3 for latex-access, BZ 1465657. -/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 +# install dracut module +make install-dracut + popd -#install dracut module +# drop documentation already instaled by the dracut subpackage +rm -f doc/Initramfs/Dracut/README* +rmdir doc/Initramfs/Dracut doc/Initramfs -mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99brltty -install -p -m 755 %{SOURCE2} ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99brltty/module-setup.sh -install -p -m 755 %{SOURCE3} ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99brltty/brltty-start.sh -install -p -m 755 %{SOURCE4} ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99brltty/brltty-cleanup.sh -install -p -m 755 %{SOURCE5} ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99brltty/parse-brltty-opts.sh -install -p -m 644 %{SOURCE6} ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99brltty/README.sh +# Install group creation file +install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/brltty.conf + +%if %{without java} +find . -type d -name 'Java' | xargs rm -rf +find %{buildroot}%{_datadir} -type d -name 'Java' | xargs rm -rf +%endif %post %systemd_post brltty.service @@ -426,8 +538,6 @@ install -p -m 644 %{SOURCE6} ${RPM_BUILD_ROOT}%{_prefix}/lib/dracut/modules.d/99 %postun %systemd_postun_with_restart brltty.service -%pre -n brlapi -getent group brlapi >/dev/null || groupadd -r brlapi >/dev/null %post -n brlapi if [ ! -e %{_sysconfdir}/brlapi.key ]; then @@ -435,34 +545,53 @@ if [ ! -e %{_sysconfdir}/brlapi.key ]; then chgrp brlapi %{_sysconfdir}/brlapi.key chmod 0640 %{_sysconfdir}/brlapi.key fi -/sbin/ldconfig +%{?ldconfig} -%postun -n brlapi -p /sbin/ldconfig +%ldconfig_postun -n brlapi %files -f %{name}.lang +%dir %{_localstatedir}/lib/brltty %config(noreplace) %{_sysconfdir}/brltty.conf %{_sysconfdir}/brltty/ +%exclude %{_sysconfdir}/brltty/Initramfs %{_unitdir}/brltty.service %{_bindir}/brltty %{_bindir}/brltty-* +%exclude %{_bindir}/brltty-minimal %{_libdir}/brltty/ -%exclude %{_libdir}/brltty/libbrlttybba.so -%exclude %{_libdir}/brltty/libbrlttybxw.so -%exclude %{_libdir}/brltty/libbrlttyxa2.so -%exclude %{_libdir}/brltty/libbrlttysen.so -%exclude %{_libdir}/brltty/libbrlttyses.so +%if %{with java} %exclude %{_libdir}/brltty/libbrlapi_java.so -%if %{with_speech_dispatcher} +%endif +# brlapi subpackage +%exclude %{_libdir}/brltty/libbrlttybba.so +# xw subpackage +%exclude %{_libdir}/brltty/libbrlttybxw.so +# at-spi2 subpackage +%exclude %{_libdir}/brltty/libbrlttyxa2.so +# espeak-ng subpackage +%exclude %{_libdir}/brltty/libbrlttysen.so +%if %{with espeak} +%exclude %{_libdir}/brltty/libbrlttyses.so +%endif +%if %{with speech_dispatcher} %exclude %{_libdir}/brltty/libbrlttyssd.so %endif -%license LICENSE-GPL LICENSE-LGPL +%license LICENSE-LGPL %doc %{_mandir}/man[15]/brltty.* -%{_sysconfdir}/X11/Xsession.d/60xbrlapi -#%%{_datadir}/metainfo/org.a11y.brltty.metainfo.xml +%{_sysconfdir}/X11/Xsession.d/90xbrlapi %{_datadir}/polkit-1/actions/org.a11y.brlapi.policy +%{_datadir}/polkit-1/rules.d/org.a11y.brlapi.rules +%if %{with minimal} +%files minimal -f %{name}.lang +%config(noreplace) %{_sysconfdir}/brltty-minimal.conf +%{_sysconfdir}/brltty-minimal/ +%{_bindir}/brltty-minimal +%{_libdir}/brltty-minimal/ +%license LICENSE-LGPL +%endif -%if %{with_speech_dispatcher} +%if %{with speech_dispatcher} %files speech-dispatcher %doc Drivers/Speech/SpeechDispatcher/README %{_libdir}/brltty/libbrlttyssd.so @@ -471,7 +600,7 @@ fi %files docs %doc Documents/ChangeLog Documents/TODO %doc Documents/Manual-BRLTTY/ -%doc doc/* +#%doc doc/* %files xw %doc Drivers/Braille/XWindow/README @@ -480,7 +609,7 @@ fi %files at-spi2 %{_libdir}/brltty/libbrlttyxa2.so -%if %{with_espeak} +%if %{with espeak} %files espeak %{_libdir}/brltty/libbrlttyses.so %endif @@ -492,19 +621,23 @@ fi %{_bindir}/vstp %{_bindir}/eutp %{_bindir}/xbrlapi +%dir %{_libdir}/brltty %{_libdir}/brltty/libbrlttybba.so %{_libdir}/libbrlapi.so.* -%ghost %{_sysconfdir}/brlapi.key +%ghost %verify(not group) %{_sysconfdir}/brlapi.key %doc Drivers/Braille/XWindow/README %doc Documents/Manual-BrlAPI/ %doc %{_mandir}/man1/xbrlapi.* %doc %{_mandir}/man1/vstp.* %doc %{_mandir}/man1/eutp.* +%{_sysusersdir}/brltty.conf +%{lua_libdir}/brlapi.so %files -n brlapi-devel %{_libdir}/libbrlapi.so %{_includedir}/brltty %{_includedir}/brlapi*.h +%{_libdir}/pkgconfig/brltty.pc %doc %{_mandir}/man3/brlapi_*.3* %doc Documents/BrlAPIref/BrlAPIref/ @@ -523,11 +656,13 @@ fi %{python3_sitearch}/Brlapi-%{api_version}-*.egg-info %endif +%if %{with java} %files -n brlapi-java %{_libdir}/brltty/libbrlapi_java.so %{_jnidir}/brlapi.jar +%endif -%if 0%{?with_ocaml} +%if %{with ocaml} %files -n ocaml-brlapi %{_libdir}/ocaml/brlapi/ %{_libdir}/ocaml/stublibs/ @@ -535,8 +670,366 @@ fi %files dracut %{_prefix}/lib/dracut/modules.d/99brltty/ +%dir %{_sysconfdir}/brltty/Initramfs +%config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/dracut.conf +%config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/cmdline %changelog +* Mon Oct 13 2025 Richard W.M. Jones - 6.8-6 +- OCaml 5.4.0 rebuild + +* Wed Oct 08 2025 Dominik Mierzejewski - 6.8-5 +- own _libdir/brltty directory in brlapi + +* Wed Aug 06 2025 František Zatloukal - 6.8-4 +- Rebuilt for icu 77.1 + +* Wed Jul 23 2025 Fedora Release Engineering - 6.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jul 11 2025 Jerry James - 6.8-2 +- Rebuild to fix OCaml dependencies + +* Mon Jul 07 2025 Gwyn Ciesla - 6.8-1 +- 6.8 + +* Mon Jun 02 2025 Python Maint - 6.7-11 +- Rebuilt for Python 3.14 + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 6.7-10 +- Drop call to %sysusers_create_compat + +* Tue Feb 11 2025 Jaroslav Škarvada - 6.7-9 +- Built for tcl 9.0 + Related: rhbz#2337691 + +* Mon Feb 3 2025 Jaroslav Škarvada - 6.7-8 +- Rebuilt for tcl/tk change + Related: rhbz#2337691 + +* Fri Jan 31 2025 Yaakov Selkowitz - 6.7-7 +- Fix exclusions from main package + +* Thu Jan 16 2025 Fedora Release Engineering - 6.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Jan 14 2025 Gwyn Ciesla - 6.7-5 +- Update to use tcl8 compat. + +* Fri Jan 10 2025 Jerry James - 6.7-4 +- OCaml 5.3.0 rebuild for Fedora 42 + +* Tue Dec 10 2024 Jaroslav Škarvada - 6.7-3 +- Switched to upstream patch + Related: rhbz#2328699 + +* Mon Dec 9 2024 Jaroslav Škarvada - 6.7-2 +- Resolves: rhbz#2328699 + +* Tue Oct 15 2024 Gwyn Ciesla - 6.7-1 +- 6.7 + +* Mon Aug 05 2024 Yaakov Selkowitz - 6.6-20 +- Use bcond consistently +- Disable java and ocaml bindings in RHEL + +* Wed Jul 17 2024 Fedora Release Engineering - 6.6-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jul 4 2024 Jaroslav Škarvada - 6.6-18 +- Dropped ucs-miscfixed-fonts requirement, xorg-x11-fonts-misc is enough + +* Wed Jun 19 2024 Richard W.M. Jones - 6.6-17 +- OCaml 5.2.0 ppc64le fix + +* Tue Jun 18 2024 Paolo Bonzini - 6.6-16 +- Remove unnecessary dependency from brlapi and brltty-docs to brltty + +* Fri Jun 07 2024 Python Maint - 6.6-15 +- Rebuilt for Python 3.13 + +* Wed May 29 2024 Richard W.M. Jones - 6.6-14 +- OCaml 5.2.0 for Fedora 41 + +* Wed Jan 31 2024 Pete Walter - 6.6-13 +- Rebuild for ICU 74 + +* Tue Jan 23 2024 Fedora Release Engineering - 6.6-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 6.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Jaroslav Škarvada - 6.6-10 +- Added SPDX licenses found by ScanCode +- Dropped redundant license tags from subpackages + +* Wed Dec 20 2023 Gwyn Ciesla - 6.6-9 +- Migrate group creation to sysusers + +* Mon Dec 18 2023 Richard W.M. Jones - 6.6-8 +- Bump release and rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 6.6-7 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 6.6-6 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 6.6-5 +- OCaml 5.1 rebuild for Fedora 40 + +* Tue Aug 15 2023 Adam Williamson - 6.6-4 +- Fix the Cython 3 crash and build with Cython 3 again + +* Mon Aug 14 2023 Adam Williamson - 6.6-3 +- Build with Cython 0.29, it crashes when built with Cython 3 (#2231865) + +* Tue Jul 25 2023 Gwyn Ciesla - 6.6-2 +- Correct apiversioning + +* Mon Jul 24 2023 Gwyn Ciesla - 6.6-1 +- 6.6 + +* Wed Jul 19 2023 Fedora Release Engineering - 6.5-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 13 2023 František Zatloukal - 6.5-19 +- Rebuilt for ICU 73.2 + +* Wed Jul 12 2023 Richard W.M. Jones - 6.5-18 +- OCaml 5.0 rebuild for Fedora 39 + +* Wed Jul 12 2023 Frantisek Zatloukal - 6.5-17 +- Add BR: gcc (ocaml no longer pulls it indirectly on i686) + +* Tue Jul 11 2023 František Zatloukal - 6.5-15 +- Rebuilt for ICU 73.2 + +* Mon Jul 10 2023 Jerry James - 6.5-14 +- OCaml 5.0.0 rebuild +- Produce debuginfo for the OCaml interface + +* Tue Jun 27 2023 Gwyn Ciesla - 6.5-13 +- Fix build with gettext-0.22 (yselkowitz) + +* Tue Jun 13 2023 Python Maint - 6.5-12 +- Rebuilt for Python 3.12 + +* Wed Mar 08 2023 Gwyn Ciesla - 6.5-11 +- migrated to SPDX license + +* Tue Jan 24 2023 Richard W.M. Jones - 6.5-10 +- Rebuild OCaml packages for F38 + +* Wed Jan 18 2023 Fedora Release Engineering - 6.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 31 2022 Pete Walter - 6.5-8 +- Rebuild for ICU 72 + +* Mon Aug 01 2022 Gwyn Ciesla - 6.5-7 +- Build Java only on supported platforms. + +* Mon Aug 01 2022 Frantisek Zatloukal - 6.5-6 +- Rebuilt for ICU 71.1 + +* Wed Jul 20 2022 Fedora Release Engineering - 6.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 20 2022 Python Maint - 6.5-4 +- Rebuilt for Python 3.11 + +* Sat Jun 18 2022 Richard W.M. Jones - 6.5-3 +- OCaml 4.14.0 rebuild + +* Thu Jun 16 2022 Python Maint - 6.5-2 +- Rebuilt for Python 3.11 + +* Tue Jun 14 2022 Jaroslav Škarvada - 6.5-1 +- New version + Resolves: rhbz#2095460 + +* Mon Jun 13 2022 Python Maint - 6.4-7 +- Rebuilt for Python 3.11 + +* Sat Feb 05 2022 Jiri Vanek - 6.4-6 +- Rebuilt for java-17-openjdk as system jdk + +* Fri Feb 04 2022 Richard W.M. Jones - 6.4-5 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Jan 20 2022 Jaroslav Škarvada - 6.4-4 +- Installed /var/lib/brltty directory + Related: rhbz#2042412 + +* Wed Jan 19 2022 Fedora Release Engineering - 6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 04 2021 Richard W.M. Jones - 6.4-2 +- OCaml 4.13.1 build + +* Fri Sep 24 2021 Gwyn Ciesla - 6.4-1 +- 6.4 + +* Wed Jul 21 2021 Fedora Release Engineering - 6.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 6.3-9 +- Rebuilt for Python 3.10 + +* Tue Jun 1 2021 Jaroslav Škarvada - 6.3-8 +- Fixed requirements for brltty-minimal + Related: rhbz#1584679 + +* Wed May 19 2021 Pete Walter - 6.3-7 +- Rebuild for ICU 69 + +* Wed May 19 2021 Jaroslav Škarvada - 6.3-6 +- Added brltty-minimal subpackage for braille support in Anaconda installer + Related: rhbz#1584679 + +* Thu May 13 2021 Jaroslav Škarvada - 6.3-5 +- Fixed brlapi multilib + +* Fri Apr 16 2021 Gwyn Ciesla - 6.3-4 +- Upstream patch to support Python 3.10. + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 6.3-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Mon Mar 1 13:12:00 GMT 2021 Richard W.M. Jones - 6.3-2 +- OCaml 4.12.0 build + +* Mon Feb 1 2021 Jaroslav Škarvada - 6.3-1 +- New version + Resolves: rhbz#1910328 + +* Tue Jan 26 2021 Fedora Release Engineering - 6.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Oct 20 2020 Jaroslav Škarvada - 6.1-12 +- Fixed brlapi.key to pass the RPM verification + +* Tue Sep 01 2020 Richard W.M. Jones - 6.1-11 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 6.1-10 +- OCaml 4.11.0 rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 6.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 16 2020 Jaroslav Škarvada - 6.1-8 +- Dropped explicit brlapi dependency (brltty) and relaxed brltty + dependency (brlapi) + Related: rhbz#1765611 + +* Fri Jul 10 2020 Jiri Vanek - 6.1-7 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue May 26 2020 Miro Hrončok - 6.1-6 +- Rebuilt for Python 3.9 + +* Wed May 20 2020 Jaroslav Škarvada - 6.1-5 +- Added missing missing -o option to the brltty man page + +* Mon May 04 2020 Richard W.M. Jones - 6.1-4 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 6.1-3 +- OCaml 4.11.0 pre-release attempt 2 + +* Fri Apr 17 2020 Richard W.M. Jones - 6.1-2 +- OCaml 4.11.0 pre-release + +* Mon Apr 06 2020 Gwyn Ciesla - 6.1-1 +- 6.1 + +* Thu Apr 02 2020 Richard W.M. Jones - 6.0-14 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 6.0-13 +- OCaml 4.10.0 final. + +* Tue Jan 28 2020 Fedora Release Engineering - 6.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 18 2020 Richard W.M. Jones - 6.0-11 +- OCaml 4.10.0+beta1 rebuild. + +* Wed Jan 08 2020 Richard W.M. Jones - 6.0-10 +- OCaml 4.09.0 for riscv64 + +* Fri Dec 06 2019 Richard W.M. Jones - 6.0-9 +- OCaml 4.09.0 (final) rebuild. + +* Mon Aug 19 2019 Miro Hrončok - 6.0-8 +- Rebuilt for Python 3.8 + +* Fri Aug 16 2019 Richard W.M. Jones - 6.0-7 +- OCaml 4.08.1 (final) rebuild. + +* Wed Jul 31 2019 Richard W.M. Jones - 6.0-6 +- OCaml 4.08.1 (rc2) rebuild. + +* Wed Jul 24 2019 Fedora Release Engineering - 6.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 27 2019 Richard W.M. Jones - 6.0-4 +- OCaml 4.08.0 (final) rebuild. + +* Fri Jun 7 2019 Jaroslav Škarvada - 6.0-3 +- Fixed build with alsa-1.1.9 + Resolves: rhbz#1716389 + +* Mon Apr 29 2019 Richard W.M. Jones - 6.0-2 +- OCaml 4.08.0 (beta 3) rebuild. + +* Thu Jan 31 2019 Fedora Release Engineering - 5.6-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Dec 11 2018 Jaroslav Škarvada - 5.6-31 +- Do not package documentation for dracut module twice + +* Tue Dec 11 2018 Jaroslav Škarvada - 5.6-30 +- Rebased dracut support to upstream version +- Added requires to subpackages + +* Wed Dec 5 2018 Jaroslav Škarvada - 5.6-29 +- Improved CFLAGS handling when building Ocaml bindings + +* Wed Dec 5 2018 Jaroslav Škarvada - 5.6-28 +- Built OCaml bindings with distribution CFLAGS and consolidated patches +- Fixed Cython build requires +- Used macro for python3 path + +* Thu Jul 12 2018 Fedora Release Engineering - 5.6-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Richard W.M. Jones - 5.6-26 +- OCaml 4.07.0 (final) rebuild. + +* Mon Jul 02 2018 Miro Hrončok - 5.6-25 +- Rebuilt for Python 3.7 + +* Thu Jun 21 2018 Paolo Bonzini - 5.6-24 +- Remove unnecessary dependency from brlapi and brltty-docs to brltty + +* Wed Jun 20 2018 Richard W.M. Jones - 5.6-23 +- OCaml 4.07.0-rc1 rebuild. + +* Tue Jun 19 2018 Miro Hrončok - 5.6-22 +- Rebuilt for Python 3.7 + +* Mon Jun 11 2018 Jaroslav Škarvada - 5.6-21 +- Improved brltty service to start before display manager and getty + +* Fri Jun 8 2018 Jaroslav Škarvada - 5.6-20 +- Fixed installation of multiple drivers and text tables in Dracut module + if environment variables are used + * Mon Jun 4 2018 Jaroslav Škarvada - 5.6-19 - Fixed Dracut module requirements diff --git a/brltty.sysusers b/brltty.sysusers new file mode 100644 index 0000000..c0220ca --- /dev/null +++ b/brltty.sysusers @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +g brlapi - diff --git a/dracut-README b/dracut-README deleted file mode 100644 index f8fa33b..0000000 --- a/dracut-README +++ /dev/null @@ -1,56 +0,0 @@ -Brltty support for dracut - -This module provides brltty functionality in the initrd. -Module pickups user settings from system and install -necessary files like drivers and used text tables to initramfs. - -For now the module is reliably functional from phase pre-mount -in earlier phases the module is not functional - -TBD fix functionality from earlier phases than pre-mount - -Module in instalation takes some options from environment variables. - -BRLTTY_DRACUT_INCLUDE_DRIVERS forces include of screen or braille -driver -example: -BRLTTY_DRACUT_INCLUDE_DRIVERS=bpm beu - -BRLTTY_DRACUT_INCLUDE_TEXT_FILES forces include of text tables -example: -BRLTTY_DRACUT_INCLUDE_TEXT_FILES=kok.ttb lv.tti - -BRLTTY_LOCALE needs to be used when building initram image -to install used text table -see https://bugzilla.redhat.com/show_bug.cgi?id=1584036 -example -BRLTTY_LOCALE=cs_CZ.UTF-8 - - -Module adds boot command line parameters which are parsed -and exported as a coresponding environment variables. The following -is a list of supported boot command line parameters and their mapping -to the environment variables recognized by brltty (for details about -the variables see man brltty): - -Boot command line parameter Environment variable -brltty.api_parameters BRLTTY_API_PARAMETERS -brltty.attributes_table BRLTTY_ATTRIBUTES_TABLE -brltty.braille_device BRLTTY_BRAILLE_DEVICE -brltty.braille_driver BRLTTY_BRAILLE_DRIVER -brltty.braille_parameters BRLTTY_BRAILLE_PARAMETERS -brltty.configuration_file BRLTTY_CONFIGURATION_FILE -brltty.contraction_table BRLTTY_CONTRACTION_TABLE -brltty.midi_device BRLTTY_MIDI_DEVICE -brltty.pcm_device BRLTTY_PCM_DEVICE -brltty.preferences_file BRLTTY_PREFERENCES_FILE -brltty.release_device BRLTTY_RELEASE_DEVICE -brltty.screen_driver BRLTTY_SCREEN_DRIVER -brltty.screen_parameters BRLTTY_SCREEN_PARAMETERS -brltty.speech_driver BRLTTY_SPEECH_DRIVER -brltty.speech_input BRLTTY_SPEECH_INPUT -brltty.speech_parameters BRLTTY_SPEECH_PARAMETERS -brltty.text_table BRLTTY_TEXT_TABLE - -Example: -brltty.braile_driver="ba" brltty.braille_parameters="auth=none,host=IP:0" diff --git a/dracut-brltty-cleanup.sh b/dracut-brltty-cleanup.sh deleted file mode 100755 index 02ca393..0000000 --- a/dracut-brltty-cleanup.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -read pid&1)" - - local checked_braille_drivers=$(echo "$brltty_report" | grep "checking for braille driver:" | awk '{print $NF}') - - for word in $checked_braille_drivers; do - inst_libdir_file "brltty/libbrlttyb$word.so*" - done - - local text_tables=$(echo "$brltty_report" | grep -E "compiling text table|including data file"| awk '{print $NF}') - - for word in $text_tables; do - inst "$word" - done - - local attributes=$(echo "$brltty_report" | grep "Attributes Table" | awk '{print $NF}') - - for word in $attributes; do - inst "/etc/brltty/Attributes/$word.atb" - done - - if [ "$BRLTTY_DRACUT_INCLUDE_DRIVERS" ]; then - for word in $BRLTTY_DRACUT_INCLUDE_DRIVERS; do - inst_libdir_file "brltty/libbrltty$BRLTTY_DRACUT_INCLUDE_DRIVERS.so*" - done - fi - - if [ "$BRLTTY_DRACUT_INCLUDE_TEXT_FILES" ]; then - for word in $BRLTTY_DRACUT_INCLUDE_TEXT_FILES; do - inst "/etc/brltty/Text/$BRLTTY_DRACUT_INCLUDE_DATA_FILES" - done - fi - - inst_hook cmdline 99 "$moddir/parse-brltty-opts.sh" - inst_hook initqueue 99 "$moddir/brltty-start.sh" - inst_hook cleanup 99 "$moddir/brltty-cleanup.sh" - - inst_simple "/etc/brltty.conf" - inst_simple "/usr/bin/brltty" - - dracut_need_initqueue -} diff --git a/dracut-parse-brltty-opts.sh b/dracut-parse-brltty-opts.sh deleted file mode 100755 index a661de8..0000000 --- a/dracut-parse-brltty-opts.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -export BRLTTY_API_PARAMETERS=$(getarg brltty.api_parameters=) -export BRLTTY_ATTRIBUTES_TABLE=$(getarg brltty.attributes_table=) -export BRLTTY_BRAILLE_DEVICE=$(getarg brltty.braille_device=) -export BRLTTY_BRAILLE_DRIVER=$(getarg brltty.braille_driver=) -export BRLTTY_BRAILLE_PARAMETERS=$(getarg brltty.braille_parameters=) -export BRLTTY_CONFIGURATION_FILE=$(getarg brltty.configuration_file=) -export BRLTTY_CONTRACTION_TABLE=$(getarg brltty.contraction_table=) -export BRLTTY_MIDI_DEVICE=$(getarg brltty.midi_device=) -export BRLTTY_PCM_DEVICE=$(getarg brltty.pcm_device=) -export BRLTTY_PREFERENCES_FILE=$(getarg brltty.preferences_file=) -export BRLTTY_RELEASE_DEVICE=$(getarg brltty.release_device=) -export BRLTTY_SCREEN_DRIVER=$(getarg brltty.screen_driver=) -export BRLTTY_SCREEN_PARAMETERS=$(getarg brltty.screen_parameters=) -export BRLTTY_SPEECH_DRIVER=$(getarg brltty.speech_driver=) -export BRLTTY_SPEECH_INPUT=$(getarg brltty.speech_input=) -export BRLTTY_SPEECH_PARAMETERS=$(getarg brltty.speech_parameters=) -export BRLTTY_TEXT_TABLE=$(getarg brltty.text_table=) diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..d972d2f --- /dev/null +++ b/plans.fmf @@ -0,0 +1,5 @@ +summary: Run all smoke tests +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index edacc5a..c63ce6d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (brltty-5.6.tar.xz) = c5df33bc51f3bafb56e4627290a801937bc57b6e2de5765c04e45c4ef1229ab864f2756916500ca4ca43b79354d7a9d3d4bfb588aa9fc494ea570eab25a389c0 +SHA512 (brltty-6.8.tar.xz) = 08540cdf09eaa1caabd8400cb6e589f99f5f2b8aaaf8c031e5165e9b0605858e90dc9dd72f2095347f4860714214ecf184e3675422df880f1bf06bb4cc6f42ee diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..6189cf3 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,2 @@ +summary: Smoke test +test: ./run_tests.sh diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100644 index 0000000..9dd745a --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,4 @@ +#!/bin/bash +pushd sanity-test || exit +./runtest.sh +popd || exit diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index b294380..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,17 +0,0 @@ -- hosts: localhost - tags: - - classic - - container - roles: - - role: standard-test-beakerlib - tests: - - sanity-test - required_packages: - - ImageMagick - - Xvfb - - brltty - - nc - - orca - - psmisc - - xorg-x11-utils -