enable tizen with all options
[platform/upstream/pulseaudio.git] / packaging / pulseaudio.spec
1 %bcond_with tizen
2
3 Name:           pulseaudio
4 Version:        2.1
5 Release:        0
6 %define drvver  2.1
7 %define soname  0
8 Summary:        A Networked Sound Server
9 License:        GPL-2.0+ ; LGPL-2.1+
10 Group:          System/Sound Daemons
11 Url:            http://pulseaudio.org
12 Source:         http://www.freedesktop.org/software/pulseaudio/releases/%{name}-%{version}.tar.xz
13 Source1:        default.pa-for-gdm
14 Source2:        setup-pulseaudio
15 Source3:        sysconfig.sound-pulseaudio
16 Source99:       baselibs.conf
17 BuildRequires:  pkgconfig(alsa)
18 BuildRequires:  bluez-devel
19 BuildRequires:  fdupes
20 BuildRequires:  gdbm-devel
21 BuildRequires:  intltool
22 BuildRequires:  libopenssl-devel
23 BuildRequires:  libsndfile-devel
24 BuildRequires:  libtool
25 BuildRequires:  libudev-devel >= 143
26 BuildRequires:  orc
27 BuildRequires:  speex-devel
28 BuildRequires:  update-desktop-files
29 BuildRequires:  pkgconfig(x11)
30 BuildRequires:  pkgconfig(xi)
31 BuildRequires:  pkgconfig(x11-xcb)
32 BuildRequires:  pkgconfig(xcb) >= 1.6
33 BuildRequires:  pkgconfig(ice)
34 BuildRequires:  pkgconfig(sm)
35 BuildRequires:  pkgconfig(xtst)
36 BuildRequires:  pkgconfig(dbus-1)
37 BuildRequires:  libcap-devel
38 BuildRequires:  orc
39 BuildRequires:  pkgconfig(glib-2.0)
40 BuildRequires:  pkgconfig(json) >= 0.9
41 %if %{with tizen}
42 BuildRequires:  pkgconfig(vconf)
43 BuildRequires:  pkgconfig(dlog)
44 BuildRequires:  pkgconfig(capi-system-power)
45 %endif
46 Requires(pre):         pwdutils
47 Requires:       udev >= 146
48
49 %description
50 pulseaudio is a networked sound server for Linux, other Unix like
51 operating systems and Microsoft Windows. It is intended to be an
52 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
53
54 %package esound-compat
55 Summary:        ESOUND compatibility for PulseAudio
56 Group:          System/Sound Daemons
57 Requires:       %{name} = %{version}
58
59 %description esound-compat
60 pulseaudio is a networked sound server for Linux and other Unix like
61 operating systems and Microsoft Windows. It is intended to be an
62 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
63
64 This package provides the compatibility layer for drop-in replacement
65 of ESOUND.
66
67 %package module-devel
68 Summary:        Headers and libraries for PulseAudio module development
69 License:        LGPLv2+
70 Group:          Development/Libraries
71 Requires:       libpulse-devel = %{version}-%{release}
72
73 %description module-devel
74 Headers and libraries for developing pulseaudio modules
75
76 %package module-x11
77 Summary:        X11 module for PulseAudio
78 Group:          System/Sound Daemons
79 Requires:       %{name} = %{version}
80 Requires:       %{name}-utils = %{version}
81
82 %description module-x11
83 pulseaudio is a networked sound server for Linux and other Unix like
84 operating systems and Microsoft Windows. It is intended to be an
85 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
86
87 This package provides the components needed to automatically start
88 the PulseAudio sound server on X11 startup.
89
90 %package module-zeroconf
91 Summary:        Zeroconf module for PulseAudio
92 Group:          System/Sound Daemons
93 Requires:       %{name} = %{version}
94
95 %description module-zeroconf
96 pulseaudio is a networked sound server for Linux and other Unix like
97 operating systems and Microsoft Windows. It is intended to be an
98 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
99
100 This package provides zeroconf network support for the PulseAudio sound server
101
102 %package module-jack
103 Summary:        JACK support for the PulseAudio sound server
104 Group:          System/Sound Daemons
105 Requires:       %{name} = %{version}
106
107 %description module-jack
108 pulseaudio is a networked sound server for Linux and other Unix like
109 operating systems and Microsoft Windows. It is intended to be an
110 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
111
112 This package includes support for Jack-based applications.
113
114 %package module-bluetooth
115 Summary:        Bluetooth support for the PulseAudio sound server
116 Group:          System/Sound Daemons
117 Requires:       %{name} = %{version}
118 Requires:       bluez >= 4.34
119
120 %description module-bluetooth
121 pulseaudio is a networked sound server for Linux and other Unix like
122 operating systems and Microsoft Windows. It is intended to be an
123 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
124
125 Contains Bluetooth audio (A2DP/HSP/HFP) support for the PulseAudio sound server.
126
127 %package module-gconf
128 Summary:        GCONF module for PulseAudio
129 Group:          System/Sound Daemons
130 Requires:       %{name} = %{version}
131
132 %description module-gconf
133 pulseaudio is a networked sound server for Linux and other Unix like
134 operating systems and Microsoft Windows. It is intended to be an
135 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
136
137 This package provides gconf storage of PulseAudio sound server settings.
138
139 %package -n libpulse
140 Summary:        Client interface to PulseAudio
141 Group:          System/Libraries
142
143 %description -n libpulse
144 pulseaudio is a networked sound server for Linux and other Unix like
145 operating systems and Microsoft Windows. It is intended to be an
146 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
147
148 This package contains the system libraries for clients of pulseaudio
149 sound server.
150
151 %package -n libpulse-mainloop-glib
152 Summary:        GLIB  2.0 Main Loop wrapper for PulseAudio
153 Group:          System/Sound Daemons
154
155 %description -n libpulse-mainloop-glib
156 pulseaudio is a networked sound server for Linux and other Unix like
157 operating systems and Microsoft Windows. It is intended to be an
158 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
159
160 This package contains the GLIB Main Loop bindings for the PulseAudio
161 sound server.
162
163 %package -n libpulse-devel
164 Summary:        Development package for the pulseaudio library
165 Group:          Development/Libraries/C and C++
166 Requires:       libpulse = %{version}
167 Requires:       libpulse-mainloop-glib = %{version}
168 Requires:       pkgconfig
169 Requires:       pkgconfig(glib-2.0)
170
171 %description -n libpulse-devel
172 pulseaudio is a networked sound server for Linux and other Unix like
173 operating systems and Microsoft Windows. It is intended to be an
174 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
175
176 This package contains the files needed to compile programs that use the
177 pulseaudio library.
178
179 %package utils
180 Summary:        PulseAudio utilities
181 Group:          System/Sound Daemons
182 Requires:       %{name} = %{version}
183 Requires:       libpulse-mainloop-glib = %{version}
184 Requires:       libpulse = %{version}
185
186 %description utils
187 pulseaudio is a networked sound server for Linux and other Unix like
188 operating systems and Microsoft Windows. It is intended to be an
189 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
190
191 This package provides utilies for making use of the PulseAudio sound
192 server.
193
194 %package gdm-hooks
195 Summary:        PulseAudio GDM integration
196 Group:          Productivity/Multimedia/Other
197 Requires:       %{name} = %{version}
198 Requires:       gdm >= 2.22
199 Requires(pre):  gdm
200 #avoid cycle
201 #!BuildIgnore: gdm
202
203 %description gdm-hooks
204 pulseaudio is a networked sound server for Linux and other Unix like
205 operating systems and Microsoft Windows. It is intended to be an
206 improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
207
208 This package contains GDM integration hooks for the PulseAudio sound server.
209
210 %prep
211 %setup -q -T -b0
212
213 %build
214 export CFLAGS="%{optflags} -fno-strict-aliasing"
215 # libpulse and libpulsecommon need each other - no way with as-needed
216 export LD_AS_NEEDED=0
217 echo "%{version}" > .tarball-version
218 ./bootstrap.sh
219 %configure \
220         --disable-static \
221         --disable-rpath \
222 %if %{with tizen}
223         --enable-dlog \
224         --enable-pmapi \
225         --enable-spolicy \
226 %endif
227         --enable-systemd \
228         --with-system-user=pulse \
229         --with-system-group=pulse \
230         --with-access-group=pulse-access \
231         --with-udev-rules-dir=/usr/lib/udev/rules.d \
232         --disable-hal
233 make %{?_smp_mflags} V=1
234
235 %install
236 %make_install
237 %find_lang %{name}
238 install %{SOURCE2} %{buildroot}%{_bindir}
239 chmod 755 %{buildroot}%{_bindir}/setup-pulseaudio
240 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
241 touch %{buildroot}%{_sysconfdir}/profile.d/pulseaudio.sh
242 touch %{buildroot}%{_sysconfdir}/profile.d/pulseaudio.csh
243 mkdir -p %{buildroot}%{_localstatedir}/lib/gdm/.pulse
244 cp $RPM_SOURCE_DIR/default.pa-for-gdm %{buildroot}%{_localstatedir}/lib/gdm/.pulse/default.pa
245 ln -s esdcompat %{buildroot}%{_bindir}/esd
246 rm -rf %{buildroot}/etc/xdg/autostart/pulseaudio-kde.desktop
247
248 install -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/sound
249 %clean
250 rm -rf %{buildroot}
251
252 %pre
253 groupadd -r pulse &>/dev/null || :
254 useradd -r -c 'PulseAudio daemon' \
255     -s /sbin/nologin -d /var/lib/pulseaudio -g pulse -G audio pulse &>/dev/null || :
256 groupadd -r pulse-access &>/dev/null || :
257
258 %post   -n libpulse -p /sbin/ldconfig
259
260 %postun -n libpulse -p /sbin/ldconfig
261
262 %post   -n libpulse-mainloop-glib -p /sbin/ldconfig
263
264 %postun -n libpulse-mainloop-glib -p /sbin/ldconfig
265
266 %post
267 /sbin/ldconfig
268 # Update the /etc/profile.d/pulseaudio.* files
269 setup-pulseaudio --auto > /dev/null
270
271 %postun -p /sbin/ldconfig
272
273 %lang_package
274
275 %files
276 %defattr(-,root,root)
277 %license LICENSE GPL LGPL
278 %config(noreplace) %{_sysconfdir}/sysconfig/sound
279 %{_bindir}/pulseaudio
280 %{_bindir}/setup-pulseaudio
281 %dir %{_datadir}/pulseaudio
282 %{_datadir}/pulseaudio/alsa-mixer
283 %{_libdir}/libpulsecore-%{drvver}.so
284 %dir %{_libdir}/pulseaudio
285 %{_libdir}/pulseaudio/libpulsedsp.so
286 %dir %{_libdir}/pulse-%{drvver}/
287 %dir %{_libdir}/pulse-%{drvver}/modules/
288 %{_libdir}/pulse-%{drvver}/modules/libalsa-util.so
289 %{_libdir}/pulse-%{drvver}/modules/libcli.so
290 %{_libdir}/pulse-%{drvver}/modules/liboss-util.so
291 %{_libdir}/pulse-%{drvver}/modules/libprotocol-cli.so
292 %{_libdir}/pulse-%{drvver}/modules/libprotocol-esound.so
293 %{_libdir}/pulse-%{drvver}/modules/libprotocol-http.so
294 %{_libdir}/pulse-%{drvver}/modules/libprotocol-native.so
295 %{_libdir}/pulse-%{drvver}/modules/libprotocol-simple.so
296 %{_libdir}/pulse-%{drvver}/modules/librtp.so
297 %{_libdir}/pulse-%{drvver}/modules/module-alsa-card.so
298 %{_libdir}/pulse-%{drvver}/modules/module-alsa-sink.so
299 %{_libdir}/pulse-%{drvver}/modules/module-alsa-source.so
300 %{_libdir}/pulse-%{drvver}/modules/module-always-sink.so
301 %{_libdir}/pulse-%{drvver}/modules/module-augment-properties.so
302 %{_libdir}/pulse-%{drvver}/modules/module-card-restore.so
303 %{_libdir}/pulse-%{drvver}/modules/module-cli.so
304 %{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-tcp.so
305 %{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-unix.so
306 %{_libdir}/pulse-%{drvver}/modules/module-combine.so
307 %{_libdir}/pulse-%{drvver}/modules/module-combine-sink.so
308 %{_libdir}/pulse-%{drvver}/modules/module-console-kit.so
309 %{_libdir}/pulse-%{drvver}/modules/module-dbus-protocol.so
310 %{_libdir}/pulse-%{drvver}/modules/module-default-device-restore.so
311 %{_libdir}/pulse-%{drvver}/modules/module-detect.so
312 %{_libdir}/pulse-%{drvver}/modules/module-device-manager.so
313 %{_libdir}/pulse-%{drvver}/modules/module-device-restore.so
314 %{_libdir}/pulse-%{drvver}/modules/module-echo-cancel.so
315 %{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnfd.so
316 %{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnpid.so
317 %{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-tcp.so
318 %{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-unix.so
319 %{_libdir}/pulse-%{drvver}/modules/module-esound-sink.so
320 %{_libdir}/pulse-%{drvver}/modules/module-filter-apply.so
321 %{_libdir}/pulse-%{drvver}/modules/module-filter-heuristics.so
322 %{_libdir}/pulse-%{drvver}/modules/module-hal-detect.so
323 %{_libdir}/pulse-%{drvver}/modules/module-http-protocol-tcp.so
324 %{_libdir}/pulse-%{drvver}/modules/module-http-protocol-unix.so
325 %{_libdir}/pulse-%{drvver}/modules/module-intended-roles.so
326 %{_libdir}/pulse-%{drvver}/modules/module-ladspa-sink.so
327 %{_libdir}/pulse-%{drvver}/modules/libraop.so
328 %{_libdir}/pulse-%{drvver}/modules/module-raop-sink.so
329 %{_libdir}/pulse-%{drvver}/modules/module-loopback.so
330 %{_libdir}/pulse-%{drvver}/modules/module-match.so
331 %{_libdir}/pulse-%{drvver}/modules/module-mmkbd-evdev.so
332 %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-fd.so
333 %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-tcp.so
334 %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-unix.so
335 %{_libdir}/pulse-%{drvver}/modules/module-null-sink.so
336 %{_libdir}/pulse-%{drvver}/modules/module-null-source.so
337 %{_libdir}/pulse-%{drvver}/modules/module-oss.so
338 %{_libdir}/pulse-%{drvver}/modules/module-pipe-sink.so
339 %{_libdir}/pulse-%{drvver}/modules/module-pipe-source.so
340 %{_libdir}/pulse-%{drvver}/modules/module-position-event-sounds.so
341 %{_libdir}/pulse-%{drvver}/modules/module-remap-sink.so
342 %{_libdir}/pulse-%{drvver}/modules/module-rescue-streams.so
343 %{_libdir}/pulse-%{drvver}/modules/module-role-cork.so
344 %{_libdir}/pulse-%{drvver}/modules/module-rtp-recv.so
345 %{_libdir}/pulse-%{drvver}/modules/module-rtp-send.so
346 %{_libdir}/pulse-%{drvver}/modules/module-rygel-media-server.so
347 %{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-tcp.so
348 %{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-unix.so
349 %{_libdir}/pulse-%{drvver}/modules/module-sine.so
350 %{_libdir}/pulse-%{drvver}/modules/module-sine-source.so
351 %{_libdir}/pulse-%{drvver}/modules/module-stream-restore.so
352 %{_libdir}/pulse-%{drvver}/modules/module-suspend-on-idle.so
353 %{_libdir}/pulse-%{drvver}/modules/module-switch-on-connect.so
354 %{_libdir}/pulse-%{drvver}/modules/module-switch-on-port-available.so
355 %{_libdir}/pulse-%{drvver}/modules/module-systemd-login.so
356 %{_libdir}/pulse-%{drvver}/modules/module-tunnel-sink.so
357 %{_libdir}/pulse-%{drvver}/modules/module-tunnel-source.so
358 %{_libdir}/pulse-%{drvver}/modules/module-udev-detect.so
359 %{_libdir}/pulse-%{drvver}/modules/module-virtual-sink.so
360 %{_libdir}/pulse-%{drvver}/modules/module-virtual-source.so
361 %{_libdir}/pulse-%{drvver}/modules/module-virtual-surround-sink.so
362 %{_libdir}/pulse-%{drvver}/modules/module-volume-restore.so
363 %if %{with tizen}
364 %{_libdir}/pulse-%{drvver}/modules/module-policy.so
365 %endif
366
367 /usr/lib/udev/rules.d/90-pulseaudio.rules
368 %dir %{_sysconfdir}/pulse/
369 %config(noreplace) %{_sysconfdir}/pulse/daemon.conf
370 %config(noreplace) %{_sysconfdir}/pulse/default.pa
371 %config(noreplace) %{_sysconfdir}/pulse/system.pa
372 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf
373 # created by setup-pulseaudio script
374 %ghost %{_sysconfdir}/profile.d/pulseaudio.sh
375 %ghost %{_sysconfdir}/profile.d/pulseaudio.csh
376
377 %files esound-compat
378 %defattr(-,root,root)
379 %{_bindir}/esdcompat
380 %{_bindir}/esd
381
382 %files gdm-hooks
383 %defattr(-,root,root)
384 %attr(0750, gdm, gdm) %dir %{_localstatedir}/lib/gdm
385 %attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.pulse
386 %attr(0600, gdm, gdm) %{_localstatedir}/lib/gdm/.pulse/default.pa
387
388 %files -n libpulse
389 %defattr(-,root,root)
390 %doc README LICENSE GPL LGPL
391 %dir %{_sysconfdir}/pulse/
392 %config(noreplace) %{_sysconfdir}/pulse/client.conf
393 %{_libdir}/libpulse.so.%{soname}
394 %{_libdir}/libpulse.so.%{soname}.*
395 %{_libdir}/libpulse-simple.so.*
396 %dir %{_libdir}/pulseaudio
397 %{_libdir}/pulseaudio/libpulsecommon-%{drvver}.so
398
399 %files module-devel
400 %defattr(-,root,root)
401 %{_includedir}/pulsecore/*.h
402 %{_includedir}/pulsemodule/pulse/*.h
403 %{_libdir}/pkgconfig/pulseaudio-module-devel.pc
404
405 %files -n libpulse-devel
406 %defattr(-,root,root)
407 %{_includedir}/pulse/
408 %{_libdir}/libpulse.so
409 %{_libdir}/libpulse-mainloop-glib.so
410 %{_libdir}/libpulse-simple.so
411 %{_libdir}/pkgconfig/libpulse*.pc
412 %dir %{_libdir}/cmake
413 %dir %{_libdir}/cmake/PulseAudio
414 %{_libdir}/cmake/PulseAudio/PulseAudio*.cmake
415 %{_datadir}/vala
416
417 %files -n libpulse-mainloop-glib
418 %defattr(-,root,root)
419 %{_libdir}/libpulse-mainloop-glib.so.*
420
421 %files module-bluetooth
422 %defattr(-,root,root)
423 %{_libdir}/pulse-%{drvver}/modules/libbluetooth-ipc.so
424 %{_libdir}/pulse-%{drvver}/modules/libbluetooth-sbc.so
425 %{_libdir}/pulse-%{drvver}/modules/libbluetooth-util.so
426 %{_libdir}/pulse-%{drvver}/modules/module-bluetooth-device.so
427 %{_libdir}/pulse-%{drvver}/modules/module-bluetooth-discover.so
428 %{_libdir}/pulse-%{drvver}/modules/module-bluetooth-proximity.so
429 %attr(0755,root,root) %{_libexecdir}/pulse/proximity-helper
430
431 %files module-gconf
432 %defattr(-,root,root)
433 #%dir %{_libexecdir}/pulse
434 #%{_libdir}/pulse-%{drvver}/modules/module-gconf.so
435 #%{_libexecdir}/pulse/gconf-helper
436
437
438 %files module-x11
439 %defattr(-,root,root)
440 %{_sysconfdir}/xdg/autostart/pulseaudio.desktop
441 %{_bindir}/start-pulseaudio-x11
442 %{_bindir}/start-pulseaudio-kde
443 %{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so
444 %{_libdir}/pulse-%{drvver}/modules/module-x11-cork-request.so
445 %{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so
446 %{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so
447
448 %files module-zeroconf
449 %defattr(-,root,root)
450 #%{_libdir}/pulse-%{drvver}/modules/libavahi-wrap.so
451 %{_libdir}/pulse-%{drvver}/modules/libraop.so
452 #%{_libdir}/pulse-%{drvver}/modules/module-raop-discover.so
453 %{_libdir}/pulse-%{drvver}/modules/module-raop-sink.so
454 #%{_libdir}/pulse-%{drvver}/modules/module-zeroconf-discover.so
455 #%{_libdir}/pulse-%{drvver}/modules/module-zeroconf-publish.so
456
457 %files utils
458 %defattr(-,root,root)
459 %{_bindir}/pacat
460 %{_bindir}/pacmd
461 %{_bindir}/pactl
462 %{_bindir}/paplay
463 %{_bindir}/parec
464 %{_bindir}/pamon
465 %{_bindir}/parecord
466 %{_bindir}/pax11publish
467 %{_bindir}/padsp
468 %{_bindir}/pasuspender
469
470
471 %docs_package
472 %changelog