diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/brltty-6.3-libspeechd.patch b/brltty-6.3-libspeechd.patch new file mode 100644 index 0000000..97e1d1f --- /dev/null +++ b/brltty-6.3-libspeechd.patch @@ -0,0 +1,13 @@ +diff --git a/Drivers/Speech/SpeechDispatcher/speech.c b/Drivers/Speech/SpeechDispatcher/speech.c +index cc55007..a2fcc0d 100644 +--- a/Drivers/Speech/SpeechDispatcher/speech.c ++++ b/Drivers/Speech/SpeechDispatcher/speech.c +@@ -35,7 +35,7 @@ typedef enum { + + #include "spk_driver.h" + +-#include ++#include + + static SPDConnection *connectionHandle = NULL; + static const char *moduleName; diff --git a/brltty-6.6-path-separator-fix.patch b/brltty-6.6-path-separator-fix.patch new file mode 100644 index 0000000..20f55ec --- /dev/null +++ b/brltty-6.6-path-separator-fix.patch @@ -0,0 +1,26 @@ +diff --git a/Bindings/Tcl/bindings.m4 b/Bindings/Tcl/bindings.m4 +index edb59a72e..e5563c483 100644 +--- a/Bindings/Tcl/bindings.m4 ++++ b/Bindings/Tcl/bindings.m4 +@@ -51,8 +51,20 @@ fi + + ${TCL_OK} && { + test -n "${TCL_PACKAGE_PATH}" && { +- for directory in ${TCL_PACKAGE_PATH} ++ directories="${TCL_PACKAGE_PATH}" ++ ++ test "${directories#*:}" = "${directories}" && { ++ # There's no colon so it's an old-style (pre tcl-) path. ++ # Replace each sequence of one or more spaces with a single colon. ++ directories="${directories// /:}" ++ } ++ ++ while test "${#directories}" -gt 0 + do ++ directory="${directories%%:*}" ++ directories="${directories#*:}" ++ test "${#directory}" -eq 0 && continue ++ + test `expr "${directory}" : '.*/lib'` -eq 0 || { + TCL_DIR="${directory}" + break diff --git a/brltty-6.7-compat-tcl8.patch b/brltty-6.7-compat-tcl8.patch new file mode 100644 index 0000000..fbe8edc --- /dev/null +++ b/brltty-6.7-compat-tcl8.patch @@ -0,0 +1,142 @@ +diff --git a/Android/Tools/mksettings b/Android/Tools/mksettings +index 37775a3..76c46ae 100755 +--- a/Android/Tools/mksettings ++++ b/Android/Tools/mksettings +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Android/Tools/newstrings b/Android/Tools/newstrings +index e5d040f..e3f8330 100755 +--- a/Android/Tools/newstrings ++++ b/Android/Tools/newstrings +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Android/Tools/rebuild b/Android/Tools/rebuild +index 33fb28d..e0f1b0f 100755 +--- a/Android/Tools/rebuild ++++ b/Android/Tools/rebuild +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Bindings/Tcl/apishell b/Bindings/Tcl/apishell +index c8dd822..0e7bbf3 100755 +--- a/Bindings/Tcl/apishell ++++ b/Bindings/Tcl/apishell +@@ -17,5 +17,5 @@ + ############################################################################### + + . "${0%/*}/../../apitest.sh" +-exec tclsh "${@}" ++exec tclsh8 "${@}" + exit "${?}" +diff --git a/Bindings/Tcl/apitest b/Bindings/Tcl/apitest +index fe21021..483ce91 100755 +--- a/Bindings/Tcl/apitest ++++ b/Bindings/Tcl/apitest +@@ -17,5 +17,5 @@ + ############################################################################### + + . "${0%/*}/../../apitest.sh" +-exec tclsh "${programDirectory}/${programName}.tcl" "${@}" ++exec tclsh8 "${programDirectory}/${programName}.tcl" "${@}" + exit "${?}" +diff --git a/Bindings/Tcl/apitest.tcl b/Bindings/Tcl/apitest.tcl +index b7c0f85..7befb5a 100755 +--- a/Bindings/Tcl/apitest.tcl ++++ b/Bindings/Tcl/apitest.tcl +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # libbrlapi - A library providing access to braille terminals for applications. + # +diff --git a/Drivers/Speech/GenericSay/commands/AccentSA b/Drivers/Speech/GenericSay/commands/AccentSA +index 38294f8..fa51a03 100755 +--- a/Drivers/Speech/GenericSay/commands/AccentSA ++++ b/Drivers/Speech/GenericSay/commands/AccentSA +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/gendeps b/Tools/gendeps +index 8ccad67..8f2e57e 100755 +--- a/Tools/gendeps ++++ b/Tools/gendeps +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/mkctbchars b/Tools/mkctbchars +index 00ae966..8a85b7a 100755 +--- a/Tools/mkctbchars ++++ b/Tools/mkctbchars +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/tclcmd b/Tools/tclcmd +index 77b90fb..6244086 100755 +--- a/Tools/tclcmd ++++ b/Tools/tclcmd +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/tcltest b/Tools/tcltest +index 0e3a213..2611f05 100755 +--- a/Tools/tcltest ++++ b/Tools/tcltest +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/ttytest b/Tools/ttytest +index 31e1d6e..03140b8 100755 +--- a/Tools/ttytest ++++ b/Tools/ttytest +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/updcsvs b/Tools/updcsvs +index a508e8f..0395ed4 100755 +--- a/Tools/updcsvs ++++ b/Tools/updcsvs +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. +diff --git a/Tools/updusbdevs b/Tools/updusbdevs +index 13f57bd..e32ebf1 100755 +--- a/Tools/updusbdevs ++++ b/Tools/updusbdevs +@@ -1,4 +1,4 @@ +-#!/usr/bin/env tclsh ++#!/usr/bin/env tclsh8 + ############################################################################### + # BRLTTY - A background process providing access to the console screen (when in + # text mode) for a blind person using a refreshable braille display. diff --git a/brltty-6.8-libspeechd.patch b/brltty-6.8-libspeechd.patch deleted file mode 100644 index 2f4a1d8..0000000 --- a/brltty-6.8-libspeechd.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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.spec b/brltty.spec index bbe3610..1e3cccb 100644 --- a/brltty.spec +++ b/brltty.spec @@ -1,5 +1,5 @@ -%define pkg_version 6.8 -%define api_version 0.8.7 +%define pkg_version 6.7 +%define api_version 0.8.6 # minimal means brltty-minimal subpackage with minimal deps for # braille support in Anaconda installer @@ -12,7 +12,7 @@ # disable python2 by default %bcond python2 0 -%{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)} +%{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh8)} %{!?tcl_sitearch: %global tcl_sitearch %{_prefix}/%{_lib}/tcl%{tcl_version}} # with speech dispatcher iff on Fedora: @@ -36,8 +36,8 @@ %global __requires_exclude ^(%{_privatelibs})$ Name: brltty -Version: 6.8 -Release: 6%{?dist} +Version: 6.7 +Release: 8%{?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 @@ -47,7 +47,11 @@ 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-6.8-libspeechd.patch +Patch2: brltty-6.3-libspeechd.patch +# https://brltty.app/pipermail/brltty/2024-December/020462.html +Patch3: brltty-6.6-path-separator-fix.patch +# Until tcl-9 is supported by upstream +Patch4: brltty-6.7-compat-tcl8.patch Summary: Braille display driver for Linux/Unix BuildRequires: byacc BuildRequires: glibc-kernheaders @@ -55,6 +59,7 @@ BuildRequires: gcc BuildRequires: bluez-libs-devel BuildRequires: systemd BuildRequires: systemd-rpm-macros +%{?sysusers_requires_compat} BuildRequires: lua-devel BuildRequires: gettext BuildRequires: at-spi2-core-devel @@ -144,7 +149,7 @@ This package provides the eSpeak-NG driver for BRLTTY. %package -n brlapi Version: %{api_version} Summary: Application Programming Interface for BRLTTY -Requires(pre): glibc-common +Requires(pre): glibc-common, shadow-utils Requires(post): coreutils, util-linux %description -n brlapi This package provides the run-time support for the Application @@ -173,7 +178,7 @@ which directly accesses a refreshable braille display. %package -n tcl-brlapi Version: %{api_version} Requires: brlapi%{?_isa} = %{api_version}-%{release} -BuildRequires: tcl-devel +BuildRequires: tcl-devel < 1:9 Summary: Tcl binding for BrlAPI %description -n tcl-brlapi This package provides the Tcl binding for BrlAPI. @@ -253,7 +258,10 @@ installer. mv %{name}-%{version} python2 pushd python2 -%autopatch -p1 +%patch -P 1 -p1 -b .loadLibrary +%patch -P 2 -p1 -b .libspeechd +%patch -P 3 -p1 -b .path-separator-fix +%patch -P 4 -p1 -b .compat-tcl8 # remove packaged binary file rm -f Programs/brltty-ktb @@ -538,6 +546,8 @@ find %{buildroot}%{_datadir} -type d -name 'Java' | xargs rm -rf %postun %systemd_postun_with_restart brltty.service +%pre -n brlapi +%sysusers_create_compat %{SOURCE4} %post -n brlapi if [ ! -e %{_sysconfdir}/brlapi.key ]; then @@ -621,7 +631,6 @@ fi %{_bindir}/vstp %{_bindir}/eutp %{_bindir}/xbrlapi -%dir %{_libdir}/brltty %{_libdir}/brltty/libbrlttybba.so %{_libdir}/libbrlapi.so.* %ghost %verify(not group) %{_sysconfdir}/brlapi.key @@ -675,34 +684,6 @@ fi %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 diff --git a/plans.fmf b/plans.fmf deleted file mode 100644 index d972d2f..0000000 --- a/plans.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Run all smoke tests -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index c63ce6d..fe1b3d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (brltty-6.8.tar.xz) = 08540cdf09eaa1caabd8400cb6e589f99f5f2b8aaaf8c031e5165e9b0605858e90dc9dd72f2095347f4860714214ecf184e3675422df880f1bf06bb4cc6f42ee +SHA512 (brltty-6.7.tar.xz) = 68ef75369ce2a23dff17b212aec0844b5e3e416cc730bdf872d68f32b0d8398f86d1e91f076dcb1730543c3d47266a40d7d61842524076d2fd4e82ef95bc34bb diff --git a/tests/main.fmf b/tests/main.fmf deleted file mode 100644 index 6189cf3..0000000 --- a/tests/main.fmf +++ /dev/null @@ -1,2 +0,0 @@ -summary: Smoke test -test: ./run_tests.sh diff --git a/tests/run_tests.sh b/tests/run_tests.sh deleted file mode 100644 index 9dd745a..0000000 --- a/tests/run_tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -pushd sanity-test || exit -./runtest.sh -popd || exit diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..b294380 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,17 @@ +- hosts: localhost + tags: + - classic + - container + roles: + - role: standard-test-beakerlib + tests: + - sanity-test + required_packages: + - ImageMagick + - Xvfb + - brltty + - nc + - orca + - psmisc + - xorg-x11-utils +