3 # - more packages (bindings)
4 # - ocaml bcond is useless now:
5 # Cannot find ocamlfind.
6 # BrlAPI Caml bindings will be compiled but not installed.
10 %bcond_without apidocs # documentation generated with doxygen
11 %bcond_with java # java bindings
12 %bcond_with ocaml # ocaml bindings (NFY)
13 %bcond_without python # python bindings
14 %bcond_without tcl # tcl bindings
15 %bcond_without x # build X11-based utilities
17 Summary: Braille display driver for Linux/Unix
18 Summary(pl.UTF-8): Sterownik do wyświetlaczy Braille'a
24 URL: http://mielke.cc/brltty/
25 Source0: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
26 # Source0-md5: 7ce54ba2d38b7c220870e8c781f36743
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: libusb-devel
35 BuildRequires: ncurses-devel
36 %{?with_ocaml:BuildRequires: ocaml}
37 #BuildRequires: pkgconfig
38 %{?with_python:BuildRequires: python-Pyrex}
39 %{?with_python:BuildRequires: rpm-pythonprov}
40 %{?with_tcl:BuildRequires: tcl}
41 %{?with_x:BuildRequires: xorg-lib-libXaw-devel}
42 %{?with_x:BuildRequires: xorg-lib-libXtst-devel}
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 BRLTTY is a background process (daemon) which provides access to the
47 Linux/Unix console (when in text mode) for a blind person using a
48 refreshable Braille display. It drives the Braille display, and
49 provides complete screen review functionality. Some speech capability
50 has also been incorporated.
52 %description -l pl.UTF-8
53 BRLTTY jest demonem, który udostępnia dostęp do linuksowej konsoli (w
54 trybie tekstowym) dla niewidomych używających wyświetlaczy Braille'a z
55 odświeżaniem (refreshable Braille display). BRLTTY steruje
56 wyświetlaczem Braille'a i dostarcza funkcjonalność całkowitego
57 przeglądu ekranu. Do tego pakietu została włączona możliwość syntezy
61 Summary: Application Programming Interface for BRLTTY
62 Summary(pl.UTF-8): API do BRLTTY
63 Group: Applications/System
65 %description -n brlapi
66 This package provides the run-time support for the Application
67 Programming Interface to BRLTTY.
69 Install this package if you have an application which directly
70 accesses a refreshable Braille display.
72 %description -n brlapi -l pl.UTF-8
73 Ten pakiet zawiera środowisko uruchomieniowe dla programów
74 korzystających z API BRLTTY.
76 Zainstaluj ten pakiet jeśli masz aplikację, która bezpośrednio używa
77 wyświetlacza Braille'a z odświeżaniem.
79 %package -n brlapi-devel
80 Summary: Headers and documentation for BrlAPI
81 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do BrlAPI
82 Group: Development/Libraries
83 Requires: brlapi = %{version}-%{release}
85 %description -n brlapi-devel
86 This package provides the header files, shared object linker
87 reference, and reference documentation for BrlAPI (the Application
88 Programming Interface to BRLTTY). It enables the implementation of
89 applications which take direct advantage of a refreshable Braille
90 display in order to present information in ways which are more
91 appropriate for blind users and/or to provide user interfaces which
92 are more specifically atuned to their needs.
94 Install this package if you're developing or maintaining an
95 application which directly accesses a refreshable Braille display.
97 %description -n brlapi-devel -l pl.UTF-8
98 Ten pakiet zawiera pliki nagłówkowe oraz dokumentację do BrlAPI (API
99 do BRLTTY). BrlAPI pozwala implementować aplikacje, które bezpośrednio
100 korzystają z wyświetlaczy Braille'a dostarczając interfejs użytkownika
101 bardziej przystosowany dla osób niewidomych.
103 Zainstaluj ten pakiet, jeśli tworzysz lub nadzorujesz aplikację
104 korzystającą bezpośrednio z odświeżalnych wyświetlaczy Braille'a.
106 %package -n brlapi-static
107 Summary: Static BrlAPI library
108 Summary(pl.UTF-8): Statyczna biblioteka BrlAPI
109 Group: Development/Libraries
110 Requires: brlapi-devel = %{version}-%{release}
112 %description -n brlapi-static
113 This is package with static BrlAPI library.
115 %description -n brlapi-static -l pl.UTF-8
116 Ten pakiet zawiera statyczną wersję biblioteki BrlAPI.
118 %package -n brlapi-apidocs
119 Summary: BrlAPI documentation
120 Summary(pl.UTF-8): Documentacja BrlAPI
123 %description -n brlapi-apidocs
124 Documentation for BrlAPI in HTML format generated from brltty
127 %description -n brlapi-apidocs -l pl.UTF-8
128 Dokumentacja BrlAPI w formacie HTML generowane ze
129 źrodeł brltty przez doxygen.
131 %package -n brlapi-java
132 Summary: BrlAPI library for Java
133 Summary(pl.UTF-8): Biblioteka BrlAPI dla Javy
135 Requires: brlapi = %{version}-%{release}
137 %description -n brlapi-java
138 BrlAPI library for Java.
140 %description -n brlapi-java -l pl.UTF-8
141 Biblioteka BrlAPI dla Javy.
143 %package -n python-brlapi
144 Summary: Python interface to BrlAPI
145 Summary(pl.UTF-8): Pythonowy interfejs do BrlAPI
147 Requires: brlapi = %{version}-%{release}
149 %description -n python-brlapi
150 Python interface to BrlAPI.
152 %description -n python-brlapi -l pl.UTF-8
153 Pythonowy interfejs do BrlAPI.
155 %package -n brlapi-tcl
156 Summary: BrlAPI library for Tcl
157 Summary(pl.UTF-8): Biblioteka BrlAPI dla Tcl
159 Requires: brlapi = %{version}-%{release}
161 %description -n brlapi-tcl
162 BrlAPI library for Tcl.
164 %description -n brlapi-tcl -l pl.UTF-8
165 Biblioteka BrlAPI dla Tcl.
173 cp -f /usr/share/automake/config.sub acdir
174 CFLAGS="-I/usr/include/ncurses"
176 --with-install-root="$RPM_BUILD_ROOT" \
177 --disable-tainted-components \
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/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