From 9b802392fb407a39a84066fdef85b50848e3060f Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sat, 8 Aug 2020 01:58:33 -0400 Subject: [PATCH 50/65] gnu: Add brltty. * gnu/packages/accessibility.scm (brltty): New variable. --- gnu/packages/accessibility.scm | 125 +++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index a329cbdf95..14ce805aef 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -28,11 +28,23 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) + #:use-module (gnu packages lisp) + #:use-module (gnu packages base) + #:use-module (gnu packages ocaml) + #:use-module (gnu packages pcre) + #:use-module (gnu packages polkit) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages music) + #:use-module (gnu packages language) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages speech) + #:use-module (gnu packages linux) #:use-module (gnu packages documentation) #:use-module (gnu packages swig) #:use-module (gnu packages libusb) #:use-module (gnu packages java) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages tcl) #:use-module (gnu packages xml) #:use-module (gnu packages gnome) @@ -79,6 +91,119 @@ terminals.") (home-page "https://libbraille.org") (license license:lgpl2.1+))) +(define-public brltty + (package + (name "brltty") + (version "6.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://brltty.app/archive/" + name "-" version ".tar.gz")) + (sha256 + (base32 "0nk54chr7z2w579vyiak9xk2avhnvrx7x2l5sk8nyw2zplchkx9q")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:tests? #f ; No target + #:configure-flags + (list + (string-append "--with-tcl-config=" + (assoc-ref %build-inputs "tcl") + "/lib/tclConfig.sh") + (string-append "--with-libbraille=" + (assoc-ref %build-inputs "libbraille")) + (string-append "--with-espeak_ng=" + (assoc-ref %build-inputs "espeak-ng")) + (string-append "--with-espeak=" + (assoc-ref %build-inputs "espeak")) + (string-append "--with-flite=" + (assoc-ref %build-inputs "flite")) + ;; Required for RUNPATH validation. + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib")) + #:make-flags + (list + (string-append "JAVA_JAR_DIR=" + (assoc-ref %outputs "out")) + (string-append "JAVA_JNI_DIR=" + (assoc-ref %outputs "out")) + (string-append "OCAML_DESTDIR=" + (assoc-ref %outputs "out") + "/lib") + (string-append "PYTHON_PREFIX=" + (assoc-ref %outputs "out")) + "PYTHON_ROOT=/" + (string-append "TCL_DIR=" + (assoc-ref %outputs "out") + "/lib")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-errors + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "configure" + (("/sbin/ldconfig") + (which "true"))) + ;; Make Python bindings use rpath. + (substitute* "Bindings/Python/setup.py.in" + (("extra_compile_args =") + (string-append "extra_link_args = ['-Wl,-rpath=" + (assoc-ref outputs "out") + "/lib'], " + "extra_compile_args = "))) + #t))))) + (native-inputs + `(("clisp" ,clisp) + ("cython" ,python-cython) + ("doxygen" ,doxygen) + ("gettext" ,gettext-minimal) + ("java" ,icedtea "jdk") + ;; ("linuxdoc" ,linuxdoc-tools) + ("ocaml" ,ocaml) + ("ocamlfind" ,ocaml-findlib) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("tcl" ,tcl))) + (inputs + `(("alsa" ,alsa-lib) + ("atspi2" ,at-spi2-core) + ("bluez" ,bluez) + ("dbus" ,dbus) + ("espeak" ,espeak) + ("espeak-ng" ,espeak-ng) + ("expat" ,expat) + ("festival" ,festival) + ("flite" ,flite) + ("glib" ,glib) + ("gpm" ,gpm) + ("iconv" ,libiconv) + ("icu" ,icu4c) + ("libbraille" ,libbraille) + ("libpcre2" ,pcre2) + ("linux-headers" ,linux-libre-headers) + ("louis" ,liblouis) + ("ncurses" ,ncurses) + ("polkit" ,polkit) + ("speech-dispatcher" ,speech-dispatcher) + ("util-linux" ,util-linux) + ("util-linux:lib" ,util-linux "lib") + ("x11" ,libx11) + ("xaw" ,libxaw) + ("xaw3d" ,libxaw3d) + ("xext" ,libxext) + ("xfixes" ,libxfixes) + ("xt" ,libxt) + ("xtst" ,libxtst))) + (synopsis "Braille TTY") + (description "BRLTTY is a background process (daemon) which provides access +to the Linux/Unix console (when in text mode) for a blind person using a +refreshable braille display. It drives the braille display, and provides +complete screen review functionality. Some speech capability has also been +incorporated.") + (home-page "https://brltty.app/") + (license license:lgpl2.1+))) + (define-public florence (package (name "florence") -- 2.28.0