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.

254 lines
6.6KB

  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. # use dynamic SIMD (ix86)
  21. %define dynsimd 0
  22. Summary: The Jack Audio Connection Kit
  23. Name: @PACKAGE@
  24. Version: @VERSION@
  25. Release: 7
  26. License: GPL
  27. Group: System Environment/Daemons
  28. Source0: %{name}-%{version}.tar.gz
  29. URL: http://jackaudio.org
  30. BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
  31. BuildRequires: automake >= 1.6
  32. BuildRequires: libsndfile-devel >= 1.0.11
  33. BuildRequires: libsamplerate-devel >= 0.1.2
  34. BuildRequires: pkgconfig
  35. BuildRequires: doxygen
  36. %if %{portaudio}
  37. BuildRequires: portaudio >= 18.1
  38. %endif
  39. %if %{freebob}
  40. BuildRequires: libfreebob >= 1.0.0
  41. %endif
  42. %description
  43. JACK is a low-latency audio server, written primarily for the Linux
  44. operating system. It can connect a number of different applications to
  45. an audio device, as well as allowing them to share audio between
  46. themselves. Its clients can run in their own processes (ie. as a
  47. normal application), or can they can run within a JACK server (ie. a
  48. "plugin").
  49. JACK is different from other audio server efforts in that it has been
  50. designed from the ground up to be suitable for professional audio
  51. work. This means that it focuses on two key areas: synchronous
  52. execution of all clients, and low latency operation.
  53. %package -n libjack0
  54. Summary: Shared library to access JACK
  55. Group: System/Libraries
  56. Requires: %{name} = %{version}
  57. %description -n libjack0
  58. Shared library to access JACK (Jack Audio Connection Kit).
  59. %package -n libjack-devel
  60. Summary: Development package for JACK
  61. Group: Development/Libraries/C and C++
  62. Requires: libjack0 = %{version}
  63. %description -n libjack-devel
  64. Files needed for JACK application development (Jack Audio Connection Kit).
  65. %package example-clients
  66. Summary: Example clients that use JACK
  67. Group: Applications/Multimedia
  68. Requires: %{name} = %{version}
  69. %description example-clients
  70. Small example clients that use JACK (Jack Audio Connection Kit).
  71. %prep
  72. %setup -q
  73. %build
  74. %configure \
  75. %if %{enable_capabilities}
  76. --enable-capabilities \
  77. %if %{strip_jackd}
  78. --enable-stripped-jackd \
  79. %endif
  80. %endif
  81. %if %{enable_tmpdir}
  82. --with-default-tmpdir=%{jack_tmpdir} \
  83. %endif
  84. %if ! %{oss}
  85. --disable-oss \
  86. %endif
  87. %if ! %{portaudio}
  88. --disable-portaudio \
  89. %endif
  90. %if ! %{freebob}
  91. --disable-freebob \
  92. %endif
  93. %if %{preemption_check}
  94. --enable-preemption-check \
  95. %endif
  96. %if %{dynsimd}
  97. --enable-dynsimd \
  98. %endif
  99. --enable-optimize
  100. make
  101. %install
  102. %makeinstall
  103. %if %{enable_capabilities}
  104. # make jackstart suid root
  105. chmod 04755 $RPM_BUILD_ROOT%{_bindir}/jackstart
  106. %endif
  107. # remove extra install of the documentation
  108. rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/*
  109. %post -n libjack0 -p /sbin/ldconfig
  110. %postun -n libjack0 -p /sbin/ldconfig
  111. %clean
  112. [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
  113. %files
  114. %defattr(-,root,root)
  115. %doc AUTHORS TODO COPYING*
  116. %doc %{_mandir}/man1/*
  117. %if %{enable_capabilities}
  118. %attr(4755, root, root) %{_bindir}/jackstart
  119. %doc %{_mandir}/man1/jackstart*
  120. %endif
  121. %{_bindir}/jackd
  122. #{_bindir}/jack_bufsize
  123. %{_bindir}/jack_freewheel
  124. %{_bindir}/jack_load
  125. %{_bindir}/jack_netsource
  126. %{_bindir}/jack_transport
  127. %{_bindir}/jack_unload
  128. %{_bindir}/alsa_in
  129. %{_bindir}/alsa_out
  130. %dir %{_libdir}/%{name}
  131. %{_libdir}/%{name}/*.so
  132. %files -n libjack0
  133. %defattr(-,root,root)
  134. %{_libdir}/lib*.so.*
  135. %files -n libjack-devel
  136. %defattr(-,root,root)
  137. %doc doc/reference
  138. %{_libdir}/lib*.so
  139. %{_libdir}/lib*.la
  140. %{_libdir}/%{name}/*.*a
  141. %{_libdir}/pkgconfig/*
  142. %{_includedir}/%{name}
  143. %files example-clients
  144. %defattr(-,root,root)
  145. %{_bindir}/jackrec
  146. %{_bindir}/jack_alias
  147. #{_bindir}/jack_bufsize
  148. %{_bindir}/jack_connect
  149. %{_bindir}/jack_disconnect
  150. %{_bindir}/jack_evmon
  151. #{_bindir}/jack_freewheel
  152. %{_bindir}/jack_impulse_grabber
  153. %{_bindir}/jack_lsp
  154. #{_bindir}/jack_load
  155. %{_bindir}/jack_metro
  156. %{_bindir}/jack_midiseq
  157. %{_bindir}/jack_midisine
  158. %{_bindir}/jack_monitor_client
  159. #{_bindir}/jack_netsource
  160. %{_bindir}/jack_showtime
  161. %{_bindir}/jack_simple_client
  162. #{_bindir}/jack_transport
  163. #{_bindir}/jack_unload
  164. #{_bindir}/alsa_in
  165. #{_bindir}/alsa_out
  166. %changelog
  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