1 # TODO: --iio (BR: gtkIOStream >= 1.4.0, eigen3 >= 3.1.2)
4 %bcond_without apidocs # Doxygen docs
5 %bcond_without ffado # firewire (FFADO) driver
6 %bcond_without zalsa # zita-a2j/j2a client
7 %bcond_with classic # build also classic jackd server (see http://trac.jackaudio.org/wiki/JackDbusPackaging)
9 Summary: The JACK Audio Connection Kit
10 Summary(pl.UTF-8): JACK - zestaw do połączeń audio
11 Name: jack-audio-connection-kit
14 License: LGPL v2.1+ (libjack), GPL v2+ (the rest)
16 #Source0Download: http://jackaudio.org/downloads/
17 #Source0: https://github.com/jackaudio/jack2/releases/download/v%{version}/jack2-%{version}.tar.gz
18 Source0: https://github.com/jackaudio/jack2/archive/v%{version}/jack2-%{version}.tar.gz
19 # Source0-md5: ca263ffba14abce859c0ee7680faf510
20 URL: http://jackaudio.org/
21 BuildRequires: alsa-lib-devel >= 1.0.18
22 BuildRequires: autoconf >= 2.50
23 BuildRequires: automake
24 BuildRequires: celt-devel >= 0.11.0
25 BuildRequires: dbus-devel >= 1.0.0
26 %{?with_apidocs:BuildRequires: doxygen}
27 BuildRequires: expat-devel
28 %{?with_ffado:BuildRequires: libffado-devel >= 1.999.17}
29 BuildRequires: libsamplerate-devel
30 BuildRequires: libsndfile-devel >= 1.0.0
31 BuildRequires: libstdc++-devel
32 BuildRequires: libtool
33 BuildRequires: pkgconfig
34 BuildRequires: readline-devel
35 BuildRequires: rpmbuild(macros) >= 1.752
36 # with opus_custom interface
37 BuildRequires: opus-devel >= 1.0.3-2
38 %{?with_apidocs:BuildRequires: texlive-pdftex}
40 BuildRequires: zita-alsa-pcmi-devel
41 BuildRequires: zita-resampler-devel
43 Requires: %{name}-libs = %{version}-%{release}
44 Requires: alsa-lib >= 1.0.18
45 Obsoletes: jack-audio-connection-kit-driver-alsa < 0.101.1-2
46 Obsoletes: jack-audio-connection-kit-driver-iec61883 < 0.99.0
47 Obsoletes: jack-audio-connection-kit-static < 1.9.7
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 JACK is a low-latency audio server, written primarily for the Linux
52 operating system. It can connect a number of different applications to
53 an audio device, as well as allowing them to share audio between
54 themselves. Its clients can run in their own processes (ie. as a
55 normal application), or can they can run within a JACK server (ie. a
58 JACK is different from other audio server efforts in that it has been
59 designed from the ground up to be suitable for professional audio
60 work. This means that it focuses on two key areas: synchronous
61 execution of all clients, and low latency operation.
63 %description -l pl.UTF-8
64 JACK to serwer dźwięku o małych opóźnieniach, napisany głównie dla
65 systemu operacyjnego Linux. Może przyjąć połączenia od wielu różnych
66 aplikacji do urządzenia dźwiękowego, a także pozwolić im na dzielenie
67 dźwięku pomiędzy siebie. Programy klienckie działają jako własne
68 procesy (tzn. normalne aplikacje) lub mogą działać wewnątrz serwera
71 JACK różni się od innych serwerów dźwięku tym, że został
72 zaprojektowany od początku z myślą o profesjonalnej obróbce dźwięku.
73 Oznacza to, że skupia się na dwóch rzeczach: synchronicznym
74 wykonywaniu wszystkich klientów i małych opóźnieniach działania.
78 Summary(pl.UTF-8): Biblioteka JACK-a
81 Requires: celt >= 0.11.0
82 Requires: dbus-libs >= 1.0.0
83 Requires: opus >= 1.0.3-2
84 Conflicts: jack-audio-connection-kit < 0.100.7
89 %description libs -l pl.UTF-8
90 Biblioteka współdzielona JACK-a.
93 Summary: Header files for JACK
94 Summary(pl.UTF-8): JACK - pliki nagłówkowe
96 Group: Development/Libraries
97 Requires: %{name}-libs = %{version}-%{release}
100 Header files for the JACK Audio Connection Kit.
102 %description devel -l pl.UTF-8
103 Pliki nagłówkowe dla zestawu do połączeń audio JACK.
106 Summary: JACK Audio Connection Kit API documentation
107 Summary(pl.UTF-8): Dokumentacja API JACK Audio Connection Kit
109 Requires: gtk-doc-common
113 JACK Audio Connection Kit API documentation.
115 %description apidocs -l pl.UTF-8
116 Dokumentacja API JACK Audio Connection Kit.
118 %package driver-firewire
119 Summary: FireWire (FFADO) sound driver for JACK
120 Summary(pl.UTF-8): Sterownik dźwięku FireWire (FFADO) dla JACK-a
123 Requires: %{name} = %{version}-%{release}
124 Requires: libffado >= 1.999.17
125 Obsoletes: jack-driver-freebob < 1.9.13
127 %description driver-firewire
128 FireWire (FFADO) sound driver for JACK.
130 %description driver-firewire -l pl.UTF-8
131 Sterownik dźwięku FireWire (FFADO) dla JACK-a.
133 %package example-clients
134 Summary: Example clients that use JACK
135 Summary(pl.UTF-8): Przykładowe programy klienckie używające JACK-a
137 Group: Applications/Sound
138 Requires: %{name} = %{version}-%{release}
140 %description example-clients
141 Small example clients that use the JACK Audio Connection Kit.
143 %description example-clients -l pl.UTF-8
144 Małe, przykładowe programy klienckie, które używają zestawu do
147 %package example-jackrec
148 Summary: Example JACK client: jackrec
149 Summary(pl.UTF-8): Przykładowy klient zestawu JACK: jackrec
151 Group: Applications/Sound
152 Requires: %{name} = %{version}-%{release}
154 %description example-jackrec
155 Example JACK client: jackrec. It's separated because it uses
158 %description example-jackrec -l pl.UTF-8
159 Przykładowy klient zestawu JACK: jackrec. Jest wydzielony, ponieważ
160 wymaga biblioteki libsndfile.
163 %setup -q -n jack2-%{version}
166 export CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
167 export CXXFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
168 export CPPFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
169 export LINKFLAGS="%{rpmldflags}"
171 ./waf configure -j1 \
174 --prefix=%{_prefix} \
175 --libdir=%{_libdir} \
176 --htmldir=%{_gtkdocdir}/%{name}/reference \
178 %{?with_classic:--classic} \
180 %{?with_apidocs:--doxygen} \
181 %{?with_ffado:--firewire} \
182 %{!?with_zalsa:--no-zalsa}
184 ./waf build %{?_smp_mflags} -v
187 rm -rf $RPM_BUILD_ROOT
190 --destdir=$RPM_BUILD_ROOT
192 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
194 # For compatibility with jack1
195 %{__mv} $RPM_BUILD_ROOT%{_bindir}/jack_rec $RPM_BUILD_ROOT%{_bindir}/jackrec
197 # not built or packaged
198 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/jack_impulse_grabber.1 \
199 %{!?with_classic:$RPM_BUILD_ROOT%{_mandir}/man1/jackd.1}
201 # fix perms (needed for autorequires/provides)
202 chmod a+x $RPM_BUILD_ROOT%{_libdir}/lib*.so*
203 chmod a+x $RPM_BUILD_ROOT%{_libdir}/jack/*.so
206 rm -rf $RPM_BUILD_ROOT
208 %post libs -p /sbin/ldconfig
209 %postun libs -p /sbin/ldconfig
212 if ! grep -q -s '^[^ ]* /dev/shm tmpfs ' /proc/mounts ; then
213 echo "/dev/shm is not mounted, but JACK requires it"
217 %defattr(644,root,root,755)
218 %doc AUTHORS.rst ChangeLog.rst README*
219 %attr(755,root,root) %{_bindir}/jack_alias
220 %attr(755,root,root) %{_bindir}/jack_control
221 %attr(755,root,root) %{_bindir}/jack_cpu
222 %attr(755,root,root) %{_bindir}/jack_evmon
223 %attr(755,root,root) %{_bindir}/jack_iodelay
224 %attr(755,root,root) %{_bindir}/jack_load
225 %attr(755,root,root) %{_bindir}/jack_midi_dump
226 %attr(755,root,root) %{_bindir}/jack_net_master
227 %attr(755,root,root) %{_bindir}/jack_net_slave
228 %attr(755,root,root) %{_bindir}/jack_server_control
229 %attr(755,root,root) %{_bindir}/jack_session_notify
230 %attr(755,root,root) %{_bindir}/jack_simdtests
231 %attr(755,root,root) %{_bindir}/jack_test
232 %attr(755,root,root) %{_bindir}/jack_unload
233 %{?with_classic:%attr(755,root,root) %{_bindir}/jackd}
234 %attr(755,root,root) %{_bindir}/jackdbus
236 %attr(755,root,root) %{_libdir}/jack/audioadapter.so
237 %attr(755,root,root) %{_libdir}/jack/jack_alsa.so
238 %attr(755,root,root) %{_libdir}/jack/jack_alsarawmidi.so
239 %attr(755,root,root) %{_libdir}/jack/jack_dummy.so
240 %attr(755,root,root) %{_libdir}/jack/jack_loopback.so
241 %attr(755,root,root) %{_libdir}/jack/jack_netone.so
242 %attr(755,root,root) %{_libdir}/jack/jack_net.so
243 %attr(755,root,root) %{_libdir}/jack/jack_proxy.so
244 %attr(755,root,root) %{_libdir}/jack/netadapter.so
245 %attr(755,root,root) %{_libdir}/jack/netmanager.so
246 %attr(755,root,root) %{_libdir}/jack/profiler.so
248 %attr(755,root,root) %{_libdir}/jack/zalsa_in.so
249 %attr(755,root,root) %{_libdir}/jack/zalsa_out.so
251 %{_datadir}/dbus-1/services/org.jackaudio.service
252 %{?with_classic:%{_mandir}/man1/jackd.1*}
253 %{_mandir}/man1/jack_iodelay.1*
254 %{_mandir}/man1/jack_load.1*
255 %{_mandir}/man1/jack_unload.1*
258 %defattr(644,root,root,755)
259 %attr(755,root,root) %{_libdir}/libjack.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libjack.so.0
261 %attr(755,root,root) %{_libdir}/libjacknet.so.*.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libjacknet.so.0
263 %attr(755,root,root) %{_libdir}/libjackserver.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libjackserver.so.0
267 %defattr(644,root,root,755)
268 %attr(755,root,root) %{_libdir}/libjack.so
269 %attr(755,root,root) %{_libdir}/libjacknet.so
270 %attr(755,root,root) %{_libdir}/libjackserver.so
272 %{_pkgconfigdir}/jack.pc
276 %defattr(644,root,root,755)
277 %{_gtkdocdir}/%{name}
281 %files driver-firewire
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_libdir}/jack/jack_firewire.so
286 %files example-clients
287 %defattr(644,root,root,755)
288 %attr(755,root,root) %{_bindir}/alsa_in
289 %attr(755,root,root) %{_bindir}/alsa_out
290 %attr(755,root,root) %{_bindir}/jack_bufsize
291 %attr(755,root,root) %{_bindir}/jack_connect
292 %attr(755,root,root) %{_bindir}/jack_cpu_load
293 %attr(755,root,root) %{_bindir}/jack_disconnect
294 %attr(755,root,root) %{_bindir}/jack_freewheel
295 %attr(755,root,root) %{_bindir}/jack_latent_client
296 %attr(755,root,root) %{_bindir}/jack_lsp
297 %attr(755,root,root) %{_bindir}/jack_metro
298 %attr(755,root,root) %{_bindir}/jack_midi_latency_test
299 %attr(755,root,root) %{_bindir}/jack_midiseq
300 %attr(755,root,root) %{_bindir}/jack_midisine
301 %attr(755,root,root) %{_bindir}/jack_monitor_client
302 %attr(755,root,root) %{_bindir}/jack_multiple_metro
303 %attr(755,root,root) %{_bindir}/jack_netsource
304 %attr(755,root,root) %{_bindir}/jack_property
305 %attr(755,root,root) %{_bindir}/jack_samplerate
306 %attr(755,root,root) %{_bindir}/jack_showtime
307 %attr(755,root,root) %{_bindir}/jack_simple_client
308 %attr(755,root,root) %{_bindir}/jack_simple_session_client
309 %attr(755,root,root) %{_bindir}/jack_thru
310 %attr(755,root,root) %{_bindir}/jack_transport
311 %attr(755,root,root) %{_bindir}/jack_wait
312 %attr(755,root,root) %{_bindir}/jack_zombie
313 %attr(755,root,root) %{_libdir}/jack/inprocess.so
314 %{_mandir}/man1/alsa_in.1*
315 %{_mandir}/man1/alsa_out.1*
316 %{_mandir}/man1/jack_bufsize.1*
317 %{_mandir}/man1/jack_connect.1*
318 %{_mandir}/man1/jack_disconnect.1*
319 %{_mandir}/man1/jack_freewheel.1*
320 %{_mandir}/man1/jack_lsp.1*
321 %{_mandir}/man1/jack_metro.1*
322 %{_mandir}/man1/jack_monitor_client.1*
323 %{_mandir}/man1/jack_netsource.1*
324 %{_mandir}/man1/jack_property.1*
325 %{_mandir}/man1/jack_samplerate.1*
326 %{_mandir}/man1/jack_showtime.1*
327 %{_mandir}/man1/jack_simple_client.1*
328 %{_mandir}/man1/jack_transport.1*
329 %{_mandir}/man1/jack_wait.1*
331 %files example-jackrec
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_bindir}/jackrec
334 %{_mandir}/man1/jackrec.1*