]> git.pld-linux.org Git - SPECS.git/blob - jack-audio-connection-kit.spec
SPECS updated Sun 1 Aug 11:02:02 CEST 2021
[SPECS.git] / jack-audio-connection-kit.spec
1 # TODO: --iio (BR: gtkIOStream >= 1.4.0, eigen3 >= 3.1.2)
2 #
3 # Conditional build:
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)
7
8 Summary:        The JACK Audio Connection Kit
9 Summary(pl.UTF-8):      JACK - zestaw do połączeń audio
10 Name:           jack-audio-connection-kit
11 Version:        1.9.16
12 Release:        1
13 License:        LGPL v2.1+ (libjack), GPL v2+ (the rest)
14 Group:          Daemons
15 #Source0Download: http://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:  bdc547d3d56c4ab3bf7b1a32df6ca270
19 Patch0:         jack-doxygen-fix.patch
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}
39 Requires:       %{name}-libs = %{version}-%{release}
40 Requires:       alsa-lib >= 1.0.18
41 Obsoletes:      jack-audio-connection-kit-driver-alsa
42 Obsoletes:      jack-audio-connection-kit-driver-iec61883
43 Obsoletes:      jack-audio-connection-kit-static
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
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").
53
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.
58
59 %description -l pl.UTF-8
60 JACK to serwer dźwięku o małych opóźnieniach, napisany głównie dla
61 systemu operacyjnego Linux. Może przyjąć połączenia od wielu różnych
62 aplikacji do urządzenia dźwiękowego, a także pozwolić im na dzielenie
63 dźwięku pomiędzy siebie. Programy klienckie działają jako własne
64 procesy (tzn. normalne aplikacje) lub mogą działać wewnątrz serwera
65 JACK (jako wtyczki).
66
67 JACK różni się od innych serwerów dźwięku tym, że został
68 zaprojektowany od początku z myślą o profesjonalnej obróbce dźwięku.
69 Oznacza to, że skupia się na dwóch rzeczach: synchronicznym
70 wykonywaniu wszystkich klientów i małych opóźnieniach działania.
71
72 %package libs
73 Summary:        JACK library
74 Summary(pl.UTF-8):      Biblioteka JACK-a
75 License:        LGPL v2.1+
76 Group:          Libraries
77 Requires:       celt >= 0.11.0
78 Requires:       dbus-libs >= 1.0.0
79 Requires:       opus >= 1.0.3-2
80 Conflicts:      jack-audio-connection-kit < 0.100.7
81
82 %description libs
83 Shared JACK library.
84
85 %description libs -l pl.UTF-8
86 Biblioteka współdzielona JACK-a.
87
88 %package devel
89 Summary:        Header files for JACK
90 Summary(pl.UTF-8):      JACK - pliki nagłówkowe
91 License:        LGPL v2.1+
92 Group:          Development/Libraries
93 Requires:       %{name}-libs = %{version}-%{release}
94
95 %description devel
96 Header files for the JACK Audio Connection Kit.
97
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe dla zestawu do połączeń audio JACK.
100
101 %package apidocs
102 Summary:        JACK Audio Connection Kit API documentation
103 Summary(pl.UTF-8):      Dokumentacja API JACK Audio Connection Kit
104 Group:          Documentation
105 Requires:       gtk-doc-common
106 BuildArch:      noarch
107
108 %description apidocs
109 JACK Audio Connection Kit API documentation.
110
111 %description apidocs -l pl.UTF-8
112 Dokumentacja API JACK Audio Connection Kit.
113
114 %package driver-firewire
115 Summary:        FireWire (FFADO) sound driver for JACK
116 Summary(pl.UTF-8):      Sterownik dźwięku FireWire (FFADO) dla JACK-a
117 License:        GPL v2+
118 Group:          Libraries
119 Requires:       %{name} = %{version}-%{release}
120 Requires:       libffado >= 1.999.17
121 Obsoletes:      jack-driver-freebob < 1.9.13
122
123 %description driver-firewire
124 FireWire (FFADO) sound driver for JACK.
125
126 %description driver-firewire -l pl.UTF-8
127 Sterownik dźwięku FireWire (FFADO) dla JACK-a.
128
129 %package example-clients
130 Summary:        Example clients that use JACK
131 Summary(pl.UTF-8):      Przykładowe programy klienckie używające JACK-a
132 License:        GPL v2+
133 Group:          Applications/Sound
134 Requires:       %{name} = %{version}-%{release}
135
136 %description example-clients
137 Small example clients that use the JACK Audio Connection Kit.
138
139 %description example-clients -l pl.UTF-8
140 Małe, przykładowe programy klienckie, które używają zestawu do
141 połączeń audio JACK.
142
143 %package example-jackrec
144 Summary:        Example JACK client: jackrec
145 Summary(pl.UTF-8):      Przykładowy klient zestawu JACK: jackrec
146 License:        GPL v2+
147 Group:          Applications/Sound
148 Requires:       %{name} = %{version}-%{release}
149
150 %description example-jackrec
151 Example JACK client: jackrec. It's separated because it uses
152 libsndfile library.
153
154 %description example-jackrec -l pl.UTF-8
155 Przykładowy klient zestawu JACK: jackrec. Jest wydzielony, ponieważ
156 wymaga biblioteki libsndfile.
157
158 %prep
159 %setup -q -n jack2-%{version}
160 %patch0 -p1
161
162 %build
163 export CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
164 export CXXFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
165 export CPPFLAGS="%{rpmcxxflags} -I/usr/include/ncurses"
166 export LINKFLAGS="%{rpmldflags}"
167
168 ./waf configure -j1 \
169         -v \
170         %{?debug:--debug} \
171         --prefix=%{_prefix} \
172         --libdir=%{_libdir} \
173         --htmldir=%{_gtkdocdir}/%{name}/reference \
174         --alsa \
175         %{?with_classic:--classic} \
176         --dbus \
177         %{?with_apidocs:--doxygen} \
178         %{?with_ffado:--firewire}
179
180 ./waf build %{?_smp_mflags} -v
181
182 %install
183 rm -rf $RPM_BUILD_ROOT
184
185 ./waf install \
186         --destdir=$RPM_BUILD_ROOT
187
188 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
189
190 # For compatibility with jack1
191 %{__mv} $RPM_BUILD_ROOT%{_bindir}/jack_rec $RPM_BUILD_ROOT%{_bindir}/jackrec
192
193 # not built or packaged
194 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/jack_impulse_grabber.1 \
195         %{!?with_classic:$RPM_BUILD_ROOT%{_mandir}/man1/jackd.1}
196
197 # fix perms (needed for autorequires/provides)
198 chmod a+x $RPM_BUILD_ROOT%{_libdir}/lib*.so*
199 chmod a+x $RPM_BUILD_ROOT%{_libdir}/jack/*.so
200
201 %clean
202 rm -rf $RPM_BUILD_ROOT
203
204 %post   libs -p /sbin/ldconfig
205 %postun libs -p /sbin/ldconfig
206
207 %verifyscript libs
208 if ! grep -q -s '^[^ ]* /dev/shm tmpfs ' /proc/mounts ; then
209         echo "/dev/shm is not mounted, but JACK requires it"
210 fi
211
212 %files
213 %defattr(644,root,root,755)
214 %doc AUTHORS.rst ChangeLog.rst README*
215 %attr(755,root,root) %{_bindir}/jack_alias
216 %attr(755,root,root) %{_bindir}/jack_control
217 %attr(755,root,root) %{_bindir}/jack_cpu
218 %attr(755,root,root) %{_bindir}/jack_evmon
219 %attr(755,root,root) %{_bindir}/jack_iodelay
220 %attr(755,root,root) %{_bindir}/jack_load
221 %attr(755,root,root) %{_bindir}/jack_midi_dump
222 %attr(755,root,root) %{_bindir}/jack_net_master
223 %attr(755,root,root) %{_bindir}/jack_net_slave
224 %attr(755,root,root) %{_bindir}/jack_server_control
225 %attr(755,root,root) %{_bindir}/jack_session_notify
226 %attr(755,root,root) %{_bindir}/jack_simdtests
227 %attr(755,root,root) %{_bindir}/jack_test
228 %attr(755,root,root) %{_bindir}/jack_unload
229 %{?with_classic:%attr(755,root,root) %{_bindir}/jackd}
230 %attr(755,root,root) %{_bindir}/jackdbus
231 %dir %{_libdir}/jack
232 %attr(755,root,root) %{_libdir}/jack/audioadapter.so
233 %attr(755,root,root) %{_libdir}/jack/jack_alsa.so
234 %attr(755,root,root) %{_libdir}/jack/jack_alsarawmidi.so
235 %attr(755,root,root) %{_libdir}/jack/jack_dummy.so
236 %attr(755,root,root) %{_libdir}/jack/jack_loopback.so
237 %attr(755,root,root) %{_libdir}/jack/jack_netone.so
238 %attr(755,root,root) %{_libdir}/jack/jack_net.so
239 %attr(755,root,root) %{_libdir}/jack/jack_proxy.so
240 %attr(755,root,root) %{_libdir}/jack/netadapter.so
241 %attr(755,root,root) %{_libdir}/jack/netmanager.so
242 %attr(755,root,root) %{_libdir}/jack/profiler.so
243 %{_datadir}/dbus-1/services/org.jackaudio.service
244 %{?with_classic:%{_mandir}/man1/jackd.1*}
245 %{_mandir}/man1/jack_iodelay.1*
246 %{_mandir}/man1/jack_load.1*
247 %{_mandir}/man1/jack_unload.1*
248
249 %files libs
250 %defattr(644,root,root,755)
251 %attr(755,root,root) %{_libdir}/libjack.so.*.*.*
252 %attr(755,root,root) %ghost %{_libdir}/libjack.so.0
253 %attr(755,root,root) %{_libdir}/libjacknet.so.*.*.*
254 %attr(755,root,root) %ghost %{_libdir}/libjacknet.so.0
255 %attr(755,root,root) %{_libdir}/libjackserver.so.*.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libjackserver.so.0
257
258 %files devel
259 %defattr(644,root,root,755)
260 %attr(755,root,root) %{_libdir}/libjack.so
261 %attr(755,root,root) %{_libdir}/libjacknet.so
262 %attr(755,root,root) %{_libdir}/libjackserver.so
263 %{_includedir}/jack
264 %{_pkgconfigdir}/jack.pc
265
266 %if %{with apidocs}
267 %files apidocs
268 %defattr(644,root,root,755)
269 %{_gtkdocdir}/%{name}
270 %endif
271
272 %if %{with ffado}
273 %files driver-firewire
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_libdir}/jack/jack_firewire.so
276 %endif
277
278 %files example-clients
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_bindir}/alsa_in
281 %attr(755,root,root) %{_bindir}/alsa_out
282 %attr(755,root,root) %{_bindir}/jack_bufsize
283 %attr(755,root,root) %{_bindir}/jack_connect
284 %attr(755,root,root) %{_bindir}/jack_cpu_load
285 %attr(755,root,root) %{_bindir}/jack_disconnect
286 %attr(755,root,root) %{_bindir}/jack_freewheel
287 %attr(755,root,root) %{_bindir}/jack_latent_client
288 %attr(755,root,root) %{_bindir}/jack_lsp
289 %attr(755,root,root) %{_bindir}/jack_metro
290 %attr(755,root,root) %{_bindir}/jack_midi_latency_test
291 %attr(755,root,root) %{_bindir}/jack_midiseq
292 %attr(755,root,root) %{_bindir}/jack_midisine
293 %attr(755,root,root) %{_bindir}/jack_monitor_client
294 %attr(755,root,root) %{_bindir}/jack_multiple_metro
295 %attr(755,root,root) %{_bindir}/jack_netsource
296 %attr(755,root,root) %{_bindir}/jack_property
297 %attr(755,root,root) %{_bindir}/jack_samplerate
298 %attr(755,root,root) %{_bindir}/jack_showtime
299 %attr(755,root,root) %{_bindir}/jack_simple_client
300 %attr(755,root,root) %{_bindir}/jack_simple_session_client
301 %attr(755,root,root) %{_bindir}/jack_thru
302 %attr(755,root,root) %{_bindir}/jack_transport
303 %attr(755,root,root) %{_bindir}/jack_wait
304 %attr(755,root,root) %{_bindir}/jack_zombie
305 %attr(755,root,root) %{_libdir}/jack/inprocess.so
306 %{_mandir}/man1/alsa_in.1*
307 %{_mandir}/man1/alsa_out.1*
308 %{_mandir}/man1/jack_bufsize.1*
309 %{_mandir}/man1/jack_connect.1*
310 %{_mandir}/man1/jack_disconnect.1*
311 %{_mandir}/man1/jack_freewheel.1*
312 %{_mandir}/man1/jack_lsp.1*
313 %{_mandir}/man1/jack_metro.1*
314 %{_mandir}/man1/jack_monitor_client.1*
315 %{_mandir}/man1/jack_netsource.1*
316 %{_mandir}/man1/jack_property.1*
317 %{_mandir}/man1/jack_samplerate.1*
318 %{_mandir}/man1/jack_showtime.1*
319 %{_mandir}/man1/jack_simple_client.1*
320 %{_mandir}/man1/jack_transport.1*
321 %{_mandir}/man1/jack_wait.1*
322
323 %files example-jackrec
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_bindir}/jackrec
326 %{_mandir}/man1/jackrec.1*
This page took 0.075266 seconds and 3 git commands to generate.