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_with classic # build also classic jackd server (see http://trac.jackaudio.org/wiki/JackDbusPackaging)
8 Summary: The JACK Audio Connection Kit
9 Summary(pl.UTF-8): JACK - zestaw do połączeń audio
10 Name: jack-audio-connection-kit
13 License: LGPL v2.1+ (libjack), GPL v2+ (the rest)
15 #Source0Download: https://jackaudio.org/downloads/
16 #Source0: https://github.com/jackaudio/jack2/releases/download/v%{version}/jack2-%{version}.tar.gz
17 Source0: https://github.com/jackaudio/jack2/archive/v%{version}/jack2-%{version}.tar.gz
18 # Source0-md5: e57c8ad3de75f78b6eb7aacea4e25755
19 URL: https://jackaudio.org/
20 BuildRequires: alsa-lib-devel >= 1.0.18
21 BuildRequires: celt-devel >= 0.11.0
22 BuildRequires: dbus-devel >= 1.0.0
23 %{?with_apidocs:BuildRequires: doxygen}
24 BuildRequires: expat-devel
25 %{?with_ffado:BuildRequires: libffado-devel >= 1.999.17}
26 BuildRequires: libsamplerate-devel
27 BuildRequires: libstdc++-devel
28 BuildRequires: pkgconfig
29 BuildRequires: rpm-build >= 4.6
30 BuildRequires: rpmbuild(macros) >= 1.752
31 # with opus_custom interface
32 BuildRequires: opus-devel >= 1.0.3-2
33 %{?with_apidocs:BuildRequires: texlive-pdftex}
34 Requires: %{name}-libs = %{version}-%{release}
35 Requires: alsa-lib >= 1.0.18
36 Obsoletes: jack-audio-connection-kit-driver-alsa < 0.101.1-2
37 Obsoletes: jack-audio-connection-kit-driver-iec61883 < 0.99.0
38 Obsoletes: jack-audio-connection-kit-example-jackrec < 1.9.22
39 Obsoletes: jack-audio-connection-kit-static < 1.9.7
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 JACK is a low-latency audio server, written primarily for the Linux
44 operating system. It can connect a number of different applications to
45 an audio device, as well as allowing them to share audio between
46 themselves. Its clients can run in their own processes (ie. as a
47 normal application), or can they can run within a JACK server (ie. a
50 JACK is different from other audio server efforts in that it has been
51 designed from the ground up to be suitable for professional audio
52 work. This means that it focuses on two key areas: synchronous
53 execution of all clients, and low latency operation.
55 %description -l pl.UTF-8
56 JACK to serwer dźwięku o małych opóźnieniach, napisany głównie dla
57 systemu operacyjnego Linux. Może przyjąć połączenia od wielu różnych
58 aplikacji do urządzenia dźwiękowego, a także pozwolić im na dzielenie
59 dźwięku pomiędzy siebie. Programy klienckie działają jako własne
60 procesy (tzn. normalne aplikacje) lub mogą działać wewnątrz serwera
63 JACK różni się od innych serwerów dźwięku tym, że został
64 zaprojektowany od początku z myślą o profesjonalnej obróbce dźwięku.
65 Oznacza to, że skupia się na dwóch rzeczach: synchronicznym
66 wykonywaniu wszystkich klientów i małych opóźnieniach działania.
70 Summary(pl.UTF-8): Biblioteka JACK-a
73 Requires: celt >= 0.11.0
74 Requires: dbus-libs >= 1.0.0
75 Requires: opus >= 1.0.3-2
76 Conflicts: jack-audio-connection-kit < 0.100.7
81 %description libs -l pl.UTF-8
82 Biblioteka współdzielona JACK-a.
85 Summary: Header files for JACK
86 Summary(pl.UTF-8): JACK - pliki nagłówkowe
88 Group: Development/Libraries
89 Requires: %{name}-libs = %{version}-%{release}
92 Header files for the JACK Audio Connection Kit.
94 %description devel -l pl.UTF-8
95 Pliki nagłówkowe dla zestawu do połączeń audio JACK.
98 Summary: JACK Audio Connection Kit API documentation
99 Summary(pl.UTF-8): Dokumentacja API JACK Audio Connection Kit
101 Requires: gtk-doc-common
105 JACK Audio Connection Kit API documentation.
107 %description apidocs -l pl.UTF-8
108 Dokumentacja API JACK Audio Connection Kit.
110 %package driver-firewire
111 Summary: FireWire (FFADO) sound driver for JACK
112 Summary(pl.UTF-8): Sterownik dźwięku FireWire (FFADO) dla JACK-a
115 Requires: %{name} = %{version}-%{release}
116 Requires: libffado >= 1.999.17
117 Obsoletes: jack-driver-freebob < 1.9.13
119 %description driver-firewire
120 FireWire (FFADO) sound driver for JACK.
122 %description driver-firewire -l pl.UTF-8
123 Sterownik dźwięku FireWire (FFADO) dla JACK-a.
126 %setup -q -n jack2-%{version}
129 export CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
130 export CXXFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
131 export CPPFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
132 export LINKFLAGS="%{rpmldflags}"
134 ./waf configure -j1 \
137 --prefix=%{_prefix} \
138 --libdir=%{_libdir} \
139 --htmldir=%{_gtkdocdir}/%{name}/reference \
141 %{?with_classic:--classic} \
143 %{?with_apidocs:--doxygen} \
144 %{?with_ffado:--firewire}
146 ./waf build %{?_smp_mflags} -v
149 rm -rf $RPM_BUILD_ROOT
152 --destdir=$RPM_BUILD_ROOT
154 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
156 # not built or packaged
157 %if %{without classic}
158 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/jackd.1
161 # fix perms (needed for autorequires/provides)
162 chmod a+x $RPM_BUILD_ROOT%{_libdir}/lib*.so*
163 chmod a+x $RPM_BUILD_ROOT%{_libdir}/jack/*.so
166 rm -rf $RPM_BUILD_ROOT
168 %post libs -p /sbin/ldconfig
169 %postun libs -p /sbin/ldconfig
172 if ! grep -q -s '^[^ ]* /dev/shm tmpfs ' /proc/mounts ; then
173 echo "/dev/shm is not mounted, but JACK requires it"
177 %defattr(644,root,root,755)
178 %doc AUTHORS.rst ChangeLog.rst README*
179 %attr(755,root,root) %{_bindir}/jack_control
180 %{?with_classic:%attr(755,root,root) %{_bindir}/jackd}
181 %attr(755,root,root) %{_bindir}/jackdbus
183 %attr(755,root,root) %{_libdir}/jack/audioadapter.so
184 %attr(755,root,root) %{_libdir}/jack/jack_alsa.so
185 %attr(755,root,root) %{_libdir}/jack/jack_alsarawmidi.so
186 %attr(755,root,root) %{_libdir}/jack/jack_dummy.so
187 %attr(755,root,root) %{_libdir}/jack/jack_loopback.so
188 %attr(755,root,root) %{_libdir}/jack/jack_netone.so
189 %attr(755,root,root) %{_libdir}/jack/jack_net.so
190 %attr(755,root,root) %{_libdir}/jack/jack_proxy.so
191 %attr(755,root,root) %{_libdir}/jack/netadapter.so
192 %attr(755,root,root) %{_libdir}/jack/netmanager.so
193 %attr(755,root,root) %{_libdir}/jack/profiler.so
194 %{_datadir}/dbus-1/services/org.jackaudio.service
195 %{?with_classic:%{_mandir}/man1/jackd.1*}
198 %defattr(644,root,root,755)
199 %attr(755,root,root) %{_libdir}/libjack.so.*.*.*
200 %attr(755,root,root) %ghost %{_libdir}/libjack.so.0
201 %attr(755,root,root) %{_libdir}/libjacknet.so.*.*.*
202 %attr(755,root,root) %ghost %{_libdir}/libjacknet.so.0
203 %attr(755,root,root) %{_libdir}/libjackserver.so.*.*.*
204 %attr(755,root,root) %ghost %{_libdir}/libjackserver.so.0
207 %defattr(644,root,root,755)
208 %attr(755,root,root) %{_libdir}/libjack.so
209 %attr(755,root,root) %{_libdir}/libjacknet.so
210 %attr(755,root,root) %{_libdir}/libjackserver.so
212 %{_pkgconfigdir}/jack.pc
216 %defattr(644,root,root,755)
217 %{_gtkdocdir}/%{name}
221 %files driver-firewire
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_libdir}/jack/jack_firewire.so