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