Compare commits
No commits in common. "c8" and "c9-beta" have entirely different histories.
@ -1 +1 @@
|
||||
bc148de37b3f8bb93bebaa83008b712e427a8baf SOURCES/brltty-5.6.tar.xz
|
||||
3d5b68f2f9b5bfe699a1002887c00bd33c340f7c SOURCES/brltty-6.3.tar.xz
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/brltty-5.6.tar.xz
|
||||
SOURCES/brltty-6.3.tar.xz
|
||||
|
@ -1,549 +0,0 @@
|
||||
From 6df30ecf05440a1a0f197817d3e39c15d04f15c0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
|
||||
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 <tseikovets@rambler.ru>
|
||||
Ole Guldberg <ole@omgwtf.dk>
|
||||
Olivier Bert <obert01@mistigri.org>
|
||||
Ollie Mallard <mallard@ilgerone.net>
|
||||
+olysonek
|
||||
Oscar Fernandez <ofa@once.es>
|
||||
Pete De Vasto <pdevasto@incyte.com>
|
||||
Peter Lundblad <plundblad@google.com>
|
||||
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 <dave@mielke.cc>.
|
||||
+###############################################################################
|
||||
+
|
||||
+DRIVER_CODE = en
|
||||
+DRIVER_NAME = eSpeak-NG
|
||||
+DRIVER_COMMENT = text to speech engine
|
||||
+DRIVER_VERSION = 0.1
|
||||
+DRIVER_DEVELOPERS = Nicolas Pitre <nico@fluxnic.net>, Ondřej Lysoněk <olysonek@redhat.com>
|
||||
+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 <dave@mielke.cc>.
|
||||
+ */
|
||||
+
|
||||
+#include "prologue.h"
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+#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 <espeak-ng/speak_lib.h>
|
||||
+
|
||||
+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
|
||||
|
9
SOURCES/brlapi-config.h
Normal file
9
SOURCES/brlapi-config.h
Normal file
@ -0,0 +1,9 @@
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "config-32.h"
|
||||
#elif __WORDSIZE == 64
|
||||
#include "config-64.h"
|
||||
#else
|
||||
#error "Unknown word size"
|
||||
#endif
|
9
SOURCES/brlapi-forbuild.h
Normal file
9
SOURCES/brlapi-forbuild.h
Normal file
@ -0,0 +1,9 @@
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "forbuild-32.h"
|
||||
#elif __WORDSIZE == 64
|
||||
#include "forbuild-64.h"
|
||||
#else
|
||||
#error "Unknown word size"
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
diff --git a/Programs/midi_alsa.c b/Programs/midi_alsa.c
|
||||
index 3afb55d..aeaae5a 100644
|
||||
--- a/Programs/midi_alsa.c
|
||||
+++ b/Programs/midi_alsa.c
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
#include "prologue.h"
|
||||
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#include "log.h"
|
||||
#include "parse.h"
|
||||
diff --git a/Programs/pcm_alsa.c b/Programs/pcm_alsa.c
|
||||
index 7618bdc..bb7c927 100644
|
||||
--- a/Programs/pcm_alsa.c
|
||||
+++ b/Programs/pcm_alsa.c
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "prologue.h"
|
||||
|
||||
#define ALSA_PCM_NEW_HW_PARAMS_API
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#include "log.h"
|
||||
#include "timing.h"
|
@ -1,110 +0,0 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7d93d8b..8938c6b 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
|
||||
@@ -541,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} <name>}]) -o"
|
||||
+ brltty_cv_prog_mklib="\$(CC) \$(LDFLAGS) ${brltty_mklib_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mklib_ld_options+${brltty_mklib_ld_options} <name>}]) -o"
|
||||
else
|
||||
- brltty_cv_prog_mklib="\$(LD) ${brltty_mklib_ld_make} ${brltty_mklib_ld_options+${brltty_mklib_ld_options} <name>} -o"
|
||||
+ brltty_cv_prog_mklib="\$(LD) \$(LDFLAGS) ${brltty_mklib_ld_make} ${brltty_mklib_ld_options+${brltty_mklib_ld_options} <name>} -o"
|
||||
fi])
|
||||
AC_SUBST([MKLIB], ["${brltty_cv_prog_mklib}"])
|
||||
|
@ -1,37 +0,0 @@
|
||||
diff --git a/Bindings/OCaml/Makefile.in b/Bindings/OCaml/Makefile.in
|
||||
index 47f7201..a97f55c 100644
|
||||
--- a/Bindings/OCaml/Makefile.in
|
||||
+++ b/Bindings/OCaml/Makefile.in
|
||||
@@ -55,25 +55,25 @@ 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
|
||||
+ $(OCAMLC) -ccopt "$(CFLAGS)" -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
|
||||
+ $(OCAMLC) -ccopt "$(CFLAGS)" -o $@ -c brlapi.mli
|
||||
|
||||
brlapi.cmo: brlapi.ml brlapi.cmi
|
||||
- $(OCAMLC) -o $@ -c brlapi.ml
|
||||
+ $(OCAMLC) -ccopt "$(CFLAGS)" -o $@ -c brlapi.ml
|
||||
|
||||
brlapi.cmx: brlapi.ml brlapi.cmi
|
||||
- $(OCAMLOPT) -o $@ -c brlapi.cmx brlapi.ml
|
||||
+ $(OCAMLOPT) -ccopt "$(CFLAGS)" -o $@ -c brlapi.cmx brlapi.ml
|
||||
|
||||
brlapi_stubs.$O: $(SRC_DIR)/brlapi_stubs.c
|
||||
- $(OCAMLC) -I $(BLD_TOP)$(PGM_DIR) -I $(SRC_TOP)$(PGM_DIR) -c $(SRC_DIR)/brlapi_stubs.c
|
||||
+ $(OCAMLC) -ccopt "$(CFLAGS)" -I $(BLD_TOP)$(PGM_DIR) -I $(SRC_TOP)$(PGM_DIR) -c $(SRC_DIR)/brlapi_stubs.c
|
||||
|
||||
brlapi.mli : $(SRC_DIR)/main.mli constants.mli
|
||||
cat $(SRC_DIR)/main.mli constants.mli > $@
|
@ -1,8 +1,8 @@
|
||||
diff --git a/Drivers/Speech/SpeechDispatcher/speech.c b/Drivers/Speech/SpeechDispatcher/speech.c
|
||||
index d73250a..df92708 100644
|
||||
index cc55007..a2fcc0d 100644
|
||||
--- a/Drivers/Speech/SpeechDispatcher/speech.c
|
||||
+++ b/Drivers/Speech/SpeechDispatcher/speech.c
|
||||
@@ -34,7 +34,7 @@ typedef enum {
|
||||
@@ -35,7 +35,7 @@ typedef enum {
|
||||
|
||||
#include "spk_driver.h"
|
||||
|
@ -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;
|
@ -1,5 +1,5 @@
|
||||
%define pkg_version 5.6
|
||||
%define api_version 0.6.7
|
||||
%define pkg_version 6.3
|
||||
%define api_version 0.8.2
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||
# disable python3 by default
|
||||
@ -33,21 +33,16 @@
|
||||
|
||||
Name: brltty
|
||||
Version: %{pkg_version}
|
||||
Release: 32%{?dist}
|
||||
Release: 4%{?dist}
|
||||
License: LGPLv2+
|
||||
URL: http://brltty.app/
|
||||
Source0: http://brltty.app/archive/%{name}-%{version}.tar.xz
|
||||
Source1: brltty.service
|
||||
Patch1: brltty-loadLibrary.patch
|
||||
Source2: brlapi-config.h
|
||||
Source3: brlapi-forbuild.h
|
||||
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
|
||||
# Upstreamed
|
||||
Patch4: brltty-5.6-libs-add-ldflags.patch
|
||||
Patch5: brltty-5.6-ocaml-add-flags.patch
|
||||
Patch6: brltty-5.6-add-dracut-support.patch
|
||||
Patch7: brltty-5.6-alsa-1.1.9-fix.patch
|
||||
Patch2: brltty-6.3-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
|
||||
@ -55,8 +50,17 @@ BuildRequires: gettext, at-spi2-core-devel, alsa-lib-devel
|
||||
BuildRequires: espeak-devel
|
||||
%endif
|
||||
BuildRequires: espeak-ng-devel
|
||||
BuildRequires: /usr/bin/2to3
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: autoconf, automake
|
||||
BuildRequires: polkit-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: linuxdoc-tools
|
||||
%if %{with python2}
|
||||
BuildRequires: python2-docutils
|
||||
%endif
|
||||
%if %{with python3}
|
||||
BuildRequires: python3-docutils
|
||||
%endif
|
||||
|
||||
# work around a bug in the install process:
|
||||
Requires(post): coreutils
|
||||
@ -214,6 +218,7 @@ Version: %{api_version}
|
||||
License: LGPLv2+
|
||||
Requires: brlapi%{?_isa} = %{api_version}-%{release}
|
||||
BuildRequires: ocaml
|
||||
BuildRequires: make
|
||||
Summary: OCaml binding for BrlAPI
|
||||
%description -n ocaml-brlapi
|
||||
This package provides the OCaml binding for BrlAPI.
|
||||
@ -235,11 +240,6 @@ 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 .ocaml-add-flags
|
||||
%patch6 -p1 -b .add-dracut-support
|
||||
%patch7 -p1 -b .alsa-1.1.9-fix
|
||||
|
||||
# remove packaged binary file
|
||||
rm -f Programs/brltty-ktb
|
||||
@ -275,7 +275,7 @@ configure_opts=" \
|
||||
%if ! %{with_espeak}
|
||||
--without-espeak \
|
||||
%endif
|
||||
--with-install-root=$RPM_BUILD_ROOT
|
||||
--with-install-root=$RPM_BUILD_ROOT \
|
||||
JAVA_JAR_DIR=%{_jnidir} \
|
||||
JAVA_JNI_DIR=%{_libdir}/brltty \
|
||||
JAVA_JNI=yes"
|
||||
@ -291,6 +291,12 @@ 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
|
||||
@ -301,11 +307,16 @@ pushd python3
|
||||
./autogen
|
||||
%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' |
|
||||
@ -361,6 +372,11 @@ pushd python3
|
||||
pushd python2
|
||||
%endif
|
||||
|
||||
# install polkit rules
|
||||
pushd Authorization/Polkit
|
||||
make install
|
||||
popd
|
||||
|
||||
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
|
||||
@ -395,16 +411,22 @@ chmod 0640 ${RPM_BUILD_ROOT}%{_sysconfdir}/brlapi.key
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop
|
||||
|
||||
# make brltty-config executable
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/brltty-config
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_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|%{__python3}|g' ${RPM_BUILD_ROOT}/etc/brltty/Contraction/latex-access.ctb
|
||||
|
||||
# install dracut module
|
||||
make install-dracut
|
||||
|
||||
@ -414,16 +436,6 @@ popd
|
||||
rm -f doc/Initramfs/Dracut/README*
|
||||
rmdir doc/Initramfs/Dracut doc/Initramfs
|
||||
|
||||
# workaround for multilib conflict (rhbz#1849675)
|
||||
for f in config.h forbuild.h
|
||||
do
|
||||
sed -i 's|^\s*#define\s\+DRIVERS_DIRECTORY\s\+.*$|#if defined (__i386__)\
|
||||
#define DRIVERS_DIRECTORY "/usr/lib/brltty"\
|
||||
#else\
|
||||
#define DRIVERS_DIRECTORY "/usr/lib64/brltty"\
|
||||
#endif|' ${RPM_BUILD_ROOT}%{_includedir}/brltty/$f
|
||||
done
|
||||
|
||||
%post
|
||||
%systemd_post brltty.service
|
||||
|
||||
@ -442,9 +454,9 @@ 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
|
||||
%config(noreplace) %{_sysconfdir}/brltty.conf
|
||||
@ -463,11 +475,11 @@ fi
|
||||
%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_speech_dispatcher}
|
||||
@ -513,6 +525,7 @@ fi
|
||||
%{_libdir}/libbrlapi.so
|
||||
%{_includedir}/brltty
|
||||
%{_includedir}/brlapi*.h
|
||||
%{_libdir}/pkgconfig/brltty.pc
|
||||
%doc %{_mandir}/man3/brlapi_*.3*
|
||||
%doc Documents/BrlAPIref/BrlAPIref/
|
||||
|
||||
@ -548,50 +561,137 @@ fi
|
||||
%config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/cmdline
|
||||
|
||||
%changelog
|
||||
* Wed Oct 21 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-32
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 6.3-4
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Tue Jun 22 2021 Jaroslav Škarvada <jskarvad@redhat.com> - 6.3-3
|
||||
- Fixed brlapi multilib
|
||||
Resolves: rhbz#1915335
|
||||
|
||||
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 6.3-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Mon Feb 1 2021 Jaroslav Škarvada <jskarvad@redhat.com> - 6.3-1
|
||||
- New version
|
||||
Resolves: rhbz#1910328
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Oct 20 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 6.1-12
|
||||
- Fixed brlapi.key to pass the RPM verification
|
||||
Resolves: rhbz#1889636
|
||||
|
||||
* Mon Oct 19 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-31
|
||||
- Added workaround for brlapi-devel multilib conflict
|
||||
Resolves: rhbz#1849675
|
||||
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 6.1-11
|
||||
- OCaml 4.11.1 rebuild
|
||||
|
||||
* Fri Jul 10 2020 Artem Egorenkov <aegorenk@redhat.com> - 5.6-30
|
||||
- brltty requires brlapi deleted (duplication of automatically determined dependency)
|
||||
- isa macro deleted for brlapi requires brltty
|
||||
- brlapi recommends brltty
|
||||
Resolves: rhbz#1765611
|
||||
* Fri Aug 21 2020 Richard W.M. Jones <rjones@redhat.com> - 6.1-10
|
||||
- OCaml 4.11.0 rebuild
|
||||
|
||||
* Wed Jul 8 2020 Artem Egorenkov <aegorenk@redhat.com> - 5.6-29
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jul 16 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 6.1-8
|
||||
- Dropped explicit brlapi dependency (brltty) and relaxed brltty
|
||||
dependency (brlapi)
|
||||
Related: rhbz#1765611
|
||||
|
||||
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 6.1-7
|
||||
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 6.1-6
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Wed May 20 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 6.1-5
|
||||
- Added missing missing -o option to the brltty man page
|
||||
|
||||
* Mon May 04 2020 Richard W.M. Jones <rjones@redhat.com> - 6.1-4
|
||||
- OCaml 4.11.0+dev2-2020-04-22 rebuild
|
||||
|
||||
* Tue Apr 21 2020 Richard W.M. Jones <rjones@redhat.com> - 6.1-3
|
||||
- OCaml 4.11.0 pre-release attempt 2
|
||||
|
||||
* Fri Apr 17 2020 Richard W.M. Jones <rjones@redhat.com> - 6.1-2
|
||||
- OCaml 4.11.0 pre-release
|
||||
|
||||
* Mon Apr 06 2020 Gwyn Ciesla <gwync@protonmail.com> - 6.1-1
|
||||
- 6.1
|
||||
|
||||
* Thu Apr 02 2020 Richard W.M. Jones <rjones@redhat.com> - 6.0-14
|
||||
- Update all OCaml dependencies for RPM 4.16.
|
||||
|
||||
* Wed Feb 26 2020 Richard W.M. Jones <rjones@redhat.com> - 6.0-13
|
||||
- OCaml 4.10.0 final.
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Jan 18 2020 Richard W.M. Jones <rjones@redhat.com> - 6.0-11
|
||||
- OCaml 4.10.0+beta1 rebuild.
|
||||
|
||||
* Wed Jan 08 2020 Richard W.M. Jones <rjones@redhat.com> - 6.0-10
|
||||
- OCaml 4.09.0 for riscv64
|
||||
|
||||
* Fri Dec 06 2019 Richard W.M. Jones <rjones@redhat.com> - 6.0-9
|
||||
- OCaml 4.09.0 (final) rebuild.
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 6.0-8
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Fri Aug 16 2019 Richard W.M. Jones <rjones@redhat.com> - 6.0-7
|
||||
- OCaml 4.08.1 (final) rebuild.
|
||||
|
||||
* Wed Jul 31 2019 Richard W.M. Jones <rjones@redhat.com> - 6.0-6
|
||||
- OCaml 4.08.1 (rc2) rebuild.
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jun 27 2019 Richard W.M. Jones <rjones@redhat.com> - 6.0-4
|
||||
- OCaml 4.08.0 (final) rebuild.
|
||||
|
||||
* Fri Jun 7 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 6.0-3
|
||||
- Fixed build with alsa-1.1.9
|
||||
Resolves: rhbz#1854905
|
||||
Resolves: rhbz#1716389
|
||||
|
||||
* Tue Dec 11 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-28
|
||||
* Mon Apr 29 2019 Richard W.M. Jones <rjones@redhat.com> - 6.0-2
|
||||
- OCaml 4.08.0 (beta 3) rebuild.
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.6-32
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Dec 11 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-31
|
||||
- Do not package documentation for dracut module twice
|
||||
Related: rhbz#1655345
|
||||
|
||||
* Tue Dec 11 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-27
|
||||
* Tue Dec 11 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-30
|
||||
- Rebased dracut support to upstream version
|
||||
Resolves: rhbz#1655345
|
||||
- Added requires to subpackages
|
||||
|
||||
* Wed Dec 5 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-26
|
||||
* Wed Dec 5 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-29
|
||||
- Improved CFLAGS handling when building Ocaml bindings
|
||||
Related: rhbz#1655344
|
||||
|
||||
* Wed Dec 5 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-25
|
||||
* Wed Dec 5 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-28
|
||||
- Built OCaml bindings with distribution CFLAGS and consolidated patches
|
||||
Resolves: rhbz#1655344
|
||||
- Fixed Cython build requires
|
||||
- Used macro for python3 path
|
||||
|
||||
* Sun Dec 2 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-24
|
||||
- Fixed CI gating settings
|
||||
Resolves: rhbz#1648292
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.6-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Thu Aug 9 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-23
|
||||
- Fixed FTBFS
|
||||
Resolves: rhbz#1611708
|
||||
* Wed Jul 11 2018 Richard W.M. Jones <rjones@redhat.com> - 5.6-26
|
||||
- OCaml 4.07.0 (final) rebuild.
|
||||
|
||||
* Wed Jun 20 2018 Tomas Orsava <torsava@redhat.com> - 5.6-22
|
||||
- Switch hardcoded python3 shebangs into the %%{__python3} macro
|
||||
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 5.6-25
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Thu Jun 21 2018 Paolo Bonzini <pbonzini@redhat.com> - 5.6-24
|
||||
- Remove unnecessary dependency from brlapi and brltty-docs to brltty
|
||||
|
||||
* Wed Jun 20 2018 Richard W.M. Jones <rjones@redhat.com> - 5.6-23
|
||||
- OCaml 4.07.0-rc1 rebuild.
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 5.6-22
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Mon Jun 11 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 5.6-21
|
||||
- Improved brltty service to start before display manager and getty
|
||||
|
Loading…
Reference in New Issue
Block a user