]> git.pld-linux.org Git - packages/brltty.git/blobdiff - brltty.spec
Release 4 (by relup.sh)
[packages/brltty.git] / brltty.spec
index 9d3c7635407132314c1e22f9c99b1e980d9d6c34..6b726fff7477508b1396aa630d291b26fb009eae 100644 (file)
@@ -1,73 +1,90 @@
-# TODO:
-#      - what is that huge %post script?
-#      - ocaml bcond is useless now:
-#              Cannot find ocamlfind.
-#              BrlAPI Caml bindings will be compiled but not installed.
-#      - check java stuff
-#      - create bcond to build with minimal deps (wo ncurses,gpm,at-spi*)
-#
-# warning: Installed (but unpackaged) file(s) found:
-#    /usr/lib/ocaml/brlapi/META
-#    /usr/lib/ocaml/brlapi/brlapi.cma
-#    /usr/lib/ocaml/brlapi/brlapi.cmi
-#    /usr/lib/ocaml/brlapi/brlapi.cmxa
-#    /usr/lib/ocaml/brlapi/brlapi.mli
-#    /usr/lib/ocaml/brlapi/libbrlapi_stubs.a
-#    /usr/lib/ocaml/stublibs/dllbrlapi_stubs.so
-#    /usr/lib/ocaml/stublibs/dllbrlapi_stubs.so.owner
-#    /usr/share/man/man1/xbrlapi.1.gz
+# TODO: user/group (see Autostart/Systemd/sysusers)
 #
 # Conditional build:
-%bcond_without apidocs         # documentation generated with doxygen
-%bcond_with    java            # java bindings
-%bcond_with    ocaml           # ocaml bindings (NFY)
-%bcond_without python          # python bindings
-%bcond_without tcl             # tcl bindings
-%bcond_without x               # build X11-based utilities
-#
-%include       /usr/lib/rpm/macros.java
+%bcond_without apidocs                 # documentation generated with doxygen
+%bcond_without java                    # Java bindings
+%bcond_without ocaml                   # OCaml bindings
+%bcond_without python                  # Python bindings
+%bcond_without python3                 # Python 3.x bindings
+%bcond_without tcl                     # Tcl bindings
+%bcond_without x                       # X11-based utilities
+%bcond_without gpm                     # mouse tracking via GPM
+%bcond_without libbraille              # libbraille Braille driver
+%bcond_without liblouis                # liblouis in-line contracted Braille support
+%bcond_without espeak                  # eSpeak synthesizer driver
+%bcond_without espeak_ng               # eSpeak-NG synthesizer driver
+%bcond_without flite                   # Flite synthesizer driver
+%bcond_with    mikropuhe               # Mikropuhe synthesizer driver [commercial, Finnish]
+%bcond_without speech_dispatcher       # Speech Dispatcher synthesizer driver
+%bcond_with    swift                   # Swift synthesizer driver [commercial, from Cepstral]
+%bcond_with    theta                   # Theta synthesizer driver [commercial, from Cepstral]
+%bcond_with    viavoice                # IBM ViaVoice synthesizer driver [commercial]
+%bcond_with    at_spi                  # AtSpi screen driver
+%bcond_without at_spi2                 # AtSpi2 screen driver
+
+%define                brlapi_ver      0.8.3
 Summary:       Braille display driver for Linux/Unix
 Summary(pl.UTF-8):     Sterownik do wyświetlaczy Braille'a
 Name:          brltty
-Version:       4.2
-Release:       0.1
+Version:       6.4
+Release:       4
+License:       GPL v2+ (brltty and drivers), LGPL v2.1+ (APIs)
 Group:         Daemons
-License:       GPL
-Source0:       http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 192af5e634210616928496645e392097
-Patch0:                %{name}-stat.patch
+Source0:       http://mielke.cc/brltty/archive/%{name}-%{version}.tar.xz
+# Source0-md5: 6400b2b6cb8bbbb31d850a24903ddb67
+Patch1:                %{name}-speech-dispatcher.patch
+Patch4:                %{name}-glibc25.patch
 URL:           http://mielke.cc/brltty/
-BuildRequires: at-spi-devel
-BuildRequires: autoconf >= 2.62
+BuildRequires: alsa-lib-devel
+%{?with_at_spi:BuildRequires:  at-spi-devel}
+%{?with_at_spi2:BuildRequires: at-spi2-core-devel >= 2.0}
+BuildRequires: autoconf >= 2.64
 BuildRequires: automake
 BuildRequires: bison
-#BuildRequires:        bluez-devel
+# just headers
+BuildRequires: bluez-libs-devel
+%{?with_at_spi2:BuildRequires: dbus-devel >= 1.0}
 %{?with_apidocs:BuildRequires: doxygen}
-BuildRequires: gpm-devel
+%{?with_espeak:BuildRequires:  espeak-devel}
+%{?with_espeak_ng:BuildRequires:       espeak-ng-devel}
+BuildRequires: expat-devel
+%{?with_flite:BuildRequires:   flite-devel}
+BuildRequires: gettext-tools
+%{?with_at_spi2:BuildRequires: glib2-devel >= 2.0}
+%{?with_gpm:BuildRequires:     gpm-devel}
 %{?with_java:BuildRequires:    jdk}
+%{?with_java:BuildRequires:    jpackage-utils}
+%{?with_libbraille:BuildRequires:      libbraille-devel}
+BuildRequires: libicu-devel
+%{?with_liblouis:BuildRequires:        liblouis-devel}
 BuildRequires: ncurses-devel
 %{?with_ocaml:BuildRequires:   ocaml}
+BuildRequires: pcre2-32-devel
 BuildRequires: pkgconfig
-%{?with_python:BuildRequires:  python-Pyrex}
+BuildRequires: polkit-devel
+%{?with_python:BuildRequires:  python-Cython}
+%{?with_python3:BuildRequires: python3-Cython}
 %{?with_java:BuildRequires:    rpm-javaprov}
 %{?with_python:BuildRequires:  rpm-pythonprov}
-%{?with_tcl:BuildRequires:     tcl}
-%{?with_x:BuildRequires:       xorg-lib-libXaw-devel}
-%{?with_x:BuildRequires:       xorg-lib-libXtst-devel}
-# libbrlttyblb
-#BR: libbraile-devel (-lllibbraile <braille.h>)
-# libbrlttysfl
-BuildRequires: flite-devel
-# libbrlttysmp
-#BR: Mikropuhe-devel (-lmikropuhe <mpwrfile.h>)
-# libbrlttyssd
-#BuildRequires:        speech-dispatcher-devel
-# libbrlttyssw
-#BR: Swift-devel (-lswift <swift.h>)
-# libbrlttysth
-#BR: Theta-devel (-ltheta <theta.h>)
-# libbrlttysvv
-#BR: ViaVoice-devel (-lviavoice <eci.h>)
+BuildRequires: rpmbuild(macros) >= 1.714
+BuildRequires: sed >= 4.0
+%{?with_speech_dispatcher:BuildRequires:       speech-dispatcher-devel >= 0.8}
+BuildRequires: systemd-devel >= 1:209
+BuildRequires: tar >= 1:1.22
+%{?with_tcl:BuildRequires:     tcl-devel >= 8.5}
+%if %{with x}
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXaw-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXfixes-devel
+BuildRequires: xorg-lib-libXt-devel
+BuildRequires: xorg-lib-libXtst-devel
+%endif
+#%{?with_mikropuhe:BuildRequires:      Mikropuhe-devel (-lmikropuhe <mpwrfile.h>)}
+#%{?with_swift:BuildRequires:  Swift-devel (-lswift <swift.h>)}
+#%{?with_theta:BuildRequires:  Theta-devel (-ltheta <theta.h>)}
+#%{?with_viavoice:BuildRequires:       ViaVoice-devel (-libmeci50 <eci.h>)}
+BuildRequires: xz
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -85,10 +102,24 @@ wyświetlaczem Braille'a i dostarcza funkcjonalność całkowitego
 przeglądu ekranu. Do tego pakietu została włączona możliwość syntezy
 mowy.
 
+%package -n dracut-brltty
+Summary:       Braille support for Dracut
+Summary(pl.UTF-8):     Obsługa Braille'a dla Dracuta
+Group:         Applications/Text
+Requires:      %{name} = %{version}-%{release}
+Requires:      dracut
+
+%description -n dracut-brltty
+Braille support for Dracut.
+
+%description -n dracut-brltty -l pl.UTF-8
+Obsługa Braille'a dla Dracuta.
+
 %package -n brlapi
 Summary:       Application Programming Interface for BRLTTY
 Summary(pl.UTF-8):     API do BRLTTY
-Group:         Applications/System
+License:       LGPL v2.1+
+Group:         Libraries
 
 %description -n brlapi
 This package provides the run-time support for the Application
@@ -107,6 +138,7 @@ wyświetlacza Braille'a z odświeżaniem.
 %package -n brlapi-devel
 Summary:       Headers and documentation for BrlAPI
 Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja do BrlAPI
+License:       LGPL v2.1+
 Group:         Development/Libraries
 Requires:      brlapi = %{version}-%{release}
 
@@ -134,6 +166,7 @@ korzystającą bezpośrednio z odświeżalnych wyświetlaczy Braille'a.
 %package -n brlapi-static
 Summary:       Static BrlAPI library
 Summary(pl.UTF-8):     Statyczna biblioteka BrlAPI
+License:       LGPL v2.1+
 Group:         Development/Libraries
 Requires:      brlapi-devel = %{version}-%{release}
 
@@ -147,18 +180,20 @@ Ten pakiet zawiera statyczną wersję biblioteki BrlAPI.
 Summary:       BrlAPI documentation
 Summary(pl.UTF-8):     Documentacja BrlAPI
 Group:         Documentation
+BuildArch:     noarch
 
 %description -n brlapi-apidocs
-Documentation for BrlAPI in HTML format generated from brltty
-sources by doxygen.
+Documentation for BrlAPI in HTML format generated from brltty sources
+by doxygen.
 
 %description -n brlapi-apidocs -l pl.UTF-8
-Dokumentacja BrlAPI w formacie HTML generowane ze
-źrodeł brltty przez doxygen.
+Dokumentacja BrlAPI w formacie HTML generowane ze źrodeł brltty przez
+doxygen.
 
 %package -n java-brlapi
 Summary:       BrlAPI library for Java
 Summary(pl.UTF-8):     Biblioteka BrlAPI dla Javy
+License:       LGPL v2.1+
 Group:         Libraries
 Requires:      brlapi = %{version}-%{release}
 
@@ -168,21 +203,64 @@ BrlAPI library for Java.
 %description -n java-brlapi -l pl.UTF-8
 Biblioteka BrlAPI dla Javy.
 
+%package -n ocaml-brlapi
+Summary:       OCaml binding for BrlAPI
+Summary(pl.UTF-8):     Wiązania OCamla do BrlAPI
+License:       LGPL v2.1+
+Group:         Libraries
+Requires:      brlapi = %{version}-%{release}
+%requires_eq   ocaml-runtime
+
+%description -n ocaml-brlapi
+OCaml binding for BrlAPI.
+
+%description -n ocaml-brlapi -l pl.UTF-8
+Wiązania OCamla do BrlAPI.
+
+%package -n ocaml-brlapi-devel
+Summary:       OCaml binding for BrlAPI - development files
+Summary(pl.UTF-8):     Wiązania OCamla do BrlAPI - pliki programistyczne
+License:       LGPL v2.1+
+Group:         Libraries
+Requires:      ocaml-brlapi = %{version}-%{release}
+%requires_eq   ocaml
+
+%description -n ocaml-brlapi-devel
+OCaml binding for BrlAPI - development files.
+
+%description -n ocaml-brlapi-devel -l pl.UTF-8
+Wiązania OCamla do BrlAPI - pliki programistyczne.
+
 %package -n python-brlapi
-Summary:       Python interface to BrlAPI
-Summary(pl.UTF-8):     Pythonowy interfejs do BrlAPI
+Summary:       Python 2.x interface to BrlAPI
+Summary(pl.UTF-8):     Interfejs Pythona 2.x do BrlAPI
+License:       LGPL v2.1+
 Group:         Libraries
 Requires:      brlapi = %{version}-%{release}
 
 %description -n python-brlapi
-Python interface to BrlAPI.
+Python 2.x interface to BrlAPI.
 
 %description -n python-brlapi -l pl.UTF-8
-Pythonowy interfejs do BrlAPI.
+Interfejs Pythona 2.x do BrlAPI.
+
+%package -n python3-brlapi
+Summary:       Python 3.x interface to BrlAPI
+Summary(pl.UTF-8):     Interfejs Pythona 3.x do BrlAPI
+License:       LGPL v2.1+
+Group:         Libraries
+Requires:      brlapi = %{version}-%{release}
+
+%description -n python3-brlapi
+Python 3.x interface to BrlAPI.
+
+%description -n python3-brlapi -l pl.UTF-8
+Interfejs Pythona 3.x do BrlAPI.
 
 %package -n brlapi-tcl
 Summary:       BrlAPI library for Tcl
 Summary(pl.UTF-8):     Biblioteka BrlAPI dla Tcl
+License:       LGPL v2.1+
 Group:         Libraries
 Requires:      brlapi = %{version}-%{release}
 
@@ -194,28 +272,87 @@ Biblioteka BrlAPI dla Tcl.
 
 %prep
 %setup -q
-%patch0 -p1
+%patch1 -p1
+#patch2 -p1
+%patch4 -p1
+
+%{__sed} -i -e '1s,/usr/bin/python$,%{__python},' Tables/Contraction/latex-access.ctb
 
 %build
+%{__aclocal} -I m4
+%{__autoconf}
 CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
 %configure \
+       %{?with_java:JAVA_HOME=%{java_home}} \
        --with-install-root="$RPM_BUILD_ROOT" \
+       %{!?with_libbraille:--without-libbraille} \
+       %{!?with_espeak:--without-espeak} \
+       %{!?with_espeak_ng:--without-espeak_ng} \
+       %{!?with_flite:--without-flite} \
+       %{!?with_speech_dispatcher:--without-speechd} \
+       %{!?with_ocaml:--disable-caml-bindings} \
+       %{!?with_gpm:--disable-gpm} \
        %{!?with_java:--disable-java-bindings} \
+       %{!?with_liblouis:--disable-liblouis} \
+       --enable-lisp-bindings \
+       %{!?with_python:--disable-python-bindings} \
+       %{!?with_tcl:--disable-tcl-bindings} \
+       %{!?with_x:--disable-x} \
        --enable-api
-%{__make}
 
-directory="doc"
-mkdir -p "$directory"
-for file in `find . \( -path "./$directory" -o -path ./Documents \) -prune -o \( -name 'README*' -o -name '*.txt' -o -name '*.html' -o -name '*.sgml' -o \( -path "./Bootdisks/*" -type f -perm +ugo=x \) \) -print`
-do
-       mkdir -p "$directory/${file%/*}"
-       cp -rp "$file" "$directory/$file"
-done
+%{__make} -j1
+
+%if %{with python}
+cd Bindings/Python
+%py_build
+cd ../..
+%endif
+
+%if %{with python3}
+cd Bindings/Python
+%py3_build
+cd ../..
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__make} -j1 install
-install Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir}
+install -d $RPM_BUILD_ROOT/var/lib/brltty
+
+%{__make} -j1 install install-appstream install-dracut install-polkit install-systemd install-udev \
+       OCAML_INSTALL_TARGET=install-without-findlib
+
+# findlib-specific, useless in rpm
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so.owner
+
+%if %{with python}
+cd Bindings/Python
+%py_install
+cd ../..
+%endif
+
+%if %{with python3}
+cd Bindings/Python
+%py3_install
+cd ../..
+%endif
+
+%if "%{_lib}" != "lib"
+       # Fix java plugin install path on 64-bit archs
+       install -d $RPM_BUILD_ROOT%{_libdir}/java
+       %{__mv} $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/java/libbrlapi_java.so
+%endif
+
+install Bootdisks/bp2cf $RPM_BUILD_ROOT%{_bindir}/brltty-bp2cf
+cp -p Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir}
+
+# no sign in source wheter it is zh_CN or zh_TW
+# but seems to contain Traditional Chinese characters
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{zh,zh_TW}
+
+# packaged as %doc
+%{__rm} $RPM_BUILD_ROOT%{_prefix}/lib/dracut/modules.d/99brltty/README
+
+%find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -233,8 +370,6 @@ rm -rf $RPM_BUILD_ROOT
 rm -f "%{_sysconfdir}/brltty.conf.rpmnew"
 
 %post
-# The post-install scriptlet.
-
 # If BRLTTY's boot parameter has been specified then update the just installed
 # configuration file template to reflect the options supplied thereby.
 
@@ -245,288 +380,70 @@ new="${file}.rpmnew"
 [ -f "${new}" ] && file="${new}"
 
 # Update the configuration file template via the Bootdisks/bp2cf script.
-# Include it right within this scriptlet so that it needn't be installed.
-# Imbed it within a subshell to ensure that it won't impact this scriptlet.
-(
-       # First, set bp2cf's command line arguments.
-       set -- -u -f "${file}"
-
-#!/bin/sh
-###############################################################################
-# BRLTTY - A background process providing access to the Linux console (when in
-#          text mode) for a blind person using a refreshable Braille display.
-#
-# Copyright (C) 1995-2003 by The BRLTTY Team. All rights reserved.
-#
-# BRLTTY comes with ABSOLUTELY NO WARRANTY.
-#
-# This is free software, placed under the terms of the
-# GNU General Public License, as published by the Free Software
-# Foundation.  Please see the file COPYING for details.
-#
-# Web Page: http://mielke.cc/brltty/
-#
-# This software is maintained by Dave Mielke <dave@mielke.cc>.
-###############################################################################
-
-# Convert the boot parameter to configuration file directives.
-# If /proc is mounted then use the brltty= boot parameter in /proc/cmdline.
-# If /proc is not mounted then use the brltty environment variable.
-# Invoke with -h for usage information.
-
-programName="${0##*/}"
-programMessage()
-{
-       echo 2>&1 "${programName}: ${1}"
-}
-syntaxError()
-{
-       programMessage "${1}"
-       exit 2
-}
-internalError()
-{
-       programMessage "${1}"
-       exit 3
-}
-
-configurationFile=""
-requestedAction=create
-deviceTranslation=none
-requestedParameter=""
-OPTIND=1
-while getopts ":f:cundop:h" option
-do
-       case "${option}" in
-           f) configurationFile="${OPTARG}";;
-           c) requestedAction=create;;
-           u) requestedAction=update;;
-           n) deviceTranslation=none;;
-           d) deviceTranslation=devfs;;
-           o) deviceTranslation=old;;
-           p) requestedParameter="${OPTARG}";;
-           h)
-               cat <<EOF
-Usage: ${programName} [option ...]
--f file  The configuration file to create/update.
--c       Create the configuration file (write to stdout if no -f).
--u       Update the configuration file (copying from stdin to stdout if no -f).
--n       Do not translate device paths.
--d       Do old-style to devfs device path translation.
--o       Do devfs to old-style device path translation.
--p [driver][,[device][,[table]]]
-         Explicitly specify the boot parameter.
--h       Display this usage summary.
-EOF
-               exit 0
-               ;;
-           \?) syntaxError "unknown option: -${OPTARG}";;
-           :) syntaxError "missing value: -${OPTARG}";;
-           *) internalError "unimplemented option: -${option}";;
-       esac
-done
-shift "`expr $OPTIND - 1`"
-[ "${#}" -eq 0 ] || syntaxError "too many parameters."
-
-case "${requestedAction}" in
-    create)
-       putConfigurationLine()
-       {
-               echo "${1}" || exit 4
-       }
-       startConfigurationFile()
-       {
-               [ -n "${configurationFile}" ] && exec >"${configurationFile}"
-               putConfigurationLine "`makeHeaderLine Created`"
-               putConfigurationLine "`makeParameterLine`"
-               putConfigurationLine ""
-       }
-       putConfigurationDirective()
-       {
-               putConfigurationLine "${1} ${2}"
-       }
-       finalizeConfigurationFile()
-       {
-               :
-       }
-       ;;
-    update)
-       putSedCommand()
-       {
-               sedScript="${sedScript}
-${1}"
-       }
-       startConfigurationFile()
-       {
-               if [ -n "${configurationFile}" ]; then
-                       [ -e "${configurationFile}" ] || syntaxError "file not found: ${configurationFile}"
-                       [ -f "${configurationFile}" ] || syntaxError "not a file: ${configurationFile}"
-                       [ -r "${configurationFile}" ] || syntaxError "file not readable: ${configurationFile}"
-                       [ -w "${configurationFile}" ] || syntaxError "file not writable: ${configurationFile}"
-                       outputFile="${configurationFile}.new"
-                       exec <"${configurationFile}" >"${outputFile}"
-               fi
-               sedScript=""
-               putSedCommand "1i\\
-`makeHeaderLine Updated`\\
-`makeParameterLine`\\
-"
-       }
-       putConfigurationDirective()
-       {
-               value="`echo "${2}" | sed -e 's%\\([/\\]\\)%\\\\\\1%g'`"
-               putSedCommand "/^ *#\\(${1} .*\\)/s//\\1/"
-               putSedCommand "/^ *\\(${1}\\) .*/s//\\1 ${value}/"
-       }
-       finalizeConfigurationFile()
-       {
-               sed -e "${sedScript}"
-               [ -n "${outputFile}" ] && mv -f "${outputFile}" "${configurationFile}"
-       }
-       ;;
-    *) internalError "unimplemented action: ${requestedAction}";;
-esac
-
-translateDevice_none()
-{
-       :
-}
-translateDevice_devfs()
-{
-       minor="${device#ttyS}"
-       if [ "${minor}" != "${device}" ]; then
-               device="tts/${minor}"
-               return 0
-       fi
-       minor="${device#lp}"
-       if [ "${minor}" != "${device}" ]; then
-               device="printers/${minor}"
-               return 0
-       fi
-       programMessage "unsupported old-style device: ${device}"
-}
-translateDevice_old()
-{
-       major="${device%%/*}"
-       if [ "${major}" != "${device}" ]; then
-               minor="${device#*/}"
-               case "${major}" in
-                   tts) devfs="ttyS${minor}";;
-                   printers) devfs="lp${minor}";;
-               esac
-       fi
-       if [ -n "${devfs}" ]; then
-               device="${devfs}"
-       else
-               programMessage "unsupported devfs device: ${device}"
-       fi
-}
-
-makeHeaderLine()
-{
-       echo "# ${1} by brltty-bp2cf`date +' on %Y-%m-%d at %H:%M:%S %Z (UTC%z)'`."
-}
-makeParameterLine()
-{
-       echo "# Boot Parameter:${bootParameter}"
-}
-putConfigurationFile()
-{
-       startConfigurationFile
-       [ -n "${brailleDriver}" ] && putConfigurationDirective "braille-driver" "${brailleDriver}"
-       [ -n "${brailleDevice}" ] && {
-       device="`echo "${brailleDevice}" | sed -e 's%//*%/%g' -e 's%^/dev/%%'`"
-       if [ "${device#/}" = "${device}" ]; then
-               translateDevice_${deviceTranslation}
-       fi
-       putConfigurationDirective "braille-device" "${device}"
-       }
-       [ -n "${textTable}" ] && putConfigurationDirective "text-table" "${textTable}"
-       finalizeConfigurationFile
-}
-parseBootParameter()
-{
-       bootParameter="${bootParameter} ${1}"
-       number=1
-       while [ "${number}" -le 3 ]; do
-               cut="cut -d, -f${number}"
-               [ "${number}" -gt 1 ] && cut="${cut} -s"
-               operand="`echo ${1} | ${cut}`"
-               if [ -n "${operand}" ]; then
-                       case "${number}" in
-                           1) brailleDriver="${operand}";;
-                           2) brailleDevice="${operand}";;
-                           3) textTable="${operand}";;
-                       esac
-               fi
-               number="`expr ${number} + 1`"
-       done
-}
-putBootParameter()
-{
-       parseBootParameter "${1}"
-       putConfigurationFile
-}
-parseBootCommand()
-{
-       found=false
-       while [ "${#}" -gt 0 ]; do
-               case "${1}" in
-                   "brltty="*)
-                       found=true
-                       parseBootParameter "${1#*=}"
-                       ;;
-               esac
-               shift
-       done
-       "${found}" && putConfigurationFile
-}
-
-brailleDriver=""
-brailleDevice=""
-textTable=""
-bootCommandFile="/proc/cmdline"
-if [ -n "${requestedParameter}" ]; then
-       putBootParameter "${requestedParameter}"
-elif [ -f "${bootCommandFile}" ]; then
-       parseBootCommand `cat "${bootCommandFile}"`
-elif [ -n "${brltty}" ]; then
-       putBootParameter "${brltty}"
-fi
-exit 0
-)
+%{_bindir}/brltty-bp2cf -u -f "${file}" >/dev/null 2>&1 || :
 
 %post  -n brlapi -p /sbin/ldconfig
 %postun        -n brlapi -p /sbin/ldconfig
 
-%files
+%files -f %{name}.lang
 %defattr(644,root,root,755)
 %doc Documents/{Manual-BRLTTY/English/BRLTTY*,ChangeLog,HISTORY,TODO}
-%doc doc/{Bindings,Bootdisks,Drivers,Patches,Tables,README,nsistrings.txt}
 %attr(755,root,root) %{_bindir}/brltty
-%attr(755,root,root) %{_bindir}/brltty-install
-%attr(755,root,root) %{_bindir}/brltty-config
+%attr(755,root,root) %{_bindir}/brltty-atb
+%attr(755,root,root) %{_bindir}/brltty-bp2cf
+%{_bindir}/brltty-config.sh
+%attr(755,root,root) %{_bindir}/brltty-clip
+%attr(755,root,root) %{_bindir}/brltty-cldr
+%attr(755,root,root) %{_bindir}/brltty-ctb
+%attr(755,root,root) %{_bindir}/brltty-genkey
+%attr(755,root,root) %{_bindir}/brltty-ktb
+%attr(755,root,root) %{_bindir}/brltty-lscmds
+%attr(755,root,root) %{_bindir}/brltty-lsinc
+%attr(755,root,root) %{_bindir}/brltty-mkuser
+%attr(755,root,root) %{_bindir}/brltty-morse
+%{_bindir}/brltty-prologue.sh
+%attr(755,root,root) %{_bindir}/brltty-setcaps
+%attr(755,root,root) %{_bindir}/brltty-trtxt
+%attr(755,root,root) %{_bindir}/brltty-ttb
+%attr(755,root,root) %{_bindir}/brltty-tune
+%attr(755,root,root) %{_bindir}/eutp
 %attr(755,root,root) %{_bindir}/vstp
 %{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi}
 %dir %{_libdir}/brltty
+# Braille drivers
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybal.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybat.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybba.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybbc.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbd.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybbg.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbl.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbm.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbn.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybcb.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybce.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybcn.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybec.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybeu.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybfa.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybfs.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybhd.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybhm.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybht.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttybil.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybhw.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybic.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybir.so
+%{?with_libbraille:%attr(755,root,root) %{_libdir}/brltty/libbrlttyblb.so}
 %attr(755,root,root) %{_libdir}/brltty/libbrlttyblt.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmb.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmd.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybmm.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmn.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybmt.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybnp.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybpg.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybpm.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybsk.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtn.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybts.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtt.so
@@ -535,34 +452,77 @@ exit 0
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvr.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvs.so
 %{?with_x:%attr(755,root,root) %{_libdir}/brltty/libbrlttybxw.so}
+# speech synthesizer drivers
 %attr(755,root,root) %{_libdir}/brltty/libbrlttysal.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttysbl.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttyscb.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttysfl.so
+%{?with_espeak_ng:%attr(755,root,root) %{_libdir}/brltty/libbrlttysen.so}
+%{?with_espeak:%attr(755,root,root) %{_libdir}/brltty/libbrlttyses.so}
+%{?with_flite:%attr(755,root,root) %{_libdir}/brltty/libbrlttysfl.so}
 %attr(755,root,root) %{_libdir}/brltty/libbrlttysfv.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttysgs.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttyxas.so
+%{?with_mikropuhe:%attr(755,root,root) %{_libdir}/brltty/libbrlttysmp.so}
+%{?with_speech_dispatcher:%attr(755,root,root) %{_libdir}/brltty/libbrlttyssd.so}
+%{?with_swift:%attr(755,root,root) %{_libdir}/brltty/libbrlttyssw.so}
+%{?with_theta:%attr(755,root,root) %{_libdir}/brltty/libbrlttysth.so}
+%{?with_viavoice:%attr(755,root,root) %{_libdir}/brltty/libbrlttysvv.so}
+%attr(755,root,root) %{_libdir}/brltty/libbrlttysxs.so
+# screen drivers
+%{?with_at_spi2:%attr(755,root,root) %{_libdir}/brltty/libbrlttyxa2.so}
+%{?with_at_spi:%attr(755,root,root) %{_libdir}/brltty/libbrlttyxas.so}
 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxlx.so
 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxsc.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttybhm.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttybmt.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttybpg.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttybsk.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttysxs.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttyses.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttyxa2.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttyssd.so
-
+%if "%{_libexecdir}" != "%{_libdir}"
+%dir %{_libexecdir}/brltty
+%endif
+%attr(755,root,root) %{_libexecdir}/brltty/systemd-wrapper
+%attr(755,root,root) %{_libexecdir}/brltty/udev-wrapper
 %{_sysconfdir}/brltty
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/brltty.conf
+/lib/udev/rules.d/90-brltty-device.rules
+/lib/udev/rules.d/90-brltty-uinput.rules
+%{systemdunitdir}/brltty.path
+%{systemdunitdir}/brltty@.path
+%{systemdunitdir}/brltty@.service
+%{systemdunitdir}/brltty-device@.service
+%{systemdtmpfilesdir}/brltty.conf
+#%{_prefix}/lib/sysusers.d/brltty.conf
+#%attr(3777,brltty,brltty)
+%dir /var/lib/BrlAPI
+#%attr(2770,brltty,brltty)
+%dir /var/lib/brltty
 %{_mandir}/man1/brltty.1*
+%{_mandir}/man1/eutp.1*
 %{_mandir}/man1/vstp.1*
 %{?with_x:%{_mandir}/man1/xbrlapi.1*}
 
+%if %{with x}
+# gdm autostart - subpackage?
+#%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop
+#/etc/X11/Xsession.d/90xbrlapi
+%{_datadir}/metainfo/org.a11y.brltty.metainfo.xml
+%endif
+%{_datadir}/polkit-1/actions/org.a11y.brlapi.policy
+%{_datadir}/polkit-1/rules.d/org.a11y.brlapi.rules
+
+%files -n dracut-brltty
+%defattr(644,root,root,755)
+%doc Initramfs/Dracut/README
+%dir %{_prefix}/lib/dracut/modules.d/99brltty
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/alsa-start.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/bluetooth-start.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/brltty-start.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/brltty-stop.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/dbus-start.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/module-setup.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/pulse-start.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/pulse-stop.sh
+%attr(755,root,root) %{_prefix}/lib/dracut/modules.d/99brltty/speechd-start.sh
+
 %files -n brlapi
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libbrlapi.so.0.5.5
-%attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.5
+%attr(755,root,root) %{_libdir}/libbrlapi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.8
 
 %files -n brlapi-devel
 %defattr(644,root,root,755)
@@ -570,7 +530,8 @@ exit 0
 %attr(755,root,root) %{_libdir}/libbrlapi.so
 %{_includedir}/brltty
 %{_includedir}/brlapi*.h
-%{_mandir}/man3/*
+%{_pkgconfigdir}/brltty.pc
+%{_mandir}/man3/brlapi_*.3*
 
 %files -n brlapi-static
 %defattr(644,root,root,755)
@@ -585,21 +546,42 @@ exit 0
 %if %{with java}
 %files -n java-brlapi
 %defattr(644,root,root,755)
-%{_libdir}/java/libbrlapi_java.so
+%attr(755,root,root) %{_libdir}/java/libbrlapi_java.so
 %{_javadir}/brlapi.jar
 %endif
 
+%if %{with ocaml}
+%files -n ocaml-brlapi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so
+
+%files -n ocaml-brlapi-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/brlapi
+%{_libdir}/ocaml/brlapi/META
+%{_libdir}/ocaml/brlapi/brlapi.cm[aix]*
+%{_libdir}/ocaml/brlapi/brlapi.mli
+%{_libdir}/ocaml/brlapi/libbrlapi_stubs.a
+%endif
+
 %if %{with python}
 %files -n python-brlapi
 %defattr(644,root,root,755)
-%{py_sitedir}/Brlapi-*.egg-info
 %attr(755,root,root) %{py_sitedir}/brlapi.so
+%{py_sitedir}/Brlapi-%{brlapi_ver}-py*.egg-info
+
+%if %{with python3}
+%files -n python3-brlapi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/brlapi.cpython-*.so
+%{py3_sitedir}/Brlapi-%{brlapi_ver}-py*.egg-info
+%endif
 %endif
 
 %if %{with tcl}
 %files -n brlapi-tcl
 %defattr(644,root,root,755)
-%dir %{_libdir}/brlapi-0.5.5
-%attr(755,root,root) %{_libdir}/brlapi-0.5.5/libbrlapi_tcl.so
-%{_libdir}/brlapi-0.5.5/pkgIndex.tcl
+%dir %{_libdir}/brlapi-%{brlapi_ver}
+%attr(755,root,root) %{_libdir}/brlapi-%{brlapi_ver}/libbrlapi_tcl.so
+%{_libdir}/brlapi-%{brlapi_ver}/pkgIndex.tcl
 %endif
This page took 0.080621 seconds and 4 git commands to generate.