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 Source0: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
24 # Source0-md5: 7ce54ba2d38b7c220870e8c781f36743
25 URL: http://mielke.cc/brltty/
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 \
177 %{!?with_java:--disable-java-bindings} \
182 mkdir -p "$directory"
183 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`
185 mkdir -p "$directory/${file%/*}"
186 cp -rp "$file" "$directory/$file"
190 rm -rf $RPM_BUILD_ROOT
192 install Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir}
195 rm -rf $RPM_BUILD_ROOT
198 # The pre-install scriptlet.
200 # If a configuration file already exists then rpm installs the new one as
201 # <path>.rpmnew. If this is done then the .rpmnew file is overwritten if it
204 # There's no explicit way to tell if a configuration file has been installed
205 # as itself or as a .rpmnew file. The way we'll figure it out, therefore, is by
206 # erasing the .rpmnew file now so that we can see if it gets created later.
207 rm -f "%{_sysconfdir}/brltty.conf.rpmnew"
210 # The post-install scriptlet.
212 # If BRLTTY's boot parameter has been specified then update the just installed
213 # configuration file template to reflect the options supplied thereby.
215 # First, we need to determine which file to update. If there's a .rpmnew file
216 # then update it since a previous configuration file must already have existed.
217 file="%{_sysconfdir}/brltty.conf"
219 [ -f "${new}" ] && file="${new}"
221 # Update the configuration file template via the Bootdisks/bp2cf script.
222 # Include it right within this scriptlet so that it needn't be installed.
223 # Imbed it within a subshell to ensure that it won't impact this scriptlet.
225 # First, set bp2cf's command line arguments.
226 set -- -u -f "${file}"
229 ###############################################################################
230 # BRLTTY - A background process providing access to the Linux console (when in
231 # text mode) for a blind person using a refreshable Braille display.
233 # Copyright (C) 1995-2003 by The BRLTTY Team. All rights reserved.
235 # BRLTTY comes with ABSOLUTELY NO WARRANTY.
237 # This is free software, placed under the terms of the
238 # GNU General Public License, as published by the Free Software
239 # Foundation. Please see the file COPYING for details.
241 # Web Page: http://mielke.cc/brltty/
243 # This software is maintained by Dave Mielke <dave@mielke.cc>.
244 ###############################################################################
246 # Convert the boot parameter to configuration file directives.
247 # If /proc is mounted then use the brltty= boot parameter in /proc/cmdline.
248 # If /proc is not mounted then use the brltty environment variable.
249 # Invoke with -h for usage information.
251 programName="${0##*/}"
254 echo 2>&1 "${programName}: ${1}"
258 programMessage "${1}"
263 programMessage "${1}"
268 requestedAction=create
269 deviceTranslation=none
270 requestedParameter=""
272 while getopts ":f:cundop:h" option
275 f) configurationFile="${OPTARG}";;
276 c) requestedAction=create;;
277 u) requestedAction=update;;
278 n) deviceTranslation=none;;
279 d) deviceTranslation=devfs;;
280 o) deviceTranslation=old;;
281 p) requestedParameter="${OPTARG}";;
284 Usage: ${programName} [option ...]
285 -f file The configuration file to create/update.
286 -c Create the configuration file (write to stdout if no -f).
287 -u Update the configuration file (copying from stdin to stdout if no -f).
288 -n Do not translate device paths.
289 -d Do old-style to devfs device path translation.
290 -o Do devfs to old-style device path translation.
291 -p [driver][,[device][,[table]]]
292 Explicitly specify the boot parameter.
293 -h Display this usage summary.
297 \?) syntaxError "unknown option: -${OPTARG}";;
298 :) syntaxError "missing value: -${OPTARG}";;
299 *) internalError "unimplemented option: -${option}";;
302 shift "`expr $OPTIND - 1`"
303 [ "${#}" -eq 0 ] || syntaxError "too many parameters."
305 case "${requestedAction}" in
307 putConfigurationLine()
309 echo "${1}" || exit 4
311 startConfigurationFile()
313 [ -n "${configurationFile}" ] && exec >"${configurationFile}"
314 putConfigurationLine "`makeHeaderLine Created`"
315 putConfigurationLine "`makeParameterLine`"
316 putConfigurationLine ""
318 putConfigurationDirective()
320 putConfigurationLine "${1} ${2}"
322 finalizeConfigurationFile()
330 sedScript="${sedScript}
333 startConfigurationFile()
335 if [ -n "${configurationFile}" ]; then
336 [ -e "${configurationFile}" ] || syntaxError "file not found: ${configurationFile}"
337 [ -f "${configurationFile}" ] || syntaxError "not a file: ${configurationFile}"
338 [ -r "${configurationFile}" ] || syntaxError "file not readable: ${configurationFile}"
339 [ -w "${configurationFile}" ] || syntaxError "file not writable: ${configurationFile}"
340 outputFile="${configurationFile}.new"
341 exec <"${configurationFile}" >"${outputFile}"
345 `makeHeaderLine Updated`\\
346 `makeParameterLine`\\
349 putConfigurationDirective()
351 value="`echo "${2}" | sed -e 's%\\([/\\]\\)%\\\\\\1%g'`"
352 putSedCommand "/^ *#\\(${1} .*\\)/s//\\1/"
353 putSedCommand "/^ *\\(${1}\\) .*/s//\\1 ${value}/"
355 finalizeConfigurationFile()
357 sed -e "${sedScript}"
358 [ -n "${outputFile}" ] && mv -f "${outputFile}" "${configurationFile}"
361 *) internalError "unimplemented action: ${requestedAction}";;
364 translateDevice_none()
368 translateDevice_devfs()
370 minor="${device#ttyS}"
371 if [ "${minor}" != "${device}" ]; then
372 device="tts/${minor}"
376 if [ "${minor}" != "${device}" ]; then
377 device="printers/${minor}"
380 programMessage "unsupported old-style device: ${device}"
382 translateDevice_old()
384 major="${device%%/*}"
385 if [ "${major}" != "${device}" ]; then
388 tts) devfs="ttyS${minor}";;
389 printers) devfs="lp${minor}";;
392 if [ -n "${devfs}" ]; then
395 programMessage "unsupported devfs device: ${device}"
401 echo "# ${1} by brltty-bp2cf`date +' on %Y-%m-%d at %H:%M:%S %Z (UTC%z)'`."
405 echo "# Boot Parameter:${bootParameter}"
407 putConfigurationFile()
409 startConfigurationFile
410 [ -n "${brailleDriver}" ] && putConfigurationDirective "braille-driver" "${brailleDriver}"
411 [ -n "${brailleDevice}" ] && {
412 device="`echo "${brailleDevice}" | sed -e 's%//*%/%g' -e 's%^/dev/%%'`"
413 if [ "${device#/}" = "${device}" ]; then
414 translateDevice_${deviceTranslation}
416 putConfigurationDirective "braille-device" "${device}"
418 [ -n "${textTable}" ] && putConfigurationDirective "text-table" "${textTable}"
419 finalizeConfigurationFile
423 bootParameter="${bootParameter} ${1}"
425 while [ "${number}" -le 3 ]; do
426 cut="cut -d, -f${number}"
427 [ "${number}" -gt 1 ] && cut="${cut} -s"
428 operand="`echo ${1} | ${cut}`"
429 if [ -n "${operand}" ]; then
431 1) brailleDriver="${operand}";;
432 2) brailleDevice="${operand}";;
433 3) textTable="${operand}";;
436 number="`expr ${number} + 1`"
441 parseBootParameter "${1}"
447 while [ "${#}" -gt 0 ]; do
451 parseBootParameter "${1#*=}"
456 "${found}" && putConfigurationFile
462 bootCommandFile="/proc/cmdline"
463 if [ -n "${requestedParameter}" ]; then
464 putBootParameter "${requestedParameter}"
465 elif [ -f "${bootCommandFile}" ]; then
466 parseBootCommand `cat "${bootCommandFile}"`
467 elif [ -n "${brltty}" ]; then
468 putBootParameter "${brltty}"
473 %post -n brlapi -p /sbin/ldconfig
474 %postun -n brlapi -p /sbin/ldconfig
477 %defattr(644,root,root,755)
478 %doc Documents/{Manual-BRLTTY/English/BRLTTY*,ChangeLog,HISTORY,TODO}
479 %doc doc/{Bindings,Bootdisks,BrailleDrivers,BrailleTables,ContractionTables,Patches,README,SpeechDrivers}
480 %attr(755,root,root) %{_bindir}/brltty
481 %attr(755,root,root) %{_bindir}/brltty-install
482 %attr(755,root,root) %{_bindir}/brltty-config
483 %attr(755,root,root) %{_bindir}/vstp
484 %{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi}
485 %dir %{_libdir}/brltty
486 %attr(755,root,root) %{_libdir}/brltty/libbrlttybal.so
487 %attr(755,root,root) %{_libdir}/brltty/libbrlttybat.so
488 %attr(755,root,root) %{_libdir}/brltty/libbrlttybba.so
489 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbd.so
490 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbl.so
491 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbm.so
492 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbn.so
493 %attr(755,root,root) %{_libdir}/brltty/libbrlttybcb.so
494 %attr(755,root,root) %{_libdir}/brltty/libbrlttybec.so
495 %attr(755,root,root) %{_libdir}/brltty/libbrlttybeu.so
496 %attr(755,root,root) %{_libdir}/brltty/libbrlttybfs.so
497 %attr(755,root,root) %{_libdir}/brltty/libbrlttybht.so
498 %attr(755,root,root) %{_libdir}/brltty/libbrlttybil.so
499 %attr(755,root,root) %{_libdir}/brltty/libbrlttyblt.so
500 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmb.so
501 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmd.so
502 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmn.so
503 %attr(755,root,root) %{_libdir}/brltty/libbrlttybpm.so
504 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtn.so
505 %attr(755,root,root) %{_libdir}/brltty/libbrlttybts.so
506 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtt.so
507 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvd.so
508 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvo.so
509 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvr.so
510 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvs.so
511 %{?with_x:%attr(755,root,root) %{_libdir}/brltty/libbrlttybxw.so}
512 %attr(755,root,root) %{_libdir}/brltty/libbrlttysal.so
513 %attr(755,root,root) %{_libdir}/brltty/libbrlttysbl.so
514 %attr(755,root,root) %{_libdir}/brltty/libbrlttyscb.so
515 %attr(755,root,root) %{_libdir}/brltty/libbrlttyses.so
516 %attr(755,root,root) %{_libdir}/brltty/libbrlttysfv.so
517 %attr(755,root,root) %{_libdir}/brltty/libbrlttysgs.so
518 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxas.so
519 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxlx.so
520 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxsc.so
521 %{_sysconfdir}/brltty
522 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/brltty.conf
523 %{_mandir}/man1/brltty.1*
524 %{_mandir}/man1/vstp.1*
527 %defattr(644,root,root,755)
528 %attr(755,root,root) %{_libdir}/libbrlapi.so.0.5
529 %attr(755,root,root) %{_libdir}/libbrlapi.so.0.5.1
530 %dir %{_libdir}/brlapi-0.5.1
532 %files -n brlapi-devel
533 %defattr(644,root,root,755)
534 %doc Documents/README.Gnopernicus
535 %doc Documents/Manual-BrlAPI/English/BrlAPI*
536 %attr(755,root,root) %{_libdir}/libbrlapi.so
537 %{_includedir}/brltty
538 %{_includedir}/brlapi*.h
541 %files -n brlapi-static
542 %defattr(644,root,root,755)
543 %{_libdir}/libbrlapi.a
546 %files -n brlapi-apidocs
547 %defattr(644,root,root,755)
548 %doc Documents/BrlAPIref/html/*
552 %files -n brlapi-java
553 %defattr(644,root,root,755)
554 %{_libdir}/java/libbrlapi_java.so
555 %{_javadir}/brlapi.jar
559 %files -n python-brlapi
560 %defattr(644,root,root,755)
561 %{py_sitedir}/Brlapi-*.egg-info
562 %attr(755,root,root) %{py_sitedir}/brlapi.so
567 %defattr(644,root,root,755)
568 %attr(755,root,root) %{_libdir}/brlapi-0.5.1/libbrlapi_tcl.so
569 %{_libdir}/brlapi-0.5.1/pkgIndex.tcl