1 # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
16 pkgdesc="A featureful, general-purpose sound server"
17 url="https://www.freedesktop.org/wiki/Software/PulseAudio/"
50 webrtc-audio-processing
53 _commit=e5ad31e873eed62bc580a86a61177047f9e8c491 # tags/v16.1^0
54 source=("git+https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git#commit=$_commit")
59 git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g'
65 # Freeze version before patching
66 ./git-version-gen doesnt-exist >.tarball-version
72 -D pulsedsp-location='/usr/\$LIB/pulseaudio'
73 -D stream-restore-clear-old-devices=true
75 -D udevrulesdir=/usr/lib/udev/rules.d
78 arch-meson pulseaudio build "${meson_options[@]}"
79 meson compile -C build
83 meson test -C build --print-errorlogs
84 ninja -C build test-daemon
88 local p="$1" f d; shift
90 d="$srcdir/$p/${f#$pkgdir/}"
91 mkdir -p "$(dirname "$d")"
93 rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
97 package_pulseaudio() {
103 "libpulse=$pkgver-$pkgrel"
111 webrtc-audio-processing
114 'pulseaudio-alsa: ALSA configuration (recommended)'
115 'pulseaudio-bluetooth: Bluetooth support'
116 'pulseaudio-equalizer: Graphical equalizer'
117 'pulseaudio-jack: Jack support'
118 'pulseaudio-lirc: IR (lirc) support'
119 'pulseaudio-rtp: RTP and RAOP support'
120 'pulseaudio-zeroconf: Zeroconf support'
123 etc/pulse/daemon.conf
127 install=pulseaudio.install
129 'pulseaudio-gconf<=11.1'
130 'pulseaudio-xen<=9.0'
133 meson install -C build --destdir "$pkgdir"
137 # Superseded by socket activation
138 sed -e '/autospawn/iautospawn = no' \
139 -i etc/pulse/client.conf
141 # Disable cork-request module, can result in e.g. media players unpausing
142 # when there's a Skype call incoming
143 sed -e 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \
144 -i usr/bin/start-pulseaudio-x11
147 sed -e '/Load several protocols/aload-module module-dbus-protocol' \
148 -i etc/pulse/default.pa
153 _pick libpulse etc/pulse/client.conf
154 _pick libpulse usr/bin/pa{cat,ctl,dsp,mon,play,rec,record}
155 _pick libpulse usr/lib/libpulse{,-simple,-mainloop-glib}.so*
156 _pick libpulse usr/lib/{cmake,pkgconfig}
157 _pick libpulse usr/lib/pulseaudio/libpulse{dsp,common-*}.so
158 _pick libpulse usr/include
159 _pick libpulse usr/share/man/man1/pa{cat,ctl,dsp,mon,play,rec,record}.1
160 _pick libpulse usr/share/man/man5/pulse-client.conf.5
161 _pick libpulse usr/share/bash-completion/completions/pa{cat,ctl,dsp,play,rec,record}
162 _pick libpulse usr/share/bash-completion/completions/pulseaudio
163 _pick libpulse usr/share/vala
164 _pick libpulse usr/share/zsh
166 local moddir=usr/lib/pulseaudio/modules
168 _pick zeroconf $moddir/libavahi-wrap.so
169 _pick zeroconf $moddir/module-zeroconf-{publish,discover}.so
170 _pick zeroconf $moddir/module-raop-discover.so
172 _pick lirc $moddir/module-lirc.so
174 _pick jack $moddir/module-jack-{sink,source}.so
175 _pick jack $moddir/module-jackdbus-detect.so
177 _pick bluetooth $moddir/libbluez5-util.so
178 _pick bluetooth $moddir/module-bluetooth-{discover,policy}.so
179 _pick bluetooth $moddir/module-bluez5-{discover,device}.so
181 _pick equalizer $moddir/module-equalizer-sink.so
182 _pick equalizer usr/bin/qpaeq
184 _pick rtp $moddir/lib{rtp,raop}.so
185 _pick rtp $moddir/module-rtp-{send,recv}.so
186 _pick rtp $moddir/module-raop-sink.so
190 pkgdesc="$pkgdesc (client library)"
198 optdepends=('glib2: mainloop integration')
200 libpulse-mainloop-glib.so
205 backup=(etc/pulse/client.conf)
207 mv libpulse/* "$pkgdir"
210 package_pulseaudio-zeroconf() {
211 pkgdesc="Zeroconf support for PulseAudio"
214 "pulseaudio=$pkgver-$pkgrel"
217 mv zeroconf/* "$pkgdir"
220 package_pulseaudio-lirc() {
221 pkgdesc="IR (lirc) support for PulseAudio"
224 "pulseaudio=$pkgver-$pkgrel"
230 package_pulseaudio-jack() {
231 pkgdesc="Jack support for PulseAudio"
234 "pulseaudio=$pkgver-$pkgrel"
240 package_pulseaudio-bluetooth() {
241 pkgdesc="Bluetooth support for PulseAudio"
245 gst-plugins-base-libs
246 "pulseaudio=$pkgver-$pkgrel"
249 optdepends=('gst-plugins-bad: AptX and LDAC support')
251 mv bluetooth/* "$pkgdir"
254 package_pulseaudio-equalizer() {
255 pkgdesc="Graphical equalizer for PulseAudio"
257 "pulseaudio=$pkgver-$pkgrel"
262 mv equalizer/* "$pkgdir"
265 package_pulseaudio-rtp() {
266 pkgdesc="RTP and RAOP support for PulseAudio"
269 gst-plugins-base-libs
272 "pulseaudio=$pkgver-$pkgrel"