jack1 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

229 lines
5.9KB

  1. # $Id$
  2. # set to 0 to build rpms without capabilities support
  3. %define enable_capabilities 0
  4. # strip binaries
  5. %define strip_jackd 1
  6. # set to 1 to enable alternate jack temporary
  7. # directory mounted as tmpfs
  8. %define enable_tmpdir 1
  9. %if %{enable_tmpdir}
  10. %define jack_tmpdir /dev/shm
  11. %endif
  12. # use oss
  13. %define oss 1
  14. # use portaudio
  15. %define portaudio 0
  16. # use freebob
  17. %define freebob 1
  18. # use preemption check
  19. %define preemption_check 0
  20. Summary: The Jack Audio Connection Kit
  21. Name: @PACKAGE@
  22. Version: @VERSION@
  23. Release: 5
  24. License: GPL
  25. Group: System Environment/Daemons
  26. Source0: %{name}-%{version}.tar.gz
  27. URL: http://jackaudio.org
  28. BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
  29. BuildRequires: automake >= 1.6 libsndfile-devel >= 1.0.0
  30. BuildRequires: pkgconfig
  31. BuildRequires: doxygen
  32. %if %{portaudio}
  33. BuildRequires: portaudio >= 18.1
  34. %endif
  35. %if %{freebob}
  36. BuildRequires: libfreebob >= 1.0.0
  37. %endif
  38. %description
  39. JACK is a low-latency audio server, written primarily for the Linux
  40. operating system. It can connect a number of different applications to
  41. an audio device, as well as allowing them to share audio between
  42. themselves. Its clients can run in their own processes (ie. as a
  43. normal application), or can they can run within a JACK server (ie. a
  44. "plugin").
  45. JACK is different from other audio server efforts in that it has been
  46. designed from the ground up to be suitable for professional audio
  47. work. This means that it focuses on two key areas: synchronous
  48. execution of all clients, and low latency operation.
  49. %package devel
  50. Summary: Header files for Jack
  51. Group: Development/Libraries
  52. Requires: %{name} = %{version}
  53. %description devel
  54. Header files for the Jack Audio Connection Kit.
  55. %package example-clients
  56. Summary: Example clients that use Jack
  57. Group: Applications/Multimedia
  58. Requires: %{name} = %{version}
  59. %description example-clients
  60. Small example clients that use the Jack Audio Connection Kit.
  61. %prep
  62. %setup -q
  63. %build
  64. %configure \
  65. %if %{enable_capabilities}
  66. --enable-capabilities \
  67. %if %{strip_jackd}
  68. --enable-stripped-jackd \
  69. %endif
  70. %endif
  71. %if %{enable_tmpdir}
  72. --with-default-tmpdir=%{jack_tmpdir} \
  73. %endif
  74. %if ! %{oss}
  75. --disable-oss \
  76. %endif
  77. %if ! %{portaudio}
  78. --disable-portaudio \
  79. %endif
  80. %if ! %{freebob}
  81. --disable-freebob \
  82. %endif
  83. %if %{preemption_check}
  84. --enable-preemption-check \
  85. %endif
  86. --enable-optimize
  87. make
  88. %install
  89. [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
  90. make install DESTDIR=$RPM_BUILD_ROOT
  91. %if %{enable_capabilities}
  92. # make jackstart suid root
  93. chmod 04755 $RPM_BUILD_ROOT%{_bindir}/jackstart
  94. %endif
  95. # remove extra install of the documentation
  96. rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/*
  97. %post
  98. /sbin/ldconfig
  99. %postun
  100. /sbin/ldconfig
  101. %clean
  102. [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
  103. %files
  104. %defattr(-,root,root)
  105. %doc AUTHORS TODO COPYING*
  106. %if %{enable_capabilities}
  107. %attr(4755, root, root) %{_bindir}/jackstart
  108. %endif
  109. %{_bindir}/jackd
  110. %{_bindir}/jack_load
  111. %{_bindir}/jack_unload
  112. %{_bindir}/jack_bufsize
  113. %{_bindir}/jack_freewheel
  114. %{_bindir}/jack_transport
  115. %{_libdir}/libjack.so
  116. %{_libdir}/libjack.so.0
  117. %{_libdir}/libjack.so.0.0.*
  118. %{_libdir}/jack/inprocess.so
  119. %{_libdir}/jack/intime.so
  120. %{_libdir}/jack/jack_*.so
  121. %{_mandir}/man1/*
  122. %files devel
  123. %defattr(-,root,root)
  124. %doc doc/reference
  125. %{_libdir}/*.la
  126. %{_libdir}/jack/*.la
  127. %{_includedir}/jack/jack.h
  128. %{_includedir}/jack/ringbuffer.h
  129. %{_includedir}/jack/timestamps.h
  130. %{_includedir}/jack/transport.h
  131. %{_includedir}/jack/types.h
  132. %{_includedir}/jack/thread.h
  133. %{_includedir}/jack/intclient.h
  134. %{_includedir}/jack/statistics.h
  135. %{_includedir}/jack/midiport.h
  136. %{_libdir}/pkgconfig/jack.pc
  137. %files example-clients
  138. %defattr(-,root,root)
  139. %{_bindir}/jackrec
  140. %{_bindir}/jack_alias
  141. %{_bindir}/jack_connect
  142. %{_bindir}/jack_disconnect
  143. %{_bindir}/jack_evmon
  144. %{_bindir}/jack_impulse_grabber
  145. %{_bindir}/jack_lsp
  146. %{_bindir}/jack_metro
  147. %{_bindir}/jack_midiseq
  148. %{_bindir}/jack_midisine
  149. %{_bindir}/jack_monitor_client
  150. %{_bindir}/jack_showtime
  151. %{_bindir}/jack_simple_client
  152. %changelog
  153. * Sat Jan 5 2008 Rui Nuno Capela <rncbc@rncbc.org> - 0.108.1-5
  154. - added jack_alias and jack_evmon to example-clients package
  155. * Sun Jun 18 2006 Rui Nuno Capela <rncbc@rncbc.org> - 0.102.15-4
  156. - enable freebob backend drivers whenever available
  157. * Sun May 7 2006 Rui Nuno Capela <rncbc@rncbc.org> - 0.102.1-3
  158. - new JACK MIDI files on devel and example-clients
  159. - set default tmpdir to /dev/shm
  160. * Thu Oct 30 2005 Rui Nuno Capela <rncbc@rncbc.org> - 0.100.7-2
  161. - omitted enable-capabilities, stripped-binaries and preemption
  162. check from default.
  163. * Thu Jan 3 2005 Rui Nuno Capela <rncbc@rncbc.org> - 0.99.44-1
  164. - add jack/statistics.h to devel package
  165. * Thu Dec 28 2004 Rui Nuno Capela <rncbc@rncbc.org> - 0.99.41-1
  166. - merge integration of usx2y (rawusb) driver into alsa backend
  167. - enable preemption check feature of 2.6 RT kernels
  168. - add jack/intclient.h to devel package
  169. - add jack/thread.h to devel package
  170. - moved doc/reference to devel package
  171. - set default tmpdir to /var/lib/jack/tmp
  172. - include oss backend driver if available
  173. * Sat May 22 2004 Pete Bessman <ninjadroid@gazuga.net> - 0.98.1-1
  174. - changes to accomodate jack_oss and RPM's fascist build policy
  175. * Mon Nov 13 2003 Lawrie Abbott <lawrieabbott@iinet.net.au>
  176. - update based on Planet CCRMA 0.80.0 release
  177. * Thu May 23 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  178. - added configuration variable to build with/without capabilities
  179. * Tue May 21 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  180. - split the examples into a different package so that the base
  181. package does not depend on, for example, fltk.
  182. - disable stripping of binaries
  183. * Mon May 13 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  184. - do not compress documentation, added doxygen docs directory
  185. - changed defattr directives
  186. - added libdir/jack*, libdir/*.a and libdir/*.so.* to files
  187. - moved all so's to libs, jack will not start without jack_alsa.so
  188. - merged base and libs packages
  189. * Sat May 4 2002 Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>
  190. - initial release of jack sound server package for GStreamer