community/wireplumber: subpackage -systemd

This commit is contained in:
Achill Gilgenast 2026-02-03 22:38:56 +01:00
parent 0a08fe5ce7
commit ea3aa1da0d
No known key found for this signature in database
GPG Key ID: BB8C8A81C6452A88
2 changed files with 65 additions and 1 deletions

View File

@ -1,7 +1,7 @@
maintainer="team/alpine-desktop <bribbers@disroot.org>"
pkgname=wireplumber
pkgver=0.5.13
pkgrel=0
pkgrel=1
pkgdesc="Session / policy manager implementation for PipeWire"
url="https://pipewire.org/"
arch="all"
@ -32,9 +32,11 @@ subpackages="
$pkgname-zsh-completion
$pkgname-doc
$pkgname-openrc
$pkgname-systemd
"
source="https://gitlab.freedesktop.org/PipeWire/wireplumber/-/archive/$pkgver/wireplumber-$pkgver.tar.gz
wireplumber.initd
systemd.patch
"
provides="pipewire-session-manager"
@ -46,6 +48,8 @@ build() {
-Dintrospection=enabled \
-Dsystem-lua=true \
-Delogind=enabled \
-Dsystemd-user-service=true \
-Dsystemd-user-unit-dir="/usr/lib/systemd/user" \
-Dtests="$(want_check && echo true || echo false)" \
. output
meson compile -C output
@ -77,4 +81,5 @@ logind() {
sha512sums="
7eade5a372cb67adca205bc85e4da0ed689d6e0fef5b44d78dc73303a1bba1bc106c19338838c700ae2332c75d05e2eb187f9d89b489baefca3ccc1b92e5d62b wireplumber-0.5.13.tar.gz
49498bf81297e0816c871324d20d6174fb30b7ce564f9a4d4975f141e5829308c6a7d99d96a3a20773e40aa9f3492ce34e9cf10ccd9e125b6b8ac49107d99e57 wireplumber.initd
cb0425f6152409bc5b73fdebc7a9c9ec903bdec3e5622ec02cff0961cc42af9bc6e843fae14ee00d8174aa3ed1b56f52c696d6f2a4a73b83d1aa7e436f46a39d systemd.patch
"

View File

@ -0,0 +1,59 @@
Patch-Source: https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/793
---
From 41afbaa999cfdc09f2ce996517768c9ab5fbcc0d Mon Sep 17 00:00:00 2001
From: Achill Gilgenast <achill@achill.org>
Date: Tue, 3 Feb 2026 22:30:55 +0100
Subject: [PATCH] systemd: Allow installation of systemd services without
libsystemd
Allows installation of systemd services without libsystemd installed.
Useful for Alpine Linux where systemd services are allowed to be subpackaged
(e.g. for postmarketOS) but hasn't systemd in it's repos.
It has no change in existing behavior, but installs services if the unit
directories are explicitly set.
---
src/systemd/meson.build | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/systemd/meson.build b/src/systemd/meson.build
index 73163c84..b56b7185 100644
--- a/src/systemd/meson.build
+++ b/src/systemd/meson.build
@@ -1,13 +1,18 @@
-if systemd.found()
+if get_option('systemd-system-service') or get_option('systemd-user-service')
systemd_config = configuration_data()
systemd_config.set('WP_BINARY', wireplumber_bin_dir / 'wireplumber')
- # system service
- if get_option('systemd-system-service')
+ if systemd.found()
systemd_system_unit_dir = systemd.get_variable(
- pkgconfig: 'systemdsystemunitdir',
- pkgconfig_define: ['prefix', get_option('prefix')])
+ pkgconfig: 'systemdsystemunitdir',
+ pkgconfig_define: ['prefix', get_option('prefix')])
+ systemd_user_unit_dir = systemd.get_variable(
+ pkgconfig: 'systemduserunitdir',
+ pkgconfig_define: ['prefix', get_option('prefix')])
+ endif
+ # system service
+ if get_option('systemd-system-service')
if get_option('systemd-system-unit-dir') != ''
systemd_system_unit_dir = get_option('systemd-system-unit-dir')
endif
@@ -17,9 +22,6 @@ if systemd.found()
# user service
if get_option('systemd-user-service')
- systemd_user_unit_dir = systemd.get_variable(
- pkgconfig: 'systemduserunitdir',
- pkgconfig_define: ['prefix', get_option('prefix')])
if get_option('systemd-user-unit-dir') != ''
systemd_user_unit_dir = get_option('systemd-user-unit-dir')
--
GitLab