brltty-vl.spec 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. %define pkg_version 4.2
  2. %define api_version 0.5.5
  3. %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
  4. %{!?pyver: %define pyver %(%{__python} -c "import sys; v=sys.version_info[:2]; print '%d.%d'%v")}
  5. %define _exec_prefix %{nil}
  6. %define _libdir /%{_lib}
  7. # with speech dispatcher iff on Fedora:
  8. %define with_speech_dispatcher 0%{?fedora}
  9. Name: brltty
  10. Version: %{pkg_version}
  11. Release: 2%{?_dist_release}
  12. License: GPLv2+
  13. Group: System Environment/Daemons
  14. URL: http://mielke.cc/brltty/
  15. Source: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz
  16. Patch0: brltty-cppflags.patch
  17. Patch1: brltty-autoconf-quote.patch
  18. Patch2: brltty-4.2-S_ISCHR.patch
  19. Patch3: brltty-parallel.patch
  20. BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
  21. Summary: Braille display driver for Linux/Unix
  22. BuildRequires: bison
  23. BuildRequires: flex
  24. BuildRequires: autoconf
  25. # work around a bug in the install process:
  26. Requires(post): coreutils
  27. %description
  28. BRLTTY is a background process (daemon) which provides
  29. access to the Linux/Unix console (when in text mode)
  30. for a blind person using a refreshable braille display.
  31. It drives the braille display and provides complete
  32. screen review functionality.
  33. %if %{with_speech_dispatcher}
  34. BRLTTY can also work with speech synthetizers; if you want to use it with
  35. Speech Dispatcher, please install also package %{name}-speech-dispatcher.
  36. %package speech-dispatcher
  37. Summary: Speech Dispatcher driver for BRLTTY
  38. Group: System Environment/Daemons
  39. License: GPLv2+
  40. BuildRequires: speech-dispatcher-devel
  41. Requires: %{name} = %{pkg_version}-%{release}
  42. %description speech-dispatcher
  43. This package provides the Speech Dispatcher driver for BRLTTY.
  44. %endif
  45. %package xw
  46. Summary: XWindow driver for BRLTTY
  47. Group: System Environment/Daemons
  48. License: GPLv2+
  49. BuildRequires: libSM-devel libICE-devel libX11-devel libXaw-devel libXext-devel libXt-devel libXtst-devel
  50. Requires: %{name} = %{pkg_version}-%{release}
  51. %description xw
  52. This package provides the XWindow driver for BRLTTY.
  53. %package at-spi
  54. Summary: AtSpi driver for BRLTTY
  55. Group: System Environment/Daemons
  56. # The data files are licensed under LGPLv2+, see the README file.
  57. License: GPLv2+ and LGPLv2+
  58. BuildRequires: at-spi-devel
  59. Requires: %{name} = %{pkg_version}-%{release}
  60. %description at-spi
  61. This package provides the AtSpi driver for BRLTTY.
  62. %package -n brlapi
  63. Version: %{api_version}
  64. Group: Applications/System
  65. License: LGPLv2+
  66. Summary: Appliation Programming Interface for BRLTTY
  67. Requires: %{name} = %{pkg_version}-%{release}
  68. %description -n brlapi
  69. This package provides the run-time support for the Application
  70. Programming Interface to BRLTTY.
  71. Install this package if you have an application which directly accesses
  72. a refreshable braille display.
  73. %package -n brlapi-devel
  74. Version: %{api_version}
  75. Group: Development/System
  76. License: LGPLv2+
  77. Requires: brlapi = %{api_version}-%{release}
  78. Summary: Headers, static archive, and documentation for BrlAPI
  79. %description -n brlapi-devel
  80. This package provides the header files, static archive, shared object
  81. linker reference, and reference documentation for BrlAPI (the
  82. Application Programming Interface to BRLTTY). It enables the
  83. implementation of applications which take direct advantage of a
  84. refreshable braille display in order to present information in ways
  85. which are more appropriate for blind users and/or to provide user
  86. interfaces which are more specifically atuned to their needs.
  87. Install this package if you are developing or maintaining an application
  88. which directly accesses a refreshable braille display.
  89. %package -n tcl-brlapi
  90. Version: %{api_version}
  91. Group: Development/System
  92. License: LGPLv2+
  93. Requires: brlapi = %{api_version}-%{release}
  94. BuildRequires: tcl
  95. Summary: Tcl binding for BrlAPI
  96. %description -n tcl-brlapi
  97. This package provides the Tcl binding for BrlAPI.
  98. %package -n python-brlapi
  99. Version: %{api_version}
  100. Group: Development/System
  101. License: LGPLv2+
  102. Requires: brlapi = %{api_version}-%{release}
  103. BuildRequires: python-pyrex
  104. Summary: Python binding for BrlAPI
  105. %description -n python-brlapi
  106. This package provides the Python binding for BrlAPI.
  107. %package -n brlapi-java
  108. Version: %{api_version}
  109. Group: Development/System
  110. License: LGPLv2+
  111. Requires: brlapi = %{api_version}-%{release}
  112. ## temporary work around, java-devel is not resolved consistently acrss archs
  113. BuildRequires: java-devel
  114. #BuildRequires: java-1.5.0-gcj-devel
  115. Summary: Java binding for BrlAPI
  116. %description -n brlapi-java
  117. This package provides the Java binding for BrlAPI.
  118. %define version %{pkg_version}
  119. %prep
  120. %setup -q
  121. %patch0 -p1 -b .cppflags
  122. %patch1 -p1 -b .quote
  123. %patch2 -p1 -b .S_ISCHR
  124. %patch3 -p1 -b .parallel
  125. %build
  126. # Patch6 changes aclocal.m4:
  127. autoconf
  128. for i in -I/usr/lib/jvm/java/include{,/linux}; do
  129. java_inc="$java_inc $i"
  130. done
  131. # there is no curses packages in BuildRequires, so the package builds
  132. # without them in mock; let's express this decision explicitly
  133. %configure CPPFLAGS="$java_inc" --disable-stripping --without-curses \
  134. %if %{with_speech_dispatcher}
  135. --with-speechd=%{_prefix} \
  136. %endif
  137. --with-install-root="${RPM_BUILD_ROOT}"
  138. make %{?_smp_mflags}
  139. find . \( -path ./doc -o -path ./Documents \) -prune -o \
  140. \( -name 'README*' -o -name '*.txt' -o -name '*.html' -o \
  141. -name '*.sgml' -o -name '*.patch' -o \
  142. \( -path './Bootdisks/*' -type f -perm +ugo=x \) \) -print |
  143. while read file; do
  144. mkdir -p doc/${file%/*} && cp -rp $file doc/$file || exit 1
  145. done
  146. %install
  147. rm -rf $RPM_BUILD_ROOT
  148. # does not seem to be parallel safe
  149. make install
  150. rm "$RPM_BUILD_ROOT%{_libdir}/libbrlapi.so"
  151. ln -s ../../%{_lib}/libbrlapi.so "$RPM_BUILD_ROOT%{_prefix}/%{_lib}/"
  152. install -d -m 755 "${RPM_BUILD_ROOT}%{_sysconfdir}" "$RPM_BUILD_ROOT%{_mandir}/man5"
  153. install -m 644 Documents/brltty.conf "${RPM_BUILD_ROOT}%{_sysconfdir}"
  154. echo ".so man1/brltty.1" > $RPM_BUILD_ROOT%{_mandir}/man5/brltty.conf.5
  155. # clean up the manuals:
  156. rm Documents/Manual-*/*/{*.mk,*.made,Makefile*}
  157. mv Documents/BrlAPIref/{html,BrlAPIref}
  158. # Don't want static lib
  159. rm -rf $RPM_BUILD_ROOT/%{_lib}/libbrlapi.a
  160. %clean
  161. rm -rf $RPM_BUILD_ROOT
  162. %post
  163. devices="/dev/vcsa /dev/vcsa0 /dev/vcc/a"
  164. install=true
  165. for device in ${devices}
  166. do
  167. if [ -c "${device}" ]
  168. then
  169. install=false
  170. break
  171. fi
  172. done
  173. if $install
  174. then
  175. device="$(set -- ${devices} && echo "${1}")"
  176. mkdir -p "${device%/*}"
  177. mknod -m o= "${device}" c 7 128
  178. chmod 660 "${device}"
  179. chown root.tty "${device}"
  180. fi
  181. exit 0
  182. %post -n brlapi -p /sbin/ldconfig
  183. %postun -n brlapi -p /sbin/ldconfig
  184. %files
  185. %defattr(-,root,root)
  186. %config(noreplace) %{_sysconfdir}/brltty.conf
  187. %{_sysconfdir}/brltty/
  188. %{_bindir}/brltty
  189. %{_bindir}/brltty-*
  190. %{_libdir}/brltty/
  191. %exclude %{_libdir}/brltty/libbrlttybba.so
  192. %exclude %{_libdir}/brltty/libbrlttybxw.so
  193. %if %{with_speech_dispatcher}
  194. %exclude %{_libdir}/brltty/libbrlttyssd.so
  195. %endif
  196. %exclude %{_libdir}/brltty/libbrlttyxas.so
  197. %doc LICENSE-GPL LICENSE-LGPL
  198. %doc Documents/ChangeLog Documents/TODO
  199. %doc Documents/Manual-BRLTTY/
  200. %doc doc/*
  201. %doc %{_mandir}/man[15]/brltty.*
  202. %if %{with_speech_dispatcher}
  203. %files speech-dispatcher
  204. %doc Drivers/Speech/SpeechDispatcher/README
  205. %{_libdir}/brltty/libbrlttyssd.so
  206. %endif
  207. %files xw
  208. %doc Drivers/Braille/XWindow/README
  209. %{_libdir}/brltty/libbrlttybxw.so
  210. %files at-spi
  211. %{_libdir}/brltty/libbrlttyxas.so
  212. %files -n brlapi
  213. %defattr(-,root,root)
  214. %{_bindir}/vstp
  215. %{_bindir}/xbrlapi
  216. %{_libdir}/brltty/libbrlttybba.so
  217. %{_libdir}/libbrlapi.so.*
  218. %doc Drivers/Braille/XWindow/README
  219. %doc Documents/Manual-BrlAPI/
  220. %doc %{_mandir}/man1/xbrlapi.*
  221. %doc %{_mandir}/man1/vstp.*
  222. %files -n brlapi-devel
  223. %defattr(-,root,root)
  224. %{_prefix}/%{_lib}/libbrlapi.so
  225. %{_includedir}/brltty
  226. %{_includedir}/brlapi*.h
  227. %doc %{_mandir}/man3/brlapi_*.3*
  228. %doc Documents/BrlAPIref/BrlAPIref/
  229. %files -n tcl-brlapi
  230. %defattr(-,root,root)
  231. %{_prefix}/%{_lib}/brlapi-%{api_version}
  232. %files -n python-brlapi
  233. %defattr(-,root,root)
  234. %{python_sitearch}/brlapi.so
  235. %{python_sitearch}/Brlapi-%{api_version}-py%{pyver}.egg-info
  236. %files -n brlapi-java
  237. %defattr(-,root,root)
  238. %{_jnidir}/libbrlapi_java.so
  239. %{_javadir}/brlapi.jar
  240. %changelog
  241. * Sun Feb 19 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 4.2-2
  242. - rebuild with python-2.7.2
  243. * Sat Nov 04 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 4.2-1
  244. - initial build for Vine Linux
  245. * Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2-4
  246. - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
  247. * Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 4.2-3
  248. - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
  249. * Fri May 21 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 4.2-2
  250. - rework parallel patch slightly and reapply
  251. * Fri May 21 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 4.2-1
  252. - update to 4.2
  253. - drop static lib (bz 556041)
  254. - fix undefined S_ISCHR call
  255. * Wed Jan 20 2010 Stepan Kasal <skasal@redhat.com> - 4.1-5
  256. - requires(post): coreutils to work around an installator bug
  257. - Resolves: #540437
  258. * Wed Jan 13 2010 Stepan Kasal <skasal@redhat.com> - 4.1-4
  259. - limit building against speech-dispatcher to Fedora
  260. - Resolves: rhbz#553795
  261. * Sun Nov 1 2009 Stepan Kasal <skasal@redhat.com> - 4.1-3
  262. - build the TTY driver (it was disabled since it first appered in 3.7.2-1)
  263. - build with speech-dispatcher, packed into a separate sub-package
  264. * Fri Oct 30 2009 Stepan Kasal <skasal@redhat.com> - 4.1-2
  265. - move data-directory back to default: /etc/brltty
  266. - move brltty to /bin and /lib, so that it can be used to repair the system
  267. without /usr mounted (#276181)
  268. - move vstp and libbrlttybba.so to brlapi
  269. - brltty no longer requires brlapi
  270. - brlapi now requires brltty from the same build
  271. * Wed Oct 28 2009 Stepan Kasal <skasal@redhat.com> - 4.1-1
  272. - new upstream version
  273. - use --disable-stripping instead of make variable override
  274. - install the default brltty-pm.conf to docdir only (#526168)
  275. - remove the duplicate copies of rhmkboot and rhmkroot from docdir
  276. - patch configure so that the dirs in summary are not garbled:
  277. brltty-autoconf-quote.patch
  278. - move data-directory to ${datadir}/brltty
  279. * Tue Oct 20 2009 Stepan Kasal <skasal@redhat.com> - 4.0-2
  280. - escape rpm macros in the rpm change log
  281. - add requires to bind subpackages from one build together
  282. * Wed Oct 7 2009 Stepan Kasal <skasal@redhat.com> - 4.0-1
  283. - new upstream version
  284. - drop upstreamed patches; ./autogen not needed anymore
  285. - pack the xbrlapi server; move its man page to brlapi package
  286. - add man-page for brltty.conf (#526168)
  287. * Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-6
  288. - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
  289. * Tue May 12 2009 Stepan Kasal <skasal@redhat.com> - 3.10-5
  290. - rebuild after java-1.5.0-gcj rebuild
  291. * Thu Apr 30 2009 Stepan Kasal <skasal@redhat.com> - 3.10-4
  292. - own the tcl subdirectory (#474032)
  293. - set CPPFLAGS to java include dirs, so that the java bindings build with
  294. any java implementation (#498964)
  295. - add --without-curses; there is no curses package BuildRequired anyway
  296. * Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-3
  297. - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
  298. * Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.10-2
  299. - Rebuild for Python 2.6
  300. * Sat Sep 13 2008 Stepan Kasal <skasal@redhat.com> - 3.10-1
  301. - new upstream release
  302. - drop brltty-3.9-java-svn.patch, brltty-3.9-tcl85path.patch,
  303. and brltty-3.9-pyxfix.patch, they are upstream
  304. - fix BuildRoot
  305. - fix many sub-packages' Requires on brlapi
  306. * Wed Sep 10 2008 Stepan Kasal <skasal@redhat.com> - 3.9-3
  307. - add brltty-3.9-autoconf.patch to fix to build with Autoconf 2.62
  308. - add brltty-3.9-parallel.patch to fix race condition with parallel make
  309. - add brltty-3.9-pyxfix.patch to fix build with current pyrex
  310. - Summary lines shall not end with a dot
  311. * Thu Feb 28 2008 Tomas Janousek <tjanouse@redhat.com> - 3.9-2.2
  312. - glibc build fixes
  313. - applied java reorganisations from svn
  314. * Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.9-2.1
  315. - Autorebuild for GCC 4.3
  316. * Wed Jan 09 2008 Tomas Janousek <tjanouse@redhat.com> - 3.9-1.1
  317. - specfile update to comply with tcl packaging guidelines
  318. * Mon Jan 07 2008 Tomas Janousek <tjanouse@redhat.com> - 3.9-1
  319. - update to latest upstream (3.9)
  320. * Tue Sep 18 2007 Tomas Janousek <tjanouse@redhat.com> - 3.8-2.svn3231
  321. - update to r3231 from svn
  322. - added java binding subpackage
  323. * Wed Aug 29 2007 Tomas Janousek <tjanouse@redhat.com> - 3.8-2.svn3231
  324. - update to r3231 from svn
  325. * Tue Aug 21 2007 Tomas Janousek <tjanouse@redhat.com> - 3.8-1
  326. - update to latest upstream
  327. - added the at-spi driver, tcl and python bindings
  328. - fixed the license tags
  329. * Mon Mar 05 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-3
  330. - added the XWindow driver
  331. - build fix for newer byacc
  332. * Tue Jan 30 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-2.1
  333. - quiet postinstall scriptlet, really fixes #224570
  334. * Tue Jan 30 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-2
  335. - failsafe postinstall script, fixes #224570
  336. - makefile fix - debuginfo extraction now works
  337. * Thu Jan 25 2007 Tomas Janousek <tjanouse@redhat.com> - 3.7.2-1.1
  338. - fix building with newer kernel-headers (#224149)
  339. * Wed Jul 12 2006 Petr Rockai <prockai@redhat.com> - 3.7.2-1
  340. - upgrade to latest upstream version
  341. - split off brlapi and brlapi-devel packages
  342. * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.2-12.1
  343. - rebuild
  344. * Sun Jul 02 2006 Florian La Roche <laroche@redhat.com>
  345. - for the post script require coreutils
  346. * Mon Jun 05 2006 Jesse Keating <jkeating@redhat.com> - 3.2-11
  347. - Added byacc BuildRequires, removed prereq, coreutils is always there
  348. * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 3.2-10.2.1
  349. - bump again for double-long bug on ppc(64)
  350. * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 3.2-10.2
  351. - rebuilt for new gcc4.1 snapshot and glibc changes
  352. * Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
  353. - rebuilt
  354. * Wed Mar 16 2005 Bill Nottingham <notting@redhat.com> 3.2-10
  355. - rebuild
  356. * Fri Nov 26 2004 Florian La Roche <laroche@redhat.com>
  357. - add a %%clean into .spec
  358. * Thu Oct 14 2004 Adrian Havill <havill@redhat.com> 3.2-5
  359. - chmod a-x for conf file (#116244)
  360. * Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
  361. - rebuilt
  362. * Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
  363. - rebuilt
  364. * Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
  365. - rebuilt
  366. * Tue Sep 30 2003 Florian La Roche <Florian.LaRoche@redhat.de>
  367. - prereq coreutils for mknod/chown/chmod
  368. * Mon Jul 07 2003 Adrian Havill <havill@redhat.com> 3.2-2
  369. - changed spec "Copyright" to "License"
  370. - use %%configure macro, %%{_libdir} for non-ia32 archs
  371. - removed unnecessary set and unset, assumed/default spec headers
  372. - fixed unpackaged man page, duplicate /bin and /lib entries
  373. - use plain install vs scripts for non-i386 buildsys