2 # - ocaml bcond is useless now:
3 # Cannot find ocamlfind.
4 # BrlAPI Caml bindings will be compiled but not installed.
6 # - create bcond to build with minimal deps (wo ncurses,gpm,at-spi*)
9 %bcond_without apidocs # documentation generated with doxygen
10 %bcond_with java # java bindings
11 %bcond_with ocaml # ocaml bindings (NFY)
12 %bcond_without python # python bindings
13 %bcond_without tcl # tcl bindings
14 %bcond_without x # build X11-based utilities
16 Summary: Braille display driver for Linux/Unix
17 Summary(pl.UTF-8): Sterownik do wyświetlaczy Braille'a
23 URL: http://mielke.cc/brltty/
24 Source0: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
25 # Source0-md5: 7ce54ba2d38b7c220870e8c781f36743
26 BuildRequires: at-spi-devel
27 BuildRequires: autoconf >= 2.53
28 BuildRequires: automake
30 #BuildRequires: bluez-devel
31 %{?with_apidocs:BuildRequires: doxygen}
32 BuildRequires: gpm-devel
33 %{?with_java:BuildRequires: jdk}
34 BuildRequires: ncurses-devel
35 %{?with_ocaml:BuildRequires: ocaml}
36 BuildRequires: pkgconfig
37 %{?with_python:BuildRequires: python-Pyrex}
38 %{?with_python:BuildRequires: rpm-pythonprov}
39 %{?with_tcl:BuildRequires: tcl}
40 %{?with_x:BuildRequires: xorg-lib-libXaw-devel}
41 %{?with_x:BuildRequires: xorg-lib-libXtst-devel}
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 BRLTTY is a background process (daemon) which provides access to the
46 Linux/Unix console (when in text mode) for a blind person using a
47 refreshable Braille display. It drives the Braille display, and
48 provides complete screen review functionality. Some speech capability
49 has also been incorporated.
51 %description -l pl.UTF-8
52 BRLTTY jest demonem, który udostępnia dostęp do linuksowej konsoli (w
53 trybie tekstowym) dla niewidomych używających wyświetlaczy Braille'a z
54 odświeżaniem (refreshable Braille display). BRLTTY steruje
55 wyświetlaczem Braille'a i dostarcza funkcjonalność całkowitego
56 przeglądu ekranu. Do tego pakietu została włączona możliwość syntezy
60 Summary: Application Programming Interface for BRLTTY
61 Summary(pl.UTF-8): API do BRLTTY
62 Group: Applications/System
64 %description -n brlapi
65 This package provides the run-time support for the Application
66 Programming Interface to BRLTTY.
68 Install this package if you have an application which directly
69 accesses a refreshable Braille display.
71 %description -n brlapi -l pl.UTF-8
72 Ten pakiet zawiera środowisko uruchomieniowe dla programów
73 korzystających z API BRLTTY.
75 Zainstaluj ten pakiet jeśli masz aplikację, która bezpośrednio używa
76 wyświetlacza Braille'a z odświeżaniem.
78 %package -n brlapi-devel
79 Summary: Headers and documentation for BrlAPI
80 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do BrlAPI
81 Group: Development/Libraries
82 Requires: brlapi = %{version}-%{release}
84 %description -n brlapi-devel
85 This package provides the header files, shared object linker
86 reference, and reference documentation for BrlAPI (the Application
87 Programming Interface to BRLTTY). It enables the implementation of
88 applications which take direct advantage of a refreshable Braille
89 display in order to present information in ways which are more
90 appropriate for blind users and/or to provide user interfaces which
91 are more specifically atuned to their needs.
93 Install this package if you're developing or maintaining an
94 application which directly accesses a refreshable Braille display.
96 %description -n brlapi-devel -l pl.UTF-8
97 Ten pakiet zawiera pliki nagłówkowe oraz dokumentację do BrlAPI (API
98 do BRLTTY). BrlAPI pozwala implementować aplikacje, które bezpośrednio
99 korzystają z wyświetlaczy Braille'a dostarczając interfejs użytkownika
100 bardziej przystosowany dla osób niewidomych.
102 Zainstaluj ten pakiet, jeśli tworzysz lub nadzorujesz aplikację
103 korzystającą bezpośrednio z odświeżalnych wyświetlaczy Braille'a.
105 %package -n brlapi-static
106 Summary: Static BrlAPI library
107 Summary(pl.UTF-8): Statyczna biblioteka BrlAPI
108 Group: Development/Libraries
109 Requires: brlapi-devel = %{version}-%{release}
111 %description -n brlapi-static
112 This is package with static BrlAPI library.
114 %description -n brlapi-static -l pl.UTF-8
115 Ten pakiet zawiera statyczną wersję biblioteki BrlAPI.
117 %package -n brlapi-apidocs
118 Summary: BrlAPI documentation
119 Summary(pl.UTF-8): Documentacja BrlAPI
122 %description -n brlapi-apidocs
123 Documentation for BrlAPI in HTML format generated from brltty
126 %description -n brlapi-apidocs -l pl.UTF-8
127 Dokumentacja BrlAPI w formacie HTML generowane ze
128 źrodeł brltty przez doxygen.
130 %package -n brlapi-java
131 Summary: BrlAPI library for Java
132 Summary(pl.UTF-8): Biblioteka BrlAPI dla Javy
134 Requires: brlapi = %{version}-%{release}
136 %description -n brlapi-java
137 BrlAPI library for Java.
139 %description -n brlapi-java -l pl.UTF-8
140 Biblioteka BrlAPI dla Javy.
142 %package -n python-brlapi
143 Summary: Python interface to BrlAPI
144 Summary(pl.UTF-8): Pythonowy interfejs do BrlAPI
146 Requires: brlapi = %{version}-%{release}
148 %description -n python-brlapi
149 Python interface to BrlAPI.
151 %description -n python-brlapi -l pl.UTF-8
152 Pythonowy interfejs do BrlAPI.
154 %package -n brlapi-tcl
155 Summary: BrlAPI library for Tcl
156 Summary(pl.UTF-8): Biblioteka BrlAPI dla Tcl
158 Requires: brlapi = %{version}-%{release}
160 %description -n brlapi-tcl
161 BrlAPI library for Tcl.
163 %description -n brlapi-tcl -l pl.UTF-8
164 Biblioteka BrlAPI dla Tcl.
172 cp -f /usr/share/automake/config.sub acdir
173 CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
175 --with-install-root="$RPM_BUILD_ROOT" \
176 --disable-tainted-components \
181 mkdir -p "$directory"
182 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`
184 mkdir -p "$directory/${file%/*}"
185 cp -rp "$file" "$directory/$file"
189 rm -rf $RPM_BUILD_ROOT
191 install Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir}
194 rm -rf $RPM_BUILD_ROOT
197 # The pre-install scriptlet.
199 # If a configuration file already exists then rpm installs the new one as
200 # <path>.rpmnew. If this is done then the .rpmnew file is overwritten if it
203 # There's no explicit way to tell if a configuration file has been installed
204 # as itself or as a .rpmnew file. The way we'll figure it out, therefore, is by
205 # erasing the .rpmnew file now so that we can see if it gets created later.
206 rm -f "%{_sysconfdir}/brltty.conf.rpmnew"
209 # The post-install scriptlet.
211 # If BRLTTY's boot parameter has been specified then update the just installed
212 # configuration file template to reflect the options supplied thereby.
214 # First, we need to determine which file to update. If there's a .rpmnew file
215 # then update it since a previous configuration file must already have existed.
216 file="%{_sysconfdir}/brltty.conf"
218 [ -f "${new}" ] && file="${new}"
220 # Update the configuration file template via the Bootdisks/bp2cf script.
221 # Include it right within this scriptlet so that it needn't be installed.
222 # Imbed it within a subshell to ensure that it won't impact this scriptlet.
224 # First, set bp2cf's command line arguments.
225 set -- -u -f "${file}"
228 ###############################################################################
229 # BRLTTY - A background process providing access to the Linux console (when in
230 # text mode) for a blind person using a refreshable Braille display.
232 # Copyright (C) 1995-2003 by The BRLTTY Team. All rights reserved.
234 # BRLTTY comes with ABSOLUTELY NO WARRANTY.
236 # This is free software, placed under the terms of the
237 # GNU General Public License, as published by the Free Software
238 # Foundation. Please see the file COPYING for details.
240 # Web Page: http://mielke.cc/brltty/
242 # This software is maintained by Dave Mielke <dave@mielke.cc>.
243 ###############################################################################
245 # Convert the boot parameter to configuration file directives.
246 # If /proc is mounted then use the brltty= boot parameter in /proc/cmdline.
247 # If /proc is not mounted then use the brltty environment variable.
248 # Invoke with -h for usage information.
250 programName="${0##*/}"
253 echo 2>&1 "${programName}: ${1}"
257 programMessage "${1}"
262 programMessage "${1}"
267 requestedAction=create
268 deviceTranslation=none
269 requestedParameter=""
271 while getopts ":f:cundop:h" option
274 f) configurationFile="${OPTARG}";;
275 c) requestedAction=create;;
276 u) requestedAction=update;;
277 n) deviceTranslation=none;;
278 d) deviceTranslation=devfs;;
279 o) deviceTranslation=old;;
280 p) requestedParameter="${OPTARG}";;
283 Usage: ${programName} [option ...]
284 -f file The configuration file to create/update.
285 -c Create the configuration file (write to stdout if no -f).
286 -u Update the configuration file (copying from stdin to stdout if no -f).
287 -n Do not translate device paths.
288 -d Do old-style to devfs device path translation.
289 -o Do devfs to old-style device path translation.
290 -p [driver][,[device][,[table]]]
291 Explicitly specify the boot parameter.
292 -h Display this usage summary.
296 \?) syntaxError "unknown option: -${OPTARG}";;
297 :) syntaxError "missing value: -${OPTARG}";;
298 *) internalError "unimplemented option: -${option}";;
301 shift "`expr $OPTIND - 1`"
302 [ "${#}" -eq 0 ] || syntaxError "too many parameters."
304 case "${requestedAction}" in
306 putConfigurationLine()
308 echo "${1}" || exit 4
310 startConfigurationFile()
312 [ -n "${configurationFile}" ] && exec >"${configurationFile}"
313 putConfigurationLine "`makeHeaderLine Created`"
314 putConfigurationLine "`makeParameterLine`"
315 putConfigurationLine ""
317 putConfigurationDirective()
319 putConfigurationLine "${1} ${2}"
321 finalizeConfigurationFile()
329 sedScript="${sedScript}
332 startConfigurationFile()
334 if [ -n "${configurationFile}" ]; then
335 [ -e "${configurationFile}" ] || syntaxError "file not found: ${configurationFile}"
336 [ -f "${configurationFile}" ] || syntaxError "not a file: ${configurationFile}"
337 [ -r "${configurationFile}" ] || syntaxError "file not readable: ${configurationFile}"
338 [ -w "${configurationFile}" ] || syntaxError "file not writable: ${configurationFile}"
339 outputFile="${configurationFile}.new"
340 exec <"${configurationFile}" >"${outputFile}"
344 `makeHeaderLine Updated`\\
345 `makeParameterLine`\\
348 putConfigurationDirective()
350 value="`echo "${2}" | sed -e 's%\\([/\\]\\)%\\\\\\1%g'`"
351 putSedCommand "/^ *#\\(${1} .*\\)/s//\\1/"
352 putSedCommand "/^ *\\(${1}\\) .*/s//\\1 ${value}/"
354 finalizeConfigurationFile()
356 sed -e "${sedScript}"
357 [ -n "${outputFile}" ] && mv -f "${outputFile}" "${configurationFile}"
360 *) internalError "unimplemented action: ${requestedAction}";;
363 translateDevice_none()
367 translateDevice_devfs()
369 minor="${device#ttyS}"
370 if [ "${minor}" != "${device}" ]; then
371 device="tts/${minor}"
375 if [ "${minor}" != "${device}" ]; then
376 device="printers/${minor}"
379 programMessage "unsupported old-style device: ${device}"
381 translateDevice_old()
383 major="${device%%/*}"
384 if [ "${major}" != "${device}" ]; then
387 tts) devfs="ttyS${minor}";;
388 printers) devfs="lp${minor}";;
391 if [ -n "${devfs}" ]; then
394 programMessage "unsupported devfs device: ${device}"
400 echo "# ${1} by brltty-bp2cf`date +' on %Y-%m-%d at %H:%M:%S %Z (UTC%z)'`."
404 echo "# Boot Parameter:${bootParameter}"
406 putConfigurationFile()
408 startConfigurationFile
409 [ -n "${brailleDriver}" ] && putConfigurationDirective "braille-driver" "${brailleDriver}"
410 [ -n "${brailleDevice}" ] && {
411 device="`echo "${brailleDevice}" | sed -e 's%//*%/%g' -e 's%^/dev/%%'`"
412 if [ "${device#/}" = "${device}" ]; then
413 translateDevice_${deviceTranslation}
415 putConfigurationDirective "braille-device" "${device}"
417 [ -n "${textTable}" ] && putConfigurationDirective "text-table" "${textTable}"
418 finalizeConfigurationFile
422 bootParameter="${bootParameter} ${1}"
424 while [ "${number}" -le 3 ]; do
425 cut="cut -d, -f${number}"
426 [ "${number}" -gt 1 ] && cut="${cut} -s"
427 operand="`echo ${1} | ${cut}`"
428 if [ -n "${operand}" ]; then
430 1) brailleDriver="${operand}";;
431 2) brailleDevice="${operand}";;
432 3) textTable="${operand}";;
435 number="`expr ${number} + 1`"
440 parseBootParameter "${1}"
446 while [ "${#}" -gt 0 ]; do
450 parseBootParameter "${1#*=}"
455 "${found}" && putConfigurationFile
461 bootCommandFile="/proc/cmdline"
462 if [ -n "${requestedParameter}" ]; then
463 putBootParameter "${requestedParameter}"
464 elif [ -f "${bootCommandFile}" ]; then
465 parseBootCommand `cat "${bootCommandFile}"`
466 elif [ -n "${brltty}" ]; then
467 putBootParameter "${brltty}"
472 %post -n brlapi -p /sbin/ldconfig
473 %postun -n brlapi -p /sbin/ldconfig
476 %defattr(644,root,root,755)
477 %doc Documents/{Manual-BRLTTY/English/BRLTTY*,ChangeLog,HISTORY,TODO}
478 %doc doc/{Bindings,Bootdisks,BrailleDrivers,BrailleTables,ContractionTables,Patches,README,SpeechDrivers}
479 %attr(755,root,root) %{_bindir}/brltty
480 %attr(755,root,root) %{_bindir}/brltty-install
481 %attr(755,root,root) %{_bindir}/brltty-config
482 %attr(755,root,root) %{_bindir}/vstp
483 %{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi}
484 %dir %{_libdir}/brltty
485 %attr(755,root,root) %{_libdir}/brltty/libbrlttybal.so
486 %attr(755,root,root) %{_libdir}/brltty/libbrlttybat.so
487 %attr(755,root,root) %{_libdir}/brltty/libbrlttybba.so
488 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbd.so
489 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbl.so
490 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbm.so
491 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbn.so
492 %attr(755,root,root) %{_libdir}/brltty/libbrlttybcb.so
493 %attr(755,root,root) %{_libdir}/brltty/libbrlttybec.so
494 %attr(755,root,root) %{_libdir}/brltty/libbrlttybeu.so
495 %attr(755,root,root) %{_libdir}/brltty/libbrlttybfs.so
496 %attr(755,root,root) %{_libdir}/brltty/libbrlttybht.so
497 %attr(755,root,root) %{_libdir}/brltty/libbrlttybil.so
498 %attr(755,root,root) %{_libdir}/brltty/libbrlttyblt.so
499 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmb.so
500 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmd.so
501 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmn.so
502 %attr(755,root,root) %{_libdir}/brltty/libbrlttybpm.so
503 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtn.so
504 %attr(755,root,root) %{_libdir}/brltty/libbrlttybts.so
505 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtt.so
506 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvd.so
507 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvo.so
508 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvr.so
509 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvs.so
510 %{?with_x:%attr(755,root,root) %{_libdir}/brltty/libbrlttybxw.so}
511 %attr(755,root,root) %{_libdir}/brltty/libbrlttysal.so
512 %attr(755,root,root) %{_libdir}/brltty/libbrlttysbl.so
513 %attr(755,root,root) %{_libdir}/brltty/libbrlttyscb.so
514 %attr(755,root,root) %{_libdir}/brltty/libbrlttyses.so
515 %attr(755,root,root) %{_libdir}/brltty/libbrlttysfv.so
516 %attr(755,root,root) %{_libdir}/brltty/libbrlttysgs.so
517 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxas.so
518 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxlx.so
519 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxsc.so
520 %{_sysconfdir}/brltty
521 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/brltty.conf
522 %{_mandir}/man1/brltty.1*
523 %{_mandir}/man1/vstp.1*
526 %defattr(644,root,root,755)
527 %attr(755,root,root) %{_libdir}/libbrlapi.so.0.5
528 %attr(755,root,root) %{_libdir}/libbrlapi.so.0.5.1
529 %dir %{_libdir}/brlapi-0.5.1
531 %files -n brlapi-devel
532 %defattr(644,root,root,755)
533 %doc Documents/README.Gnopernicus
534 %doc Documents/Manual-BrlAPI/English/BrlAPI*
535 %attr(755,root,root) %{_libdir}/libbrlapi.so
536 %{_includedir}/brltty
537 %{_includedir}/brlapi*.h
540 %files -n brlapi-static
541 %defattr(644,root,root,755)
542 %{_libdir}/libbrlapi.a
545 %files -n brlapi-apidocs
546 %defattr(644,root,root,755)
547 %doc Documents/BrlAPIref/html/*
551 %files -n brlapi-java
552 %defattr(644,root,root,755)
553 %{_libdir}/java/libbrlapi_java.so
554 %{_javadir}/brlapi.jar
558 %files -n python-brlapi
559 %defattr(644,root,root,755)
560 %{py_sitedir}/Brlapi-*.egg-info
561 %attr(755,root,root) %{py_sitedir}/brlapi.so
566 %defattr(644,root,root,755)
567 %attr(755,root,root) %{_libdir}/brlapi-0.5.1/libbrlapi_tcl.so
568 %{_libdir}/brlapi-0.5.1/pkgIndex.tcl