3 %bcond_without apidocs # documentation generated with doxygen
4 %bcond_without java # Java bindings
5 %bcond_without ocaml # OCaml bindings
6 %bcond_without python # Python bindings
7 %bcond_without python3 # Python 3.x bindings
8 %bcond_without tcl # Tcl bindings
9 %bcond_without x # X11-based utilities
10 %bcond_without gpm # mouse tracking via GPM
11 %bcond_without libbraille # libbraille Braille driver
12 %bcond_without liblouis # liblouis in-line contracted Braille support
13 %bcond_without espeak # eSpeak synthesizer driver
14 %bcond_without espeak_ng # eSpeak-NG synthesizer driver
15 %bcond_without flite # Flite synthesizer driver
16 %bcond_with mikropuhe # Mikropuhe synthesizer driver [commercial, Finnish]
17 %bcond_without speech_dispatcher # Speech Dispatcher synthesizer driver
18 %bcond_with swift # Swift synthesizer driver [commercial, from Cepstral]
19 %bcond_with theta # Theta synthesizer driver [commercial, from Cepstral]
20 %bcond_with viavoice # IBM ViaVoice synthesizer driver [commercial]
21 %bcond_with at_spi # AtSpi screen driver
22 %bcond_without at_spi2 # AtSpi2 screen driver
24 %define brlapi_ver 0.8.0
25 Summary: Braille display driver for Linux/Unix
26 Summary(pl.UTF-8): Sterownik do wyświetlaczy Braille'a
30 License: GPL v2+ (brltty and drivers), LGPL v2.1+ (APIs)
32 Source0: http://mielke.cc/brltty/archive/%{name}-%{version}.tar.xz
33 # Source0-md5: ddcdd8c093f94c68885a39508af08d92
34 Patch1: %{name}-speech-dispatcher.patch
35 Patch2: %{name}-python.patch
36 Patch4: %{name}-glibc25.patch
37 URL: http://mielke.cc/brltty/
38 BuildRequires: alsa-lib-devel
39 %{?with_at_spi:BuildRequires: at-spi-devel}
40 %{?with_at_spi2:BuildRequires: at-spi2-core-devel >= 2.0}
41 BuildRequires: autoconf >= 2.64
42 BuildRequires: automake
45 BuildRequires: bluez-libs-devel
46 %{?with_at_spi2:BuildRequires: dbus-devel >= 1.0}
47 %{?with_apidocs:BuildRequires: doxygen}
48 %{?with_espeak:BuildRequires: espeak-devel}
49 %{?with_espeak_ng:BuildRequires: espeak-ng-devel}
50 BuildRequires: expat-devel
51 %{?with_flite:BuildRequires: flite-devel}
52 BuildRequires: gettext-tools
53 %{?with_at_spi2:BuildRequires: glib2-devel >= 2.0}
54 %{?with_gpm:BuildRequires: gpm-devel}
55 %{?with_java:BuildRequires: jdk}
56 %{?with_java:BuildRequires: jpackage-utils}
57 %{?with_libbraille:BuildRequires: libbraille-devel}
58 BuildRequires: libicu-devel
59 %{?with_liblouis:BuildRequires: liblouis-devel}
60 BuildRequires: ncurses-devel
61 %{?with_ocaml:BuildRequires: ocaml}
62 BuildRequires: pcre2-32-devel
63 BuildRequires: pkgconfig
64 BuildRequires: polkit-devel
65 %{?with_python:BuildRequires: python-Cython}
66 %{?with_python3:BuildRequires: python3-Cython}
67 %{?with_java:BuildRequires: rpm-javaprov}
68 %{?with_python:BuildRequires: rpm-pythonprov}
69 BuildRequires: rpmbuild(macros) >= 1.714
70 BuildRequires: sed >= 4.0
71 %{?with_speech_dispatcher:BuildRequires: speech-dispatcher-devel >= 0.8}
72 BuildRequires: systemd-devel
73 BuildRequires: tar >= 1:1.22
74 %{?with_tcl:BuildRequires: tcl-devel >= 8.5}
76 BuildRequires: xorg-lib-libX11-devel
77 BuildRequires: xorg-lib-libXaw-devel
78 BuildRequires: xorg-lib-libXext-devel
79 BuildRequires: xorg-lib-libXfixes-devel
80 BuildRequires: xorg-lib-libXt-devel
81 BuildRequires: xorg-lib-libXtst-devel
83 #%{?with_mikropuhe:BuildRequires: Mikropuhe-devel (-lmikropuhe <mpwrfile.h>)}
84 #%{?with_swift:BuildRequires: Swift-devel (-lswift <swift.h>)}
85 #%{?with_theta:BuildRequires: Theta-devel (-ltheta <theta.h>)}
86 #%{?with_viavoice:BuildRequires: ViaVoice-devel (-libmeci50 <eci.h>)}
88 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91 BRLTTY is a background process (daemon) which provides access to the
92 Linux/Unix console (when in text mode) for a blind person using a
93 refreshable Braille display. It drives the Braille display, and
94 provides complete screen review functionality. Some speech capability
95 has also been incorporated.
97 %description -l pl.UTF-8
98 BRLTTY jest demonem, który udostępnia dostęp do linuksowej konsoli (w
99 trybie tekstowym) dla niewidomych używających wyświetlaczy Braille'a z
100 odświeżaniem (refreshable Braille display). BRLTTY steruje
101 wyświetlaczem Braille'a i dostarcza funkcjonalność całkowitego
102 przeglądu ekranu. Do tego pakietu została włączona możliwość syntezy
106 Summary: Application Programming Interface for BRLTTY
107 Summary(pl.UTF-8): API do BRLTTY
111 %description -n brlapi
112 This package provides the run-time support for the Application
113 Programming Interface to BRLTTY.
115 Install this package if you have an application which directly
116 accesses a refreshable Braille display.
118 %description -n brlapi -l pl.UTF-8
119 Ten pakiet zawiera środowisko uruchomieniowe dla programów
120 korzystających z API BRLTTY.
122 Zainstaluj ten pakiet jeśli masz aplikację, która bezpośrednio używa
123 wyświetlacza Braille'a z odświeżaniem.
125 %package -n brlapi-devel
126 Summary: Headers and documentation for BrlAPI
127 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do BrlAPI
129 Group: Development/Libraries
130 Requires: brlapi = %{version}-%{release}
132 %description -n brlapi-devel
133 This package provides the header files, shared object linker
134 reference, and reference documentation for BrlAPI (the Application
135 Programming Interface to BRLTTY). It enables the implementation of
136 applications which take direct advantage of a refreshable Braille
137 display in order to present information in ways which are more
138 appropriate for blind users and/or to provide user interfaces which
139 are more specifically atuned to their needs.
141 Install this package if you're developing or maintaining an
142 application which directly accesses a refreshable Braille display.
144 %description -n brlapi-devel -l pl.UTF-8
145 Ten pakiet zawiera pliki nagłówkowe oraz dokumentację do BrlAPI (API
146 do BRLTTY). BrlAPI pozwala implementować aplikacje, które bezpośrednio
147 korzystają z wyświetlaczy Braille'a dostarczając interfejs użytkownika
148 bardziej przystosowany dla osób niewidomych.
150 Zainstaluj ten pakiet, jeśli tworzysz lub nadzorujesz aplikację
151 korzystającą bezpośrednio z odświeżalnych wyświetlaczy Braille'a.
153 %package -n brlapi-static
154 Summary: Static BrlAPI library
155 Summary(pl.UTF-8): Statyczna biblioteka BrlAPI
157 Group: Development/Libraries
158 Requires: brlapi-devel = %{version}-%{release}
160 %description -n brlapi-static
161 This is package with static BrlAPI library.
163 %description -n brlapi-static -l pl.UTF-8
164 Ten pakiet zawiera statyczną wersję biblioteki BrlAPI.
166 %package -n brlapi-apidocs
167 Summary: BrlAPI documentation
168 Summary(pl.UTF-8): Documentacja BrlAPI
170 %if "%{_rpmversion}" >= "5"
174 %description -n brlapi-apidocs
175 Documentation for BrlAPI in HTML format generated from brltty sources
178 %description -n brlapi-apidocs -l pl.UTF-8
179 Dokumentacja BrlAPI w formacie HTML generowane ze źrodeł brltty przez
182 %package -n java-brlapi
183 Summary: BrlAPI library for Java
184 Summary(pl.UTF-8): Biblioteka BrlAPI dla Javy
187 Requires: brlapi = %{version}-%{release}
189 %description -n java-brlapi
190 BrlAPI library for Java.
192 %description -n java-brlapi -l pl.UTF-8
193 Biblioteka BrlAPI dla Javy.
195 %package -n ocaml-brlapi
196 Summary: OCaml binding for BrlAPI
197 Summary(pl.UTF-8): Wiązania OCamla do BrlAPI
200 Requires: brlapi = %{version}-%{release}
201 %requires_eq ocaml-runtime
203 %description -n ocaml-brlapi
204 OCaml binding for BrlAPI.
206 %description -n ocaml-brlapi -l pl.UTF-8
207 Wiązania OCamla do BrlAPI.
209 %package -n ocaml-brlapi-devel
210 Summary: OCaml binding for BrlAPI - development files
211 Summary(pl.UTF-8): Wiązania OCamla do BrlAPI - pliki programistyczne
214 Requires: ocaml-brlapi = %{version}-%{release}
217 %description -n ocaml-brlapi-devel
218 OCaml binding for BrlAPI - development files.
220 %description -n ocaml-brlapi-devel -l pl.UTF-8
221 Wiązania OCamla do BrlAPI - pliki programistyczne.
223 %package -n python-brlapi
224 Summary: Python 2.x interface to BrlAPI
225 Summary(pl.UTF-8): Interfejs Pythona 2.x do BrlAPI
228 Requires: brlapi = %{version}-%{release}
230 %description -n python-brlapi
231 Python 2.x interface to BrlAPI.
233 %description -n python-brlapi -l pl.UTF-8
234 Interfejs Pythona 2.x do BrlAPI.
236 %package -n python3-brlapi
237 Summary: Python 3.x interface to BrlAPI
238 Summary(pl.UTF-8): Interfejs Pythona 3.x do BrlAPI
241 Requires: brlapi = %{version}-%{release}
243 %description -n python3-brlapi
244 Python 3.x interface to BrlAPI.
246 %description -n python3-brlapi -l pl.UTF-8
247 Interfejs Pythona 3.x do BrlAPI.
249 %package -n brlapi-tcl
250 Summary: BrlAPI library for Tcl
251 Summary(pl.UTF-8): Biblioteka BrlAPI dla Tcl
254 Requires: brlapi = %{version}-%{release}
256 %description -n brlapi-tcl
257 BrlAPI library for Tcl.
259 %description -n brlapi-tcl -l pl.UTF-8
260 Biblioteka BrlAPI dla Tcl.
268 %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' Tables/Contraction/latex-access.ctb
273 CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
275 %{?with_java:JAVA_HOME=%{java_home}} \
276 --with-install-root="$RPM_BUILD_ROOT" \
277 %{!?with_libbraille:--without-libbraille} \
278 %{!?with_espeak:--without-espeak} \
279 %{!?with_espeak_ng:--without-espeak_ng} \
280 %{!?with_flite:--without-flite} \
281 %{!?with_speech_dispatcher:--without-speechd} \
282 %{!?with_ocaml:--disable-caml-bindings} \
283 %{!?with_gpm:--disable-gpm} \
284 %{!?with_java:--disable-java-bindings} \
285 %{!?with_liblouis:--disable-liblouis} \
286 --enable-lisp-bindings \
287 %{!?with_python:--disable-python-bindings} \
288 %{!?with_tcl:--disable-tcl-bindings} \
289 %{!?with_x:--disable-x} \
307 rm -rf $RPM_BUILD_ROOT
309 %{__make} -j1 install install-appstream \
310 OCAML_INSTALL_TARGET=install-without-findlib
312 # findlib-specific, useless in rpm
313 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so.owner
328 # Fix java plugin install path on 64-bit archs
329 install -d $RPM_BUILD_ROOT%{_libdir}/java
330 %{__mv} $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/java/libbrlapi_java.so
333 install Bootdisks/bp2cf $RPM_BUILD_ROOT%{_bindir}/brltty-bp2cf
334 cp -p Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir}
336 install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
337 cat >$RPM_BUILD_ROOT%{systemdtmpfilesdir}/brltty.conf <<EOF
338 d /var/run/brltty 0755 root root -
341 # no sign in source wheter it is zh_CN or zh_TW
342 # but seems to contain Traditional Chinese characters
343 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{zh,zh_TW}
348 rm -rf $RPM_BUILD_ROOT
351 # The pre-install scriptlet.
353 # If a configuration file already exists then rpm installs the new one as
354 # <path>.rpmnew. If this is done then the .rpmnew file is overwritten if it
357 # There's no explicit way to tell if a configuration file has been installed
358 # as itself or as a .rpmnew file. The way we'll figure it out, therefore, is by
359 # erasing the .rpmnew file now so that we can see if it gets created later.
360 rm -f "%{_sysconfdir}/brltty.conf.rpmnew"
363 # If BRLTTY's boot parameter has been specified then update the just installed
364 # configuration file template to reflect the options supplied thereby.
366 # First, we need to determine which file to update. If there's a .rpmnew file
367 # then update it since a previous configuration file must already have existed.
368 file="%{_sysconfdir}/brltty.conf"
370 [ -f "${new}" ] && file="${new}"
372 # Update the configuration file template via the Bootdisks/bp2cf script.
373 %{_bindir}/brltty-bp2cf -u -f "${file}" >/dev/null 2>&1 || :
375 %post -n brlapi -p /sbin/ldconfig
376 %postun -n brlapi -p /sbin/ldconfig
378 %files -f %{name}.lang
379 %defattr(644,root,root,755)
380 %doc Documents/{Manual-BRLTTY/English/BRLTTY*,ChangeLog,HISTORY,TODO}
381 %attr(755,root,root) %{_bindir}/brltty
382 %attr(755,root,root) %{_bindir}/brltty-atb
383 %attr(755,root,root) %{_bindir}/brltty-bp2cf
384 %attr(755,root,root) %{_bindir}/brltty-config
385 %attr(755,root,root) %{_bindir}/brltty-clip
386 %attr(755,root,root) %{_bindir}/brltty-cldr
387 %attr(755,root,root) %{_bindir}/brltty-ctb
388 %attr(755,root,root) %{_bindir}/brltty-ktb
389 %attr(755,root,root) %{_bindir}/brltty-lscmds
390 %attr(755,root,root) %{_bindir}/brltty-lsinc
391 %attr(755,root,root) %{_bindir}/brltty-morse
392 %attr(755,root,root) %{_bindir}/brltty-trtxt
393 %attr(755,root,root) %{_bindir}/brltty-ttb
394 %attr(755,root,root) %{_bindir}/brltty-tune
395 %attr(755,root,root) %{_bindir}/eutp
396 %attr(755,root,root) %{_bindir}/vstp
397 %{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi}
398 %dir %{_libdir}/brltty
400 %attr(755,root,root) %{_libdir}/brltty/libbrlttybal.so
401 %attr(755,root,root) %{_libdir}/brltty/libbrlttybat.so
402 %attr(755,root,root) %{_libdir}/brltty/libbrlttybba.so
403 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbc.so
404 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbd.so
405 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbg.so
406 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbl.so
407 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbm.so
408 %attr(755,root,root) %{_libdir}/brltty/libbrlttybbn.so
409 %attr(755,root,root) %{_libdir}/brltty/libbrlttybcb.so
410 %attr(755,root,root) %{_libdir}/brltty/libbrlttybce.so
411 %attr(755,root,root) %{_libdir}/brltty/libbrlttybcn.so
412 %attr(755,root,root) %{_libdir}/brltty/libbrlttybec.so
413 %attr(755,root,root) %{_libdir}/brltty/libbrlttybeu.so
414 %attr(755,root,root) %{_libdir}/brltty/libbrlttybfs.so
415 %attr(755,root,root) %{_libdir}/brltty/libbrlttybhd.so
416 %attr(755,root,root) %{_libdir}/brltty/libbrlttybhm.so
417 %attr(755,root,root) %{_libdir}/brltty/libbrlttybht.so
418 %attr(755,root,root) %{_libdir}/brltty/libbrlttybhw.so
419 %attr(755,root,root) %{_libdir}/brltty/libbrlttybic.so
420 %attr(755,root,root) %{_libdir}/brltty/libbrlttybir.so
421 %{?with_libbraille:%attr(755,root,root) %{_libdir}/brltty/libbrlttyblb.so}
422 %attr(755,root,root) %{_libdir}/brltty/libbrlttyblt.so
423 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmb.so
424 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmd.so
425 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmm.so
426 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmn.so
427 %attr(755,root,root) %{_libdir}/brltty/libbrlttybmt.so
428 %attr(755,root,root) %{_libdir}/brltty/libbrlttybnp.so
429 %attr(755,root,root) %{_libdir}/brltty/libbrlttybpg.so
430 %attr(755,root,root) %{_libdir}/brltty/libbrlttybpm.so
431 %attr(755,root,root) %{_libdir}/brltty/libbrlttybsk.so
432 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtn.so
433 %attr(755,root,root) %{_libdir}/brltty/libbrlttybts.so
434 %attr(755,root,root) %{_libdir}/brltty/libbrlttybtt.so
435 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvd.so
436 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvo.so
437 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvr.so
438 %attr(755,root,root) %{_libdir}/brltty/libbrlttybvs.so
439 %{?with_x:%attr(755,root,root) %{_libdir}/brltty/libbrlttybxw.so}
440 # speech synthesizer drivers
441 %attr(755,root,root) %{_libdir}/brltty/libbrlttysal.so
442 %attr(755,root,root) %{_libdir}/brltty/libbrlttysbl.so
443 %attr(755,root,root) %{_libdir}/brltty/libbrlttyscb.so
444 %{?with_espeak_ng:%attr(755,root,root) %{_libdir}/brltty/libbrlttysen.so}
445 %{?with_espeak:%attr(755,root,root) %{_libdir}/brltty/libbrlttyses.so}
446 %{?with_flite:%attr(755,root,root) %{_libdir}/brltty/libbrlttysfl.so}
447 %attr(755,root,root) %{_libdir}/brltty/libbrlttysfv.so
448 %attr(755,root,root) %{_libdir}/brltty/libbrlttysgs.so
449 %{?with_mikropuhe:%attr(755,root,root) %{_libdir}/brltty/libbrlttysmp.so}
450 %{?with_speech_dispatcher:%attr(755,root,root) %{_libdir}/brltty/libbrlttyssd.so}
451 %{?with_swift:%attr(755,root,root) %{_libdir}/brltty/libbrlttyssw.so}
452 %{?with_theta:%attr(755,root,root) %{_libdir}/brltty/libbrlttysth.so}
453 %{?with_viavoice:%attr(755,root,root) %{_libdir}/brltty/libbrlttysvv.so}
454 %attr(755,root,root) %{_libdir}/brltty/libbrlttysxs.so
456 %{?with_at_spi2:%attr(755,root,root) %{_libdir}/brltty/libbrlttyxa2.so}
457 %{?with_at_spi:%attr(755,root,root) %{_libdir}/brltty/libbrlttyxas.so}
458 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxlx.so
459 %attr(755,root,root) %{_libdir}/brltty/libbrlttyxsc.so
460 %{_sysconfdir}/brltty
461 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/brltty.conf
462 %{systemdtmpfilesdir}/brltty.conf
465 %{_mandir}/man1/brltty.1*
466 %{_mandir}/man1/eutp.1*
467 %{_mandir}/man1/vstp.1*
468 %{?with_x:%{_mandir}/man1/xbrlapi.1*}
471 # gdm autostart - subpackage?
472 #%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop
473 #/etc/X11/Xsession.d/60xbrlapi
474 %{_datadir}/metainfo/org.a11y.brltty.metainfo.xml
476 %{_datadir}/polkit-1/actions/org.a11y.brlapi.policy
479 %defattr(644,root,root,755)
480 %attr(755,root,root) %{_libdir}/libbrlapi.so.*.*.*
481 %attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.8
483 %files -n brlapi-devel
484 %defattr(644,root,root,755)
485 %doc Documents/Manual-BrlAPI/English/BrlAPI*
486 %attr(755,root,root) %{_libdir}/libbrlapi.so
487 %{_includedir}/brltty
488 %{_includedir}/brlapi*.h
489 %{_mandir}/man3/brlapi_*.3*
491 %files -n brlapi-static
492 %defattr(644,root,root,755)
493 %{_libdir}/libbrlapi.a
496 %files -n brlapi-apidocs
497 %defattr(644,root,root,755)
498 %doc Documents/BrlAPIref/html/*
502 %files -n java-brlapi
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/java/libbrlapi_java.so
505 %{_javadir}/brlapi.jar
509 %files -n ocaml-brlapi
510 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so
513 %files -n ocaml-brlapi-devel
514 %defattr(644,root,root,755)
515 %dir %{_libdir}/ocaml/brlapi
516 %{_libdir}/ocaml/brlapi/META
517 %{_libdir}/ocaml/brlapi/brlapi.cm[aix]*
518 %{_libdir}/ocaml/brlapi/brlapi.mli
519 %{_libdir}/ocaml/brlapi/libbrlapi_stubs.a
523 %files -n python-brlapi
524 %defattr(644,root,root,755)
525 %attr(755,root,root) %{py_sitedir}/brlapi.so
526 %{py_sitedir}/Brlapi-%{brlapi_ver}-py*.egg-info
529 %files -n python3-brlapi
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{py3_sitedir}/brlapi.cpython-*.so
532 %{py3_sitedir}/Brlapi-%{brlapi_ver}-py*.egg-info
538 %defattr(644,root,root,755)
539 %dir %{_libdir}/brlapi-%{brlapi_ver}
540 %attr(755,root,root) %{_libdir}/brlapi-%{brlapi_ver}/libbrlapi_tcl.so
541 %{_libdir}/brlapi-%{brlapi_ver}/pkgIndex.tcl