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: 48515d41a3e8de2464efc583d2b9a596
20 URL: https://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 \
175 --prefix=%{_prefix} \
176 --libdir=%{_libdir} \
177 --htmldir=%{_gtkdocdir}/%{name}/reference \
179 %{?with_classic:--classic} \
181 %{?with_apidocs:--doxygen} \
182 %{?with_ffado:--firewire} \
183 %{!?with_zalsa:--no-zalsa}
185 ./waf build %{?_smp_mflags} -v
188 rm -rf $RPM_BUILD_ROOT
191 --destdir=$RPM_BUILD_ROOT
193 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
195 # For compatibility with jack1
196 %{__mv} $RPM_BUILD_ROOT%{_bindir}/jack_rec $RPM_BUILD_ROOT%{_bindir}/jackrec
198 # not built or packaged
199 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/jack_impulse_grabber.1 \
200 %{!?with_classic:$RPM_BUILD_ROOT%{_mandir}/man1/jackd.1}
202 # fix perms (needed for autorequires/provides)
203 chmod a+x $RPM_BUILD_ROOT%{_libdir}/lib*.so*
204 chmod a+x $RPM_BUILD_ROOT%{_libdir}/jack/*.so
207 rm -rf $RPM_BUILD_ROOT
209 %post libs -p /sbin/ldconfig
210 %postun libs -p /sbin/ldconfig
213 if ! grep -q -s '^[^ ]* /dev/shm tmpfs ' /proc/mounts ; then
214 echo "/dev/shm is not mounted, but JACK requires it"
218 %defattr(644,root,root,755)
219 %doc AUTHORS.rst ChangeLog.rst README*
220 %attr(755,root,root) %{_bindir}/jack_alias
221 %attr(755,root,root) %{_bindir}/jack_control
222 %attr(755,root,root) %{_bindir}/jack_cpu
223 %attr(755,root,root) %{_bindir}/jack_evmon
224 %attr(755,root,root) %{_bindir}/jack_iodelay
225 %attr(755,root,root) %{_bindir}/jack_load
226 %attr(755,root,root) %{_bindir}/jack_midi_dump
227 %attr(755,root,root) %{_bindir}/jack_net_master
228 %attr(755,root,root) %{_bindir}/jack_net_slave
229 %attr(755,root,root) %{_bindir}/jack_server_control
230 %attr(755,root,root) %{_bindir}/jack_session_notify
231 %attr(755,root,root) %{_bindir}/jack_simdtests
232 %attr(755,root,root) %{_bindir}/jack_test
233 %attr(755,root,root) %{_bindir}/jack_unload
234 %{?with_classic:%attr(755,root,root) %{_bindir}/jackd}
235 %attr(755,root,root) %{_bindir}/jackdbus
237 %attr(755,root,root) %{_libdir}/jack/audioadapter.so
238 %attr(755,root,root) %{_libdir}/jack/jack_alsa.so
239 %attr(755,root,root) %{_libdir}/jack/jack_alsarawmidi.so
240 %attr(755,root,root) %{_libdir}/jack/jack_dummy.so
241 %attr(755,root,root) %{_libdir}/jack/jack_loopback.so
242 %attr(755,root,root) %{_libdir}/jack/jack_netone.so
243 %attr(755,root,root) %{_libdir}/jack/jack_net.so
244 %attr(755,root,root) %{_libdir}/jack/jack_proxy.so
245 %attr(755,root,root) %{_libdir}/jack/netadapter.so
246 %attr(755,root,root) %{_libdir}/jack/netmanager.so
247 %attr(755,root,root) %{_libdir}/jack/profiler.so
249 %attr(755,root,root) %{_libdir}/jack/zalsa_in.so
250 %attr(755,root,root) %{_libdir}/jack/zalsa_out.so
252 %{_datadir}/dbus-1/services/org.jackaudio.service
253 %{?with_classic:%{_mandir}/man1/jackd.1*}
254 %{_mandir}/man1/jack_iodelay.1*
255 %{_mandir}/man1/jack_load.1*
256 %{_mandir}/man1/jack_unload.1*
259 %defattr(644,root,root,755)
260 %attr(755,root,root) %{_libdir}/libjack.so.*.*.*
261 %attr(755,root,root) %ghost %{_libdir}/libjack.so.0
262 %attr(755,root,root) %{_libdir}/libjacknet.so.*.*.*
263 %attr(755,root,root) %ghost %{_libdir}/libjacknet.so.0
264 %attr(755,root,root) %{_libdir}/libjackserver.so.*.*.*
265 %attr(755,root,root) %ghost %{_libdir}/libjackserver.so.0
268 %defattr(644,root,root,755)
269 %attr(755,root,root) %{_libdir}/libjack.so
270 %attr(755,root,root) %{_libdir}/libjacknet.so
271 %attr(755,root,root) %{_libdir}/libjackserver.so
273 %{_pkgconfigdir}/jack.pc
277 %defattr(644,root,root,755)
278 %{_gtkdocdir}/%{name}
282 %files driver-firewire
283 %defattr(644,root,root,755)
284 %attr(755,root,root) %{_libdir}/jack/jack_firewire.so
287 %files example-clients
288 %defattr(644,root,root,755)
289 %attr(755,root,root) %{_bindir}/alsa_in
290 %attr(755,root,root) %{_bindir}/alsa_out
291 %attr(755,root,root) %{_bindir}/jack_bufsize
292 %attr(755,root,root) %{_bindir}/jack_connect
293 %attr(755,root,root) %{_bindir}/jack_cpu_load
294 %attr(755,root,root) %{_bindir}/jack_disconnect
295 %attr(755,root,root) %{_bindir}/jack_freewheel
296 %attr(755,root,root) %{_bindir}/jack_latent_client
297 %attr(755,root,root) %{_bindir}/jack_lsp
298 %attr(755,root,root) %{_bindir}/jack_metro
299 %attr(755,root,root) %{_bindir}/jack_midi_latency_test
300 %attr(755,root,root) %{_bindir}/jack_midiseq
301 %attr(755,root,root) %{_bindir}/jack_midisine
302 %attr(755,root,root) %{_bindir}/jack_monitor_client
303 %attr(755,root,root) %{_bindir}/jack_multiple_metro
304 %attr(755,root,root) %{_bindir}/jack_netsource
305 %attr(755,root,root) %{_bindir}/jack_property
306 %attr(755,root,root) %{_bindir}/jack_samplerate
307 %attr(755,root,root) %{_bindir}/jack_showtime
308 %attr(755,root,root) %{_bindir}/jack_simple_client
309 %attr(755,root,root) %{_bindir}/jack_simple_session_client
310 %attr(755,root,root) %{_bindir}/jack_thru
311 %attr(755,root,root) %{_bindir}/jack_transport
312 %attr(755,root,root) %{_bindir}/jack_wait
313 %attr(755,root,root) %{_bindir}/jack_zombie
314 %attr(755,root,root) %{_libdir}/jack/inprocess.so
315 %{_mandir}/man1/alsa_in.1*
316 %{_mandir}/man1/alsa_out.1*
317 %{_mandir}/man1/jack_bufsize.1*
318 %{_mandir}/man1/jack_connect.1*
319 %{_mandir}/man1/jack_disconnect.1*
320 %{_mandir}/man1/jack_freewheel.1*
321 %{_mandir}/man1/jack_lsp.1*
322 %{_mandir}/man1/jack_metro.1*
323 %{_mandir}/man1/jack_monitor_client.1*
324 %{_mandir}/man1/jack_netsource.1*
325 %{_mandir}/man1/jack_property.1*
326 %{_mandir}/man1/jack_samplerate.1*
327 %{_mandir}/man1/jack_showtime.1*
328 %{_mandir}/man1/jack_simple_client.1*
329 %{_mandir}/man1/jack_transport.1*
330 %{_mandir}/man1/jack_wait.1*
332 %files example-jackrec
333 %defattr(644,root,root,755)
334 %attr(755,root,root) %{_bindir}/jackrec
335 %{_mandir}/man1/jackrec.1*