systemd/pipewire: drop aport

Unit files were added to the upstream aports pkg.

pw and pw-pulse are no longer socket activated with this change, because
that requires linking against libsystemd(which isn't enabled upstream),
but I think that's worth avoiding all of the packaging complexity of
having a pipewire pkg fork in pmaports.

Fixes #4279

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7894>
This commit is contained in:
Clayton Craft 2026-02-01 06:00:34 -08:00 committed by [Merge Bot]
parent d3c283226e
commit 5d96898b6c
No known key found for this signature in database
5 changed files with 0 additions and 315 deletions

View file

@ -1,264 +0,0 @@
# Forked from Alpine to rebuild with systemd support
maintainer="Achill Gilgenast <achill@achill.org>"
pkgname=pipewire
_pkgver=1.4.10
pkgver=9999$_pkgver
pkgrel=2
_so_ver=0.3
pkgdesc="Multimedia processing graphs"
url="https://pipewire.org/"
# armhf: pmb#2618
arch="all !armhf"
license="LGPL-2.1-or-later"
pkggroups="pipewire"
makedepends="
alsa-lib-dev
avahi-dev
bash
bluez-dev
dbus-dev
doxygen
eudev-dev
fdk-aac-dev
glib-dev
graphviz
gst-plugins-base-dev
gstreamer-dev
jack-dev
libcamera-dev
libfreeaptx-dev
liblc3-dev
libusb-dev
libx11-dev
lilv-dev
meson
modemmanager-dev
ncurses-dev
pulseaudio-dev
py3-docutils
readline-dev
roc-toolkit-dev
sbc-dev
vulkan-loader-dev
webrtc-audio-processing-2-dev
xmltoman
systemd-dev
"
# move regular -dev after -jackdev, to steal files
subpackages="
$pkgname-dbg
$pkgname-doc
$pkgname-alsa
$pkgname-pulse
$pkgname-pulse-systemd:pulse_systemd
$pkgname-jack
$pkgname-jack-dev:jackdev
$pkgname-dev
gst-plugin-pipewire:gst_plugin
$pkgname-zeroconf
$pkgname-spa-bluez
$pkgname-spa-vulkan
$pkgname-tools
$pkgname-spa-tools:spa_tools
$pkgname-lang
$pkgname-echo-cancel:echo_cancel
$pkgname-systemd
$pkgname-udev
"
install="$pkgname.post-upgrade $pkgname.post-install"
source="https://gitlab.freedesktop.org/PipeWire/pipewire/-/archive/$_pkgver/pipewire-$_pkgver.tar.gz
pipewire.desktop
pipewire-launcher.sh
"
builddir="$srcdir/$pkgname-$_pkgver"
options="!check" # fails with pmbootstrap for armhf
case "$CARCH" in
s390x)
# libldac not available for big endian
;;
*)
makedepends="$makedepends libldac-dev"
;;
esac
# put libs last to steal residual files taken by some prior extras
subpackages="$subpackages $pkgname-libs"
build() {
CFLAGS="$CFLAGS -O2" \
CXXFLAGS="$CXXFLAGS -O2" \
CPPFLAGS="$CPPFLAGS -O2" \
abuild-meson \
-Dlibjack-path=/usr/lib \
-Dlibv4l2-path=/usr/lib \
-Ddocs=disabled \
-Dman=enabled \
-Dgstreamer=enabled \
-Dexamples=enabled \
-Dffmpeg=disabled \
-Djack-devel=true \
-Dsystemd=enabled\
-Dvulkan=enabled \
-Dsdl2=disabled \
-Dlv2=enabled \
-Dlibcamera=enabled \
-Droc=enabled \
-Dbluez5-codec-lc3=enabled \
-Dbluez5-backend-native-mm=enabled \
-Dsession-managers=[] \
. output
meson compile -C output
}
check() {
# disable tests on armv7, this is run via qemu+binfmt on pmOS CI and fails.
# See: https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5142#note_1969455333
[ "$CARCH" = "armv7" ] && return
meson test --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
install -Dm644 "$srcdir"/pipewire.desktop -t "$pkgdir"/etc/xdg/autostart/
install -Dm755 "$srcdir"/pipewire-launcher.sh "$pkgdir"/usr/libexec/pipewire-launcher
}
alsa() {
pkgdesc="ALSA support for pipewire"
replaces="$pkgname" # for backward compatibility
amove usr/lib/alsa-lib
amove usr/share/alsa/alsa.conf.d
install -d "$subpkgdir"/etc/alsa/conf.d
for i in "$subpkgdir"/usr/share/alsa/alsa.conf.d/*.conf; do
ln -s -- "${i#"$subpkgdir"}" "$subpkgdir"/etc/alsa/conf.d/
done
}
pulse() {
pkgdesc="Pulseaudio support for pipewire"
depends="
pipewire-session-manager
pulseaudio-utils
"
provides="pulseaudio=0.$pkgver-r$pkgrel pulseaudio-bluez=0.$pkgver-r$pkgrel"
provider_priority=1
amove usr/bin/pipewire-pulse
amove usr/lib/pipewire-$_so_ver/libpipewire-module-protocol-pulse.so
amove usr/lib/pipewire-$_so_ver/libpipewire-module-pulse-tunnel.so
amove usr/lib/pipewire-$_so_ver/libpipewire-module-filter-chain.so
amove usr/share/pipewire/pipewire-pulse.conf
amove usr/share/pipewire/pipewire-pulse.conf.avail
}
pulse_systemd() {
amove usr/lib/systemd/user/pipewire-pulse.service
amove usr/lib/systemd/user/pipewire-pulse.socket
# We can't just call default_systemd because that would take
# all the systemd unit files!
install_if="systemd pipewire-pulse=0.$pkgver-r$pkgrel"
}
jack() {
pkgdesc="JACK support for pipewire"
depends="pipewire-session-manager"
provides="jack=$pkgver-r$pkgrel"
replaces="jack"
amove usr/lib/libjack*.so.*
amove usr/bin/pw-jack
amove usr/lib/spa-*/jack/libspa-jack.so
amove usr/share/pipewire/jack.conf
}
gst_plugin() {
pkgdesc="Multimedia graph framework - PipeWire plugin"
depends="pipewire-session-manager gst-plugins-base"
install_if="$pkgname=$pkgver-r$pkgrel gstreamer"
amove usr/lib/gstreamer-1.0
}
echo_cancel() {
pkgdesc="WebRTC-based echo canceller module for PipeWire"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/lib/pipewire-$_so_ver/libpipewire-module-echo-cancel.so
}
zeroconf() {
pkgdesc="$pkgdesc - Zeroconf support"
depends=""
provides="pulseaudio-zeroconf=$pkgver-r$pkgrel"
provider_priority=1
amove usr/lib/pipewire-$_so_ver/libpipewire-module-zeroconf-discover.so
amove usr/lib/pipewire-$_so_ver/libpipewire-module-raop-*.so
}
bluez() {
pkgdesc="PipeWire BlueZ5 SPA plugin (Bluetooth)"
depends=""
replaces="$pkgname" # for backward compatibility
amove usr/lib/spa-*/bluez5
}
vulkan() {
pkgdesc="PipeWire Vulkan SPA plugin"
depends=""
amove usr/lib/spa-*/vulkan
}
tools() {
pkgdesc="PipeWire tools"
depends="$pkgname=$pkgver-r$pkgrel"
replaces="$pkgname" # for backward compatibility
amove usr/bin/pw-*
}
spa_tools() {
pkgdesc="PipeWire SPA tools"
depends=""
replaces="$pkgname" # for backward compatibility
amove usr/bin/spa-*
}
jackdev() {
pkgdesc="JACK development files (from pipewire)"
# our version gets picked in the dependency resolver in pmbootstrap, due to the higher version
# provides="jack-dev=$_pkgver-r$pkgrel"
amove usr/lib/libjack*.so
amove usr/include/jack
amove usr/lib/pkgconfig/jack.pc
}
libs() {
default_libs
# the libraries must be paired with the client config and the plugins,
# see:
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3296
# https://bugs.archlinux.org/task/78813
amove \
usr/share/pipewire/client*.conf* \
usr/lib/pipewire-*/ \
usr/lib/spa-*/
}
sha512sums="
aa5a01fe812bfb439147885fdef89edfcd9f97943eb3fb209b698896d0092a9bdba02de3df4c39d14f5c1792b69927c36eb7af134e9a85e7a794bcbf9def3986 pipewire-1.4.10.tar.gz
b70b05151bcf4b7f13d68b2731d789b9c062fadfcb91f4ed6bdb0d495390b0010f57034fb115a053e1459c7d9ea27523ca1c0c69639aeeb96c17ebac8dfc5b57 pipewire.desktop
6f4322d306bef346187778fc0975d608fdd37d4c8e08815a0aed28ef7e07c3f21d6a80b70743d0f867bdc237f5e1dc28131c778e7a45e363e5677668ce7acdb1 pipewire-launcher.sh
"

View file

@ -1,22 +0,0 @@
#!/bin/sh
# We need to kill any existing pipewire instance to restore sound
pkill -u "${USER}" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1
exec /usr/bin/pipewire &
# wait for pipewire to start before attempting to start related daemons
while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do
sleep 1
done
if [ -x /usr/bin/wireplumber ]; then
exec /usr/bin/wireplumber &
elif [ -x /usr/bin/pipewire-media-session ]; then
exec /usr/bin/pipewire-media-session &
fi
[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire-pulse &

View file

@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Pipewire
Comment=Start Pipewire
Exec=/usr/libexec/pipewire-launcher
Terminal=false
Type=Application
X-KDE-autostart-phase=1
X-GNOME-HiddenUnderSystemd=true
X-systemd-skip=true

View file

@ -1,5 +0,0 @@
#!/bin/sh
addgroup -S pipewire 2>/dev/null
exit 0

View file

@ -1,14 +0,0 @@
#!/bin/sh
ver_old="$2"
if [ "$(apk version -t "$ver_old" '0.3.33-r3')" = '<' ]; then
cat >&2 <<-EOF
*
* Pipewire bluez5 (Bluetooth) and FFmpeg SPA plugins, ALSA support, pw-* and
* spa-* tools have been moved to subpackages. If you use them, install
* pipewire-spa-bluez, pipewire-spa-ffmpeg, pipewire-alsa, pipewire-tools and/or
* pipewire-spa-tools, repsectively.
*
EOF
fi