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: https://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: 76095094ecdd9a213dd6faf427b89515
20 Patch0: %{name}-man.patch
21 URL: https://jackaudio.org/
22 BuildRequires: alsa-lib-devel >= 1.0.18
23 BuildRequires: autoconf >= 2.50
24 BuildRequires: automake
25 BuildRequires: celt-devel >= 0.11.0
26 BuildRequires: dbus-devel >= 1.0.0
27 %{?with_apidocs:BuildRequires: doxygen}
28 BuildRequires: expat-devel
29 %{?with_ffado:BuildRequires: libffado-devel >= 1.999.17}
30 BuildRequires: libsamplerate-devel
31 BuildRequires: libsndfile-devel >= 1.0.0
32 BuildRequires: libstdc++-devel
33 BuildRequires: libtool
34 BuildRequires: pkgconfig
35 BuildRequires: readline-devel
36 BuildRequires: rpmbuild(macros) >= 1.752
37 # with opus_custom interface
38 BuildRequires: opus-devel >= 1.0.3-2
39 %{?with_apidocs:BuildRequires: texlive-pdftex}
41 BuildRequires: zita-alsa-pcmi-devel
42 BuildRequires: zita-resampler-devel
44 Requires: %{name}-libs = %{version}-%{release}
45 Requires: alsa-lib >= 1.0.18
46 Obsoletes: jack-audio-connection-kit-driver-alsa < 0.101.1-2
47 Obsoletes: jack-audio-connection-kit-driver-iec61883 < 0.99.0
48 Obsoletes: jack-audio-connection-kit-static < 1.9.7
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 JACK is a low-latency audio server, written primarily for the Linux
53 operating system. It can connect a number of different applications to
54 an audio device, as well as allowing them to share audio between
55 themselves. Its clients can run in their own processes (ie. as a
56 normal application), or can they can run within a JACK server (ie. a
59 JACK is different from other audio server efforts in that it has been
60 designed from the ground up to be suitable for professional audio
61 work. This means that it focuses on two key areas: synchronous
62 execution of all clients, and low latency operation.
64 %description -l pl.UTF-8
65 JACK to serwer dźwięku o małych opóźnieniach, napisany głównie dla
66 systemu operacyjnego Linux. Może przyjąć połączenia od wielu różnych
67 aplikacji do urządzenia dźwiękowego, a także pozwolić im na dzielenie
68 dźwięku pomiędzy siebie. Programy klienckie działają jako własne
69 procesy (tzn. normalne aplikacje) lub mogą działać wewnątrz serwera
72 JACK różni się od innych serwerów dźwięku tym, że został
73 zaprojektowany od początku z myślą o profesjonalnej obróbce dźwięku.
74 Oznacza to, że skupia się na dwóch rzeczach: synchronicznym
75 wykonywaniu wszystkich klientów i małych opóźnieniach działania.
79 Summary(pl.UTF-8): Biblioteka JACK-a
82 Requires: celt >= 0.11.0
83 Requires: dbus-libs >= 1.0.0
84 Requires: opus >= 1.0.3-2
85 Conflicts: jack-audio-connection-kit < 0.100.7
90 %description libs -l pl.UTF-8
91 Biblioteka współdzielona JACK-a.
94 Summary: Header files for JACK
95 Summary(pl.UTF-8): JACK - pliki nagłówkowe
97 Group: Development/Libraries
98 Requires: %{name}-libs = %{version}-%{release}
101 Header files for the JACK Audio Connection Kit.
103 %description devel -l pl.UTF-8
104 Pliki nagłówkowe dla zestawu do połączeń audio JACK.
107 Summary: JACK Audio Connection Kit API documentation
108 Summary(pl.UTF-8): Dokumentacja API JACK Audio Connection Kit
110 Requires: gtk-doc-common
114 JACK Audio Connection Kit API documentation.
116 %description apidocs -l pl.UTF-8
117 Dokumentacja API JACK Audio Connection Kit.
119 %package driver-firewire
120 Summary: FireWire (FFADO) sound driver for JACK
121 Summary(pl.UTF-8): Sterownik dźwięku FireWire (FFADO) dla JACK-a
124 Requires: %{name} = %{version}-%{release}
125 Requires: libffado >= 1.999.17
126 Obsoletes: jack-driver-freebob < 1.9.13
128 %description driver-firewire
129 FireWire (FFADO) sound driver for JACK.
131 %description driver-firewire -l pl.UTF-8
132 Sterownik dźwięku FireWire (FFADO) dla JACK-a.
134 %package example-clients
135 Summary: Example clients that use JACK
136 Summary(pl.UTF-8): Przykładowe programy klienckie używające JACK-a
138 Group: Applications/Sound
139 Requires: %{name} = %{version}-%{release}
141 %description example-clients
142 Small example clients that use the JACK Audio Connection Kit.
144 %description example-clients -l pl.UTF-8
145 Małe, przykładowe programy klienckie, które używają zestawu do
148 %package example-jackrec
149 Summary: Example JACK client: jackrec
150 Summary(pl.UTF-8): Przykładowy klient zestawu JACK: jackrec
152 Group: Applications/Sound
153 Requires: %{name} = %{version}-%{release}
155 %description example-jackrec
156 Example JACK client: jackrec. It's separated because it uses
159 %description example-jackrec -l pl.UTF-8
160 Przykładowy klient zestawu JACK: jackrec. Jest wydzielony, ponieważ
161 wymaga biblioteki libsndfile.
164 %setup -q -n jack2-%{version}
168 export CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
169 export CXXFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
170 export CPPFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
171 export LINKFLAGS="%{rpmldflags}"
173 ./waf configure -j1 \
176 --prefix=%{_prefix} \
177 --libdir=%{_libdir} \
178 --htmldir=%{_gtkdocdir}/%{name}/reference \
180 %{?with_classic:--classic} \
182 %{?with_apidocs:--doxygen} \
183 %{?with_ffado:--firewire} \
184 %{!?with_zalsa:--no-zalsa}
186 ./waf build %{?_smp_mflags} -v
189 rm -rf $RPM_BUILD_ROOT
192 --destdir=$RPM_BUILD_ROOT
194 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
196 # For compatibility with jack1
197 %{__mv} $RPM_BUILD_ROOT%{_bindir}/jack_rec $RPM_BUILD_ROOT%{_bindir}/jackrec
199 # not built or packaged
200 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/jack_impulse_grabber.1 \
201 %{!?with_classic:$RPM_BUILD_ROOT%{_mandir}/man1/jackd.1}
203 # fix perms (needed for autorequires/provides)
204 chmod a+x $RPM_BUILD_ROOT%{_libdir}/lib*.so*
205 chmod a+x $RPM_BUILD_ROOT%{_libdir}/jack/*.so
208 rm -rf $RPM_BUILD_ROOT
210 %post libs -p /sbin/ldconfig
211 %postun libs -p /sbin/ldconfig
214 if ! grep -q -s '^[^ ]* /dev/shm tmpfs ' /proc/mounts ; then
215 echo "/dev/shm is not mounted, but JACK requires it"
219 %defattr(644,root,root,755)
220 %doc AUTHORS.rst ChangeLog.rst README*
221 %attr(755,root,root) %{_bindir}/jack_alias
222 %attr(755,root,root) %{_bindir}/jack_control
223 %attr(755,root,root) %{_bindir}/jack_cpu
224 %attr(755,root,root) %{_bindir}/jack_evmon
225 %attr(755,root,root) %{_bindir}/jack_iodelay
226 %attr(755,root,root) %{_bindir}/jack_load
227 %attr(755,root,root) %{_bindir}/jack_midi_dump
228 %attr(755,root,root) %{_bindir}/jack_net_master
229 %attr(755,root,root) %{_bindir}/jack_net_slave
230 %attr(755,root,root) %{_bindir}/jack_server_control
231 %attr(755,root,root) %{_bindir}/jack_session_notify
232 %attr(755,root,root) %{_bindir}/jack_simdtests
233 %attr(755,root,root) %{_bindir}/jack_test
234 %attr(755,root,root) %{_bindir}/jack_unload
235 %{?with_classic:%attr(755,root,root) %{_bindir}/jackd}
236 %attr(755,root,root) %{_bindir}/jackdbus
238 %attr(755,root,root) %{_libdir}/jack/audioadapter.so
239 %attr(755,root,root) %{_libdir}/jack/jack_alsa.so
240 %attr(755,root,root) %{_libdir}/jack/jack_alsarawmidi.so
241 %attr(755,root,root) %{_libdir}/jack/jack_dummy.so
242 %attr(755,root,root) %{_libdir}/jack/jack_loopback.so
243 %attr(755,root,root) %{_libdir}/jack/jack_netone.so
244 %attr(755,root,root) %{_libdir}/jack/jack_net.so
245 %attr(755,root,root) %{_libdir}/jack/jack_proxy.so
246 %attr(755,root,root) %{_libdir}/jack/netadapter.so
247 %attr(755,root,root) %{_libdir}/jack/netmanager.so
248 %attr(755,root,root) %{_libdir}/jack/profiler.so
250 %attr(755,root,root) %{_libdir}/jack/zalsa_in.so
251 %attr(755,root,root) %{_libdir}/jack/zalsa_out.so
253 %{_datadir}/dbus-1/services/org.jackaudio.service
254 %{?with_classic:%{_mandir}/man1/jackd.1*}
255 %{_mandir}/man1/jack_iodelay.1*
256 %{_mandir}/man1/jack_load.1*
257 %{_mandir}/man1/jack_unload.1*
260 %defattr(644,root,root,755)
261 %attr(755,root,root) %{_libdir}/libjack.so.*.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libjack.so.0
263 %attr(755,root,root) %{_libdir}/libjacknet.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libjacknet.so.0
265 %attr(755,root,root) %{_libdir}/libjackserver.so.*.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libjackserver.so.0
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/libjack.so
271 %attr(755,root,root) %{_libdir}/libjacknet.so
272 %attr(755,root,root) %{_libdir}/libjackserver.so
274 %{_pkgconfigdir}/jack.pc
278 %defattr(644,root,root,755)
279 %{_gtkdocdir}/%{name}
283 %files driver-firewire
284 %defattr(644,root,root,755)
285 %attr(755,root,root) %{_libdir}/jack/jack_firewire.so
288 %files example-clients
289 %defattr(644,root,root,755)
290 %attr(755,root,root) %{_bindir}/alsa_in
291 %attr(755,root,root) %{_bindir}/alsa_out
292 %attr(755,root,root) %{_bindir}/jack_bufsize
293 %attr(755,root,root) %{_bindir}/jack_connect
294 %attr(755,root,root) %{_bindir}/jack_cpu_load
295 %attr(755,root,root) %{_bindir}/jack_disconnect
296 %attr(755,root,root) %{_bindir}/jack_freewheel
297 %attr(755,root,root) %{_bindir}/jack_latent_client
298 %attr(755,root,root) %{_bindir}/jack_lsp
299 %attr(755,root,root) %{_bindir}/jack_metro
300 %attr(755,root,root) %{_bindir}/jack_midi_latency_test
301 %attr(755,root,root) %{_bindir}/jack_midiseq
302 %attr(755,root,root) %{_bindir}/jack_midisine
303 %attr(755,root,root) %{_bindir}/jack_monitor_client
304 %attr(755,root,root) %{_bindir}/jack_multiple_metro
305 %attr(755,root,root) %{_bindir}/jack_netsource
306 %attr(755,root,root) %{_bindir}/jack_property
307 %attr(755,root,root) %{_bindir}/jack_samplerate
308 %attr(755,root,root) %{_bindir}/jack_showtime
309 %attr(755,root,root) %{_bindir}/jack_simple_client
310 %attr(755,root,root) %{_bindir}/jack_simple_session_client
311 %attr(755,root,root) %{_bindir}/jack_thru
312 %attr(755,root,root) %{_bindir}/jack_transport
313 %attr(755,root,root) %{_bindir}/jack_wait
314 %attr(755,root,root) %{_bindir}/jack_zombie
315 %attr(755,root,root) %{_libdir}/jack/inprocess.so
316 %{_mandir}/man1/alsa_in.1*
317 %{_mandir}/man1/alsa_out.1*
318 %{_mandir}/man1/jack_bufsize.1*
319 %{_mandir}/man1/jack_connect.1*
320 %{_mandir}/man1/jack_disconnect.1*
321 %{_mandir}/man1/jack_freewheel.1*
322 %{_mandir}/man1/jack_lsp.1*
323 %{_mandir}/man1/jack_metro.1*
324 %{_mandir}/man1/jack_monitor_client.1*
325 %{_mandir}/man1/jack_netsource.1*
326 %{_mandir}/man1/jack_property.1*
327 %{_mandir}/man1/jack_samplerate.1*
328 %{_mandir}/man1/jack_showtime.1*
329 %{_mandir}/man1/jack_simple_client.1*
330 %{_mandir}/man1/jack_transport.1*
331 %{_mandir}/man1/jack_wait.1*
333 %files example-jackrec
334 %defattr(644,root,root,755)
335 %attr(755,root,root) %{_bindir}/jackrec
336 %{_mandir}/man1/jackrec.1*