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