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