source: projects/specs/trunk/b/brltty/brltty-vl.spec @ 9357

Revision 9357, 17.3 KB checked in by inagaki, 9 years ago (diff)

2015-02-17 Ryoichi INAGAKI <ryo1@…>

  • brltty, flite: updated
  • speech-dispatcher: rebuilt


Line 
1%define pkg_version 5.2
2%define api_version 0.6.3
3
4%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
5%{!?pyver: %define pyver %(%{__python} -c "import sys; v=sys.version_info[:2]; print '%d.%d'%v")}
6
7%{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)}
8
9#define _exec_prefix %{nil}
10#define _libdir /%{_lib}
11
12# with speech dispatcher iff on Fedora:
13%define with_speech_dispatcher 1
14%define with_ocaml 1
15
16Name: brltty
17Version: %{pkg_version}
18Release: 1%{?_dist_release}
19Summary: Braille display driver for Linux/Unix
20
21License: GPLv2+
22Group: System Environment/Daemons
23URL: http://mielke.cc/brltty/
24
25Source: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.xz
26Patch4: brltty-loadLibrary.patch
27
28BuildRoot: %{_tmppath}/%{name}-%{version}-root
29BuildRequires: bluez-libs-devel
30BuildRequires: byacc
31BuildRequires: gettext
32BuildRequires: glibc-kernheaders
33# work around a bug in the install process:
34Requires(post): coreutils
35
36%description
37BRLTTY is a background process (daemon) which provides
38access to the Linux/Unix console (when in text mode)
39for a blind person using a refreshable braille display.
40It drives the braille display and provides complete
41screen review functionality.
42%if %{with_speech_dispatcher}
43BRLTTY can also work with speech synthetizers; if you want to use it with
44Speech Dispatcher, please install also package %{name}-speech-dispatcher.
45
46%package speech-dispatcher
47Summary: Speech Dispatcher driver for BRLTTY
48Group: System Environment/Daemons
49License: GPLv2+
50BuildRequires: speech-dispatcher-devel
51Requires: %{name} = %{pkg_version}-%{release}
52
53%description speech-dispatcher
54This package provides the Speech Dispatcher driver for BRLTTY.
55%endif
56
57%package docs
58Summary: Documentation for BRLTTY
59Summary(ja): BRLTTY のドキュメント
60Group: Documentation
61License: GPLv2+
62Requires: %{name} = %{pkg_version}-%{release}
63BuildArch: noarch
64
65%description docs
66This package provides the documentation for BRLTTY.
67
68%package xw
69Summary: XWindow driver for BRLTTY
70Group: System Environment/Daemons
71License: GPLv2+
72BuildRequires: libSM-devel
73BuildRequires: libICE-devel
74BuildRequires: libX11-devel
75BuildRequires: libXaw-devel
76BuildRequires: libXext-devel
77BuildRequires: libXt-devel
78BuildRequires: libXtst-devel
79Requires: %{name} = %{pkg_version}-%{release}
80
81%description xw
82This package provides the XWindow driver for BRLTTY.
83
84%package at-spi
85Summary: AtSpi driver for BRLTTY
86Group: System Environment/Daemons
87# The data files are licensed under LGPLv2+, see the README file.
88License: GPLv2+ and LGPLv2+
89BuildRequires: at-spi-devel
90Requires: %{name} = %{pkg_version}-%{release}
91
92%description at-spi
93This package provides the AtSpi driver for BRLTTY.
94
95%package -n brlapi
96Summary: Appliation Programming Interface for BRLTTY
97Summary(ja): BRLTTY の API
98Version: %{api_version}
99Group: Applications/System
100License: LGPLv2+
101Requires: %{name} = %{pkg_version}-%{release}
102
103%description -n brlapi
104This package provides the run-time support for the Application
105Programming Interface to BRLTTY.
106
107Install this package if you have an application which directly accesses
108a refreshable braille display.
109
110%package -n brlapi-devel
111Summary: Headers, static archive, and documentation for BrlAPI
112Summary(ja): BrlAPI の開発用ファイル
113Version: %{api_version}
114Group: Development/Libraries
115License: LGPLv2+
116Requires: brlapi = %{api_version}-%{release}
117
118%description -n brlapi-devel
119This package provides the header files, static archive, shared object
120linker reference, and reference documentation for BrlAPI (the
121Application Programming Interface to BRLTTY).  It enables the
122implementation of applications which take direct advantage of a
123refreshable braille display in order to present information in ways
124which are more appropriate for blind users and/or to provide user
125interfaces which are more specifically atuned to their needs.
126
127Install this package if you are developing or maintaining an application
128which directly accesses a refreshable braille display.
129
130%package -n tcl-brlapi
131Summary: Tcl binding for BrlAPI
132Summary(ja): BrlAPI の Tcl バインディング
133Version: %{api_version}
134Group: Development/Libraries
135License: LGPLv2+
136BuildRequires: tcl-devel
137Requires: brlapi = %{api_version}-%{release}
138
139%description -n tcl-brlapi
140This package provides the Tcl binding for BrlAPI.
141
142%package -n python-brlapi
143Summary: Python binding for BrlAPI
144Summary(ja): BrlAPI の Python バインディング
145Version: %{api_version}
146Group: Development/Libraries
147License: LGPLv2+
148BuildRequires: Cython
149BuildRequires: python-devel
150BuildRequires: python-setuptools
151Requires: brlapi = %{api_version}-%{release}
152
153%description -n python-brlapi
154This package provides the Python binding for BrlAPI.
155
156%package -n brlapi-java
157Summary: Java binding for BrlAPI
158Summary(ja): BrlAPI の Java バインディング
159Version: %{api_version}
160Group: Development/Libraries
161License: LGPLv2+
162Requires: brlapi = %{api_version}-%{release}
163## temporary work around, java-devel is not resolved consistently acrss archs
164BuildRequires: java-devel
165#BuildRequires: java-1.5.0-gcj-devel
166
167%description -n brlapi-java
168This package provides the Java binding for BrlAPI.
169
170%if %{with_ocaml}
171%package -n ocaml-brlapi
172Summary: OCaml binding for BrlAPI
173Summary(ja): BrlAPI の OCaml バインディング
174Version: %{api_version}
175Group: Development/Libraries
176License: LGPLv2+
177Requires: brlapi = %{api_version}-%{release}
178BuildRequires: ocaml
179BuildRequires: ocaml-findlib
180
181%description -n ocaml-brlapi
182This package provides the OCaml binding for BrlAPI.
183%endif
184
185
186%define version %{pkg_version}
187
188%prep
189%setup -q
190%patch4 -p1 -b .loadLibrary
191#patch5 -p1
192
193%build
194# If MAKEFLAGS=-jN is set it would break local builds.
195unset MAKEFLAGS
196
197# Add the openjdk include directories to CPPFLAGS
198for i in -I/usr/lib/jvm/java/include{,/linux}; do
199      java_inc="$java_inc $i"
200done
201export CPPFLAGS="$java_inc"
202
203export CFLAGS="%{optflags} -I%{_includedir}/speech-dispatcher -fno-strict-aliasing"
204export CXXFLAGS="%{optflags} -I%{_includedir}/speech-dispatcher -fno-strict-aliasing"
205
206# there is no curses packages in BuildRequires, so the package builds
207# without them in mock; let's express this decision explicitly
208%configure \
209    --disable-stripping \
210    --without-curses \
211%if %{with_speech_dispatcher}
212  --with-speechd=%{_prefix} \
213%endif
214  --with-install-root=$RPM_BUILD_ROOT \
215  JAVA_JAR_DIR=%{_jnidir} \
216  JAVA_JNI_DIR=%{_libdir}/brltty \
217  JAVA_JNI=yes \
218  PYTHON=%{__python}
219
220# Parallel build seems broken, thus disabling it
221make
222
223find . \( -path ./doc -o -path ./Documents \) -prune -o \
224  \( -name 'README*' -o -name '*.txt' -o -name '*.html' -o \
225     -name '*.sgml' -o -name '*.patch' -o \
226     \( -path './Bootdisks/*' -type f -perm /ugo=x \) \) -print |
227while read file; do
228   mkdir -p doc/${file%/*} && cp -rp $file doc/$file || exit 1
229done
230
231find . -name '*.sgml' |
232while read file; do
233   iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file
234done
235find . -name '*.txt' |
236while read file; do
237   iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file
238done
239find . -name 'README*' |
240while read file; do
241   iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file
242done
243
244# backup Documents
245cp -a Documents Documents.buildsnap
246
247%install
248rm -rf $RPM_BUILD_ROOT
249rm -rf Documents
250cp -a Documents.buildsnap Documents
251
252%if %{with_ocaml}
253mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs
254%endif
255
256make install JAVA_JAR_DIR=%{_jnidir} \
257             JAVA_JNI_DIR=%{_libdir}/brltty \
258             JAVA_JNI=yes
259
260install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT%{_mandir}/man5
261install -m 644 Documents/brltty.conf ${RPM_BUILD_ROOT}%{_sysconfdir}
262echo ".so man1/brltty.1" > $RPM_BUILD_ROOT%{_mandir}/man5/brltty.conf.5
263
264# clean up the manuals:
265rm Documents/Manual-*/*/{*.mk,*.made,Makefile*}
266mv Documents/BrlAPIref/{html,BrlAPIref}
267
268# Don't want static lib
269rm -rf $RPM_BUILD_ROOT%{_libdir}/libbrlapi.a
270
271# ghost brlapi.key
272touch $RPM_BUILD_ROOT%{_sysconfdir}/brlapi.key
273
274# disable xbrlapi gdm autostart, there is already orca
275rm -f $RPM_BUILD_ROOT%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop
276
277# handle locales
278%find_lang %{name}
279
280%clean
281rm -rf $RPM_BUILD_ROOT
282
283%post
284devices="/dev/vcsa /dev/vcsa0 /dev/vcc/a"
285install=true
286for device in ${devices}
287do
288   if [ -c "${device}" ]
289   then
290      install=false
291      break
292   fi
293done
294if $install
295then
296    device="$(set -- ${devices} && echo "${1}")"
297    mkdir -p "${device%/*}"
298    mknod -m o= "${device}" c 7 128
299    chmod 660 "${device}"
300    chown root.tty "${device}"
301fi
302exit 0
303
304%pre -n brlapi
305getent group brlapi >/dev/null || groupadd -r brlapi >/dev/null
306
307%post -n brlapi
308if [ ! -e %{_sysconfdir}/brlapi.key ]; then
309    mcookie > %{_sysconfdir}/brlapi.key
310    chgrp brlapi %{_sysconfdir}/brlapi.key
311    chmod 0640 %{_sysconfdir}/brlapi.key
312fi
313/sbin/ldconfig
314
315%postun -n brlapi -p /sbin/ldconfig
316
317%files -f %{name}.lang
318%defattr(-,root,root)
319%doc LICENSE-GPL LICENSE-LGPL
320%config(noreplace) %{_sysconfdir}/brltty.conf
321%{_sysconfdir}/brltty/
322%{_bindir}/brltty
323%{_bindir}/brltty-*
324%{_libdir}/brltty/
325%exclude %{_libdir}/brltty/libbrlttybba.so
326%exclude %{_libdir}/brltty/libbrlttybxw.so
327%exclude %{_libdir}/brltty/libbrlapi_java.so
328%if %{with_speech_dispatcher}
329%exclude %{_libdir}/brltty/libbrlttyssd.so
330%endif
331%exclude %{_libdir}/brltty/libbrlttyxas.so
332%{_mandir}/man[15]/brltty.*
333
334%if %{with_speech_dispatcher}
335%files speech-dispatcher
336%defattr(-,root,root)
337%doc Drivers/Speech/SpeechDispatcher/README
338%{_libdir}/brltty/libbrlttyssd.so
339%endif
340
341%files docs
342%defattr(-,root,root)
343%doc Documents/ChangeLog Documents/TODO
344%doc Documents/Manual-BRLTTY/
345%doc doc/*
346
347%files xw
348%defattr(-,root,root)
349%doc Drivers/Braille/XWindow/README
350%{_libdir}/brltty/libbrlttybxw.so
351
352%files at-spi
353%defattr(-,root,root)
354%{_libdir}/brltty/libbrlttyxas.so
355
356%files -n brlapi
357%defattr(-,root,root)
358%doc Drivers/Braille/XWindow/README
359%doc Documents/Manual-BrlAPI/
360%ghost %{_sysconfdir}/brlapi.key
361%{_bindir}/vstp
362%{_bindir}/eutp
363%{_bindir}/xbrlapi
364%{_libdir}/brltty/libbrlttybba.so
365%{_libdir}/libbrlapi.so.*
366%{_mandir}/man1/xbrlapi.*
367%{_mandir}/man1/vstp.*
368%{_mandir}/man1/eutp.*
369
370%files -n brlapi-devel
371%defattr(-,root,root)
372%doc Documents/BrlAPIref/BrlAPIref/
373%{_libdir}/libbrlapi.so
374%{_includedir}/brltty
375%{_includedir}/brlapi*.h
376%{_mandir}/man3/brlapi_*.3*
377
378%files -n tcl-brlapi
379%defattr(-,root,root)
380%{_libdir}/tcl%{tcl_version}/brlapi-%{api_version}
381
382%files -n python-brlapi
383%defattr(-,root,root)
384%{python_sitearch}/brlapi.so
385%{python_sitearch}/Brlapi-%{api_version}-py%{pyver}.egg-info
386
387%files -n brlapi-java
388%defattr(-,root,root)
389%{_libdir}/brltty/libbrlapi_java.so
390%{_jnidir}/brlapi.jar
391
392%if %{with_ocaml}
393%files -n ocaml-brlapi
394%defattr(-,root,root)
395%{_libdir}/ocaml/brlapi/
396%{_libdir}/ocaml/stublibs/
397%endif
398
399
400%changelog
401* Tue Feb 17 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 5.2-1
402- updated to 5.2
403- added speech-dispatcher, doc, and ocaml subpackages
404
405* Sun Feb 19 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 4.2-2
406- rebuild with python-2.7.2
407
408* Sat Nov 04 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 4.2-1
409- initial build for Vine Linux
410
411* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2-4
412- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
413
414* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 4.2-3
415- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
416
417* Fri May 21 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 4.2-2
418- rework parallel patch slightly and reapply
419
420* Fri May 21 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 4.2-1
421- update to 4.2
422- drop static lib (bz 556041)
423- fix undefined S_ISCHR call
424
425* Wed Jan 20 2010 Stepan Kasal <skasal@redhat.com> - 4.1-5
426- requires(post): coreutils to work around an installator bug
427- Resolves: #540437
428
429* Wed Jan 13 2010 Stepan Kasal <skasal@redhat.com> - 4.1-4
430- limit building against speech-dispatcher to Fedora
431- Resolves: rhbz#553795
432
433* Sun Nov  1 2009 Stepan Kasal <skasal@redhat.com> - 4.1-3
434- build the TTY driver (it was disabled since it first appered in 3.7.2-1)
435- build with speech-dispatcher, packed into a separate sub-package
436
437* Fri Oct 30 2009 Stepan Kasal <skasal@redhat.com> - 4.1-2
438- move data-directory back to default: /etc/brltty
439- move brltty to /bin and /lib, so that it can be used to repair the system
440  without /usr mounted (#276181)
441- move vstp and libbrlttybba.so to brlapi
442- brltty no longer requires brlapi
443- brlapi now requires brltty from the same build
444
445* Wed Oct 28 2009 Stepan Kasal <skasal@redhat.com> - 4.1-1
446- new upstream version
447- use --disable-stripping instead of make variable override
448- install the default brltty-pm.conf to docdir only (#526168)
449- remove the duplicate copies of rhmkboot and rhmkroot from docdir
450- patch configure so that the dirs in summary are not garbled:
451  brltty-autoconf-quote.patch
452- move data-directory to ${datadir}/brltty
453
454* Tue Oct 20 2009 Stepan Kasal <skasal@redhat.com> - 4.0-2
455- escape rpm macros in the rpm change log
456- add requires to bind subpackages from one build together
457
458* Wed Oct  7 2009 Stepan Kasal <skasal@redhat.com> - 4.0-1
459- new upstream version
460- drop upstreamed patches; ./autogen not needed anymore
461- pack the xbrlapi server; move its man page to brlapi package
462- add man-page for brltty.conf (#526168)
463
464* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-6
465- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
466
467* Tue May 12 2009 Stepan Kasal <skasal@redhat.com> - 3.10-5
468- rebuild after java-1.5.0-gcj rebuild
469
470* Thu Apr 30 2009 Stepan Kasal <skasal@redhat.com> - 3.10-4
471- own the tcl subdirectory (#474032)
472- set CPPFLAGS to java include dirs, so that the java bindings build with
473  any java implementation (#498964)
474- add --without-curses; there is no curses package BuildRequired anyway
475
476* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-3
477- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
478
479* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.10-2
480- Rebuild for Python 2.6
481
482* Sat Sep 13 2008 Stepan Kasal <skasal@redhat.com> - 3.10-1
483- new upstream release
484- drop brltty-3.9-java-svn.patch, brltty-3.9-tcl85path.patch,
485  and brltty-3.9-pyxfix.patch, they are upstream
486- fix BuildRoot
487- fix many sub-packages' Requires on brlapi
488
489* Wed Sep 10 2008 Stepan Kasal <skasal@redhat.com> - 3.9-3
490- add brltty-3.9-autoconf.patch to fix to build with Autoconf 2.62
491- add brltty-3.9-parallel.patch to fix race condition with parallel make
492- add brltty-3.9-pyxfix.patch to fix build with current pyrex
493- Summary lines shall not end with a dot
494
495* Thu Feb 28 2008 Tomas Janousek <tjanouse@redhat.com> - 3.9-2.2
496- glibc build fixes
497- applied java reorganisations from svn
498
499* Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.9-2.1
500- Autorebuild for GCC 4.3
501
502* Wed Jan 09 2008 Tomas Janousek <tjanouse@redhat.com> - 3.9-1.1
503- specfile update to comply with tcl packaging guidelines
504
505* Mon Jan 07 2008 Tomas Janousek <tjanouse@redhat.com> - 3.9-1
506- update to latest upstream (3.9)
507
508* Tue Sep 18 2007 Tomas Janousek <tjanouse@redhat.com> - 3.8-2.svn3231
509- update to r3231 from svn
510- added java binding subpackage
511
512* Wed Aug 29 2007 Tomas Janousek <tjanouse@redhat.com> - 3.8-2.svn3231
513- update to r3231 from svn
514
515* Tue Aug 21 2007 Tomas Janousek <tjanouse@redhat.com> - 3.8-1
516- update to latest upstream
517- added the at-spi driver, tcl and python bindings
518- fixed the license tags
519
520* Mon Mar 05 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-3
521- added the XWindow driver
522- build fix for newer byacc
523
524* Tue Jan 30 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-2.1
525- quiet postinstall scriptlet, really fixes #224570
526
527* Tue Jan 30 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-2
528- failsafe postinstall script, fixes #224570
529- makefile fix - debuginfo extraction now works
530
531* Thu Jan 25 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-1.1
532- fix building with newer kernel-headers (#224149)
533
534* Wed Jul 12 2006 Petr Rockai <prockai@redhat.com> - 3.7.2-1
535- upgrade to latest upstream version
536- split off brlapi and brlapi-devel packages
537
538* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.2-12.1
539- rebuild
540
541* Sun Jul 02 2006 Florian La Roche <laroche@redhat.com>
542- for the post script require coreutils
543
544* Mon Jun 05 2006 Jesse Keating <jkeating@redhat.com> - 3.2-11
545- Added byacc BuildRequires, removed prereq, coreutils is always there
546
547* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 3.2-10.2.1
548- bump again for double-long bug on ppc(64)
549
550* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 3.2-10.2
551- rebuilt for new gcc4.1 snapshot and glibc changes
552
553* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
554- rebuilt
555
556* Wed Mar 16 2005 Bill Nottingham <notting@redhat.com> 3.2-10
557- rebuild
558
559* Fri Nov 26 2004 Florian La Roche <laroche@redhat.com>
560- add a %%clean into .spec
561
562* Thu Oct 14 2004 Adrian Havill <havill@redhat.com> 3.2-5
563- chmod a-x for conf file (#116244)
564
565* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
566- rebuilt
567
568* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
569- rebuilt
570
571* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
572- rebuilt
573
574* Tue Sep 30 2003 Florian La Roche <Florian.LaRoche@redhat.de>
575- prereq coreutils for mknod/chown/chmod
576
577* Mon Jul 07 2003 Adrian Havill <havill@redhat.com> 3.2-2
578- changed spec "Copyright" to "License"
579- use %%configure macro, %%{_libdir} for non-ia32 archs
580- removed unnecessary set and unset, assumed/default spec headers
581- fixed unpackaged man page, duplicate /bin and /lib entries
582- use plain install vs scripts for non-i386 buildsys
Note: See TracBrowser for help on using the repository browser.