# Forked from Alpine for enhanced Bluetooth HFP support pkgname=pulseaudio pkgver=9999_git20220621 _pkgver=16.1 pkgrel=0 pkgdesc="featureful, general-purpose sound server" provider_priority=10 url="https://www.freedesktop.org/wiki/Software/PulseAudio/" arch="all" license="LGPL-2.1-or-later" options="!check" makedepends=" meson tdb-dev alsa-lib-dev libasyncns-dev dbus-dev glib-dev gtk+3.0-dev orc-dev orc-compiler libsndfile-dev soxr-dev libx11-dev libxcb-dev libice-dev libsm-dev libxtst-dev avahi-dev sbc-dev fftw-dev jack-dev openssl1.1-compat-dev speexdsp-dev eudev-dev libcap-dev bluez-dev check-dev libtool perl perl-xml-parser m4 gstreamer-dev gst-plugins-base-dev modemmanager-dev " depends_openrc="alsa-utils alsa-utils-openrc" subpackages=" $pkgname-dev $pkgname-doc $pkgname-bluez libpulse-mainloop-glib:_libpulse_mainloop_glib $pkgname-alsa $pkgname-utils $pkgname-jack $pkgname-zeroconf $pkgname-openrc $pkgname-bash-completion $pkgname-zsh-completion $pkgname-lang $pkgname-equalizer libpulse:_libpulse " install="pulseaudio.post-install" builddir="$srcdir/$pkgname-$_pkgver" source="https://freedesktop.org/software/pulseaudio/releases/pulseaudio-$_pkgver.tar.xz 0001-bluez5-util-move-pa_bluetooth_discovery-to-header.patch 0002-bluetooth-add-AT-BIA-support.patch 0003-bluetooth-add-UPower-backend.patch 0004-bluetooth-hook-up-UPower-backend.patch 0005-bluetooth-add-ModemManager-backend.patch 0006-bluetooth-only-reply-OK-for-supported-AT-cmds.patch 0007-bluetooth-Always-reply-to-AT-CIND.patch 0008-bluetooth-support-AT-CMEE.patch 0009-bluetooth-support-AT-NREC.patch 0010-bluetooth-support-AT-BCC.patch 0011-bluetooth-support-AT-COPS.patch 0012-bluetooth-support-AT-CNUM.patch 0013-bluetooth-support-more-AT-CIND-indicators.patch 0014-bluetooth-support-AT-CLIP.patch 0015-bluetooth-support-AT-CREG.patch 0016-bluetooth-support-AT-CGMM.patch 0017-bluetooth-support-AT-CGMI.patch 0018-bluetooth-support-AT-CGMR.patch 0019-bluetooth-support-AT-CGSN.patch 0020-bluetooth-support-AT-CLCC.patch 0021-bluetooth-support-CIEV-RING-and-CLIP-URCs.patch 0022-bluetooth-support-AT-VTS.patch 0023-bluetooth-support-ATA.patch 0024-bluetooth-support-AT-CHUP.patch 0025-bluetooth-support-ATD-number.patch 0026-bluetooth-strip-additional-out-of-spec-r-n-chars.patch link-libintl.patch $pkgname.initd $pkgname.confd " case "$CARCH" in aarch64|armv7|armhf|x86|ppc64le) options="$options !check" # once-test fails, all others pass ;; s390x) options="$options !check" # mix-test fails, all others pass ;; esac case "$CARCH" in x86|x86_64|aarch64) makedepends="$makedepends webrtc-audio-processing-dev" _webrtc_aec="disabled" ;; * ) _webrtc_aec="disabled" # webrtc-audio-processing not available ;; esac prepare() { default_prepare sed "s|sysconfdir, 'dbus-1'|datadir, 'dbus-1'|" \ -i src/daemon/meson.build } build() { abuild-meson \ -Dgcov=false \ -Dman=true \ -Dtests=true \ -Dsystem_user=pulse \ -Dsystem_group=pulse \ -Ddatabase=tdb \ -Dalsa=enabled \ -Dasyncns=enabled \ -Davahi=enabled \ -Dbluez5=enabled \ -Ddbus=enabled \ -Dfftw=enabled \ -Dglib=enabled \ -Dgsettings=enabled \ -Dgtk=enabled \ -Dhal-compat=false \ -Dipv6=true \ -Djack=enabled \ -Dlirc=disabled \ -Dopenssl=enabled \ -Dorc=enabled \ -Dsamplerate=disabled \ -Dsoxr=enabled \ -Dspeex=enabled \ -Dsystemd=disabled \ -Dudev=enabled \ -Dx11=enabled \ -Dudevrulesdir=/usr/lib/udev/rules.d \ -Dgstreamer=enabled \ -Dwebrtc-aec="$_webrtc_aec" \ -Ddoxygen=false \ -Dstream-restore-clear-old-devices=true \ . output meson compile ${JOBS:+-j ${JOBS}} -C output } check() { meson test --no-rebuild -v -C output } package() { DESTDIR="$pkgdir" meson install --no-rebuild -C output install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname # Assumes that any volume adjustment is intended by the user, who can control # each app's volume. Misbehaving clients can trigger earsplitting volume # jumps. App volumes can diverge wildly and cause apps without their own # volume control to fall below sink volume; a sink-only volume control will # suddenly be unable to make such an app loud enough. sed '/flat-volumes/iflat-volumes = no' -i "$pkgdir"/etc/pulse/daemon.conf # Disable cork-request module, can result in e.g. media players unpausing # when there's a Skype call incoming sed 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \ -i "$pkgdir"/usr/bin/start-pulseaudio-x11 # Required by qpaeq sed '/Load several protocols/aload-module module-dbus-protocol' \ -i "$pkgdir"/etc/pulse/default.pa } openrc() { replaces="$pkgname-system" # Backward compatibility default_openrc } _libpulse() { pkgdesc="Pulseaudio libraries" replaces="$pkgname-libs" amove usr/lib/pulseaudio/libpulse* amove usr/lib/libpulse.so.0* amove usr/lib/libpulse-simple.so.0* amove etc/pulse/client.conf } _libpulse_mainloop_glib() { pkgdesc="Pulseaudio mainloop-glib library" amove usr/lib/libpulse-mainloop-glib.so.* } bluez() { pkgdesc="Pulseaudio Bluetooth support" install_if="$pkgname=$pkgver-r$pkgrel bluez" provider_priority=10 # highest (other provider is pipewire-pulse) amove usr/lib/pulseaudio/modules/*bluez*.so amove usr/lib/pulseaudio/modules/*bluetooth*.so } alsa() { pkgdesc="Pulseaudio ALSA support" install_if="$pkgname=$pkgver-r$pkgrel alsa-lib" provider_priority=10 # highest (other provider is pipewire-pulse) amove usr/lib/pulseaudio/modules/*alsa*.so } utils() { pkgdesc="Pulseaudio utilities" amove usr/bin/pa* } jack() { pkgdesc="Pulseaudio JACK support" amove usr/lib/pulseaudio/modules/*jack*.so } zeroconf() { pkgdesc="Pulseaudio Zeroconf support" depends="avahi" amove usr/lib/pulseaudio/modules/*avahi*.so amove usr/lib/pulseaudio/modules/*zeroconf*.so amove usr/lib/pulseaudio/modules/*raop*.so } equalizer() { pkgdesc="Equalizer for $pkgname" depends="pulseaudio=$pkgver-r$pkgrel py3-qt5 py3-dbus" amove usr/bin/qpaeq amove usr/lib/pulseaudio/modules/module-equalizer-sink.so } sha512sums=" 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f pulseaudio-16.1.tar.xz c0a5a4854be7f8c5421671b7c5b890d9f097f8d0a1ac20009549786c28a66c9f28ac58863eea12f467ced87cbdb6093ea1a8444b9f1c1abda2aaa7e64c6c640a 0001-bluez5-util-move-pa_bluetooth_discovery-to-header.patch c84e4e0591c21348be197fae4b54bdd437a8e39803daa8448fcaf03119a39723214b81b8c32b5a6b166fc4449b78a44c7633bd09a77902903d15b17299a58234 0002-bluetooth-add-AT-BIA-support.patch a2ceac55f6cc8097569fec5e7a76f9e6ce3c79dacb27f5f19baed3a808e9be30e3c9a22b84b74e3d774d16f2d45c93e64a1248fc56b6d3cd897f620d46f581f9 0003-bluetooth-add-UPower-backend.patch ffe399905f400628c0bcb732c6000ced30a3835884dfd0910bebf4af81ca63e743bb144e845978fda02ec4c81295e87ccf596b55d68e4c59ff827e5b1102a72e 0004-bluetooth-hook-up-UPower-backend.patch 58f7fc83c3c15e9df3b36cc192113d29fc6020823a36b30b68702373248a93c6e60a174a3c71c693547d33de55a9d20e72cf65f3957cea323b04c222d5d701ff 0005-bluetooth-add-ModemManager-backend.patch 98c0b80638603899b1639fedcc5edcde721f22cd3e7abed425015c933e65769b295a80b0d6a444fc5144cd1c6851dce41710dd8361fce2bfe5022ed913ad82ba 0006-bluetooth-only-reply-OK-for-supported-AT-cmds.patch 535b242b76fc494138a16b326708eaa4d410fbc5a779bda1471e25c56440d7e9a4c80b0bccd3ba5e0026f40c09e3b7b84bbb409e51c020deff8c9b0ead74fb71 0007-bluetooth-Always-reply-to-AT-CIND.patch cdd7d3d47932c11ff7bd2bd4589b26dd3d92180fd4c156e70f57dcf5b560e05cd37d548a6e5280e47d258804f9dcaa3dd498d9dcdbb2e5c4e87f9f81dc7de73a 0008-bluetooth-support-AT-CMEE.patch 7b6a99b1d76781c36007b746bf2a47f163efeca843f36d75d4485c688d8f3a7fcafc9c36c1aa2ff02759184e20d387a89beea36ca0da64e23bb29dfc71feb55c 0009-bluetooth-support-AT-NREC.patch b2bda75da4a4a5a2511fd3cd9ac8da8b3c59276a6396106e2249dd31053b68797f3f923177e6cd06fd7ae3cb3e2110e8bf8facb269d80a0e637a6f38cd8bb68c 0010-bluetooth-support-AT-BCC.patch 53bdf256fb2db1d6997204ba9504b584423946e177f8e1a819de0fafea29092a1925a0f7cde253635aa1f83c67e6b91bf3608fe543bc2185cd2ddf4aa5942054 0011-bluetooth-support-AT-COPS.patch f3063daac100ef5d1fba792bb900a434be8cd0f9093a9be1ab68d84b8f94f39efc16c59d749f293e9b7556632866688757dc3d6e922096102f4583acb3f3cf5a 0012-bluetooth-support-AT-CNUM.patch 19880702e533bb46a67f09e8848bc2741a275c20b847dea96a0dba0424639715b0cd3d25a9168916cdc4ae4462b67855a3bb3b1d8384c12292fbacc032c2f0fa 0013-bluetooth-support-more-AT-CIND-indicators.patch cd3d67672ff77d7908b01b4a377901d5e008b31b88d0e2c86918263c10a250aaf807cbf54cc3b095b1bf38ee533b3c0f409c5e1e2ced1df045fc64f421e02f78 0014-bluetooth-support-AT-CLIP.patch 967983f1e589945da4c0139d3d7d7be2c796f4a9ab52b344acd19723170c220dd7e00feafd2ad0a0481940f27c01176ccd54418758acedbc1c686d3426df9812 0015-bluetooth-support-AT-CREG.patch 61c400797405120cb065dea285e79a0056d716ff5ade3c8ea5a7e9f205c6895c0885f5ddb8c1abeec08ce3cf195b79bf7dc4d20281c5f7d5ee668accddab8cb9 0016-bluetooth-support-AT-CGMM.patch 42a3739a44bdcc01df0f3fa6fac5efb88f4fcf69686b529f8390d58b4becfd9b948d3ddea80aa5b8d007d96e22b4a87dedb5cbff610f008c317b31c8ae700774 0017-bluetooth-support-AT-CGMI.patch 6a4cd357126ebe99647bd3f4780ca109f2e823e0653851663d1d000b98e156ac17293058c8b94263371e303233f1c8e56073b523c91588d75989acb45b660ac2 0018-bluetooth-support-AT-CGMR.patch b83d00a32c8e28c566e74ab8edd35e107313f31f4ff2ead21d6f9446a79f6ec520e7a737ef79844d46fbcceaad74fdaeb14ad37a865284c259f768156514f858 0019-bluetooth-support-AT-CGSN.patch c58265d7c8f201765a254b2b26ff38f89ac2392acfb57024592e01096a997394322e726425fd02c37e21f6ab72638206d891354b2cd950102e7c13d87e026d40 0020-bluetooth-support-AT-CLCC.patch c93be49e11055af356a01cc3545f984348dcff052f8777ef0127e2a9cab241fa83682550a5ffd69589d6603f1fb47ad3da248ff055b6c983e50ed817c63d1008 0021-bluetooth-support-CIEV-RING-and-CLIP-URCs.patch d0663f8962f916d2149f44fe6d598ddea6df3cee542ee5ba9b418d05397c88a9c16368f9da2f96750e8bfb6a8e747e59fdc10f52fa59d1096ed6e59625c5dabd 0022-bluetooth-support-AT-VTS.patch a39cbab500be77e88a7b8dd615ce7e1a2f8d678b19fe823552bb5d1279e2ae06aac3c353e03e10d601c53a5befe731ce00f8163c7b3a1e7b4b0c26a4fdde1730 0023-bluetooth-support-ATA.patch 9b93fd3dd2859b600d9eed9097f89b2a26220603eccdc61c6edb9b3b7488a97dbc5cee0dd4c40da3d1cbd8849023fd48f30ea1da0668c0bae189337bc8d1db9f 0024-bluetooth-support-AT-CHUP.patch 3eec77a1b39dbab93a4284de433946b70d6b9f972e62b02f076cb4a45b1f288e32ae05d8d557ed13ef21eded407951f9c0f48c78bdac9d47f318d2c7b288e10c 0025-bluetooth-support-ATD-number.patch 76b486095b1f2bb5d23837ed8f08d5ac7533e7c9621b2534c85b39a932663ffcf86b7fefaba1f2abc6aa7a95660c658cbcdeef20427b8ebb6e05cf532ee48731 0026-bluetooth-strip-additional-out-of-spec-r-n-chars.patch 2c31c5bc592e748248215f8f62f85687cfec230b05f65441e6dafa5fa77d4967e97636209b2011a4501ed1337ecd880b264baa175586fc85183a980846cb8146 link-libintl.patch 34fe54ece5df60ce63a7955cd828a2716670fef71f40960698ae5518fdaf9cd599f4d8f8852e2c88d715600a9ad06a38984415e5eb320071012e5eb6e5c1b8b1 pulseaudio.initd 75b54581591519d63a3362b155c0f9b0501a60763ab394693a456c44d0216138cf3a40bdd0f7442028663bc045e9ffee286f8f8eaf2ee3bb17379b43615fee0e pulseaudio.confd "