]> git.pld-linux.org Git - packages/jack-audio-connection-kit.git/blob - jack-audio-connection-kit.spec
1a0737b421d36e7e44a6edd6e26838433b2ae11f
[packages/jack-audio-connection-kit.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_without  zalsa           # zita-a2j/j2a client
7 %bcond_with     classic         # build also classic jackd server (see http://trac.jackaudio.org/wiki/JackDbusPackaging)
8
9 Summary:        The JACK Audio Connection Kit
10 Summary(pl.UTF-8):      JACK - zestaw do połączeń audio
11 Name:           jack-audio-connection-kit
12 Version:        1.9.20
13 Release:        1
14 License:        LGPL v2.1+ (libjack), GPL v2+ (the rest)
15 Group:          Daemons
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}
40 %if %{with zalsa}
41 BuildRequires:  zita-alsa-pcmi-devel
42 BuildRequires:  zita-resampler-devel
43 %endif
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)
50
51 %description
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
57 "plugin").
58
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.
63
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
70 JACK (jako wtyczki).
71
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.
76
77 %package libs
78 Summary:        JACK library
79 Summary(pl.UTF-8):      Biblioteka JACK-a
80 License:        LGPL v2.1+
81 Group:          Libraries
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
86
87 %description libs
88 Shared JACK library.
89
90 %description libs -l pl.UTF-8
91 Biblioteka współdzielona JACK-a.
92
93 %package devel
94 Summary:        Header files for JACK
95 Summary(pl.UTF-8):      JACK - pliki nagłówkowe
96 License:        LGPL v2.1+
97 Group:          Development/Libraries
98 Requires:       %{name}-libs = %{version}-%{release}
99
100 %description devel
101 Header files for the JACK Audio Connection Kit.
102
103 %description devel -l pl.UTF-8
104 Pliki nagłówkowe dla zestawu do połączeń audio JACK.
105
106 %package apidocs
107 Summary:        JACK Audio Connection Kit API documentation
108 Summary(pl.UTF-8):      Dokumentacja API JACK Audio Connection Kit
109 Group:          Documentation
110 Requires:       gtk-doc-common
111 BuildArch:      noarch
112
113 %description apidocs
114 JACK Audio Connection Kit API documentation.
115
116 %description apidocs -l pl.UTF-8
117 Dokumentacja API JACK Audio Connection Kit.
118
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
122 License:        GPL v2+
123 Group:          Libraries
124 Requires:       %{name} = %{version}-%{release}
125 Requires:       libffado >= 1.999.17
126 Obsoletes:      jack-driver-freebob < 1.9.13
127
128 %description driver-firewire
129 FireWire (FFADO) sound driver for JACK.
130
131 %description driver-firewire -l pl.UTF-8
132 Sterownik dźwięku FireWire (FFADO) dla JACK-a.
133
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
137 License:        GPL v2+
138 Group:          Applications/Sound
139 Requires:       %{name} = %{version}-%{release}
140
141 %description example-clients
142 Small example clients that use the JACK Audio Connection Kit.
143
144 %description example-clients -l pl.UTF-8
145 Małe, przykładowe programy klienckie, które używają zestawu do
146 połączeń audio JACK.
147
148 %package example-jackrec
149 Summary:        Example JACK client: jackrec
150 Summary(pl.UTF-8):      Przykładowy klient zestawu JACK: jackrec
151 License:        GPL v2+
152 Group:          Applications/Sound
153 Requires:       %{name} = %{version}-%{release}
154
155 %description example-jackrec
156 Example JACK client: jackrec. It's separated because it uses
157 libsndfile library.
158
159 %description example-jackrec -l pl.UTF-8
160 Przykładowy klient zestawu JACK: jackrec. Jest wydzielony, ponieważ
161 wymaga biblioteki libsndfile.
162
163 %prep
164 %setup -q -n jack2-%{version}
165 %patch0 -p1
166
167 %build
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}"
172
173 ./waf configure -j1 \
174         -v \
175         %{?debug:--debug} \
176         --prefix=%{_prefix} \
177         --libdir=%{_libdir} \
178         --htmldir=%{_gtkdocdir}/%{name}/reference \
179         --alsa \
180         %{?with_classic:--classic} \
181         --dbus \
182         %{?with_apidocs:--doxygen} \
183         %{?with_ffado:--firewire} \
184         %{!?with_zalsa:--no-zalsa}
185
186 ./waf build %{?_smp_mflags} -v
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190
191 ./waf install \
192         --destdir=$RPM_BUILD_ROOT
193
194 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
195
196 # For compatibility with jack1
197 %{__mv} $RPM_BUILD_ROOT%{_bindir}/jack_rec $RPM_BUILD_ROOT%{_bindir}/jackrec
198
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}
202
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
206
207 %clean
208 rm -rf $RPM_BUILD_ROOT
209
210 %post   libs -p /sbin/ldconfig
211 %postun libs -p /sbin/ldconfig
212
213 %verifyscript libs
214 if ! grep -q -s '^[^ ]* /dev/shm tmpfs ' /proc/mounts ; then
215         echo "/dev/shm is not mounted, but JACK requires it"
216 fi
217
218 %files
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
237 %dir %{_libdir}/jack
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
249 %if %{with zalsa}
250 %attr(755,root,root) %{_libdir}/jack/zalsa_in.so
251 %attr(755,root,root) %{_libdir}/jack/zalsa_out.so
252 %endif
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*
258
259 %files libs
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
267
268 %files devel
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
273 %{_includedir}/jack
274 %{_pkgconfigdir}/jack.pc
275
276 %if %{with apidocs}
277 %files apidocs
278 %defattr(644,root,root,755)
279 %{_gtkdocdir}/%{name}
280 %endif
281
282 %if %{with ffado}
283 %files driver-firewire
284 %defattr(644,root,root,755)
285 %attr(755,root,root) %{_libdir}/jack/jack_firewire.so
286 %endif
287
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*
332
333 %files example-jackrec
334 %defattr(644,root,root,755)
335 %attr(755,root,root) %{_bindir}/jackrec
336 %{_mandir}/man1/jackrec.1*
This page took 0.084461 seconds and 2 git commands to generate.