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.

265 lines
7.0KB

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