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.

255 lines
6.7KB

  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: 8
  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_transport
  122. %{_bindir}/jack_unload
  123. %{_bindir}/alsa_in
  124. %{_bindir}/alsa_out
  125. %dir %{_libdir}/%{name}
  126. %{_libdir}/%{name}/*.so
  127. %files -n libjack0
  128. %defattr(-,root,root)
  129. %{_libdir}/lib*.so.*
  130. %files -n libjack-devel
  131. %defattr(-,root,root)
  132. %doc doc/reference
  133. %{_libdir}/lib*.so
  134. %{_libdir}/lib*.la
  135. %{_libdir}/%{name}/*.*a
  136. %{_libdir}/pkgconfig/*
  137. %{_includedir}/%{name}
  138. %files example-clients
  139. %defattr(-,root,root)
  140. %{_bindir}/jackrec
  141. %{_bindir}/jack_alias
  142. #{_bindir}/jack_bufsize
  143. %{_bindir}/jack_connect
  144. %{_bindir}/jack_disconnect
  145. %{_bindir}/jack_evmon
  146. #{_bindir}/jack_freewheel
  147. %{_bindir}/jack_impulse_grabber
  148. %{_bindir}/jack_lsp
  149. #{_bindir}/jack_load
  150. %{_bindir}/jack_metro
  151. %{_bindir}/jack_midiseq
  152. %{_bindir}/jack_midisine
  153. %{_bindir}/jack_monitor_client
  154. #{_bindir}/jack_netsource
  155. %{_bindir}/jack_showtime
  156. %{_bindir}/jack_simple_client
  157. #{_bindir}/jack_transport
  158. %{_bindir}/jack_transport_client
  159. #{_bindir}/jack_unload
  160. #{_bindir}/alsa_in
  161. #{_bindir}/alsa_out
  162. %changelog
  163. * Wed Dec 3 2008 Rui Nuno Capela <rncbc@rncbc.org> - 0.116.0-8
  164. - enable dynamic SIMD optimizations by default
  165. - dropped preemption check option
  166. - added jack_transport_client to example-clients package
  167. * Tue Jul 8 2008 Rui Nuno Capela <rncbc@rncbc.org> - 0.112.0-7
  168. - refactored packaging to accomodate libjack0 and libjack-devel
  169. * Mon Apr 28 2008 Rui Nuno Capela <rncbc@rncbc.org> - 0.111.4-6
  170. - moved all bin tools from example-clients to nominal package
  171. * Sat Jan 5 2008 Rui Nuno Capela <rncbc@rncbc.org> - 0.108.1-5
  172. - added jack_alias and jack_evmon to example-clients package
  173. * Sun Jun 18 2006 Rui Nuno Capela <rncbc@rncbc.org> - 0.102.15-4
  174. - enable freebob backend drivers whenever available
  175. * Sun May 7 2006 Rui Nuno Capela <rncbc@rncbc.org> - 0.102.1-3
  176. - new JACK MIDI files on devel and example-clients
  177. - set default tmpdir to /dev/shm
  178. * Thu Oct 30 2005 Rui Nuno Capela <rncbc@rncbc.org> - 0.100.7-2
  179. - omitted enable-capabilities, stripped-binaries and preemption
  180. check from default.
  181. * Thu Jan 3 2005 Rui Nuno Capela <rncbc@rncbc.org> - 0.99.44-1
  182. - add jack/statistics.h to devel package
  183. * Thu Dec 28 2004 Rui Nuno Capela <rncbc@rncbc.org> - 0.99.41-1
  184. - merge integration of usx2y (rawusb) driver into alsa backend
  185. - enable preemption check feature of 2.6 RT kernels
  186. - add jack/intclient.h to devel package
  187. - add jack/thread.h to devel package
  188. - moved doc/reference to devel package
  189. - set default tmpdir to /var/lib/jack/tmp
  190. - include oss backend driver if available
  191. * Sat May 22 2004 Pete Bessman <ninjadroid@gazuga.net> - 0.98.1-1
  192. - changes to accomodate jack_oss and RPM's fascist build policy
  193. * Mon Nov 13 2003 Lawrie Abbott <lawrieabbott@iinet.net.au>
  194. - update based on Planet CCRMA 0.80.0 release
  195. * Thu May 23 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  196. - added configuration variable to build with/without capabilities
  197. * Tue May 21 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  198. - split the examples into a different package so that the base
  199. package does not depend on, for example, fltk.
  200. - disable stripping of binaries
  201. * Mon May 13 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  202. - do not compress documentation, added doxygen docs directory
  203. - changed defattr directives
  204. - added libdir/jack*, libdir/*.a and libdir/*.so.* to files
  205. - moved all so's to libs, jack will not start without jack_alsa.so
  206. - merged base and libs packages
  207. * Sat May 4 2002 Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>
  208. - initial release of jack sound server package for GStreamer