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.

226 lines
5.8KB

  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: 4
  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}/libjack.la
  126. %{_libdir}/jack/inprocess.la
  127. %{_libdir}/jack/intime.la
  128. %{_libdir}/jack/jack_*.la
  129. %{_includedir}/jack/jack.h
  130. %{_includedir}/jack/ringbuffer.h
  131. %{_includedir}/jack/timestamps.h
  132. %{_includedir}/jack/transport.h
  133. %{_includedir}/jack/types.h
  134. %{_includedir}/jack/thread.h
  135. %{_includedir}/jack/intclient.h
  136. %{_includedir}/jack/statistics.h
  137. %{_includedir}/jack/midiport.h
  138. %{_libdir}/pkgconfig/jack.pc
  139. %files example-clients
  140. %defattr(-,root,root)
  141. %{_bindir}/jackrec
  142. %{_bindir}/jack_connect
  143. %{_bindir}/jack_disconnect
  144. %{_bindir}/jack_impulse_grabber
  145. %{_bindir}/jack_lsp
  146. %{_bindir}/jack_metro
  147. %{_bindir}/jack_monitor_client
  148. %{_bindir}/jack_showtime
  149. %{_bindir}/jack_simple_client
  150. %{_bindir}/jack_midiseq
  151. %{_bindir}/jack_midisine
  152. %changelog
  153. * Sun Jun 18 2006 Rui Nuno Capela <rncbc@rncbc.org> - 0.102.15-4
  154. - enable freebob backend drivers whenever available
  155. * Sun May 7 2006 Rui Nuno Capela <rncbc@rncbc.org> - 0.102.1-3
  156. - new JACK MIDI files on devel and example-clients
  157. - set default tmpdir to /dev/shm
  158. * Thu Oct 30 2005 Rui Nuno Capela <rncbc@rncbc.org> - 0.100.7-2
  159. - omitted enable-capabilities, stripped-binaries and preemption
  160. check from default.
  161. * Thu Jan 3 2005 Rui Nuno Capela <rncbc@rncbc.org> - 0.99.44-1
  162. - add jack/statistics.h to devel package
  163. * Thu Dec 28 2004 Rui Nuno Capela <rncbc@rncbc.org> - 0.99.41-1
  164. - merge integration of usx2y (rawusb) driver into alsa backend
  165. - enable preemption check feature of 2.6 RT kernels
  166. - add jack/intclient.h to devel package
  167. - add jack/thread.h to devel package
  168. - moved doc/reference to devel package
  169. - set default tmpdir to /var/lib/jack/tmp
  170. - include oss backend driver if available
  171. * Sat May 22 2004 Pete Bessman <ninjadroid@gazuga.net> - 0.98.1-1
  172. - changes to accomodate jack_oss and RPM's fascist build policy
  173. * Mon Nov 13 2003 Lawrie Abbott <lawrieabbott@iinet.net.au>
  174. - update based on Planet CCRMA 0.80.0 release
  175. * Thu May 23 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  176. - added configuration variable to build with/without capabilities
  177. * Tue May 21 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  178. - split the examples into a different package so that the base
  179. package does not depend on, for example, fltk.
  180. - disable stripping of binaries
  181. * Mon May 13 2002 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
  182. - do not compress documentation, added doxygen docs directory
  183. - changed defattr directives
  184. - added libdir/jack*, libdir/*.a and libdir/*.so.* to files
  185. - moved all so's to libs, jack will not start without jack_alsa.so
  186. - merged base and libs packages
  187. * Sat May 4 2002 Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>
  188. - initial release of jack sound server package for GStreamer