diff --git a/temp/sxmo-utils/APKBUILD b/temp/sxmo-utils/APKBUILD new file mode 100644 index 000000000..ce694c2f2 --- /dev/null +++ b/temp/sxmo-utils/APKBUILD @@ -0,0 +1,53 @@ +# Maintainer: Anjandev Momi +# Contributor: Maarten van Gompel +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 +" diff --git a/temp/sxmo-utils/pulse.patch b/temp/sxmo-utils/pulse.patch new file mode 100644 index 000000000..02cbe91d2 --- /dev/null +++ b/temp/sxmo-utils/pulse.patch @@ -0,0 +1,57 @@ +commit 67e7b0bf41b6f2cafd3078542c29612f34565fd7 +Author: Anjandev Momi +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 diff --git a/temp/sxmo-utils/rootfs-etc-NetworkManager-conf.d-00-sxmo.conf b/temp/sxmo-utils/rootfs-etc-NetworkManager-conf.d-00-sxmo.conf new file mode 100644 index 000000000..264c97b5d --- /dev/null +++ b/temp/sxmo-utils/rootfs-etc-NetworkManager-conf.d-00-sxmo.conf @@ -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 diff --git a/temp/sxmo-utils/rootfs-etc-polkit-1-rules.d-00-sxmo.rules b/temp/sxmo-utils/rootfs-etc-polkit-1-rules.d-00-sxmo.rules new file mode 100644 index 000000000..c825aaf4c --- /dev/null +++ b/temp/sxmo-utils/rootfs-etc-polkit-1-rules.d-00-sxmo.rules @@ -0,0 +1,7 @@ +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.ModemManager1.") == 0 && + subject.isInGroup("plugdev")) { + + return polkit.Result.YES; + } +}); diff --git a/temp/sxmo-utils/rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules b/temp/sxmo-utils/rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules new file mode 100644 index 000000000..8e9465c4f --- /dev/null +++ b/temp/sxmo-utils/rootfs-etc-polkit-1-rules.d-50-org.freedesktop.NetworkManager.rules @@ -0,0 +1,5 @@ +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) { + return polkit.Result.YES; + } +});