]> 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:       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
 Name:          brltty
-Version:       3.6.1
-Release:       1
+Version:       5.2
+Release:       7
 Group:         Daemons
 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/
 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: 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
 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.
 
 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
 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
 
 %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.
 
 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
 
 %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
 Group:         Development/Libraries
-Requires:      brlapi = %{version}
+Requires:      brlapi = %{version}-%{release}
 
 %description -n brlapi-devel
 This package provides the header files, shared object linker
 
 %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.
 
 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
 
 %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
 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
 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
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
 
 %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
        --enable-api
-%{__make}
+
+%{__make} -j1
+
+%if %{with python3}
+cd Bindings/Python
+%py3_build \
+       -b build-3
+cd ../..
+%endif
 
 directory="doc"
 mkdir -p "$directory"
 
 directory="doc"
 mkdir -p "$directory"
@@ -105,9 +289,43 @@ done
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %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 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
 
 %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.
 (
 # 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
 ###############################################################################
 
 #!/bin/sh
 ###############################################################################
@@ -168,17 +386,17 @@ new="${file}.rpmnew"
 programName="${0##*/}"
 programMessage()
 {
 programName="${0##*/}"
 programMessage()
 {
-   echo 2>&1 "${programName}: ${1}"
+       echo 2>&1 "${programName}: ${1}"
 }
 syntaxError()
 {
 }
 syntaxError()
 {
-   programMessage "${1}"
-   exit 2
+       programMessage "${1}"
+       exit 2
 }
 internalError()
 {
 }
 internalError()
 {
-   programMessage "${1}"
-   exit 3
+       programMessage "${1}"
+       exit 3
 }
 
 configurationFile=""
 }
 
 configurationFile=""
@@ -188,17 +406,16 @@ requestedParameter=""
 OPTIND=1
 while getopts ":f:cundop:h" option
 do
 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).
 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
          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."
 
 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}"
 ${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`\\
 "
 `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()
 {
 esac
 
 translateDevice_none()
 {
-   :
+       :
 }
 translateDevice_devfs()
 {
 }
 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()
 {
 }
 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()
 {
 }
 
 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()
 {
 }
 makeParameterLine()
 {
-   echo "# Boot Parameter:${bootParameter}"
+       echo "# Boot Parameter:${bootParameter}"
 }
 putConfigurationFile()
 {
 }
 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()
 {
 }
 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()
 {
 }
 putBootParameter()
 {
-   parseBootParameter "${1}"
-   putConfigurationFile
+       parseBootParameter "${1}"
+       putConfigurationFile
 }
 parseBootCommand()
 {
 }
 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"
 }
 
 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
 )
 fi
 exit 0
 )
@@ -407,34 +608,153 @@ exit 0
 %post  -n brlapi -p /sbin/ldconfig
 %postun        -n brlapi -p /sbin/ldconfig
 
 %post  -n brlapi -p /sbin/ldconfig
 %postun        -n brlapi -p /sbin/ldconfig
 
-%files
+%files -f %{name}.lang
 %defattr(644,root,root,755)
 %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-*
+%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 %{_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
 %{_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
 %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)
 
 %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)
 
 %files -n brlapi-devel
 %defattr(644,root,root,755)
+%doc Documents/Manual-BrlAPI/English/BrlAPI*
 %attr(755,root,root) %{_libdir}/libbrlapi.so
 %{_includedir}/brltty
 %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
 
 %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.073448 seconds and 4 git commands to generate.