temp/sxmo-utils: patch to support pulseaudio (MR 3711)

This package is just forked from alpine upstream and patched to support
pulseaudio. This patch should be upstreamed to sxmo but posting here so
that others can help me figure out why audio calls with poco f1 and Sxmo
are broken:

https://gitlab.com/postmarketOS/pmaports/-/issues/1821
This commit is contained in:
Anjandev Momi 2022-12-10 12:30:57 -08:00 committed by Oliver Smith
parent 7125b75b68
commit 3ff8cfa528
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
5 changed files with 136 additions and 0 deletions

53
temp/sxmo-utils/APKBUILD Normal file
View file

@ -0,0 +1,53 @@
# Maintainer: Anjandev Momi <anjan@momi.ca>
# Contributor: Maarten van Gompel <proycon@anaproy.nl>
pkgname=sxmo-utils
pkgver=1.12.0
pkgrel=1
pkgdesc="Utility scripts, programs, and configs that hold the Sxmo UI environment together"
url="https://git.sr.ht/~mil/sxmo-utils"
arch="all !ppc64le" # limited by codemadness-frontends
license="AGPL-3.0-only"
makedepends="libx11-dev xproto linux-headers"
depends="
coreutils
gawk
curl
doas
gojq
"
options="!check" # has no tests
subpackages="$pkgname-openrc"
source="
$pkgname-$pkgver.tar.gz::https://git.sr.ht/~mil/sxmo-utils/archive/$pkgver.tar.gz
rootfs-etc-NetworkManager-conf.d-00-sxmo.conf
rootfs-etc-polkit-1-rules.d-00-sxmo.rules
rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules
pulse.patch
"
package() {
mkdir -p "$pkgdir/etc/modules-load.d/"
printf %b "snd-aloop" > "$pkgdir/etc/modules-load.d/sxmo.conf"
mkdir -p "$pkgdir/etc/modprobe.d/"
printf %b "options snd slots=,snd-aloop" > "$pkgdir/etc/modprobe.d/sxmo.conf"
make -C "$builddir" DESTDIR=$pkgdir install
install -Dm644 "$srcdir/rootfs-etc-NetworkManager-conf.d-00-sxmo.conf" \
"$pkgdir/etc/NetworkManager/conf.d/00-sxmo.conf"
install -Dm755 "$srcdir/rootfs-etc-polkit-1-rules.d-00-sxmo.rules" \
"$pkgdir/etc/polkit-1/rules.d/00-sxmo.rules"
install -Dm755 "$srcdir/rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules" \
"$pkgdir/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules"
}
sha512sums="
4fb3102f2ca94d6a44eb830b4f29f3cca98854d6dc48b319ed136403366fe324232303f2ac3593425cea8037548c9bffb209a9824cdedbe3e655c2916d221dc1 sxmo-utils-1.12.0.tar.gz
67a031f309a3232ac1e8abc3fedeaee912c035f9c81b4f709248895905a27ab5844ec92c65e55b79af3894450ba3883549d4004f11efebb47114d41f730e4a5f rootfs-etc-NetworkManager-conf.d-00-sxmo.conf
6dbfebe1335e4ed979240868cc339bf446bba41b8f357c11ef73179acc670b831de91327da4ab6ebe8ebd06ba7205e81b505ef1800246e30fc7ccf9e3df9c5e9 rootfs-etc-polkit-1-rules.d-00-sxmo.rules
db670992a5cf95b317ee458bbcc24c64cc0ed978e922a4a034cb94a453479dd50d75d718ecc01267a018e6674e66015122ab0965f96e21062206dc03406b2f7f rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules
743d3e38315f1a82ca21354ce026ca9783e006afd3096a5fe2be304c744b6bf30af897bfffc3c6a487b461d104d95abfdf39a75f3e16af33db902c41a597aca2 pulse.patch
"

View file

@ -0,0 +1,57 @@
commit 67e7b0bf41b6f2cafd3078542c29612f34565fd7
Author: Anjandev Momi <anjan@momi.ca>
Date: Sat Dec 10 12:22:25 2022 -0800
support pulseaudio if installed
SDM845 devices need pulseaudio over pipewire for calls to work.
https://gitlab.com/postmarketOS/pmaports/-/issues/1821
diff --git a/configs/default_hooks/sxmo_hook_start.sh b/configs/default_hooks/sxmo_hook_start.sh
index 94255f9..4287886 100755
--- a/configs/default_hooks/sxmo_hook_start.sh
+++ b/configs/default_hooks/sxmo_hook_start.sh
@@ -21,9 +21,14 @@ while ! superctl status > /dev/null 2>&1; do
done
# Load our sound daemons
-# pipewire-pulse will start pipewire
-superctl start pipewire-pulse
-superctl start wireplumber
+
+if [ "$(command -v pulseaudio)" ]; then
+ superctl start pulseaudio
+elif [ "$(command -v pipewire)" ]; then
+ # pipewire-pulse will start pipewire
+ superctl start pipewire-pulse
+ superctl start wireplumber
+fi
# mako/dunst are required for warnings.
# load some other little things here too.
diff --git a/configs/superd/services/pulseaudio.service b/configs/superd/services/pulseaudio.service
new file mode 100644
index 0000000..6f65feb
--- /dev/null
+++ b/configs/superd/services/pulseaudio.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=general purpose sound server intended to run as a middleware between your applications and your hardware devices
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/usr/bin/pulseaudio
diff --git a/scripts/core/sxmo_version.sh b/scripts/core/sxmo_version.sh
index 90a28e9..77640e1 100755
--- a/scripts/core/sxmo_version.sh
+++ b/scripts/core/sxmo_version.sh
@@ -28,6 +28,7 @@ esac
printf "superd "
/usr/bin/superctl --version
+pactl info
"$KEYBOARD" -v
/usr/bin/mmcli --version | head -n 1
uname -m

View file

@ -0,0 +1,14 @@
[main]
plugins+=ifupdown
[ifupdown]
managed=true
[logging]
level=INFO
[device-mac-randomization]
wifi.scan-rand-mac-address=no
[keyfile]
unmanaged-devices=interface-name:p2p0

View file

@ -0,0 +1,7 @@
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.ModemManager1.") == 0 &&
subject.isInGroup("plugdev")) {
return polkit.Result.YES;
}
});

View file

@ -0,0 +1,5 @@
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
return polkit.Result.YES;
}
});