]> git.pld-linux.org Git - packages/brltty.git/blobdiff - brltty.spec
automatic change: use py_build/py_install macros
[packages/brltty.git] / brltty.spec
index 1619c7a2b024259131e25856c8c14abfdbc4cd38..5fbf17879d8d124a43be459feb23f12a39e45c75 100644 (file)
@@ -1,16 +1,80 @@
+# TODO:
+#      - what is that huge %post script?
+#
+# Conditional build:
+%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 espeak                  # eSpeak 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.6.3
+#
+%include       /usr/lib/rpm/macros.java
 Summary:       Braille display driver for Linux/Unix
-Summary(pl):   Sterownik do wy¶wietlaczy Braille'a
+Summary(pl.UTF-8):     Sterownik do wyświetlaczy Braille'a
 Name:          brltty
-Version:       3.6.1
-Release:       1
+Version:       5.2
+Release:       7
 Group:         Daemons
-License:       GPL
+License:       GPL v2+ (brltty and drivers), LGPL v2.1+ (APIs)
+Source0:       http://mielke.cc/brltty/archive/%{name}-%{version}.tar.xz
+# Source0-md5: b484343461b5a45f95fedfb21d1ceca3
+Patch0:                %{name}-java.patch
+Patch1:                %{name}-speech-dispatcher.patch
+Patch2:                %{name}-python.patch
 URL:           http://mielke.cc/brltty/
-Source0:       http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
-# Source0-md5: e5e2dae5f385e86795a74b58310f287f
-BuildRequires: autoconf >= 2.53
+BuildRequires: alsa-lib-devel
+%{?with_at_spi:BuildRequires:  at-spi-devel}
+BuildRequires: autoconf >= 2.62
+BuildRequires: automake
 BuildRequires: bison
-BuildRequires: glibc-devel
+# just headers
+BuildRequires: bluez-libs-devel
+%{?with_at_spi2:BuildRequires: dbus-devel >= 1.0}
+%{?with_apidocs:BuildRequires: doxygen}
+%{?with_espeak:BuildRequires:  espeak-devel}
+%{?with_flite:BuildRequires:   flite-devel}
+%{?with_gpm:BuildRequires:     gpm-devel}
+%{?with_java:BuildRequires:    jdk}
+%{?with_java:BuildRequires:    jpackage-utils}
+%{?with_libbraille:BuildRequires:      libbraille-devel}
+BuildRequires: libicu-devel
+BuildRequires: ncurses-devel
+%{?with_ocaml:BuildRequires:   ocaml}
+BuildRequires: pkgconfig
+%{?with_python:BuildRequires:  python-Cython}
+%{?with_python3:BuildRequires: python3-Cython}
+%{?with_java:BuildRequires:    rpm-javaprov}
+%{?with_python:BuildRequires:  rpm-pythonprov}
+%{?with_speech_dispatcher:BuildRequires:       speech-dispatcher-devel >= 0.8}
+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-libXt-devel
+BuildRequires: xorg-lib-libXtst-devel
+%endif
+BuildRequires: xz
+#%{?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>)}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -20,18 +84,19 @@ refreshable Braille display. It drives the Braille display, and
 provides complete screen review functionality. Some speech capability
 has also been incorporated.
 
-%description -l pl
-BRLTTY jest demonem, który udostêpnia dostêp do linuksowej konsoli (w
-trybie tekstowym) dla niewidomych u¿ywaj±cych wy¶wietlaczy Braille'a z
-od¶wie¿aniem (refreshable Braille display). BRLTTY steruje
-wy¶wietlaczem Braille'a i dostarcza funkcjonalno¶æ ca³kowitego
-przegl±du ekranu. Do tego pakietu zosta³a w³±czona mo¿liwo¶æ syntezy
+%description -l pl.UTF-8
+BRLTTY jest demonem, który udostępnia dostęp do linuksowej konsoli (w
+trybie tekstowym) dla niewidomych używających wyświetlaczy Braille'a z
+odświeżaniem (refreshable Braille display). BRLTTY steruje
+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 brlapi
 Summary:       Application Programming Interface for BRLTTY
-Summary(pl):   API do BRLTTY
-Group:         Applications/System
+Summary(pl.UTF-8):     API do BRLTTY
+License:       LGPL v2.1+
+Group:         Libraries
 
 %description -n brlapi
 This package provides the run-time support for the Application
@@ -40,18 +105,19 @@ Programming Interface to BRLTTY.
 Install this package if you have an application which directly
 accesses a refreshable Braille display.
 
-%description -n brlapi -l pl
-Ten pakiet zawiera ¶rodowisko uruchomieniowe dla programów
-korzystaj±cych z API BRLTTY.
+%description -n brlapi -l pl.UTF-8
+Ten pakiet zawiera środowisko uruchomieniowe dla programów
+korzystających z API BRLTTY.
 
-Zainstaluj ten pakiet je¶li masz aplikacjê, która bezpo¶rednio u¿ywa
-wy¶wietlacza Braille'a z od¶wie¿aniem.
+Zainstaluj ten pakiet jeśli masz aplikację, która bezpośrednio używa
+wyświetlacza Braille'a z odświeżaniem.
 
 %package -n brlapi-devel
 Summary:       Headers and documentation for BrlAPI
-Summary(pl):   Pliki nag³ówkowe i dokumentacja do BrlAPI
+Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja do BrlAPI
+License:       LGPL v2.1+
 Group:         Development/Libraries
-Requires:      brlapi = %{version}
+Requires:      brlapi = %{version}-%{release}
 
 %description -n brlapi-devel
 This package provides the header files, shared object linker
@@ -65,35 +131,153 @@ are more specifically atuned to their needs.
 Install this package if you're developing or maintaining an
 application which directly accesses a refreshable Braille display.
 
-%description -n brlapi-devel -l pl
-Ten pakiet zawiera pliki nag³ówkowe oraz dokumentacjê do BrlAPI (API
-do BRLTTY). BrlAPI pozwala implementowaæ aplikacje, które bezpo¶rednio
-korzystaj± z wy¶wietlaczy Braille'a dostarczaj±c interfejs u¿ytkownika
-bardziej przystosowany dla osób niewidomych.
+%description -n brlapi-devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe oraz dokumentację do BrlAPI (API
+do BRLTTY). BrlAPI pozwala implementować aplikacje, które bezpośrednio
+korzystają z wyświetlaczy Braille'a dostarczając interfejs użytkownika
+bardziej przystosowany dla osób niewidomych.
 
-Zainstaluj ten pakiet, je¶li tworzysz lub nadzorujesz aplikacjê
-korzystaj±c± bezpo¶rednio z od¶wie¿alnych wy¶wietlaczy Braille'a.
+Zainstaluj ten pakiet, jeśli tworzysz lub nadzorujesz aplikację
+korzystającą bezpośrednio z odświeżalnych wyświetlaczy Braille'a.
 
 %package -n brlapi-static
 Summary:       Static BrlAPI library
-Summary(pl):   Statyczna biblioteka BrlAPI
+Summary(pl.UTF-8):     Statyczna biblioteka BrlAPI
+License:       LGPL v2.1+
 Group:         Development/Libraries
-Requires:      brlapi-devel = %{version}
+Requires:      brlapi-devel = %{version}-%{release}
 
 %description -n brlapi-static
 This is package with static BrlAPI library.
 
-%description -n brlapi-static -l pl
-Ten pakiet zawiera statyczn± wersjê biblioteki BrlAPI.
+%description -n brlapi-static -l pl.UTF-8
+Ten pakiet zawiera statyczną wersję biblioteki BrlAPI.
+
+%package -n brlapi-apidocs
+Summary:       BrlAPI documentation
+Summary(pl.UTF-8):     Documentacja BrlAPI
+Group:         Documentation
+
+%description -n brlapi-apidocs
+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.
+
+%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}
+
+%description -n java-brlapi
+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 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 2.x interface to BrlAPI.
+
+%description -n python-brlapi -l pl.UTF-8
+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}
+
+%description -n brlapi-tcl
+BrlAPI library for Tcl.
+
+%description -n brlapi-tcl -l pl.UTF-8
+Biblioteka BrlAPI dla Tcl.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
-%configure --with-install-root="$RPM_BUILD_ROOT" \
-       --disable-tainted-components \
+%{__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_flite:--without-flite} \
+       %{!?with_speech_dispatcher:--without-speechd} \
+       %{!?with_ocaml:--disable-caml-bindings} \
+       %{!?with_gpm:--disable-gpm} \
+       %{!?with_java:--disable-java-bindings} \
+       %{!?with_python:--disable-python-bindings} \
+       %{!?with_tcl:--disable-tcl-bindings} \
+       %{!?with_x:--disable-x} \
        --enable-api
-%{__make}
+
+%{__make} -j1
+
+%if %{with python3}
+cd Bindings/Python
+%py3_build \
+       -b build-3
+cd ../..
+%endif
 
 directory="doc"
 mkdir -p "$directory"
@@ -105,9 +289,43 @@ done
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__make} install
+
+%{__make} -j1 install \
+       OCAML_INSTALL_TARGET=install-without-findlib
+
+# findlib-specific, useless in rpm
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so.owner
+
+%if %{with python3}
+cd Bindings/Python
+%{__python3} setup.py \
+       build \
+               -b build-3 \
+       install \
+               --optimize=2 \
+               --skip-build \
+               --root=$RPM_BUILD_ROOT
+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 Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir}
 
+install -d $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
+cat >$RPM_BUILD_ROOT/usr/lib/tmpfiles.d/brltty.conf <<EOF
+d /var/run/brltty 0755 root root -
+EOF
+
+# no sign in source wheter it is zh_CN or zh_TW so just remove it
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/zh
+
+%find_lang %{name}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -139,8 +357,8 @@ new="${file}.rpmnew"
 # 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}"
+       # First, set bp2cf's command line arguments.
+       set -- -u -f "${file}"
 
 #!/bin/sh
 ###############################################################################
@@ -168,17 +386,17 @@ new="${file}.rpmnew"
 programName="${0##*/}"
 programMessage()
 {
-   echo 2>&1 "${programName}: ${1}"
+       echo 2>&1 "${programName}: ${1}"
 }
 syntaxError()
 {
-   programMessage "${1}"
-   exit 2
+       programMessage "${1}"
+       exit 2
 }
 internalError()
 {
-   programMessage "${1}"
-   exit 3
+       programMessage "${1}"
+       exit 3
 }
 
 configurationFile=""
@@ -188,17 +406,16 @@ 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
+       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).
@@ -210,196 +427,180 @@ Usage: ${programName} [option ...]
          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
+               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}
+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\\
+       }
+       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}";;
+       }
+       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}"
+       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
+       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)'`."
+       echo "# ${1} by brltty-bp2cf`date +' on %Y-%m-%d at %H:%M:%S %Z (UTC%z)'`."
 }
 makeParameterLine()
 {
-   echo "# Boot Parameter:${bootParameter}"
+       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
+       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
+       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
+       parseBootParameter "${1}"
+       putConfigurationFile
 }
 parseBootCommand()
 {
-   found=false
-   while [ "${#}" -gt 0 ]
-   do
-      case "${1}"
-      in
-         "brltty="*)
-            found=true
-            parseBootParameter "${1#*=}"
-            ;;
-      esac
-      shift
-   done
-   "${found}" && putConfigurationFile
+       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}"
+if [ -n "${requestedParameter}" ]; then
+       putBootParameter "${requestedParameter}"
+elif [ -f "${bootCommandFile}" ]; then
+       parseBootCommand `cat "${bootCommandFile}"`
+elif [ -n "${brltty}" ]; then
+       putBootParameter "${brltty}"
 fi
 exit 0
 )
@@ -407,34 +608,153 @@ exit 0
 %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}
 %attr(755,root,root) %{_bindir}/brltty
-%attr(755,root,root) %{_bindir}/brltty-*
+%attr(755,root,root) %{_bindir}/brltty-config
+%attr(755,root,root) %{_bindir}/brltty-ctb
+%attr(755,root,root) %{_bindir}/brltty-trtxt
+%attr(755,root,root) %{_bindir}/brltty-ttb
+%attr(755,root,root) %{_bindir}/eutp
+%attr(755,root,root) %{_bindir}/vstp
+%{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi}
 %dir %{_libdir}/brltty
-%dir %{_sysconfdir}/brltty
-%attr(755,root,root) %{_libdir}/brltty/*.so
-%{_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/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/libbrlttybec.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybeu.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/libbrlttybhw.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
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybvd.so
+%attr(755,root,root) %{_libdir}/brltty/libbrlttybvo.so
+%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
+%{?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
+%{?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
 %{_sysconfdir}/brltty
-%doc %{_mandir}/man1/*
-%doc Documents/Manual.sgml Documents/Manual.txt Documents/Manual-HTML
-%doc Documents/ChangeLog Documents/TODO
-%doc doc/*
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/brltty.conf
+/usr/lib/tmpfiles.d/brltty.conf
+%dir /var/lib/BrlAPI
+%dir /var/run/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
+%endif
 
 %files -n brlapi
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libbrlapi.so.*
-%doc Documents/BrlAPI.sgml Documents/BrlAPI.txt Documents/BrlAPI-HTML
+%attr(755,root,root) %{_libdir}/libbrlapi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.6
 
 %files -n brlapi-devel
 %defattr(644,root,root,755)
+%doc Documents/Manual-BrlAPI/English/BrlAPI*
 %attr(755,root,root) %{_libdir}/libbrlapi.so
 %{_includedir}/brltty
-%doc %{_mandir}/man3/*
-%doc Documents/BrlAPIref-HTML
-%doc Documents/README.Gnopernicus
+%{_includedir}/brlapi*.h
+%{_mandir}/man3/brlapi_*.3*
 
 %files -n brlapi-static
 %defattr(644,root,root,755)
 %{_libdir}/libbrlapi.a
+
+%if %{with apidocs}
+%files -n brlapi-apidocs
+%defattr(644,root,root,755)
+%doc Documents/BrlAPIref/html/*
+%endif
+
+%if %{with java}
+%files -n java-brlapi
+%defattr(644,root,root,755)
+%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)
+%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-%{brlapi_ver}
+%attr(755,root,root) %{_libdir}/brlapi-%{brlapi_ver}/libbrlapi_tcl.so
+%{_libdir}/brlapi-%{brlapi_ver}/pkgIndex.tcl
+%endif
This page took 0.09609 seconds and 4 git commands to generate.