Add pulseaudio
[scm/bb/tizen.git] / proto-meta-Tizen_generic / specfile-initial / pulseaudio / packaging / pulseaudio.spec
1 %bcond_with pulseaudio_pmapi
2 %bcond_with pulseaudio_dlog
3 %bcond_with pulseaudio_bt_profile_set
4 %bcond_with pulseaudio_udev_with_usb_only
5 %bcond_with pulseaudio_with_bluez5
6 %bcond_with pulseaudio_samsung_policy
7 %bcond_with x
8
9 Name:             pulseaudio
10 Summary:          Improved Linux sound server
11 Version:          4.0
12 Release:          0
13 Group:            Multimedia/Audio
14 License:          GPL-2.0+ and LGPL-2.1+
15 URL:              http://pulseaudio.org
16 Source0:          http://www.freedesktop.org/software/pulseaudio/releases/%{name}-%{version}.tar.gz
17 Source99:         baselibs.conf
18 Source1001:       pulseaudio.manifest
19 BuildRequires:    libtool-ltdl-devel
20 BuildRequires:    libtool
21 BuildRequires:    intltool
22 BuildRequires:    fdupes
23 BuildRequires:    pkgconfig(speexdsp)
24 BuildRequires:    pkgconfig(sndfile)
25 BuildRequires:    pkgconfig(alsa)
26 BuildRequires:    pkgconfig(glib-2.0)
27 BuildRequires:    pkgconfig(gconf-2.0)
28 BuildRequires:    pkgconfig(bluez)
29 BuildRequires:    pkgconfig(sbc)
30 BuildRequires:    pkgconfig(dbus-1)
31 %if %{with x}
32 BuildRequires:    pkgconfig(xi)
33 %endif
34 BuildRequires:    pkgconfig(libudev)
35 BuildRequires:    pkgconfig(openssl)
36 BuildRequires:    pkgconfig(json)
37 BuildRequires:    pkgconfig(tdb)
38 BuildRequires:    pkgconfig(vconf)
39 BuildRequires:    systemd-devel
40 BuildRequires:    libcap-devel
41 %if %{with pulseaudio_dlog}
42 BuildRequires:    pkgconfig(dlog)
43 %endif
44 Requires:         udev
45 Requires(post):   /sbin/ldconfig
46 Requires(postun): /sbin/ldconfig
47
48 %description
49 PulseAudio is a sound server for Linux and other Unix like operating
50 systems. It is intended to be an improved drop-in replacement for the
51 Enlightened Sound Daemon (ESOUND).
52
53 %package -n libpulse
54 Summary:    PulseAudio client libraries
55 Group:      Multimedia/Audio
56
57 %description -n libpulse
58 Client libraries used by applications that access a PulseAudio sound server
59 via PulseAudio's native interface.
60
61 %package -n libpulse-mainloop-glib
62 Summary:        GLIB  2
63 Group:          Multimedia/Audio
64
65 %description -n libpulse-mainloop-glib
66 pulseaudio is a networked sound server for Linux and other Unix like
67 operating systems and Microsoft Windows. It is intended to be an
68 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
69
70 This package contains the GLIB Main Loop bindings for the PulseAudio
71 sound server.
72
73 %package -n libpulse-devel
74 Summary:    PulseAudio client development headers and libraries
75 Group:      Multimedia/Development
76 Requires:   libpulse = %{version}
77 Requires:   libpulse-mainloop-glib = %{version}
78
79 %description -n libpulse-devel
80 Headers and libraries for developing applications that access a PulseAudio
81 sound server via PulseAudio's native interface
82
83 %package utils
84 Summary:    Command line tools for the PulseAudio sound server
85 Group:      Multimedia/Audio
86 Requires:   %{name} = %{version}-%{release}
87
88 %description utils
89 These tools provide command line access to various features of the
90 PulseAudio sound server. Included tools are:
91 pabrowse - Browse available PulseAudio servers on the local network.
92 paplay - Playback a WAV file via a PulseAudio sink.
93 pacat - Cat raw audio data to a PulseAudio sink.
94 parec - Cat raw audio data from a PulseAudio source.
95 pacmd - Connect to PulseAudio's built-in command line control interface.
96 pactl - Send a control command to a PulseAudio server.
97 padsp - /dev/dsp wrapper to transparently support OSS applications.
98 pax11publish - Store/retrieve PulseAudio default server/sink/source
99 settings in the X11 root window.
100
101 %package module-bluetooth
102 Summary:    Bluetooth module for PulseAudio sound server
103 Group:      Multimedia/Audio
104 Requires:   %{name} = %{version}-%{release}
105
106 %description module-bluetooth
107 This module enables PulseAudio to work with bluetooth devices, like headset
108 or audio gateway
109
110 %package module-devel
111 Summary:    Headers and libraries for PulseAudio module development
112 License:    LGPL-2.0+
113 Group:      Multimedia/Development
114 Requires:   libpulse-devel = %{version}
115
116 %description module-devel
117 Headers and libraries for developing pulseaudio modules outside
118 the source tree.
119
120 %package config
121 Summary: Default configuration for PulseAudio.
122 Group: System Environment/Configuration
123
124 %description config
125 Default configuration for PulseAudio.
126
127 %package module-raop
128 Summary: PA module-raop
129 Group:   Multimedia/Audio
130
131 %description module-raop
132 PA module-raop.
133
134 %package module-filter
135 Summary: PA module-filter
136 Group:   Multimedia/Audio
137
138 %description module-filter
139 PA module-filter.
140
141 %package module-combine-sink
142 Summary: PA module-combine-sink
143 Group:   Multimedia/Audio
144
145 %description module-combine-sink
146 PA module-combine-sink.
147
148 %package module-augment-properties
149 Summary: PA module-augment-properties
150 Group:   Multimedia/Audio
151
152 %description module-augment-properties
153 PA module-augment-properties.
154
155 %package module-dbus-protocol
156 Summary: PA module-dbus-protocol
157 Group:   Multimedia/Audio
158
159 %description module-dbus-protocol
160 PA module-dbus-protocol.
161
162 %package module-null-source
163 Summary: PA module-null-source
164 Group:   Multimedia/Audio
165
166 %description module-null-source
167 PA module-null-source.
168
169 %package module-switch-on-connect
170 Summary: PA module-swich-on-connect
171 Group:   Multimedia/Audio
172
173 %description module-switch-on-connect
174 PA module-swich-on-connect.
175
176 %package vala-bindings
177 Summary:    PA Vala bindings
178 Group:      Multimedia/Audio
179 Requires:   %{name} = %{version}-%{release}
180
181 %description vala-bindings
182 PA Vala bindings.
183
184 %prep
185 %setup -q -T -b0
186 echo "%{version}" > .tarball-version
187 cp %{SOURCE1001} .
188
189 %build
190 export CFLAGS="%{optflags} -fno-strict-aliasing"
191 export LD_AS_NEEDED=0
192 ./bootstrap.sh
193 %configure --disable-static \
194         --enable-alsa \
195         --disable-ipv6 \
196         --disable-oss-output \
197         --disable-oss-wrapper \
198         --disable-x11 \
199         --disable-hal \
200         --disable-hal-compat \
201         --disable-lirc \
202         --disable-avahi \
203         --disable-jack \
204         --disable-xen \
205         --without-fftw \
206         --enable-bluez \
207         --disable-bluez4 \
208         --with-bluetooth-headset-backend=ofono \
209         --enable-systemd \
210         --with-database=tdb \
211 %if %{with pulseaudio_dlog}
212         --enable-dlog \
213 %endif
214 %if %{with pulseaudio_pmapi}
215         --enable-pmlock \
216 %endif
217 %if %{with pulseaudio_bt_profile_set}
218         --enable-bt-profile-set \
219 %endif
220 %if %{with pulseaudio_udev_with_usb_only}
221         --enable-udev-with-usb-only \
222 %endif
223 %if %{with pulseaudio_samsung_policy}
224         --enable-samsung-policy \
225 %endif
226         --with-udev-rules-dir=%{_libdir}/udev/rules.d \
227         --with-system-user=pulse \
228         --with-system-group=pulse \
229         --with-access-group=pulse-access
230
231 make %{?_smp_mflags} V=1
232
233 %install
234 %make_install
235 %find_lang %{name}
236
237 pushd %{buildroot}/etc/pulse/filter
238 ln -sf filter_8000_44100.dat filter_11025_44100.dat
239 ln -sf filter_8000_44100.dat filter_12000_44100.dat
240 ln -sf filter_8000_44100.dat filter_16000_44100.dat
241 ln -sf filter_8000_44100.dat filter_22050_44100.dat
242 ln -sf filter_8000_44100.dat filter_24000_44100.dat
243 ln -sf filter_8000_44100.dat filter_32000_44100.dat
244 popd
245
246 rm -rf  %{buildroot}/etc/xdg/autostart/pulseaudio-kde.desktop
247 rm -rf  %{buildroot}/usr/bin/start-pulseaudio-kde
248 rm -rf  %{buildroot}/usr/bin/start-pulseaudio-x11
249 rm -rf %{buildroot}/%{_libdir}/pulse-%{version}/modules/module-device-manager.so
250
251 mkdir -p %{buildroot}/%{_includedir}/pulsemodule/pulse
252 mkdir -p %{buildroot}/%{_includedir}/pulsemodule/pulsecore
253
254 cp %{buildroot}/%{_includedir}/pulse/*.h %{buildroot}/%{_includedir}/pulsemodule/pulse
255
256 fdupes  %{buildroot}/%{_datadir}
257 fdupes  %{buildroot}/%{_includedir}
258
259 # get rid of *.la files
260 rm -f %{buildroot}/%{_libdir}/*.la
261 rm -f %{buildroot}/%{_libdir}/pulseaudio/*.la
262
263
264 %post -p /sbin/ldconfig
265 %postun -p /sbin/ldconfig
266
267 %post   -n libpulse -p /sbin/ldconfig
268 %postun -n libpulse -p /sbin/ldconfig
269
270 %post   -n libpulse-mainloop-glib -p /sbin/ldconfig
271 %postun -n libpulse-mainloop-glib -p /sbin/ldconfig
272
273 %lang_package
274
275 %files
276 %manifest %{name}.manifest
277 %defattr(-,root,root,-)
278 %doc LICENSE GPL LGPL
279 %{_sysconfdir}/pulse/filter/*.dat
280 %{_bindir}/esdcompat
281 %{_bindir}/pulseaudio
282 %dir %{_libexecdir}/pulse
283 %{_libexecdir}/pulse/*
284 %{_libdir}/libpulsecore-%{version}.so
285 %{_libdir}/udev/rules.d/90-pulseaudio.rules
286 %config(noreplace) /etc/dbus-1/system.d/pulseaudio-system.conf
287 # list all modules
288 %{_libdir}/pulse-%{version}/modules/libalsa-util.so
289 %{_libdir}/pulse-%{version}/modules/libcli.so
290 %{_libdir}/pulse-%{version}/modules/libprotocol-cli.so
291 %{_libdir}/pulse-%{version}/modules/libprotocol-http.so
292 %{_libdir}/pulse-%{version}/modules/libprotocol-native.so
293 %{_libdir}/pulse-%{version}/modules/libprotocol-simple.so
294 %{_libdir}/pulse-%{version}/modules/librtp.so
295 %{_libdir}/pulse-%{version}/modules/module-alsa-sink.so
296 %{_libdir}/pulse-%{version}/modules/module-alsa-source.so
297 %{_libdir}/pulse-%{version}/modules/module-always-sink.so
298 %{_libdir}/pulse-%{version}/modules/module-console-kit.so
299 %{_libdir}/pulse-%{version}/modules/module-device-restore.so
300 %{_libdir}/pulse-%{version}/modules/module-stream-restore.so
301 %{_libdir}/pulse-%{version}/modules/module-cli-protocol-tcp.so
302 %{_libdir}/pulse-%{version}/modules/module-cli-protocol-unix.so
303 %{_libdir}/pulse-%{version}/modules/module-cli.so
304 %{_libdir}/pulse-%{version}/modules/module-combine.so
305 %{_libdir}/pulse-%{version}/modules/module-default-device-restore.so
306 %{_libdir}/pulse-%{version}/modules/module-detect.so
307 %{_libdir}/pulse-%{version}/modules/module-esound-sink.so
308 %{_libdir}/pulse-%{version}/modules/module-http-protocol-tcp.so
309 %{_libdir}/pulse-%{version}/modules/module-http-protocol-unix.so
310 %{_libdir}/pulse-%{version}/modules/module-intended-roles.so
311 %{_libdir}/pulse-%{version}/modules/module-ladspa-sink.so
312 %{_libdir}/pulse-%{version}/modules/module-match.so
313 %{_libdir}/pulse-%{version}/modules/module-mmkbd-evdev.so
314 %{_libdir}/pulse-%{version}/modules/module-native-protocol-fd.so
315 %{_libdir}/pulse-%{version}/modules/module-native-protocol-tcp.so
316 %{_libdir}/pulse-%{version}/modules/module-native-protocol-unix.so
317 %{_libdir}/pulse-%{version}/modules/module-null-sink.so
318 %{_libdir}/pulse-%{version}/modules/module-pipe-sink.so
319 %{_libdir}/pulse-%{version}/modules/module-pipe-source.so
320 %{_libdir}/pulse-%{version}/modules/module-position-event-sounds.so
321 %{_libdir}/pulse-%{version}/modules/module-remap-sink.so
322 %{_libdir}/pulse-%{version}/modules/module-remap-source.so
323 %{_libdir}/pulse-%{version}/modules/module-rescue-streams.so
324 %{_libdir}/pulse-%{version}/modules/module-rtp-recv.so
325 %{_libdir}/pulse-%{version}/modules/module-rtp-send.so
326 %{_libdir}/pulse-%{version}/modules/module-simple-protocol-tcp.so
327 %{_libdir}/pulse-%{version}/modules/module-simple-protocol-unix.so
328 %{_libdir}/pulse-%{version}/modules/module-sine.so
329 %{_libdir}/pulse-%{version}/modules/module-tunnel-sink.so
330 %{_libdir}/pulse-%{version}/modules/module-tunnel-sink-new.so
331 %{_libdir}/pulse-%{version}/modules/module-tunnel-source.so
332 %{_libdir}/pulse-%{version}/modules/module-tunnel-source-new.so
333 %{_libdir}/pulse-%{version}/modules/module-suspend-on-idle.so
334 %{_libdir}/pulse-%{version}/modules/module-volume-restore.so
335 %{_libdir}/pulse-%{version}/modules/module-alsa-card.so
336 %{_libdir}/pulse-%{version}/modules/module-card-restore.so
337 %{_libdir}/pulse-%{version}/modules/module-sine-source.so
338 %{_libdir}/pulse-%{version}/modules/module-loopback.so
339 %{_libdir}/pulse-%{version}/modules/module-rygel-media-server.so
340 %{_libdir}/pulse-%{version}/modules/module-echo-cancel.so
341 %{_libdir}/pulse-%{version}/modules/module-virtual-sink.so
342 %{_libdir}/pulse-%{version}/modules/module-virtual-source.so
343 %{_libdir}/pulse-%{version}/modules/libprotocol-esound.so
344 %{_libdir}/pulse-%{version}/modules/module-esound-compat-spawnfd.so
345 %{_libdir}/pulse-%{version}/modules/module-esound-compat-spawnpid.so
346 %{_libdir}/pulse-%{version}/modules/module-esound-protocol-tcp.so
347 %{_libdir}/pulse-%{version}/modules/module-esound-protocol-unix.so
348 %{_libdir}/pulse-%{version}/modules/module-gconf.so
349 %{_libdir}/pulse-%{version}/modules/module-udev-detect.so
350 %{_libdir}/pulse-%{version}/modules/module-role-cork.so
351 %{_libdir}/pulse-%{version}/modules/module-switch-on-port-available.so
352 %{_libdir}/pulse-%{version}/modules/module-virtual-surround-sink.so
353 %{_libdir}/pulse-%{version}/modules/module-role-ducking.so
354 %{_libdir}/pulse-%{version}/modules/module-systemd-login.so
355 %if %{with pulseaudio_samsung_policy}
356 %{_libdir}/pulse-%{version}/modules/module-policy.so
357 %endif
358 %config(noreplace) /etc/bash_completion.d/pulseaudio-bash-completion.sh
359
360 %files -n libpulse
361 %manifest %{name}.manifest
362 %defattr(-,root,root,-)
363 %{_libdir}/libpulse.so.*
364 %{_libdir}/libpulse-simple.so.*
365 %{_libdir}/pulseaudio/libpulsecommon-*.so
366
367 %files -n libpulse-devel
368 %manifest %{name}.manifest
369 %defattr(-,root,root,-)
370 %{_includedir}/pulse/*
371 %{_libdir}/libpulse.so
372 %{_libdir}/libpulse-simple.so
373 %{_libdir}/libpulse-mainloop-glib.so
374 %{_libdir}/pkgconfig/libpulse*.pc
375 %{_datadir}/vala/vapi/libpulse.vapi
376 # cmake stuff
377 %{_libdir}/cmake/PulseAudio/PulseAudioConfig.cmake
378 %{_libdir}/cmake/PulseAudio/PulseAudioConfigVersion.cmake
379
380 %files -n libpulse-mainloop-glib
381 %manifest %{name}.manifest
382 %defattr(-,root,root)
383 %{_libdir}/libpulse-mainloop-glib.so.*
384
385 %files utils
386 %manifest %{name}.manifest
387 %defattr(-,root,root,-)
388 %doc %{_mandir}/man1/*
389 %doc %{_mandir}/man5/*
390 %{_bindir}/pacat
391 %{_bindir}/pacmd
392 %{_bindir}/pactl
393 %{_bindir}/paplay
394 %{_bindir}/parec
395 %{_bindir}/pamon
396 %{_bindir}/parecord
397 %{_bindir}/pasuspender
398
399 %files module-bluetooth
400 %manifest %{name}.manifest
401 %defattr(-,root,root,-)
402 %{_libdir}/pulse-%{version}/modules/module-bluetooth-discover.so
403 %{_libdir}/pulse-%{version}/modules/module-bluetooth-policy.so
404 %{_libdir}/pulse-%{version}/modules/module-bluez5-discover.so
405 %{_libdir}/pulse-%{version}/modules/module-bluez5-device.so
406 %{_libdir}/pulse-%{version}/modules/libbluez5-util.so
407
408 %files module-raop
409 %manifest %{name}.manifest
410 %defattr(-,root,root,-)
411 %{_libdir}/pulse-%{version}/modules/libraop.so
412 %{_libdir}/pulse-%{version}/modules/module-raop*.so
413
414 %files module-filter
415 %manifest %{name}.manifest
416 %defattr(-,root,root,-)
417 %{_libdir}/pulse-%{version}/modules/module-filter-*.so
418
419 %files module-combine-sink
420 %manifest %{name}.manifest
421 %defattr(-,root,root,-)
422 %{_libdir}/pulse-%{version}/modules/module-combine-sink.so
423
424 %files module-augment-properties
425 %manifest %{name}.manifest
426 %defattr(-,root,root,-)
427 %{_libdir}/pulse-%{version}/modules/module-augment-properties.so
428
429 %files module-dbus-protocol
430 %manifest %{name}.manifest
431 %defattr(-,root,root,-)
432 %{_libdir}/pulse-%{version}/modules/module-dbus-protocol.so
433
434 %files module-null-source
435 %manifest %{name}.manifest
436 %defattr(-,root,root,-)
437 %{_libdir}/pulse-%{version}/modules/module-null-source.so
438
439 %files module-switch-on-connect
440 %manifest %{name}.manifest
441 %defattr(-,root,root,-)
442 %{_libdir}/pulse-%{version}/modules/module-switch-on-connect.so
443
444 %files config
445 %manifest %{name}.manifest
446 %defattr(-,root,root,-)
447 %config(noreplace) %{_sysconfdir}/pulse/daemon.conf
448 %config(noreplace) %{_sysconfdir}/pulse/default.pa
449 %config(noreplace) %{_sysconfdir}/pulse/client.conf
450 %config(noreplace) %{_sysconfdir}/pulse/system.pa
451 %{_datadir}/pulseaudio/alsa-mixer/paths/*
452 %{_datadir}/pulseaudio/alsa-mixer/profile-sets/*
453
454 %files module-devel
455 %manifest %{name}.manifest
456 %defattr(-,root,root)
457 %{_includedir}/pulsemodule/pulsecore/*.h
458 %{_includedir}/pulsemodule/pulse/*.h
459 %{_libdir}/pkgconfig/pulseaudio-module-devel.pc
460
461 %files vala-bindings
462 %manifest %{name}.manifest
463 %defattr(-,root,root,-)
464 %{_datadir}/vala/vapi/*
465
466 %docs_package