From 75f228f64113087b5dbb473c852e9b630ac49834 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Mon, 29 May 2023 15:24:46 -0400 Subject: [PATCH 1/3] pipewire: move system service to /usr/share/examples/PKGNAME/sv/ remove pipewire-pulse service. this should be launched by pipewire config if desired --- srcpkgs/pipewire/files/README.voidlinux | 9 ++++++--- srcpkgs/pipewire/files/pipewire-pulse/run | 8 -------- srcpkgs/pipewire/files/pipewire/control/t | 2 ++ srcpkgs/pipewire/files/pipewire/run | 2 +- srcpkgs/pipewire/template | 6 +++--- 5 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 srcpkgs/pipewire/files/pipewire-pulse/run create mode 100755 srcpkgs/pipewire/files/pipewire/control/t mode change 100644 => 100755 srcpkgs/pipewire/files/pipewire/run diff --git a/srcpkgs/pipewire/files/README.voidlinux b/srcpkgs/pipewire/files/README.voidlinux index 33892fdef84b..f2c10e37e7cd 100644 --- a/srcpkgs/pipewire/files/README.voidlinux +++ b/srcpkgs/pipewire/files/README.voidlinux @@ -8,6 +8,9 @@ Optional dependencies: * `libspa-v4l2` for video camera support * `rtkit` for realtime priority acquisition -The system services /etc/sv/pipewire and /etc/sv/pipewire-pulse are -experimental and only needed in rare cases so using them should be -avoided in most setups. +The example system service /usr/share/examples/pipewire/sv/pipewire is +experimental and only needed in rare cases, so using it should be avoided +in most setups. To use it, pipewire needs to be configured to launch +pipewire-pulse and wireplumber as documented at + + https://docs.voidlinux.org/config/media/pipewire.html diff --git a/srcpkgs/pipewire/files/pipewire-pulse/run b/srcpkgs/pipewire/files/pipewire-pulse/run deleted file mode 100644 index 6eb172b8b19f..000000000000 --- a/srcpkgs/pipewire/files/pipewire-pulse/run +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -exec 2>&1 -# this service is experimental and most setups should start pipewire as a user, -# for further information, please refer to the handbook -! [ -d /run/pulse ] && install -m 755 -g _pipewire -o _pipewire -d /run/pulse -umask 002 -export PULSE_RUNTIME_PATH=/run/pulse -exec chpst -u _pipewire:_pipewire pipewire-pulse diff --git a/srcpkgs/pipewire/files/pipewire/control/t b/srcpkgs/pipewire/files/pipewire/control/t new file mode 100755 index 000000000000..a095b7bc777a --- /dev/null +++ b/srcpkgs/pipewire/files/pipewire/control/t @@ -0,0 +1,2 @@ +#!/bin/sh +[ -r supervise/pid ] && kill -TERM -$(cat supervise/pid) diff --git a/srcpkgs/pipewire/files/pipewire/run b/srcpkgs/pipewire/files/pipewire/run old mode 100644 new mode 100755 index a201626e464d..d932511a9700 --- a/srcpkgs/pipewire/files/pipewire/run +++ b/srcpkgs/pipewire/files/pipewire/run @@ -6,4 +6,4 @@ exec 2>&1 umask 002 export PIPEWIRE_RUNTIME_DIR=/run/pipewire export XDG_STATE_HOME=/var/lib -exec chpst -u _pipewire:_pipewire:audio:video pipewire +exec chpst -P -u _pipewire:_pipewire:audio:video dbus-run-session pipewire diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template index 7ad92c87fa3b..3e0cffb69a3c 100644 --- a/srcpkgs/pipewire/template +++ b/srcpkgs/pipewire/template @@ -1,7 +1,7 @@ # Template file for 'pipewire' pkgname=pipewire version=0.3.71 -revision=2 +revision=3 build_style=meson configure_args=" --auto-features=enabled @@ -56,8 +56,8 @@ fi post_install() { vlicense LICENSE vdoc "${FILESDIR}/README.voidlinux" - vsv pipewire - vsv pipewire-pulse + vmkdir usr/share/examples/sv + vcopy ${FILESDIR}/pipewire usr/share/examples/sv/ vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications vsconf "${FILESDIR}/20-pipewire-pulse.conf" From e6eaddf7bd38f29b4809b436131ef45a9dd52d96 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Mon, 29 May 2023 15:24:59 -0400 Subject: [PATCH 2/3] wireplumber: remove system service if desired, can be launched by pipewire config --- srcpkgs/wireplumber/files/wireplumber/control/t | 2 -- srcpkgs/wireplumber/files/wireplumber/run | 10 ---------- srcpkgs/wireplumber/template | 3 +-- 3 files changed, 1 insertion(+), 14 deletions(-) delete mode 100755 srcpkgs/wireplumber/files/wireplumber/control/t delete mode 100644 srcpkgs/wireplumber/files/wireplumber/run diff --git a/srcpkgs/wireplumber/files/wireplumber/control/t b/srcpkgs/wireplumber/files/wireplumber/control/t deleted file mode 100755 index a095b7bc777a..000000000000 --- a/srcpkgs/wireplumber/files/wireplumber/control/t +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -[ -r supervise/pid ] && kill -TERM -$(cat supervise/pid) diff --git a/srcpkgs/wireplumber/files/wireplumber/run b/srcpkgs/wireplumber/files/wireplumber/run deleted file mode 100644 index 9a28ecdbe9a4..000000000000 --- a/srcpkgs/wireplumber/files/wireplumber/run +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# this service is experimental and most setups should start pipewire and wireplumber as a user, -# for further information, please refer to the handbook - -sv check dbus >/dev/null 2>&1 || exit 1 - -exec 2>&1 - -export XDG_STATE_HOME=/var/lib/pipewire -exec chpst -u _pipewire:_pipewire:audio:video -P dbus-run-session wireplumber diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template index 3584bf374a64..0014c3357f7c 100644 --- a/srcpkgs/wireplumber/template +++ b/srcpkgs/wireplumber/template @@ -1,7 +1,7 @@ # Template file for 'wireplumber' pkgname=wireplumber version=0.4.14 -revision=4 +revision=5 build_style=meson build_helper=gir configure_args="-Dintrospection=enabled -Dsystem-lua=true" @@ -20,7 +20,6 @@ make_dirs="/var/lib/wireplumber 0755 _pipewire _pipewire" post_install() { vlicense LICENSE - vsv wireplumber vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications vsconf "${FILESDIR}/10-wireplumber.conf" } From 12a5f0267be18827e99465366195a6fcaa47f1f3 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Mon, 29 May 2023 15:25:05 -0400 Subject: [PATCH 3/3] pulseaudio: move system services to /usr/share/examples/PKGNAME/sv/ also fix a couple things in the template --- srcpkgs/pulseaudio/files/README.voidlinux | 6 +++--- srcpkgs/pulseaudio/files/pulseaudio/run | 0 srcpkgs/pulseaudio/template | 14 ++++---------- 3 files changed, 7 insertions(+), 13 deletions(-) mode change 100644 => 100755 srcpkgs/pulseaudio/files/pulseaudio/run diff --git a/srcpkgs/pulseaudio/files/README.voidlinux b/srcpkgs/pulseaudio/files/README.voidlinux index 68bcd10179c3..56fda2525861 100644 --- a/srcpkgs/pulseaudio/files/README.voidlinux +++ b/srcpkgs/pulseaudio/files/README.voidlinux @@ -1,6 +1,6 @@ -The system service `/etc/sv/pulseaudio` provided by the pulseaudio package is -only needed in rare cases and should be avoided in most setups for performance -and security reasons. +The example system service `/usr/share/examples/pulseaudio/sv/pulseaudio` +provided by the pulseaudio package is only needed in rare cases and should be +avoided in most setups for performance and security reasons. Optional dependencies: diff --git a/srcpkgs/pulseaudio/files/pulseaudio/run b/srcpkgs/pulseaudio/files/pulseaudio/run old mode 100644 new mode 100755 diff --git a/srcpkgs/pulseaudio/template b/srcpkgs/pulseaudio/template index 685154e8c0e1..1bbca888f444 100644 --- a/srcpkgs/pulseaudio/template +++ b/srcpkgs/pulseaudio/template @@ -1,7 +1,7 @@ # Template file for 'pulseaudio' pkgname=pulseaudio version=15.0 -revision=3 +revision=4 build_style=meson configure_args="-Djack=enabled -Dlirc=disabled -Dhal-compat=false -Dorc=enabled -Dgtk=disabled -Dsystemd=disabled -Dwebrtc-aec=enabled @@ -26,7 +26,7 @@ distfiles="${FREEDESKTOP_SITE}/${pkgname}/releases/${pkgname}-${version}.tar.xz" checksum=a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0 python_version=3 # FIXME: core-util-test fails -make_check=yes +make_check=no system_groups="pulse-access" system_accounts="pulse" @@ -44,16 +44,10 @@ case "$XBPS_TARGET_MACHINE" in arm*) configure_args+=" -Db_lto=false" esac -pre_configure() { - case "$XBPS_TARGET_MACHINE" in - # Disable neon optimizations for the arm* architectures - arm*) vsed -e '/ neon/d' -i src/pulsecore/meson.build ;; - esac -} - post_install() { rm ${DESTDIR}/etc/dbus-1/system.d/pulseaudio-system.conf - vsv pulseaudio + vmkdir usr/share/examples/pulseaudio/sv/ + vcopy ${FILESDIR}/pulseaudio usr/share/examples/pulseaudio/sv/ vdoc $FILESDIR/README.voidlinux }