ed1040e5dc
Something seems to have gone wrong in our rebuild and sync of pulseaudio with alpine upstream. And user feedback points that building armv7 devices with LTO is actually broken in our builders. In alpine, they enabled lto in pulseaudio very long ago (f46174365b219fe431890df3df7e7dc488c9451e 08-09-22) and nobody as complained so far. Since it's not really a phone-specific package, one would hope that more people upstream would have noticed if it were broken there. Since nobody has, we assume this is a downstream problem, and just unconditionally disable lto in our build. We hope this will be just a temporary workaround, until the patches that prompted the fork are no longer needed, and we can simply use upstream pulseaudio, that shouldn't be broken. Fixes #2368 [ci:skip-build] already built successfully in CI
285 lines
11 KiB
Text
285 lines
11 KiB
Text
# 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
|
|
"
|