pmaports/temp/pulseaudio/APKBUILD

286 lines
11 KiB
Text
Raw Normal View History

# Forked from Alpine for enhanced Bluetooth HFP support
pkgname=pulseaudio
pkgver=9999_git20220621
_pkgver=16.1
pkgrel=2
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="pmb:strict !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
openssl-dev>3
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
remove-once-test.patch
$pkgname.initd
$pkgname.confd
"
case "$CARCH" in
x86|x86_64|aarch64)
makedepends="$makedepends webrtc-audio-processing-dev"
_webrtc_aec="enabled"
;;
* )
_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() {
# See pma#2368
_lto_enable="false"
abuild-meson \
-Db_lto="$_lto_enable" \
-Dgcov=false \
-Dman=true \
-Dtests="$(want_check && echo true || echo false)" \
-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 -C output
}
check() {
XDG_RUNTIME_DIR="$(mktemp -d)" \
meson test --no-rebuild --print-errorlogs -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"
amove usr/lib/pulseaudio/modules/*alsa*.so
}
utils() {
pkgdesc="Pulseaudio utilities"
amove usr/bin/pa*
amove usr/bin/start-pulseaudio-x11
}
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
c1223cf42538d91f31dbcb1a167537a1d3b6e8a3bf1b454cdebf95c25ca6f3b444848e9d546f092988851f71fe2c9dd9c4a781a58795e2f57d98563963a4630a remove-once-test.patch
d3a95453361d4b12e2d4df73a72bbdc9343e2a46e8f5f3aac07b3cb1f9e016fd89816745f485468d144911900a2b38741a371f91cf08285c4b4988e4403d91a0 pulseaudio.initd
75b54581591519d63a3362b155c0f9b0501a60763ab394693a456c44d0216138cf3a40bdd0f7442028663bc045e9ffee286f8f8eaf2ee3bb17379b43615fee0e pulseaudio.confd
"