# TODO:
# - what is that huge %post script?
-# - ocaml bcond is useless now:
-# Cannot find ocamlfind.
-# BrlAPI Caml bindings will be compiled but not installed.
-# - check java stuff
#
# Conditional build:
%bcond_without apidocs # documentation generated with doxygen
-%bcond_with java # Java bindings
+%bcond_without java # Java bindings
%bcond_without ocaml # OCaml bindings
%bcond_without python # Python 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_without at_spi # build without AtSpi driver
-%bcond_without at_spi2 # build without AtSpi2 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_without at_spi # AtSpi screen driver
+%bcond_without at_spi2 # AtSpi2 screen driver
+#
+%define brlapi_ver 0.6.0
#
%include /usr/lib/rpm/macros.java
Summary: Braille display driver for Linux/Unix
Summary(pl.UTF-8): Sterownik do wyświetlaczy Braille'a
Name: brltty
-Version: 4.3
+Version: 4.5
Release: 1
Group: Daemons
-License: GPL
+License: GPL v2+ (brltty and drivers), LGPL v2.1+ (APIs)
Source0: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 5ada573f88df32b6150db3b9a620e20b
+# Source0-md5: 7b52fa7746fed41ed344a1f75ce55951
Patch0: %{name}-stat.patch
+Patch1: %{name}-java.patch
+Patch2: %{name}-speech-dispatcher.patch
URL: http://mielke.cc/brltty/
BuildRequires: alsa-lib-devel
%{?with_at_spi:BuildRequires: at-spi-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}
%{?with_python:BuildRequires: python-Pyrex}
%{?with_java:BuildRequires: rpm-javaprov}
%{?with_python:BuildRequires: rpm-pythonprov}
+%{?with_speech_dispatcher:BuildRequires: speech-dispatcher-devel >= 0.8}
%{?with_tcl:BuildRequires: tcl-devel}
%if %{with x}
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXt-devel
BuildRequires: xorg-lib-libXtst-devel
%endif
-# libbrlttyblb
-#BR: libbraile-devel (-lllibbraile <braille.h>)
-%{?with_flite:BuildRequires: flite-devel}
-# libbrlttysmp
-#BR: Mikropuhe-devel (-lmikropuhe <mpwrfile.h>)
-%{?with_speech_dispatcher:BuildRequires: speech-dispatcher-devel}
-# libbrlttyssw
-#BR: Swift-devel (-lswift <swift.h>)
-# libbrlttysth
-#BR: Theta-devel (-ltheta <theta.h>)
-# libbrlttysvv
-#BR: ViaVoice-devel (-libmeci50 <eci.h>)
+#%{?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
%package -n brlapi
Summary: Application Programming Interface for BRLTTY
Summary(pl.UTF-8): API do BRLTTY
-Group: Applications/System
+License: LGPL v2.1+
+Group: Libraries
%description -n brlapi
This package provides the run-time support for the Application
%package -n brlapi-devel
Summary: Headers and documentation for BrlAPI
Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do BrlAPI
+License: LGPL v2.1+
Group: Development/Libraries
Requires: brlapi = %{version}-%{release}
%package -n brlapi-static
Summary: Static BrlAPI library
Summary(pl.UTF-8): Statyczna biblioteka BrlAPI
+License: LGPL v2.1+
Group: Development/Libraries
Requires: brlapi-devel = %{version}-%{release}
%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}
%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
%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
%package -n python-brlapi
Summary: Python interface to BrlAPI
Summary(pl.UTF-8): Pythonowy interfejs do BrlAPI
+License: LGPL v2.1+
Group: Libraries
Requires: brlapi = %{version}-%{release}
%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}
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
+%{__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} \
%{__make} -j1 install \
OCAML_INSTALL_TARGET=install-without-findlib
+%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 -d $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
%doc Documents/{Manual-BRLTTY/English/BRLTTY*,ChangeLog,HISTORY,TODO}
%doc doc/{Bindings,Bootdisks,Drivers,Patches,Tables,README,nsistrings.txt}
%attr(755,root,root) %{_bindir}/brltty
-%attr(755,root,root) %{_bindir}/brltty-install
%attr(755,root,root) %{_bindir}/brltty-config
+%attr(755,root,root) %{_bindir}/brltty-ctb
+%attr(755,root,root) %{_bindir}/brltty-install
+%attr(755,root,root) %{_bindir}/brltty-trtxt
+%attr(755,root,root) %{_bindir}/brltty-ttb
%attr(755,root,root) %{_bindir}/vstp
%{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi}
%dir %{_libdir}/brltty
%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/libbrlttybhm.so
%attr(755,root,root) %{_libdir}/brltty/libbrlttybht.so
-%attr(755,root,root) %{_libdir}/brltty/libbrlttybil.so
-#%{?with_libbraille:%attr(755,root,root) %{_libdir}/brltty/libbrlttyblb.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/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
%{?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_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}
+%{?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}
%files -n brlapi
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libbrlapi.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.5
+%attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.6
%files -n brlapi-devel
%defattr(644,root,root,755)
%if %{with java}
%files -n java-brlapi
%defattr(644,root,root,755)
-%{_libdir}/java/libbrlapi_java.so
+%attr(755,root,root) %{_libdir}/java/libbrlapi_java.so
%{_javadir}/brlapi.jar
%endif
%files -n python-brlapi
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/brlapi.so
-%{py_sitedir}/Brlapi-*.egg-info
+%{py_sitedir}/Brlapi-%{brlapi_ver}-py*.egg-info
%endif
%if %{with tcl}
%files -n brlapi-tcl
%defattr(644,root,root,755)
-%dir %{_libdir}/brlapi-0.5.6
-%attr(755,root,root) %{_libdir}/brlapi-0.5.6/libbrlapi_tcl.so
-%{_libdir}/brlapi-0.5.6/pkgIndex.tcl
+%dir %{_libdir}/brlapi-%{brlapi_ver}
+%attr(755,root,root) %{_libdir}/brlapi-%{brlapi_ver}/libbrlapi_tcl.so
+%{_libdir}/brlapi-%{brlapi_ver}/pkgIndex.tcl
%endif