Compare commits

..

127 commits

Author SHA1 Message Date
Jerry James
a577144a3b Fix a changelog entry 2026-01-12 15:04:04 -07:00
Richard W.M. Jones
3d29fd3f05 OCaml 5.4.0 rebuild 2025-10-13 20:30:15 +01:00
Dominik 'Rathann' Mierzejewski
e41e3dbd59 own _libdir/brltty directory in brlapi
brlapi can be installed without brltty and %{_libdir}/brltty ends up
unowned then.
2025-10-08 09:23:09 +02:00
Gwyn Ciesla
a80e10a13a Test migration 2025-08-28 16:31:21 -05:00
František Zatloukal
e72f47fa96 Rebuilt for icu 77.1 2025-08-06 09:52:32 +02:00
Fedora Release Engineering
b80d83d069 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 17:53:30 +00:00
Jerry James
232d14db41 Rebuild to fix OCaml dependencies 2025-07-11 11:10:00 -06:00
Gwyn Ciesla
c1bf7a082d 6.8 2025-07-07 09:58:31 -05:00
Python Maint
39d0ed7491 Rebuilt for Python 3.14 2025-06-02 20:47:35 +02:00
Zbigniew Jędrzejewski-Szmek
5ad6d5ca5d Drop call to %sysusers_create_compat
After https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers,
rpm will handle account creation automatically.
2025-02-11 17:03:15 +01:00
Jaroslav Škarvada
13320e9f86 Built for tcl 9.0
Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
Built for tcl 9.0
  Related: rhbz#2337691
2025-02-11 11:08:24 +01:00
Jaroslav Škarvada
2fa6404ec1 Fixed compilation and work with tcl8 compat package
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2025-02-03 18:13:35 +01:00
Jaroslav Škarvada
bc6bec3c9f Rebuilt for tcl/tk change
Related: rhbz#2337691

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2025-02-03 15:09:11 +01:00
Yaakov Selkowitz
67993165fe Fix exclusions from main package
commit d38d4c4352 ("Use bcond consistently")
included a few substitutions of:

- %if %{!JAVA}
+ %if %{without java}

However, while that was the *intended* meaning of the original syntax, it
should have been `%if ! %{JAVA}` to have that effect.  Instead, it was
evaluated the same as `%if %{JAVA}`, so the modules that were supposed to
be excluded from the main package (as they are in subpackages) were still
being excluded (except on i686 once Java was dropped thereon, but nobody
noticed because that's just multilib nowadays).  Fixing the syntax though
broke the intention, causing the opposite effect.

This fixes the exclusions to work as originally intended.
2025-01-30 19:52:40 -05:00
Gwyn Ciesla
fc0224a2fc Fix FTBFS 2025-01-27 11:11:42 -06:00
Fedora Release Engineering
4acadd2bd9 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 12:53:47 +00:00
Gwyn Ciesla
f4ebcbda2a use tcl8 2025-01-14 15:36:02 -06:00
Jerry James
e0eb2b4517 OCaml 5.3.0 rebuild for Fedora 42 2025-01-10 13:37:49 -07:00
Jaroslav Škarvada
1e8ec0be87 Switched to upstream patch
Related: rhbz#2328699

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-12-10 17:40:50 +01:00
Jaroslav Škarvada
3c0d1c7cd9 Resolves: rhbz#2328699
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2024-12-09 18:25:22 +01:00
Gwyn Ciesla
f51e81f5ca BR ncurses-devel 2024-10-15 13:33:10 -05:00
Gwyn Ciesla
464a866fca 6.7 2024-10-15 11:49:02 -05:00
Yaakov Selkowitz
d38d4c4352 Use bcond consistently
This fixes the mix of syntaxes currently used to control various features.
Also, disable java and ocaml bindings in RHEL, as nothing requires them.
2024-08-05 18:01:51 -04:00
Fedora Release Engineering
77ccd4e483 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 18:37:10 +00:00
Jaroslav Škarvada
12003bb333 Dropped ucs-miscfixed-fonts requirement, xorg-x11-fonts-misc is enough 2024-07-04 15:39:13 +02:00
Richard W.M. Jones
25cf414e1b OCaml 5.2.0 ppc64le fix 2024-06-19 12:03:44 +01:00
Gwyn Ciesla
0443cfd174 Fix cl 2024-06-18 09:07:11 -05:00
Paolo Bonzini
95904b9139 Remove unnecessary dependency from brlapi and brltty-docs to brltty 2024-06-18 10:05:07 +02:00
Python Maint
887c5f4cc7 Rebuilt for Python 3.13 2024-06-07 09:48:48 +02:00
Richard W.M. Jones
b4ac46c0b0 OCaml 5.2.0 for Fedora 41 2024-05-29 17:43:42 +01:00
Pete Walter
b9e9ca5584 Rebuild for ICU 74 2024-01-31 19:15:24 +00:00
Fedora Release Engineering
c70db22957 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-23 00:49:53 +00:00
Fedora Release Engineering
d7e4d2766d Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 14:43:08 +00:00
Jaroslav Škarvada
088d011ba3 Added SPDX licenses found by ScanCode
Dropped redundant license tags from subpackages
2024-01-17 12:13:17 +01:00
Gwyn Ciesla
302820f159 Use sysusers for brlapi group 2023-12-20 12:52:17 -06:00
Richard W.M. Jones
0e18fd05cb Bump release and rebuild 2023-12-18 18:43:05 +00:00
Richard W.M. Jones
269cb02e42 OCaml 5.1.1 + s390x code gen fix for Fedora 40 2023-12-18 15:00:40 +00:00
Richard W.M. Jones
669ced9967 OCaml 5.1.1 rebuild for Fedora 40 2023-12-12 18:06:41 +00:00
Richard W.M. Jones
05077bd6c3 OCaml 5.1 rebuild for Fedora 40 2023-10-05 20:45:58 +01:00
Adam Williamson
ee571d6d47 Fix the Cython 3 crash and build with Cython 3 again
Thanks to Lukáš Tyrychtr and Samuel Thibault for the diagnosis
and fix.
2023-08-15 09:35:12 -07:00
Adam Williamson
7aab348118 Build with Cython 0.29, crashes when built with Cython 3 (#2231865)
https://bugzilla.redhat.com/show_bug.cgi?id=2231865
https://brltty.app/pipermail/brltty/2023-August/020039.html
2023-08-14 09:41:03 -07:00
Gwyn Ciesla
da6c95720d Correct apiversioning 2023-07-25 08:37:34 -05:00
Gwyn Ciesla
ac2c526635 6.6 2023-07-24 15:13:37 -05:00
Fedora Release Engineering
bc9ce96d56 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 14:56:29 +00:00
František Zatloukal
8e17a87947 Rebuilt for ICU 73.2 2023-07-13 13:27:56 +02:00
Richard W.M. Jones
31e78166e4 OCaml 5.0 rebuild for Fedora 39 2023-07-12 10:21:37 +01:00
František Zatloukal
fafd51cc0d Add BR: gcc 2023-07-12 10:59:22 +02:00
Richard W.M. Jones
2fc5eff955 OCaml 5.0 rebuild for Fedora 39 2023-07-12 01:33:51 +01:00
František Zatloukal
181319e7e2 Rebuilt for ICU 73.2 2023-07-11 22:13:01 +02:00
Richard W.M. Jones
395b9638eb Fix previous commit
I think the previous commit would actually do ExcludeArch for all
subpackages, obviously not desirable.  Instead make this subpackage
conditional using %ifnarch.
2023-07-11 11:22:15 +01:00
Richard W.M. Jones
1c0f85264c ExcludeArch i686 (https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SPML7CUBSZNI36NLXGVHEG7DNHU3EWOJ/) 2023-07-11 11:17:43 +01:00
Jerry James
a75870d50e OCaml 5.0.0 rebuild
Produce debuginfo for the OCaml interface
2023-07-10 14:35:52 -06:00
Gwyn Ciesla
3d875ed07d Fix build with gettext-0.22 2023-06-27 15:13:08 -05:00
Yaakov Selkowitz
03bc82ea72 Fix build with gettext-0.22
Building with gettext-0.22 fails for lack of this header:

/usr/bin/msgfmt: input file doesn't contain a header entry with a
charset specification

Patch submitted upstream: https://github.com/brltty/brltty/pull/420
2023-06-27 15:15:22 -04:00
Python Maint
3fc9264781 Rebuilt for Python 3.12 2023-06-13 21:33:46 +02:00
Gwyn Ciesla
d1dec50f3c migrated to SPDX license 2023-03-08 14:47:41 -06:00
Richard W.M. Jones
99b25bcaeb Rebuild OCaml packages for F38 2023-01-24 08:23:52 +00:00
Fedora Release Engineering
7fecff4297 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 23:10:48 +00:00
Pete Walter
ff62c38c97 Rebuild for ICU 72 2022-12-31 02:20:21 +00:00
Gwyn Ciesla
67c232b34c Only build java on supported platforms 2022-08-02 11:11:43 -05:00
František Zatloukal
9140180aae Rebuilt for ICU 71.1 2022-08-01 15:02:25 +02:00
Fedora Release Engineering
9b34e7e395 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 22:16:32 +00:00
Python Maint
d9e6be4574 Rebuilt for Python 3.11 2022-06-20 10:45:37 +02:00
Richard W.M. Jones
6273750210 OCaml 4.14.0 rebuild 2022-06-18 14:06:32 +01:00
Python Maint
bf520544e2 Rebuilt for Python 3.11 2022-06-16 02:05:58 +02:00
Jaroslav Škarvada
025861edcf New version
Resolves: rhbz#2095460
2022-06-14 23:06:40 +02:00
Python Maint
9cd576f96b Rebuilt for Python 3.11 2022-06-13 16:00:00 +02:00
Jiri
24da57f0ed Rebuilt for java-17-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java17
2022-02-05 19:46:32 +01:00
Richard W.M. Jones
31c2d65286 OCaml 4.13.1 rebuild to remove package notes 2022-02-04 11:57:05 +00:00
Jaroslav Škarvada
e83eee0d95 Installed /var/lib/brltty directory
Related: rhbz#2042412
2022-01-20 19:33:21 +01:00
Fedora Release Engineering
c64e069f8d - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 22:36:58 +00:00
Richard W.M. Jones
18edea1239 OCaml 4.13.1 build 2021-10-04 20:20:40 +01:00
Gwyn Ciesla
0b21674243 6.4 2021-09-24 16:37:30 -05:00
Fedora Release Engineering
fd37f4ef2a - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 18:53:21 +00:00
Fedora Release Engineering
66b5dcfc7f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 13:56:03 +00:00
Python Maint
d1781c0afc Rebuilt for Python 3.10 2021-06-04 20:00:48 +02:00
Jaroslav Škarvada
48fd0b421d Fixed requirements for brltty-minimal
Related: rhbz#1584679
2021-06-01 10:27:13 +02:00
Pete Walter
0480116dfe Rebuild for ICU 69 2021-05-20 00:54:22 +01:00
Jaroslav Škarvada
387902cb8d Added brltty-minimal subpackage for braille support in Anaconda installer
Related: rhbz#1584679
2021-05-20 00:06:01 +02:00
Jaroslav Škarvada
ce8b3f67c1 Fixed brlapi multilib 2021-05-13 19:52:44 +02:00
Gwyn Ciesla
97c8620483 Upstream patch to support Python 3.10. 2021-04-16 10:19:27 -05:00
Zbigniew Jędrzejewski-Szmek
9bbed4233b Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:14:07 +01:00
Richard W.M. Jones
4ab95f19e4 OCaml 4.12.0 build 2021-03-01 13:12:01 +00:00
Jaroslav Škarvada
b952485c37 New version
Resolves: rhbz#1910328
2021-02-02 11:16:11 +01:00
Fedora Release Engineering
66fe0b96e8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 01:24:19 +00:00
Tom Stellard
0d4c36beb2 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-17 03:08:18 +00:00
Jaroslav Škarvada
bdffcfe027 Fixed brlapi.key to pass the RPM verification 2020-10-20 21:00:51 +02:00
Richard W.M. Jones
1aef6309eb OCaml 4.11.1 rebuild 2020-09-01 19:46:31 +01:00
Richard W.M. Jones
91e6eb2ea4 OCaml 4.11.0 rebuild 2020-08-21 11:47:56 +01:00
Fedora Release Engineering
63ebfc42d1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 13:24:14 +00:00
Jaroslav Škarvada
6d92a84d33 Dropped explicit brlapi dependency (brltty) and relaxed brltty
dependency (brlapi)
  Related: rhbz#1765611
2020-07-16 11:03:40 +02:00
Jiri
5648ca5a78 Rebuilt for JDK-11 2020-07-10 16:50:00 +02:00
Miro Hrončok
f8934b7c37 Rebuilt for Python 3.9 2020-05-26 02:41:56 +02:00
Jaroslav Škarvada
6f98324997 Added missing missing -o option to the brltty man page 2020-05-20 11:09:20 +02:00
Richard W.M. Jones
5d7a90b4f8 OCaml 4.11.0+dev2-2020-04-22 rebuild 2020-05-04 19:14:07 +01:00
Richard W.M. Jones
087cf5365c OCaml 4.11.0 pre-release attempt 2 2020-04-21 16:11:56 +01:00
Richard W.M. Jones
3b8b97863a OCaml 4.11.0 pre-release 2020-04-17 20:22:41 +01:00
Gwyn Ciesla
0ffa6042f8 6.1 2020-04-06 08:53:30 -05:00
Richard W.M. Jones
2d1c7a6155 Update all OCaml dependencies for RPM 4.16. 2020-04-02 11:52:49 +01:00
Richard W.M. Jones
a8de6a8e3d OCaml 4.10.0 final. 2020-02-26 10:21:09 +00:00
Fedora Release Engineering
8601753555 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 13:18:36 +00:00
Richard W.M. Jones
2dbc1ef3f0 OCaml 4.10.0+beta1 rebuild. 2020-01-18 22:06:34 +00:00
Richard W.M. Jones
affd535184 OCaml 4.09.0 for riscv64 2020-01-08 22:14:30 +00:00
Richard W.M. Jones
b4da9d1e90 OCaml 4.09.0 (final) rebuild. 2019-12-06 15:13:46 +00:00
Miro Hrončok
5a05c465e0 Rebuilt for Python 3.8 2019-08-19 10:11:04 +02:00
Richard W.M. Jones
a552b05701 OCaml 4.08.1 (final) rebuild. 2019-08-16 17:23:28 +01:00
Richard W.M. Jones
fb83b72f44 OCaml 4.08.1 (rc2) rebuild. 2019-07-31 19:05:02 +01:00
Fedora Release Engineering
62dd8e3b4c - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 19:35:26 +00:00
Richard W.M. Jones
586951fd19 OCaml 4.08.0 (final) rebuild. 2019-06-27 21:20:47 +01:00
Jaroslav Škarvada
897ad85a69 Fixed build with alsa-1.1.9
Resolves: rhbz#1716389
2019-06-07 17:03:22 +02:00
Richard W.M. Jones
d6448fb8d2 OCaml 4.08.0 (beta 3) rebuild. 2019-04-29 16:34:31 +01:00
Jaroslav Škarvada
27ad075896 Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild 2019-02-25 15:40:29 +01:00
Fedora Release Engineering
a4fcab7c43 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 14:56:04 +00:00
Igor Gnatenko
f6038c4794
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:38:34 +01:00
Jaroslav Škarvada
52dfc3db3a Do not package documentation for dracut module twice 2018-12-12 00:25:59 +01:00
Jaroslav Škarvada
a9ca3736dc Rebased dracut support to upstream version
Added requires to subpackages
2018-12-11 23:24:22 +01:00
Jaroslav Škarvada
cf9159da50 Improved CFLAGS handling when building Ocaml bindings 2018-12-05 21:51:13 +01:00
Jaroslav Škarvada
281f6b7568 Built OCaml bindings with distribution CFLAGS and consolidated patches
Fixed Cython build requires
Used macro for python3 path
2018-12-05 21:03:29 +01:00
Miro Hrončok
b19c3d962d No more cython3, just one cython 2018-08-14 19:51:09 +02:00
Fedora Release Engineering
18fd5df803 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 21:21:48 +00:00
Richard W.M. Jones
dd719f2d0e OCaml 4.07.0 (final) rebuild. 2018-07-11 18:14:45 +01:00
Miro Hrončok
a64255974b Rebuilt for Python 3.7 2018-07-02 18:22:01 +02:00
Paolo Bonzini
b92fd133cd Remove unnecessary dependency from brlapi and brltty-docs to brltty 2018-06-21 12:32:22 +02:00
Richard W.M. Jones
c0128535a2 OCaml 4.07.0-rc1 rebuild. 2018-06-20 12:44:31 +01:00
Miro Hrončok
786e38423f Rebuilt for Python 3.7 2018-06-19 10:40:41 +02:00
Jaroslav Škarvada
4222e836e6 Improved brltty service to start before display manager and getty 2018-06-11 21:27:00 +02:00
Jaroslav Škarvada
18d2682da3 Fixed installation of multiple drivers and text tables in Dracut module
if environment variables are used
2018-06-08 11:49:22 +02:00
23 changed files with 654 additions and 998 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

12
.gitignore vendored
View file

@ -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

View file

@ -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
brlapi-config.h Normal file
View 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
brlapi-forbuild.h Normal file
View 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

View file

@ -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 <libspeechd.h>
+#include <speech-dispatcher/libspeechd.h>
static SPDConnection *connectionHandle = NULL;
static const char *moduleName;

View file

@ -1,108 +0,0 @@
From bc609b45ee5b44247d528e9462cb28792753a267 Mon Sep 17 00:00:00 2001
From: Dave Mielke <dave@mielke.cc>
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

View file

@ -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} <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}"])

View file

@ -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;

View file

@ -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 <libspeechd.h>
+#include <speech-dispatcher/libspeechd.h>
static SPDConnection *connectionHandle = NULL;
static unsigned int autospawn;

View file

@ -1,5 +1,6 @@
[Unit]
Description=Braille display driver for Linux/Unix
Before=getty.target display-manager.service
[Service]
Type=forking

File diff suppressed because it is too large Load diff

2
brltty.sysusers Normal file
View file

@ -0,0 +1,2 @@
#Type Name ID GECOS Home directory Shell
g brlapi -

View file

@ -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"

View file

@ -1,4 +0,0 @@
#!/bin/bash
read pid</var/run/brltty.pid
kill -0 $pid && kill -9 $pid

View file

@ -1,3 +0,0 @@
#!/bin/bash
brltty -E -x lx -P /var/run/brltty.pid

View file

@ -1,66 +0,0 @@
#!/bin/bash
# called by dracut
check() {
require_binaries brltty || return 1
return 0
}
# called by dracut
depends() {
return 0
}
#called by dracut
install() {
local required_libs="$(ldd /usr/bin/brltty | awk '{print $1}' | sed 's/\..*/.so\*/g')"
for word in $required_libs; do
if [ -e $word ]; then
inst_libdir_file "$word"
fi
done
inst_libdir_file "brltty/libbrlttyxlx.so*"
local brltty_report="$(LC_ALL="$BRLTTY_LOCALE" brltty -Evel7 2>&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
}

View file

@ -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=)

5
plans.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: Run all smoke tests
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (brltty-5.6.tar.xz) = c5df33bc51f3bafb56e4627290a801937bc57b6e2de5765c04e45c4ef1229ab864f2756916500ca4ca43b79354d7a9d3d4bfb588aa9fc494ea570eab25a389c0
SHA512 (brltty-6.8.tar.xz) = 08540cdf09eaa1caabd8400cb6e589f99f5f2b8aaaf8c031e5165e9b0605858e90dc9dd72f2095347f4860714214ecf184e3675422df880f1bf06bb4cc6f42ee

2
tests/main.fmf Normal file
View file

@ -0,0 +1,2 @@
summary: Smoke test
test: ./run_tests.sh

4
tests/run_tests.sh Normal file
View file

@ -0,0 +1,4 @@
#!/bin/bash
pushd sanity-test || exit
./runtest.sh
popd || exit

View file

@ -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