Cleanup
[framework/multimedia/pulseaudio.git] / packaging / pulseaudio.spec
1 %define pulseversion  0.9.21
2
3 Name:       pulseaudio
4 Summary:    Improved Linux sound server
5 Version:    0.9.21
6 Release:    16
7 Group:      Multimedia/PulseAudio
8 License:    LGPLv2+
9 URL:        http://pulseaudio.org
10 Source0:    http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-%{version}.tar.gz
11 Requires:   udev 
12 Requires(post): /sbin/ldconfig
13 Requires(postun): /sbin/ldconfig
14 BuildRequires:  pkgconfig(capi-system-power)
15 BuildRequires:  pkgconfig(sysman) 
16 BuildRequires:  pkgconfig(speexdsp)
17 BuildRequires:  pkgconfig(sndfile)
18 BuildRequires:  pkgconfig(alsa)
19 BuildRequires:  pkgconfig(glib-2.0)
20 BuildRequires:  pkgconfig(gconf-2.0)
21 BuildRequires:  pkgconfig(bluez)
22 BuildRequires:  pkgconfig(libudev)
23 BuildRequires:  pkgconfig(dlog)
24 BuildRequires:  pkgconfig(vconf)
25 BuildRequires:  m4
26 BuildRequires:  libtool-ltdl-devel
27 BuildRequires:  libtool
28 BuildRequires:  intltool
29 BuildRequires:  fdupes
30
31
32 %description
33 PulseAudio is a sound server for Linux and other Unix like operating
34 systems. It is intended to be an improved drop-in replacement for the
35 Enlightened Sound Daemon (ESOUND).
36
37 %package libs
38 Summary:    PulseAudio client libraries
39 Group:      Multimedia/PulseAudio
40 Requires:   %{name} = %{version}-%{release}
41 Requires:   /bin/sed
42
43 %description libs
44 Client libraries used by applications that access a PulseAudio sound server
45 via PulseAudio's native interface.
46
47
48 %package libs-devel
49 Summary:    PulseAudio client development headers and libraries
50 Group:      Development/Libraries
51 Requires:   %{name} = %{version}-%{release}
52
53 %description libs-devel
54 Headers and libraries for developing applications that access a PulseAudio
55  sound server via PulseAudio's native interface
56
57
58 %package utils
59 Summary:    Command line tools for the PulseAudio sound server
60 Group:      Multimedia/PulseAudio
61 Requires:   %{name} = %{version}-%{release}
62 Requires:   /bin/sed
63
64 %description utils
65 These tools provide command line access to various features of the
66 PulseAudio sound server. Included tools are:
67    pabrowse - Browse available PulseAudio servers on the local network.
68    paplay - Playback a WAV file via a PulseAudio sink.
69    pacat - Cat raw audio data to a PulseAudio sink.
70    parec - Cat raw audio data from a PulseAudio source.
71    pacmd - Connect to PulseAudio's built-in command line control interface.
72    pactl - Send a control command to a PulseAudio server.
73    padsp - /dev/dsp wrapper to transparently support OSS applications.
74
75
76 %package module-bluetooth
77 Summary:    Bluetooth module for PulseAudio sound server
78 Group:      Multimedia/PulseAudio
79 Requires:   %{name} = %{version}-%{release}
80 Requires:   /bin/sed
81
82 %description module-bluetooth
83 This module enables PulseAudio to work with bluetooth devices, like headset
84  or audio gatewa
85
86 %prep
87 %setup -q
88
89
90 %build
91 unset LD_AS_NEEDED
92 export LDFLAGS+="-Wl,--no-as-needed"
93 %reconfigure --disable-static --enable-alsa --disable-ipv6 --disable-oss-output --disable-oss-wrapper --enable-dlog --enable-bluez --disable-hal --disable-hal-compat --disable-legacy-runtime-dir
94 make %{?jobs:-j%jobs}
95
96 %install
97 rm -rf %{buildroot}
98 %make_install
99
100
101 install -D -m0755 pulseaudio.sh.in %{buildroot}%{_sysconfdir}/rc.d/init.d/pulseaudio.sh
102
103 pushd %{buildroot}/etc/pulse/filter
104 ln -sf filter_8000_44100.dat filter_11025_44100.dat
105 ln -sf filter_8000_44100.dat filter_12000_44100.dat
106 ln -sf filter_8000_44100.dat filter_16000_44100.dat
107 ln -sf filter_8000_44100.dat filter_22050_44100.dat
108 ln -sf filter_8000_44100.dat filter_24000_44100.dat
109 ln -sf filter_8000_44100.dat filter_32000_44100.dat
110 popd
111
112 rm -rf  %{buildroot}/etc/xdg/autostart/pulseaudio-kde.desktop
113 rm -rf  %{buildroot}/usr/bin/start-pulseaudio-kde
114 rm -rf  %{buildroot}/usr/bin/start-pulseaudio-x11
115
116 %find_lang pulseaudio
117 %fdupes  %{buildroot}/%{_datadir}
118 %fdupes  %{buildroot}/%{_includedir}
119
120
121
122 %post 
123 /sbin/ldconfig
124 ln -s  /etc/rc.d/init.d/pulseaudio.sh /etc/rc.d/rc3.d/S20pulseaudio
125 ln -s  /etc/rc.d/init.d/pulseaudio.sh /etc/rc.d/rc4.d/S20pulseaudio
126
127 %postun
128 /sbin/ldconfig
129 rm -f %{_sysconfdir}/rc.d/rc3.d/S20pulseaudio
130 rm -f %{_sysconfdir}/rc.d/rc4.d/S20pulseaudio
131
132 %post libs -p /sbin/ldconfig
133
134 %postun libs -p /sbin/ldconfig
135
136
137 %post module-bluetooth -p /sbin/ldconfig
138 %postun module-bluetooth -p /sbin/ldconfig
139
140
141 %docs_package
142
143 %lang_package
144
145
146 %files
147 %defattr(-,root,root,-)
148 %doc LICENSE GPL LGPL
149 /etc/pulse/filter/*.dat
150
151
152 %dir %{_sysconfdir}/pulse/
153 %exclude %config(noreplace) %{_sysconfdir}/pulse/daemon.conf
154 %exclude %config(noreplace) %{_sysconfdir}/pulse/default.pa
155 %exclude %config(noreplace) %{_sysconfdir}/pulse/system.pa
156 %{_sysconfdir}/rc.d/init.d/pulseaudio.sh
157 %{_bindir}/esdcompat
158 %{_bindir}/pulseaudio
159 %dir %{_libexecdir}/pulse
160 %{_libexecdir}/pulse/*
161 %{_libdir}/libpulsecore-%{pulseversion}.so
162 %exclude %{_libdir}/libpulse-mainloop-glib.so.*
163 /lib/udev/rules.d/90-pulseaudio.rules
164 %exclude %{_datadir}/pulseaudio/alsa-mixer/paths/*
165 %exclude %{_datadir}/pulseaudio/alsa-mixer/profile-sets/*
166 %{_bindir}/pamon
167 /etc/dbus-1/system.d/pulseaudio-system.conf
168 #list all modules
169 %{_libdir}/pulse-%{pulseversion}/modules/libalsa-util.so
170 %{_libdir}/pulse-%{pulseversion}/modules/libcli.so
171 %{_libdir}/pulse-%{pulseversion}/modules/libprotocol-cli.so
172 %{_libdir}/pulse-%{pulseversion}/modules/libprotocol-http.so
173 %{_libdir}/pulse-%{pulseversion}/modules/libprotocol-native.so
174 %{_libdir}/pulse-%{pulseversion}/modules/libprotocol-simple.so
175 %{_libdir}/pulse-%{pulseversion}/modules/librtp.so
176 %{_libdir}/pulse-%{pulseversion}/modules/module-alsa-sink.so
177 %{_libdir}/pulse-%{pulseversion}/modules/module-alsa-source.so
178 %{_libdir}/pulse-%{pulseversion}/modules/module-always-sink.so
179 %{_libdir}/pulse-%{pulseversion}/modules/module-console-kit.so
180 %{_libdir}/pulse-%{pulseversion}/modules/module-device-restore.so
181 %{_libdir}/pulse-%{pulseversion}/modules/module-device-manager.so
182 %{_libdir}/pulse-%{pulseversion}/modules/module-stream-restore.so
183 %{_libdir}/pulse-%{pulseversion}/modules/module-cli-protocol-tcp.so
184 %{_libdir}/pulse-%{pulseversion}/modules/module-cli-protocol-unix.so
185 %{_libdir}/pulse-%{pulseversion}/modules/module-cli.so
186 %{_libdir}/pulse-%{pulseversion}/modules/module-combine.so
187 %{_libdir}/pulse-%{pulseversion}/modules/module-default-device-restore.so
188 %{_libdir}/pulse-%{pulseversion}/modules/module-detect.so
189 %exclude %{_libdir}/pulse-%{pulseversion}/modules/module-esound-sink.so
190 %{_libdir}/pulse-%{pulseversion}/modules/module-http-protocol-tcp.so
191 %{_libdir}/pulse-%{pulseversion}/modules/module-http-protocol-unix.so
192 %{_libdir}/pulse-%{pulseversion}/modules/module-intended-roles.so
193 %%exclude %{_libdir}/pulse-%{pulseversion}/modules/module-ladspa-sink.so
194 %{_libdir}/pulse-%{pulseversion}/modules/module-match.so
195 %{_libdir}/pulse-%{pulseversion}/modules/module-mmkbd-evdev.so
196 %{_libdir}/pulse-%{pulseversion}/modules/module-native-protocol-fd.so
197 %{_libdir}/pulse-%{pulseversion}/modules/module-native-protocol-tcp.so
198 %{_libdir}/pulse-%{pulseversion}/modules/module-native-protocol-unix.so
199 %{_libdir}/pulse-%{pulseversion}/modules/module-null-sink.so
200 %{_libdir}/pulse-%{pulseversion}/modules/module-pipe-sink.so
201 %{_libdir}/pulse-%{pulseversion}/modules/module-pipe-source.so
202 %%exclude %{_libdir}/pulse-%{pulseversion}/modules/module-position-event-sounds.so
203 %{_libdir}/pulse-%{pulseversion}/modules/module-remap-sink.so
204 %{_libdir}/pulse-%{pulseversion}/modules/module-rescue-streams.so
205 %{_libdir}/pulse-%{pulseversion}/modules/module-rtp-recv.so
206 %{_libdir}/pulse-%{pulseversion}/modules/module-rtp-send.so
207 %{_libdir}/pulse-%{pulseversion}/modules/module-simple-protocol-tcp.so
208 %{_libdir}/pulse-%{pulseversion}/modules/module-simple-protocol-unix.so
209 %{_libdir}/pulse-%{pulseversion}/modules/module-sine.so
210 %{_libdir}/pulse-%{pulseversion}/modules/module-tunnel-sink.so
211 %{_libdir}/pulse-%{pulseversion}/modules/module-tunnel-source.so
212 %{_libdir}/pulse-%{pulseversion}/modules/module-suspend-on-idle.so
213 %{_libdir}/pulse-%{pulseversion}/modules/module-volume-restore.so
214 %{_libdir}/pulse-%{pulseversion}/modules/module-alsa-card.so
215 %{_libdir}/pulse-%{pulseversion}/modules/module-augment-properties.so
216 %{_libdir}/pulse-%{pulseversion}/modules/module-card-restore.so
217 %{_libdir}/pulse-%{pulseversion}/modules/module-cork-music-on-phone.so
218 %{_libdir}/pulse-%{pulseversion}/modules/module-sine-source.so
219 %{_libdir}/pulse-%{pulseversion}/modules/module-loopback.so
220 %exclude %{_libdir}/pulse-%{pulseversion}/modules/module-rygel-media-server.so
221 %{_libdir}/pulse-%{pulseversion}/modules/module-policy.so
222 %{_libdir}/pulse-%{pulseversion}/modules/module-echo-cancel.so
223 %{_libdir}/pulse-%{pulseversion}/modules/module-virtual-sink.so
224 %{_libdir}/pulse-%{pulseversion}/modules/module-virtual-source.so
225 %exclude %{_libdir}/pulse-%{pulseversion}/modules/libprotocol-esound.so
226 %exclude %{_libdir}/pulse-%{pulseversion}/modules/module-esound-compat-spawnfd.so
227 %exclude %{_libdir}/pulse-%{pulseversion}/modules/module-esound-compat-spawnpid.so
228 %exclude %{_libdir}/pulse-%{pulseversion}/modules/module-esound-protocol-tcp.so
229 %exclude %{_libdir}/pulse-%{pulseversion}/modules/module-esound-protocol-unix.so
230 %{_libdir}/pulse-%{pulseversion}/modules/module-gconf.so
231 %{_libdir}/pulse-%{pulseversion}/modules/module-udev-detect.so
232
233
234 %files libs
235 %defattr(-,root,root,-)
236 %exclude %config(noreplace) %{_sysconfdir}/pulse/client.conf
237 %{_libdir}/libpulse.so.*
238 %{_libdir}/libpulse-simple.so.*
239 %{_libdir}/libpulsecommon-*.so
240
241 %files libs-devel
242 %defattr(-,root,root,-)
243 %{_includedir}/pulse/*
244 #%{_includedir}/pulse-modules-headers/pulsecore/
245 %{_libdir}/libpulse.so
246 %{_libdir}/libpulse-simple.so
247 %{_libdir}/pkgconfig/libpulse-simple.pc
248 %{_libdir}/pkgconfig/libpulse.pc
249 %{_datadir}/vala/vapi/libpulse.vapi
250 %exclude %{_libdir}/pkgconfig/libpulse-mainloop-glib.pc
251 %exclude %{_libdir}/libpulse-mainloop-glib.so
252
253 %files utils
254 %defattr(-,root,root,-)
255 %doc %{_mandir}/man1/pabrowse.1.gz
256 %doc %{_mandir}/man1/pacat.1.gz
257 %doc %{_mandir}/man1/pacmd.1.gz
258 %doc %{_mandir}/man1/pactl.1.gz
259 #%doc %{_mandir}/man1/padsp.1.gz
260 %doc %{_mandir}/man1/paplay.1.gz
261 %doc %{_mandir}/man1/pasuspender.1.gz
262 %{_bindir}/pacat
263 %{_bindir}/pacmd
264 %{_bindir}/pactl
265 #%{_bindir}/padsp
266 %{_bindir}/paplay
267 %{_bindir}/parec
268 %{_bindir}/pamon
269 %{_bindir}/parecord
270 %{_bindir}/pasuspender
271
272 %files module-bluetooth
273 %defattr(-,root,root,-)
274 %{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-proximity.so
275 %{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-device.so
276 %{_libdir}/pulse-%{pulseversion}/modules/module-bluetooth-discover.so
277 %{_libdir}/pulse-%{pulseversion}/modules/libbluetooth-ipc.so
278 %{_libdir}/pulse-%{pulseversion}/modules/libbluetooth-sbc.so
279 %{_libdir}/pulse-%{pulseversion}/modules/libbluetooth-util.so
280 #%{_libdir}/pulseaudio/pulse/proximity-helper