Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
@ 2023-01-25 16:31 ahesford
  2023-01-25 16:49 ` [PR PATCH] [Updated] " ahesford
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: ahesford @ 2023-01-25 16:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1507 bytes --]

There is a new pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
[Note: this is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.]

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 21541 bytes --]

From 61bfda3bfe0f0392d3a15da5ca583efdf3300599 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 1/2] pipewire: update to 0.3.64, rename pipewire-utils, add
 new metapackage

pipewire will not work without a session manager; the previously
included pipewire-media-session has long been deprecated and is now
abandoned [1]. Making pipewire depend on wireplumber would create a
cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users
to see the new meta as an update that will pull in an updated real
pipewire alongside the now-required wireplumber.

Continuing the work of #38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2
---
 srcpkgs/alsa-pipewire                         |   2 +-
 srcpkgs/gstreamer1-pipewire                   |   2 +-
 srcpkgs/libjack-pipewire                      |   2 +-
 srcpkgs/libpipewire                           |   2 +-
 srcpkgs/libspa-alsa                           |   2 +-
 srcpkgs/libspa-audioconvert                   |   2 +-
 srcpkgs/libspa-audiomixer                     |   2 +-
 srcpkgs/libspa-bluetooth                      |   2 +-
 srcpkgs/libspa-control                        |   2 +-
 srcpkgs/libspa-jack                           |   2 +-
 srcpkgs/libspa-v4l2                           |   2 +-
 srcpkgs/libspa-videoconvert                   |   2 +-
 srcpkgs/libspa-vulkan                         |   2 +-
 srcpkgs/pipewire-devel                        |   2 +-
 srcpkgs/pipewire-doc                          |   2 +-
 .../files/README.voidlinux                    |   0
 .../files/pipewire-pulse.desktop              |   0
 .../files/pipewire-pulse/run                  |   0
 .../files/pipewire.desktop                    |   0
 .../files/pipewire/run                        |   0
 .../patches/fix-neon-detection.patch          |   0
 .../patches/no-LIB-token.patch                |   0
 srcpkgs/pipewire-utils/template               | 177 ++++++++++++++++
 .../patches/autostart-media-session.patch     |  17 --
 srcpkgs/pipewire/template                     | 193 +-----------------
 25 files changed, 199 insertions(+), 218 deletions(-)
 rename srcpkgs/{pipewire => pipewire-utils}/files/README.voidlinux (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire-pulse.desktop (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire-pulse/run (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire.desktop (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire/run (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/patches/fix-neon-detection.patch (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/patches/no-LIB-token.patch (100%)
 create mode 100644 srcpkgs/pipewire-utils/template
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/alsa-pipewire b/srcpkgs/alsa-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/alsa-pipewire
+++ b/srcpkgs/alsa-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/gstreamer1-pipewire b/srcpkgs/gstreamer1-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/gstreamer1-pipewire
+++ b/srcpkgs/gstreamer1-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libjack-pipewire b/srcpkgs/libjack-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libjack-pipewire
+++ b/srcpkgs/libjack-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libpipewire b/srcpkgs/libpipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libpipewire
+++ b/srcpkgs/libpipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-alsa b/srcpkgs/libspa-alsa
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-alsa
+++ b/srcpkgs/libspa-alsa
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-audioconvert b/srcpkgs/libspa-audioconvert
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-audioconvert
+++ b/srcpkgs/libspa-audioconvert
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-audiomixer b/srcpkgs/libspa-audiomixer
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-audiomixer
+++ b/srcpkgs/libspa-audiomixer
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-bluetooth b/srcpkgs/libspa-bluetooth
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-bluetooth
+++ b/srcpkgs/libspa-bluetooth
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-control b/srcpkgs/libspa-control
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-control
+++ b/srcpkgs/libspa-control
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-jack b/srcpkgs/libspa-jack
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-jack
+++ b/srcpkgs/libspa-jack
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-v4l2 b/srcpkgs/libspa-v4l2
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-v4l2
+++ b/srcpkgs/libspa-v4l2
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-videoconvert b/srcpkgs/libspa-videoconvert
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-videoconvert
+++ b/srcpkgs/libspa-videoconvert
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-vulkan b/srcpkgs/libspa-vulkan
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-vulkan
+++ b/srcpkgs/libspa-vulkan
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire-devel b/srcpkgs/pipewire-devel
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/pipewire-devel
+++ b/srcpkgs/pipewire-devel
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire-doc b/srcpkgs/pipewire-doc
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/pipewire-doc
+++ b/srcpkgs/pipewire-doc
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire/files/README.voidlinux b/srcpkgs/pipewire-utils/files/README.voidlinux
similarity index 100%
rename from srcpkgs/pipewire/files/README.voidlinux
rename to srcpkgs/pipewire-utils/files/README.voidlinux
diff --git a/srcpkgs/pipewire/files/pipewire-pulse.desktop b/srcpkgs/pipewire-utils/files/pipewire-pulse.desktop
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire-pulse.desktop
rename to srcpkgs/pipewire-utils/files/pipewire-pulse.desktop
diff --git a/srcpkgs/pipewire/files/pipewire-pulse/run b/srcpkgs/pipewire-utils/files/pipewire-pulse/run
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire-pulse/run
rename to srcpkgs/pipewire-utils/files/pipewire-pulse/run
diff --git a/srcpkgs/pipewire/files/pipewire.desktop b/srcpkgs/pipewire-utils/files/pipewire.desktop
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire.desktop
rename to srcpkgs/pipewire-utils/files/pipewire.desktop
diff --git a/srcpkgs/pipewire/files/pipewire/run b/srcpkgs/pipewire-utils/files/pipewire/run
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire/run
rename to srcpkgs/pipewire-utils/files/pipewire/run
diff --git a/srcpkgs/pipewire/patches/fix-neon-detection.patch b/srcpkgs/pipewire-utils/patches/fix-neon-detection.patch
similarity index 100%
rename from srcpkgs/pipewire/patches/fix-neon-detection.patch
rename to srcpkgs/pipewire-utils/patches/fix-neon-detection.patch
diff --git a/srcpkgs/pipewire/patches/no-LIB-token.patch b/srcpkgs/pipewire-utils/patches/no-LIB-token.patch
similarity index 100%
rename from srcpkgs/pipewire/patches/no-LIB-token.patch
rename to srcpkgs/pipewire-utils/patches/no-LIB-token.patch
diff --git a/srcpkgs/pipewire-utils/template b/srcpkgs/pipewire-utils/template
new file mode 100644
index 000000000000..6a2aae022c49
--- /dev/null
+++ b/srcpkgs/pipewire-utils/template
@@ -0,0 +1,177 @@
+# Template file for 'pipewire-utils'
+pkgname=pipewire-utils
+version=0.3.64
+revision=1
+build_style=meson
+configure_args="
+ --auto-features=enabled
+ -Db_ndebug=false
+ -Ddocs=enabled
+ -Dlibcamera=disabled
+ -Droc=disabled
+ -Dsdl2=$(vopt_if sdl2 enabled disabled)
+ -Dsystemd=disabled
+ -Dudevrulesdir=/usr/lib/udev/rules.d
+ -Dvulkan=enabled
+ -Dbluez5-codec-lc3plus=disabled
+ -Dsession-managers=[]
+"
+hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
+makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
+ sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
+ libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
+ vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
+ readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
+depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
+ libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+checkdepends="pulseaudio-utils"
+short_desc="Server and user space API to deal with multimedia pipelines"
+maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
+license="MIT"
+homepage="https://pipewire.org/"
+changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=a1ab25d4ff85aefa3da3452cb41e972487b1a2da613ccd207a5d312e5c241d7c
+make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
+system_accounts="_pipewire"
+
+build_options="sdl2"
+
+replaces="libpulseaudio-pipewire>=0"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+	LDFLAGS+=" -latomic"
+fi
+
+if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
+	makedepends+=" ldacBT-devel"
+else
+	configure_args+=" -Dbluez5-codec-ldac=disabled"
+fi
+
+post_install() {
+	vlicense LICENSE
+	vdoc "${FILESDIR}/README.voidlinux"
+	vsv pipewire
+	vsv pipewire-pulse
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
+}
+
+libpipewire_package() {
+	short_desc+=" - pipewire library"
+	pkg_install() {
+		vmove "usr/lib/libpipewire-0.3.so.*"
+		vmove "usr/lib/pipewire-0.3/*.so"
+	}
+}
+
+pipewire-devel_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - pipewire and libspa development files"
+	pkg_install() {
+		vmove usr/include/pipewire-0.3
+		vmove usr/include/spa-0.2
+		vmove usr/lib/pkgconfig/libpipewire-0.3.pc
+		vmove usr/lib/pkgconfig/libspa-0.2.pc
+		vmove usr/lib/libpipewire-0.3.so
+	}
+}
+
+libspa-alsa_package() {
+	short_desc+=" - alsa plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/alsa
+	}
+}
+
+libspa-audioconvert_package() {
+	short_desc+=" - audioconvert plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/audioconvert
+	}
+}
+
+libspa-audiomixer_package() {
+	short_desc+=" - audiomixer plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/audiomixer
+	}
+}
+
+libspa-bluetooth_package() {
+	short_desc+=" - bluetooth plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/bluez5
+	}
+}
+
+libspa-control_package() {
+	short_desc+=" - control plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/control
+	}
+}
+
+libspa-jack_package() {
+	short_desc+=" - jack plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/jack
+	}
+}
+
+libspa-v4l2_package() {
+	short_desc+=" - v4l2 plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/v4l2
+	}
+}
+
+libspa-videoconvert_package() {
+	short_desc+=" - videoconvert plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/videoconvert
+	}
+}
+
+libspa-vulkan_package() {
+	short_desc+=" - vulkan plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/vulkan
+	}
+}
+
+gstreamer1-pipewire_package() {
+	short_desc+=" - gstreamer plugin"
+	pkg_install() {
+		vmove usr/lib/gstreamer-1.0
+	}
+}
+
+alsa-pipewire_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - ALSA client library"
+	pkg_install() {
+		vmove usr/lib/alsa-lib
+		vmove usr/share/alsa/alsa.conf.d
+	}
+}
+
+libjack-pipewire_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - JACK client library"
+	pkg_install() {
+		vmove usr/lib/pipewire-0.3/jack
+		vmove usr/bin/pw-jack
+		vmove usr/share/man/man1/pw-jack.1
+	}
+}
+
+pipewire-doc_package() {
+	short_desc+=" - documentation"
+	pkg_install() {
+		vmove usr/share/doc/pipewire/html
+	}
+}
diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 5aa0d03d04b2..6ab726b808ad 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,189 +1,10 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.63
+version=2023.01.25
 revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
-build_style=meson
-configure_args="
- --auto-features=enabled
- -Db_ndebug=false
- -Ddocs=enabled
- -Dlibcamera=disabled
- -Droc=disabled
- -Dsdl2=$(vopt_if sdl2 enabled disabled)
- -Dsystemd=disabled
- -Dudevrulesdir=/usr/lib/udev/rules.d
- -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
- -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
-"
-hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
-makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
- sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
- libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
- vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
- readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
-depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
- libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
-checkdepends="pulseaudio-utils"
-short_desc="Server and user space API to deal with multimedia pipelines"
-maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
-license="MIT"
-homepage="https://pipewire.org/"
-changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="1c10cc15ae8889ff0ff1653c088561ba6d46e3b1e5d4e5aacc9b01e6c1bb64b1
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
-make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
-system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
-
-build_options="sdl2"
-
-replaces="libpulseaudio-pipewire>=0"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	makedepends+=" ldacBT-devel"
-else
-	configure_args+=" -Dbluez5-codec-ldac=disabled"
-fi
-
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
-post_install() {
-	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
-	vsv pipewire
-	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
-}
-
-libpipewire_package() {
-	short_desc+=" - pipewire library"
-	pkg_install() {
-		vmove "usr/lib/libpipewire-0.3.so.*"
-		vmove "usr/lib/pipewire-0.3/*.so"
-	}
-}
-
-pipewire-devel_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - pipewire and libspa development files"
-	pkg_install() {
-		vmove usr/include/pipewire-0.3
-		vmove usr/include/spa-0.2
-		vmove usr/lib/pkgconfig/libpipewire-0.3.pc
-		vmove usr/lib/pkgconfig/libspa-0.2.pc
-		vmove usr/lib/libpipewire-0.3.so
-	}
-}
-
-libspa-alsa_package() {
-	short_desc+=" - alsa plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/alsa
-	}
-}
-
-libspa-audioconvert_package() {
-	short_desc+=" - audioconvert plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/audioconvert
-	}
-}
-
-libspa-audiomixer_package() {
-	short_desc+=" - audiomixer plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/audiomixer
-	}
-}
-
-libspa-bluetooth_package() {
-	short_desc+=" - bluetooth plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/bluez5
-	}
-}
-
-libspa-control_package() {
-	short_desc+=" - control plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/control
-	}
-}
-
-libspa-jack_package() {
-	short_desc+=" - jack plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/jack
-	}
-}
-
-libspa-v4l2_package() {
-	short_desc+=" - v4l2 plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/v4l2
-	}
-}
-
-libspa-videoconvert_package() {
-	short_desc+=" - videoconvert plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/videoconvert
-	}
-}
-
-libspa-vulkan_package() {
-	short_desc+=" - vulkan plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/vulkan
-	}
-}
-
-gstreamer1-pipewire_package() {
-	short_desc+=" - gstreamer plugin"
-	pkg_install() {
-		vmove usr/lib/gstreamer-1.0
-	}
-}
-
-alsa-pipewire_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - ALSA client library"
-	pkg_install() {
-		vmove usr/lib/alsa-lib
-		vmove usr/share/alsa/alsa.conf.d
-	}
-}
-
-libjack-pipewire_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - JACK client library"
-	pkg_install() {
-		vmove usr/lib/pipewire-0.3/jack
-		vmove usr/bin/pw-jack
-		vmove usr/share/man/man1/pw-jack.1
-	}
-}
-
-pipewire-doc_package() {
-	short_desc+=" - documentation"
-	pkg_install() {
-		vmove usr/share/doc/pipewire/html
-	}
-}
+build_style=meta
+depends="pipewire-utils wireplumber"
+short_desc="PipeWire - Metapackage for PipeWire and the WirePlumber session manager"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org/"

From b99f71e5da5517f0c20166514dfd22b968549e9c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/2] wireplumber: add desktop application file

Continuing work done in #38521.
---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop

diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop
new file mode 100644
index 000000000000..38a3b2101844
--- /dev/null
+++ b/srcpkgs/wireplumber/files/wireplumber.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=WirePlumber
+Comment=Start WirePlumber
+Icon=pipewire
+Exec=wireplumber
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 7f901a6ab2a0..fb9fa438c348 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -19,6 +19,7 @@ checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
@ 2023-01-25 16:49 ` ahesford
  2023-01-25 16:51 ` ahesford
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-25 16:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 21874 bytes --]

From 61bfda3bfe0f0392d3a15da5ca583efdf3300599 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 1/2] pipewire: update to 0.3.64, rename pipewire-utils, add
 new metapackage

pipewire will not work without a session manager; the previously
included pipewire-media-session has long been deprecated and is now
abandoned [1]. Making pipewire depend on wireplumber would create a
cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users
to see the new meta as an update that will pull in an updated real
pipewire alongside the now-required wireplumber.

Continuing the work of #38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2
---
 srcpkgs/alsa-pipewire                         |   2 +-
 srcpkgs/gstreamer1-pipewire                   |   2 +-
 srcpkgs/libjack-pipewire                      |   2 +-
 srcpkgs/libpipewire                           |   2 +-
 srcpkgs/libspa-alsa                           |   2 +-
 srcpkgs/libspa-audioconvert                   |   2 +-
 srcpkgs/libspa-audiomixer                     |   2 +-
 srcpkgs/libspa-bluetooth                      |   2 +-
 srcpkgs/libspa-control                        |   2 +-
 srcpkgs/libspa-jack                           |   2 +-
 srcpkgs/libspa-v4l2                           |   2 +-
 srcpkgs/libspa-videoconvert                   |   2 +-
 srcpkgs/libspa-vulkan                         |   2 +-
 srcpkgs/pipewire-devel                        |   2 +-
 srcpkgs/pipewire-doc                          |   2 +-
 .../files/README.voidlinux                    |   0
 .../files/pipewire-pulse.desktop              |   0
 .../files/pipewire-pulse/run                  |   0
 .../files/pipewire.desktop                    |   0
 .../files/pipewire/run                        |   0
 .../patches/fix-neon-detection.patch          |   0
 .../patches/no-LIB-token.patch                |   0
 srcpkgs/pipewire-utils/template               | 177 ++++++++++++++++
 .../patches/autostart-media-session.patch     |  17 --
 srcpkgs/pipewire/template                     | 193 +-----------------
 25 files changed, 199 insertions(+), 218 deletions(-)
 rename srcpkgs/{pipewire => pipewire-utils}/files/README.voidlinux (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire-pulse.desktop (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire-pulse/run (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire.desktop (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire/run (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/patches/fix-neon-detection.patch (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/patches/no-LIB-token.patch (100%)
 create mode 100644 srcpkgs/pipewire-utils/template
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/alsa-pipewire b/srcpkgs/alsa-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/alsa-pipewire
+++ b/srcpkgs/alsa-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/gstreamer1-pipewire b/srcpkgs/gstreamer1-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/gstreamer1-pipewire
+++ b/srcpkgs/gstreamer1-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libjack-pipewire b/srcpkgs/libjack-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libjack-pipewire
+++ b/srcpkgs/libjack-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libpipewire b/srcpkgs/libpipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libpipewire
+++ b/srcpkgs/libpipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-alsa b/srcpkgs/libspa-alsa
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-alsa
+++ b/srcpkgs/libspa-alsa
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-audioconvert b/srcpkgs/libspa-audioconvert
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-audioconvert
+++ b/srcpkgs/libspa-audioconvert
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-audiomixer b/srcpkgs/libspa-audiomixer
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-audiomixer
+++ b/srcpkgs/libspa-audiomixer
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-bluetooth b/srcpkgs/libspa-bluetooth
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-bluetooth
+++ b/srcpkgs/libspa-bluetooth
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-control b/srcpkgs/libspa-control
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-control
+++ b/srcpkgs/libspa-control
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-jack b/srcpkgs/libspa-jack
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-jack
+++ b/srcpkgs/libspa-jack
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-v4l2 b/srcpkgs/libspa-v4l2
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-v4l2
+++ b/srcpkgs/libspa-v4l2
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-videoconvert b/srcpkgs/libspa-videoconvert
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-videoconvert
+++ b/srcpkgs/libspa-videoconvert
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-vulkan b/srcpkgs/libspa-vulkan
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-vulkan
+++ b/srcpkgs/libspa-vulkan
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire-devel b/srcpkgs/pipewire-devel
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/pipewire-devel
+++ b/srcpkgs/pipewire-devel
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire-doc b/srcpkgs/pipewire-doc
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/pipewire-doc
+++ b/srcpkgs/pipewire-doc
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire/files/README.voidlinux b/srcpkgs/pipewire-utils/files/README.voidlinux
similarity index 100%
rename from srcpkgs/pipewire/files/README.voidlinux
rename to srcpkgs/pipewire-utils/files/README.voidlinux
diff --git a/srcpkgs/pipewire/files/pipewire-pulse.desktop b/srcpkgs/pipewire-utils/files/pipewire-pulse.desktop
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire-pulse.desktop
rename to srcpkgs/pipewire-utils/files/pipewire-pulse.desktop
diff --git a/srcpkgs/pipewire/files/pipewire-pulse/run b/srcpkgs/pipewire-utils/files/pipewire-pulse/run
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire-pulse/run
rename to srcpkgs/pipewire-utils/files/pipewire-pulse/run
diff --git a/srcpkgs/pipewire/files/pipewire.desktop b/srcpkgs/pipewire-utils/files/pipewire.desktop
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire.desktop
rename to srcpkgs/pipewire-utils/files/pipewire.desktop
diff --git a/srcpkgs/pipewire/files/pipewire/run b/srcpkgs/pipewire-utils/files/pipewire/run
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire/run
rename to srcpkgs/pipewire-utils/files/pipewire/run
diff --git a/srcpkgs/pipewire/patches/fix-neon-detection.patch b/srcpkgs/pipewire-utils/patches/fix-neon-detection.patch
similarity index 100%
rename from srcpkgs/pipewire/patches/fix-neon-detection.patch
rename to srcpkgs/pipewire-utils/patches/fix-neon-detection.patch
diff --git a/srcpkgs/pipewire/patches/no-LIB-token.patch b/srcpkgs/pipewire-utils/patches/no-LIB-token.patch
similarity index 100%
rename from srcpkgs/pipewire/patches/no-LIB-token.patch
rename to srcpkgs/pipewire-utils/patches/no-LIB-token.patch
diff --git a/srcpkgs/pipewire-utils/template b/srcpkgs/pipewire-utils/template
new file mode 100644
index 000000000000..6a2aae022c49
--- /dev/null
+++ b/srcpkgs/pipewire-utils/template
@@ -0,0 +1,177 @@
+# Template file for 'pipewire-utils'
+pkgname=pipewire-utils
+version=0.3.64
+revision=1
+build_style=meson
+configure_args="
+ --auto-features=enabled
+ -Db_ndebug=false
+ -Ddocs=enabled
+ -Dlibcamera=disabled
+ -Droc=disabled
+ -Dsdl2=$(vopt_if sdl2 enabled disabled)
+ -Dsystemd=disabled
+ -Dudevrulesdir=/usr/lib/udev/rules.d
+ -Dvulkan=enabled
+ -Dbluez5-codec-lc3plus=disabled
+ -Dsession-managers=[]
+"
+hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
+makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
+ sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
+ libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
+ vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
+ readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
+depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
+ libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+checkdepends="pulseaudio-utils"
+short_desc="Server and user space API to deal with multimedia pipelines"
+maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
+license="MIT"
+homepage="https://pipewire.org/"
+changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=a1ab25d4ff85aefa3da3452cb41e972487b1a2da613ccd207a5d312e5c241d7c
+make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
+system_accounts="_pipewire"
+
+build_options="sdl2"
+
+replaces="libpulseaudio-pipewire>=0"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+	LDFLAGS+=" -latomic"
+fi
+
+if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
+	makedepends+=" ldacBT-devel"
+else
+	configure_args+=" -Dbluez5-codec-ldac=disabled"
+fi
+
+post_install() {
+	vlicense LICENSE
+	vdoc "${FILESDIR}/README.voidlinux"
+	vsv pipewire
+	vsv pipewire-pulse
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
+}
+
+libpipewire_package() {
+	short_desc+=" - pipewire library"
+	pkg_install() {
+		vmove "usr/lib/libpipewire-0.3.so.*"
+		vmove "usr/lib/pipewire-0.3/*.so"
+	}
+}
+
+pipewire-devel_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - pipewire and libspa development files"
+	pkg_install() {
+		vmove usr/include/pipewire-0.3
+		vmove usr/include/spa-0.2
+		vmove usr/lib/pkgconfig/libpipewire-0.3.pc
+		vmove usr/lib/pkgconfig/libspa-0.2.pc
+		vmove usr/lib/libpipewire-0.3.so
+	}
+}
+
+libspa-alsa_package() {
+	short_desc+=" - alsa plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/alsa
+	}
+}
+
+libspa-audioconvert_package() {
+	short_desc+=" - audioconvert plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/audioconvert
+	}
+}
+
+libspa-audiomixer_package() {
+	short_desc+=" - audiomixer plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/audiomixer
+	}
+}
+
+libspa-bluetooth_package() {
+	short_desc+=" - bluetooth plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/bluez5
+	}
+}
+
+libspa-control_package() {
+	short_desc+=" - control plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/control
+	}
+}
+
+libspa-jack_package() {
+	short_desc+=" - jack plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/jack
+	}
+}
+
+libspa-v4l2_package() {
+	short_desc+=" - v4l2 plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/v4l2
+	}
+}
+
+libspa-videoconvert_package() {
+	short_desc+=" - videoconvert plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/videoconvert
+	}
+}
+
+libspa-vulkan_package() {
+	short_desc+=" - vulkan plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/vulkan
+	}
+}
+
+gstreamer1-pipewire_package() {
+	short_desc+=" - gstreamer plugin"
+	pkg_install() {
+		vmove usr/lib/gstreamer-1.0
+	}
+}
+
+alsa-pipewire_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - ALSA client library"
+	pkg_install() {
+		vmove usr/lib/alsa-lib
+		vmove usr/share/alsa/alsa.conf.d
+	}
+}
+
+libjack-pipewire_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - JACK client library"
+	pkg_install() {
+		vmove usr/lib/pipewire-0.3/jack
+		vmove usr/bin/pw-jack
+		vmove usr/share/man/man1/pw-jack.1
+	}
+}
+
+pipewire-doc_package() {
+	short_desc+=" - documentation"
+	pkg_install() {
+		vmove usr/share/doc/pipewire/html
+	}
+}
diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 5aa0d03d04b2..6ab726b808ad 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,189 +1,10 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.63
+version=2023.01.25
 revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
-build_style=meson
-configure_args="
- --auto-features=enabled
- -Db_ndebug=false
- -Ddocs=enabled
- -Dlibcamera=disabled
- -Droc=disabled
- -Dsdl2=$(vopt_if sdl2 enabled disabled)
- -Dsystemd=disabled
- -Dudevrulesdir=/usr/lib/udev/rules.d
- -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
- -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
-"
-hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
-makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
- sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
- libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
- vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
- readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
-depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
- libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
-checkdepends="pulseaudio-utils"
-short_desc="Server and user space API to deal with multimedia pipelines"
-maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
-license="MIT"
-homepage="https://pipewire.org/"
-changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="1c10cc15ae8889ff0ff1653c088561ba6d46e3b1e5d4e5aacc9b01e6c1bb64b1
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
-make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
-system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
-
-build_options="sdl2"
-
-replaces="libpulseaudio-pipewire>=0"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	makedepends+=" ldacBT-devel"
-else
-	configure_args+=" -Dbluez5-codec-ldac=disabled"
-fi
-
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
-post_install() {
-	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
-	vsv pipewire
-	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
-}
-
-libpipewire_package() {
-	short_desc+=" - pipewire library"
-	pkg_install() {
-		vmove "usr/lib/libpipewire-0.3.so.*"
-		vmove "usr/lib/pipewire-0.3/*.so"
-	}
-}
-
-pipewire-devel_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - pipewire and libspa development files"
-	pkg_install() {
-		vmove usr/include/pipewire-0.3
-		vmove usr/include/spa-0.2
-		vmove usr/lib/pkgconfig/libpipewire-0.3.pc
-		vmove usr/lib/pkgconfig/libspa-0.2.pc
-		vmove usr/lib/libpipewire-0.3.so
-	}
-}
-
-libspa-alsa_package() {
-	short_desc+=" - alsa plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/alsa
-	}
-}
-
-libspa-audioconvert_package() {
-	short_desc+=" - audioconvert plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/audioconvert
-	}
-}
-
-libspa-audiomixer_package() {
-	short_desc+=" - audiomixer plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/audiomixer
-	}
-}
-
-libspa-bluetooth_package() {
-	short_desc+=" - bluetooth plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/bluez5
-	}
-}
-
-libspa-control_package() {
-	short_desc+=" - control plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/control
-	}
-}
-
-libspa-jack_package() {
-	short_desc+=" - jack plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/jack
-	}
-}
-
-libspa-v4l2_package() {
-	short_desc+=" - v4l2 plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/v4l2
-	}
-}
-
-libspa-videoconvert_package() {
-	short_desc+=" - videoconvert plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/videoconvert
-	}
-}
-
-libspa-vulkan_package() {
-	short_desc+=" - vulkan plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/vulkan
-	}
-}
-
-gstreamer1-pipewire_package() {
-	short_desc+=" - gstreamer plugin"
-	pkg_install() {
-		vmove usr/lib/gstreamer-1.0
-	}
-}
-
-alsa-pipewire_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - ALSA client library"
-	pkg_install() {
-		vmove usr/lib/alsa-lib
-		vmove usr/share/alsa/alsa.conf.d
-	}
-}
-
-libjack-pipewire_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - JACK client library"
-	pkg_install() {
-		vmove usr/lib/pipewire-0.3/jack
-		vmove usr/bin/pw-jack
-		vmove usr/share/man/man1/pw-jack.1
-	}
-}
-
-pipewire-doc_package() {
-	short_desc+=" - documentation"
-	pkg_install() {
-		vmove usr/share/doc/pipewire/html
-	}
-}
+build_style=meta
+depends="pipewire-utils wireplumber"
+short_desc="PipeWire - Metapackage for PipeWire and the WirePlumber session manager"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org/"

From bbfb427bf211eb21c21667e6aecd1f7272a989ef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/2] wireplumber: add desktop application file

Continuing work done in #38521.
---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 5 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop

diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop
new file mode 100644
index 000000000000..38a3b2101844
--- /dev/null
+++ b/srcpkgs/wireplumber/files/wireplumber.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=WirePlumber
+Comment=Start WirePlumber
+Icon=pipewire
+Exec=wireplumber
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 7f901a6ab2a0..0beba33c3097 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,13 +1,13 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
 hostmakedepends="pkg-config glib-devel python3-lxml doxygen gettext"
 makedepends="libglib-devel pipewire-devel lua54-devel"
-checkdepends="pipewire dbus"
+checkdepends="pipewire-utils dbus"
 short_desc="Session and policy manager implementation for PipeWire"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MIT"
@@ -19,6 +19,7 @@ checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
  2023-01-25 16:49 ` [PR PATCH] [Updated] " ahesford
@ 2023-01-25 16:51 ` ahesford
  2023-01-25 21:32 ` cinerea0
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-25 16:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1403919794

Comment:
As per IRC discussion, we can avoid the rename and still break the cycle once https://github.com/void-linux/void-packages/pull/39868 is merged by declaring a `pipewire-session-manager` virtual that defaults to some dummy package like `pipewire-session-manager-bootstrap` with `repository=bootstrap`, than make `wireplumber` provide `pipewire-session-manager`.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
  2023-01-25 16:49 ` [PR PATCH] [Updated] " ahesford
  2023-01-25 16:51 ` ahesford
@ 2023-01-25 21:32 ` cinerea0
  2023-01-26  2:48 ` cinerea0
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2023-01-25 21:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 315 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1404250353

Comment:
I would prefer to avoid the renaming scheme if possible. Would the implementation of the alternate proposal make intuitive sense if you generally understand xbps templates?

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (2 preceding siblings ...)
  2023-01-25 21:32 ` cinerea0
@ 2023-01-26  2:48 ` cinerea0
  2023-01-26  2:49 ` [PR PATCH] [Updated] " ahesford
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2023-01-26  2:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1061 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1404501809

Comment:
Also, I recommend adding the following patch, which would replace pipewire-media-session with wireplumber in the default configuration files:

```diff
# Removes pipewire-media-session from default configs
diff --git a/src/daemon/meson.build b/src/daemon/meson.build
index 5d5914e4f4..85c1730427 100644
--- a/src/daemon/meson.build
+++ b/src/daemon/meson.build
@@ -9,7 +9,7 @@ pipewire_c_args = [
 conf_config = configuration_data()
 conf_config.set('VERSION', '"@0@"'.format(pipewire_version))
 conf_config.set('PIPEWIRE_CONFIG_DIR', pipewire_configdir)
-conf_config.set('session_manager_path', pipewire_bindir / 'pipewire-media-session')
+conf_config.set('session_manager_path', pipewire_bindir / 'wireplumber')
 conf_config.set('session_manager_args', '')
 conf_config.set('pipewire_path', pipewire_bindir / 'pipewire')
 conf_config.set('pipewire_pulse_path', pipewire_bindir / 'pipewire-pulse')
```

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (3 preceding siblings ...)
  2023-01-26  2:48 ` cinerea0
@ 2023-01-26  2:49 ` ahesford
  2023-01-26  2:53 ` ahesford
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-26  2:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 8239 bytes --]

From 4a0c798d2303860aa9bd2bf5a03eddf2a3157942 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 10 ++++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..9c5c00287667
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,10 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"

From 466ba03a5a121ddcf2a2227e042ef47592ec2c03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop

diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop
new file mode 100644
index 000000000000..38a3b2101844
--- /dev/null
+++ b/srcpkgs/wireplumber/files/wireplumber.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=WirePlumber
+Comment=Start WirePlumber
+Icon=pipewire
+Exec=wireplumber
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 7f901a6ab2a0..cf2231a000ce 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,10 +15,12 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

From 33eac22750b0572bd902aa2c94d6563ef8ebf39c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: update to 0.3.64, depend on new virtual session
 manager

---
 .../patches/autostart-media-session.patch     | 17 ------------
 srcpkgs/pipewire/template                     | 26 +++++--------------
 2 files changed, 7 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 5aa0d03d04b2..164312dca72f 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,10 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.63
+version=0.3.64
 revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -16,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -28,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="1c10cc15ae8889ff0ff1653c088561ba6d46e3b1e5d4e5aacc9b01e6c1bb64b1
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=a1ab25d4ff85aefa3da3452cb41e972487b1a2da613ccd207a5d312e5c241d7c
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -58,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (4 preceding siblings ...)
  2023-01-26  2:49 ` [PR PATCH] [Updated] " ahesford
@ 2023-01-26  2:53 ` ahesford
  2023-01-26  2:56 ` ahesford
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-26  2:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 415 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1404504022

Comment:
This branch has been restructured to use a virtual package to break the pipewire-wireplumber build cycle that would otherwise appear. It should *NOT* be merged until #39868 is merged and we can add `repository=boostrap` to the `pipewire-session-manager-boostrap` template.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (5 preceding siblings ...)
  2023-01-26  2:53 ` ahesford
@ 2023-01-26  2:56 ` ahesford
  2023-01-26 14:06 ` [PR PATCH] [Updated] " ahesford
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-26  2:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 386 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1404504925

Comment:
I am not inclined to pull a patch that modifies default paths which seem only to appear in comments. Upstream should fix these paths if necessary because they made the decision to abandon pipewire-media-session and render these paths obsolete.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (6 preceding siblings ...)
  2023-01-26  2:56 ` ahesford
@ 2023-01-26 14:06 ` ahesford
  2023-01-26 14:08 ` ahesford
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-26 14:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 21874 bytes --]

From 3675c3b1b931fa5e38c5ae3c63f99af0d309ea37 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 1/2] pipewire: update to 0.3.64, rename pipewire-utils, add
 new metapackage

pipewire will not work without a session manager; the previously
included pipewire-media-session has long been deprecated and is now
abandoned [1]. Making pipewire depend on wireplumber would create a
cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users
to see the new meta as an update that will pull in an updated real
pipewire alongside the now-required wireplumber.

Continuing the work of #38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2
---
 srcpkgs/alsa-pipewire                         |   2 +-
 srcpkgs/gstreamer1-pipewire                   |   2 +-
 srcpkgs/libjack-pipewire                      |   2 +-
 srcpkgs/libpipewire                           |   2 +-
 srcpkgs/libspa-alsa                           |   2 +-
 srcpkgs/libspa-audioconvert                   |   2 +-
 srcpkgs/libspa-audiomixer                     |   2 +-
 srcpkgs/libspa-bluetooth                      |   2 +-
 srcpkgs/libspa-control                        |   2 +-
 srcpkgs/libspa-jack                           |   2 +-
 srcpkgs/libspa-v4l2                           |   2 +-
 srcpkgs/libspa-videoconvert                   |   2 +-
 srcpkgs/libspa-vulkan                         |   2 +-
 srcpkgs/pipewire-devel                        |   2 +-
 srcpkgs/pipewire-doc                          |   2 +-
 .../files/README.voidlinux                    |   0
 .../files/pipewire-pulse.desktop              |   0
 .../files/pipewire-pulse/run                  |   0
 .../files/pipewire.desktop                    |   0
 .../files/pipewire/run                        |   0
 .../patches/fix-neon-detection.patch          |   0
 .../patches/no-LIB-token.patch                |   0
 srcpkgs/pipewire-utils/template               | 177 ++++++++++++++++
 .../patches/autostart-media-session.patch     |  17 --
 srcpkgs/pipewire/template                     | 193 +-----------------
 25 files changed, 199 insertions(+), 218 deletions(-)
 rename srcpkgs/{pipewire => pipewire-utils}/files/README.voidlinux (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire-pulse.desktop (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire-pulse/run (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire.desktop (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/files/pipewire/run (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/patches/fix-neon-detection.patch (100%)
 rename srcpkgs/{pipewire => pipewire-utils}/patches/no-LIB-token.patch (100%)
 create mode 100644 srcpkgs/pipewire-utils/template
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/alsa-pipewire b/srcpkgs/alsa-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/alsa-pipewire
+++ b/srcpkgs/alsa-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/gstreamer1-pipewire b/srcpkgs/gstreamer1-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/gstreamer1-pipewire
+++ b/srcpkgs/gstreamer1-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libjack-pipewire b/srcpkgs/libjack-pipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libjack-pipewire
+++ b/srcpkgs/libjack-pipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libpipewire b/srcpkgs/libpipewire
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libpipewire
+++ b/srcpkgs/libpipewire
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-alsa b/srcpkgs/libspa-alsa
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-alsa
+++ b/srcpkgs/libspa-alsa
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-audioconvert b/srcpkgs/libspa-audioconvert
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-audioconvert
+++ b/srcpkgs/libspa-audioconvert
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-audiomixer b/srcpkgs/libspa-audiomixer
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-audiomixer
+++ b/srcpkgs/libspa-audiomixer
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-bluetooth b/srcpkgs/libspa-bluetooth
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-bluetooth
+++ b/srcpkgs/libspa-bluetooth
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-control b/srcpkgs/libspa-control
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-control
+++ b/srcpkgs/libspa-control
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-jack b/srcpkgs/libspa-jack
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-jack
+++ b/srcpkgs/libspa-jack
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-v4l2 b/srcpkgs/libspa-v4l2
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-v4l2
+++ b/srcpkgs/libspa-v4l2
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-videoconvert b/srcpkgs/libspa-videoconvert
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-videoconvert
+++ b/srcpkgs/libspa-videoconvert
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/libspa-vulkan b/srcpkgs/libspa-vulkan
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/libspa-vulkan
+++ b/srcpkgs/libspa-vulkan
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire-devel b/srcpkgs/pipewire-devel
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/pipewire-devel
+++ b/srcpkgs/pipewire-devel
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire-doc b/srcpkgs/pipewire-doc
index c9c97cf67072..1cd3d4d76ce8 120000
--- a/srcpkgs/pipewire-doc
+++ b/srcpkgs/pipewire-doc
@@ -1 +1 @@
-pipewire
\ No newline at end of file
+pipewire-utils
\ No newline at end of file
diff --git a/srcpkgs/pipewire/files/README.voidlinux b/srcpkgs/pipewire-utils/files/README.voidlinux
similarity index 100%
rename from srcpkgs/pipewire/files/README.voidlinux
rename to srcpkgs/pipewire-utils/files/README.voidlinux
diff --git a/srcpkgs/pipewire/files/pipewire-pulse.desktop b/srcpkgs/pipewire-utils/files/pipewire-pulse.desktop
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire-pulse.desktop
rename to srcpkgs/pipewire-utils/files/pipewire-pulse.desktop
diff --git a/srcpkgs/pipewire/files/pipewire-pulse/run b/srcpkgs/pipewire-utils/files/pipewire-pulse/run
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire-pulse/run
rename to srcpkgs/pipewire-utils/files/pipewire-pulse/run
diff --git a/srcpkgs/pipewire/files/pipewire.desktop b/srcpkgs/pipewire-utils/files/pipewire.desktop
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire.desktop
rename to srcpkgs/pipewire-utils/files/pipewire.desktop
diff --git a/srcpkgs/pipewire/files/pipewire/run b/srcpkgs/pipewire-utils/files/pipewire/run
similarity index 100%
rename from srcpkgs/pipewire/files/pipewire/run
rename to srcpkgs/pipewire-utils/files/pipewire/run
diff --git a/srcpkgs/pipewire/patches/fix-neon-detection.patch b/srcpkgs/pipewire-utils/patches/fix-neon-detection.patch
similarity index 100%
rename from srcpkgs/pipewire/patches/fix-neon-detection.patch
rename to srcpkgs/pipewire-utils/patches/fix-neon-detection.patch
diff --git a/srcpkgs/pipewire/patches/no-LIB-token.patch b/srcpkgs/pipewire-utils/patches/no-LIB-token.patch
similarity index 100%
rename from srcpkgs/pipewire/patches/no-LIB-token.patch
rename to srcpkgs/pipewire-utils/patches/no-LIB-token.patch
diff --git a/srcpkgs/pipewire-utils/template b/srcpkgs/pipewire-utils/template
new file mode 100644
index 000000000000..6a2aae022c49
--- /dev/null
+++ b/srcpkgs/pipewire-utils/template
@@ -0,0 +1,177 @@
+# Template file for 'pipewire-utils'
+pkgname=pipewire-utils
+version=0.3.64
+revision=1
+build_style=meson
+configure_args="
+ --auto-features=enabled
+ -Db_ndebug=false
+ -Ddocs=enabled
+ -Dlibcamera=disabled
+ -Droc=disabled
+ -Dsdl2=$(vopt_if sdl2 enabled disabled)
+ -Dsystemd=disabled
+ -Dudevrulesdir=/usr/lib/udev/rules.d
+ -Dvulkan=enabled
+ -Dbluez5-codec-lc3plus=disabled
+ -Dsession-managers=[]
+"
+hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
+makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
+ sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
+ libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
+ vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
+ readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
+depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
+ libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+checkdepends="pulseaudio-utils"
+short_desc="Server and user space API to deal with multimedia pipelines"
+maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
+license="MIT"
+homepage="https://pipewire.org/"
+changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=a1ab25d4ff85aefa3da3452cb41e972487b1a2da613ccd207a5d312e5c241d7c
+make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
+system_accounts="_pipewire"
+
+build_options="sdl2"
+
+replaces="libpulseaudio-pipewire>=0"
+
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+	LDFLAGS+=" -latomic"
+fi
+
+if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
+	makedepends+=" ldacBT-devel"
+else
+	configure_args+=" -Dbluez5-codec-ldac=disabled"
+fi
+
+post_install() {
+	vlicense LICENSE
+	vdoc "${FILESDIR}/README.voidlinux"
+	vsv pipewire
+	vsv pipewire-pulse
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
+}
+
+libpipewire_package() {
+	short_desc+=" - pipewire library"
+	pkg_install() {
+		vmove "usr/lib/libpipewire-0.3.so.*"
+		vmove "usr/lib/pipewire-0.3/*.so"
+	}
+}
+
+pipewire-devel_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - pipewire and libspa development files"
+	pkg_install() {
+		vmove usr/include/pipewire-0.3
+		vmove usr/include/spa-0.2
+		vmove usr/lib/pkgconfig/libpipewire-0.3.pc
+		vmove usr/lib/pkgconfig/libspa-0.2.pc
+		vmove usr/lib/libpipewire-0.3.so
+	}
+}
+
+libspa-alsa_package() {
+	short_desc+=" - alsa plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/alsa
+	}
+}
+
+libspa-audioconvert_package() {
+	short_desc+=" - audioconvert plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/audioconvert
+	}
+}
+
+libspa-audiomixer_package() {
+	short_desc+=" - audiomixer plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/audiomixer
+	}
+}
+
+libspa-bluetooth_package() {
+	short_desc+=" - bluetooth plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/bluez5
+	}
+}
+
+libspa-control_package() {
+	short_desc+=" - control plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/control
+	}
+}
+
+libspa-jack_package() {
+	short_desc+=" - jack plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/jack
+	}
+}
+
+libspa-v4l2_package() {
+	short_desc+=" - v4l2 plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/v4l2
+	}
+}
+
+libspa-videoconvert_package() {
+	short_desc+=" - videoconvert plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/videoconvert
+	}
+}
+
+libspa-vulkan_package() {
+	short_desc+=" - vulkan plugins"
+	pkg_install() {
+		vmove usr/lib/spa-0.2/vulkan
+	}
+}
+
+gstreamer1-pipewire_package() {
+	short_desc+=" - gstreamer plugin"
+	pkg_install() {
+		vmove usr/lib/gstreamer-1.0
+	}
+}
+
+alsa-pipewire_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - ALSA client library"
+	pkg_install() {
+		vmove usr/lib/alsa-lib
+		vmove usr/share/alsa/alsa.conf.d
+	}
+}
+
+libjack-pipewire_package() {
+	depends="libpipewire>=${version}_${revision}"
+	short_desc+=" - JACK client library"
+	pkg_install() {
+		vmove usr/lib/pipewire-0.3/jack
+		vmove usr/bin/pw-jack
+		vmove usr/share/man/man1/pw-jack.1
+	}
+}
+
+pipewire-doc_package() {
+	short_desc+=" - documentation"
+	pkg_install() {
+		vmove usr/share/doc/pipewire/html
+	}
+}
diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 5aa0d03d04b2..6ab726b808ad 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,189 +1,10 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.63
+version=2023.01.25
 revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
-build_style=meson
-configure_args="
- --auto-features=enabled
- -Db_ndebug=false
- -Ddocs=enabled
- -Dlibcamera=disabled
- -Droc=disabled
- -Dsdl2=$(vopt_if sdl2 enabled disabled)
- -Dsystemd=disabled
- -Dudevrulesdir=/usr/lib/udev/rules.d
- -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
- -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
-"
-hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
-makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
- sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
- libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
- vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
- readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
-depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
- libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
-checkdepends="pulseaudio-utils"
-short_desc="Server and user space API to deal with multimedia pipelines"
-maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
-license="MIT"
-homepage="https://pipewire.org/"
-changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="1c10cc15ae8889ff0ff1653c088561ba6d46e3b1e5d4e5aacc9b01e6c1bb64b1
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
-make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
-system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
-
-build_options="sdl2"
-
-replaces="libpulseaudio-pipewire>=0"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	makedepends+=" libatomic-devel"
-	LDFLAGS+=" -latomic"
-fi
-
-if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
-	makedepends+=" ldacBT-devel"
-else
-	configure_args+=" -Dbluez5-codec-ldac=disabled"
-fi
-
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
-post_install() {
-	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
-	vsv pipewire
-	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
-}
-
-libpipewire_package() {
-	short_desc+=" - pipewire library"
-	pkg_install() {
-		vmove "usr/lib/libpipewire-0.3.so.*"
-		vmove "usr/lib/pipewire-0.3/*.so"
-	}
-}
-
-pipewire-devel_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - pipewire and libspa development files"
-	pkg_install() {
-		vmove usr/include/pipewire-0.3
-		vmove usr/include/spa-0.2
-		vmove usr/lib/pkgconfig/libpipewire-0.3.pc
-		vmove usr/lib/pkgconfig/libspa-0.2.pc
-		vmove usr/lib/libpipewire-0.3.so
-	}
-}
-
-libspa-alsa_package() {
-	short_desc+=" - alsa plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/alsa
-	}
-}
-
-libspa-audioconvert_package() {
-	short_desc+=" - audioconvert plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/audioconvert
-	}
-}
-
-libspa-audiomixer_package() {
-	short_desc+=" - audiomixer plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/audiomixer
-	}
-}
-
-libspa-bluetooth_package() {
-	short_desc+=" - bluetooth plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/bluez5
-	}
-}
-
-libspa-control_package() {
-	short_desc+=" - control plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/control
-	}
-}
-
-libspa-jack_package() {
-	short_desc+=" - jack plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/jack
-	}
-}
-
-libspa-v4l2_package() {
-	short_desc+=" - v4l2 plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/v4l2
-	}
-}
-
-libspa-videoconvert_package() {
-	short_desc+=" - videoconvert plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/videoconvert
-	}
-}
-
-libspa-vulkan_package() {
-	short_desc+=" - vulkan plugins"
-	pkg_install() {
-		vmove usr/lib/spa-0.2/vulkan
-	}
-}
-
-gstreamer1-pipewire_package() {
-	short_desc+=" - gstreamer plugin"
-	pkg_install() {
-		vmove usr/lib/gstreamer-1.0
-	}
-}
-
-alsa-pipewire_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - ALSA client library"
-	pkg_install() {
-		vmove usr/lib/alsa-lib
-		vmove usr/share/alsa/alsa.conf.d
-	}
-}
-
-libjack-pipewire_package() {
-	depends="libpipewire>=${version}_${revision}"
-	short_desc+=" - JACK client library"
-	pkg_install() {
-		vmove usr/lib/pipewire-0.3/jack
-		vmove usr/bin/pw-jack
-		vmove usr/share/man/man1/pw-jack.1
-	}
-}
-
-pipewire-doc_package() {
-	short_desc+=" - documentation"
-	pkg_install() {
-		vmove usr/share/doc/pipewire/html
-	}
-}
+build_style=meta
+depends="pipewire-utils wireplumber"
+short_desc="PipeWire - Metapackage for PipeWire and the WirePlumber session manager"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org/"

From 61421f1cad1e532132ae9fe77d43a2e589b50bba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/2] wireplumber: add desktop application file

Continuing work done in #38521.
---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 5 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop

diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop
new file mode 100644
index 000000000000..38a3b2101844
--- /dev/null
+++ b/srcpkgs/wireplumber/files/wireplumber.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=WirePlumber
+Comment=Start WirePlumber
+Icon=pipewire
+Exec=wireplumber
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 7f901a6ab2a0..0beba33c3097 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,13 +1,13 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
 hostmakedepends="pkg-config glib-devel python3-lxml doxygen gettext"
 makedepends="libglib-devel pipewire-devel lua54-devel"
-checkdepends="pipewire dbus"
+checkdepends="pipewire-utils dbus"
 short_desc="Session and policy manager implementation for PipeWire"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MIT"
@@ -19,6 +19,7 @@ checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (7 preceding siblings ...)
  2023-01-26 14:06 ` [PR PATCH] [Updated] " ahesford
@ 2023-01-26 14:08 ` ahesford
  2023-01-26 14:08 ` ahesford
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-26 14:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 8239 bytes --]

From 4a0c798d2303860aa9bd2bf5a03eddf2a3157942 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 10 ++++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..9c5c00287667
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,10 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"

From 466ba03a5a121ddcf2a2227e042ef47592ec2c03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop

diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop
new file mode 100644
index 000000000000..38a3b2101844
--- /dev/null
+++ b/srcpkgs/wireplumber/files/wireplumber.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=WirePlumber
+Comment=Start WirePlumber
+Icon=pipewire
+Exec=wireplumber
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 7f901a6ab2a0..cf2231a000ce 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,10 +15,12 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

From 33eac22750b0572bd902aa2c94d6563ef8ebf39c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: update to 0.3.64, depend on new virtual session
 manager

---
 .../patches/autostart-media-session.patch     | 17 ------------
 srcpkgs/pipewire/template                     | 26 +++++--------------
 2 files changed, 7 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 5aa0d03d04b2..164312dca72f 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,10 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.63
+version=0.3.64
 revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -16,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -28,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="1c10cc15ae8889ff0ff1653c088561ba6d46e3b1e5d4e5aacc9b01e6c1bb64b1
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=a1ab25d4ff85aefa3da3452cb41e972487b1a2da613ccd207a5d312e5c241d7c
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -58,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (8 preceding siblings ...)
  2023-01-26 14:08 ` ahesford
@ 2023-01-26 14:08 ` ahesford
  2023-01-28 14:35 ` [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle ahesford
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-26 14:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 8239 bytes --]

From 03c8e9fd0b612b2aa9f7e0e6a587e8e0bdf9540c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 10 ++++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..9c5c00287667
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,10 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"

From a9bad4c3a3d89c3d650dfe9972585d83d4cc5ce3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop

diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop
new file mode 100644
index 000000000000..38a3b2101844
--- /dev/null
+++ b/srcpkgs/wireplumber/files/wireplumber.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=WirePlumber
+Comment=Start WirePlumber
+Icon=pipewire
+Exec=wireplumber
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 7f901a6ab2a0..cf2231a000ce 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,10 +15,12 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

From 78daff39c8355ee0ca3d68aad5600af8f8cdf1df Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: update to 0.3.64, depend on new virtual session
 manager

---
 .../patches/autostart-media-session.patch     | 17 ------------
 srcpkgs/pipewire/template                     | 26 +++++--------------
 2 files changed, 7 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 5aa0d03d04b2..164312dca72f 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,10 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.63
+version=0.3.64
 revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -16,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -28,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="1c10cc15ae8889ff0ff1653c088561ba6d46e3b1e5d4e5aacc9b01e6c1bb64b1
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=a1ab25d4ff85aefa3da3452cb41e972487b1a2da613ccd207a5d312e5c241d7c
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -58,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (9 preceding siblings ...)
  2023-01-26 14:08 ` ahesford
@ 2023-01-28 14:35 ` ahesford
  2023-01-30 20:51 ` ahesford
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-28 14:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 7576 bytes --]

From c997d4e2996cedfc6deb691c8035fd5325b23c58 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 10 ++++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..9c5c00287667
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,10 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"

From 97e59da3799228c1cba9bc34f13533cb8a33dc66 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fb9fa438c348..9e8f474b303e 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=2
+revision=3
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,6 +15,7 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE

From 1c3a1a6045e2bd92b9ee5f8e44e40ad5ddffa2b4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: drop pipewire-media-session, depend on new
 virtual session manager

---
 .../patches/autostart-media-session.patch     | 17 -------------
 srcpkgs/pipewire/template                     | 25 ++++++-------------
 2 files changed, 7 insertions(+), 35 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 0466b1a5987d..31bb078d13de 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,9 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.65
-revision=1
-_pms_version=0.4.2
-build_wrksrc="${pkgname}-${version}"
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -15,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -27,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
- 4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -57,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (10 preceding siblings ...)
  2023-01-28 14:35 ` [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle ahesford
@ 2023-01-30 20:51 ` ahesford
  2023-02-04  2:35 ` ahesford
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-01-30 20:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 7576 bytes --]

From 0a4712eab470df529a5660e458a20487664c5d53 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 10 ++++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..9c5c00287667
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,10 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"

From 3c3ddf6ca3f7f7e69cf153dee088a1300ef0c9dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fb9fa438c348..9e8f474b303e 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=2
+revision=3
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,6 +15,7 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE

From 6db851188766c9e3db756f68a348bd65faff819e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: drop pipewire-media-session, depend on new
 virtual session manager

---
 .../patches/autostart-media-session.patch     | 17 -------------
 srcpkgs/pipewire/template                     | 25 ++++++-------------
 2 files changed, 7 insertions(+), 35 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 0466b1a5987d..31bb078d13de 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,9 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.65
-revision=1
-_pms_version=0.4.2
-build_wrksrc="${pkgname}-${version}"
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -15,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -27,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
- 4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -57,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (11 preceding siblings ...)
  2023-01-30 20:51 ` ahesford
@ 2023-02-04  2:35 ` ahesford
  2023-02-04 12:17 ` ahesford
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-02-04  2:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 7599 bytes --]

From b09c9858d20ae91e2599572a75c1cfb2956c4820 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 11 +++++++++++
 2 files changed, 12 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..1164bafcffae
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,11 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"
+repository=bootstrap

From f0e08f5afafd2a7a1998c0bf07ef63d0438d685c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fb9fa438c348..9e8f474b303e 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=2
+revision=3
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,6 +15,7 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE

From c02e99008b528b017283dec1294223dd4127f4bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: drop pipewire-media-session, depend on new
 virtual session manager

---
 .../patches/autostart-media-session.patch     | 17 -------------
 srcpkgs/pipewire/template                     | 25 ++++++-------------
 2 files changed, 7 insertions(+), 35 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 0466b1a5987d..31bb078d13de 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,9 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.65
-revision=1
-_pms_version=0.4.2
-build_wrksrc="${pkgname}-${version}"
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -15,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -27,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
- 4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -57,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (12 preceding siblings ...)
  2023-02-04  2:35 ` ahesford
@ 2023-02-04 12:17 ` ahesford
  2023-02-04 19:01 ` ahesford
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-02-04 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 7595 bytes --]

From b09c9858d20ae91e2599572a75c1cfb2956c4820 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 11 +++++++++++
 2 files changed, 12 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..1164bafcffae
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,11 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"
+repository=bootstrap

From f0e08f5afafd2a7a1998c0bf07ef63d0438d685c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fb9fa438c348..9e8f474b303e 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=2
+revision=3
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,6 +15,7 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE

From 29045a30baa74a8eab06b74487c8272f459e0ebf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: drop pipewire-media-session, depend on virtual
 session manager

---
 .../patches/autostart-media-session.patch     | 17 -------------
 srcpkgs/pipewire/template                     | 25 ++++++-------------
 2 files changed, 7 insertions(+), 35 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 0466b1a5987d..31bb078d13de 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,9 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.65
-revision=1
-_pms_version=0.4.2
-build_wrksrc="${pkgname}-${version}"
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -15,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -27,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
- 4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -57,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (13 preceding siblings ...)
  2023-02-04 12:17 ` ahesford
@ 2023-02-04 19:01 ` ahesford
  2023-05-06  1:48 ` github-actions
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-02-04 19:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages pipewire
https://github.com/void-linux/void-packages/pull/41868

[RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

A patch file from https://github.com/void-linux/void-packages/pull/41868.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-41868.patch --]
[-- Type: text/x-diff, Size: 7595 bytes --]

From a7a03c102e7de19e415dc2fef5e6a6cb93d5fb8b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 25 Jan 2023 21:40:15 -0500
Subject: [PATCH 1/3] New package:
 pipewire-session-manager-bootstrap-2023.01.25

This dummy package will be the default provider for the the session
manager pulled in by pipewire, breaking a build cycle.
---
 etc/defaults.virtual                                |  1 +
 srcpkgs/pipewire-session-manager-bootstrap/template | 11 +++++++++++
 2 files changed, 12 insertions(+)
 create mode 100644 srcpkgs/pipewire-session-manager-bootstrap/template

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 083ab6349eac..f399b1299840 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -28,6 +28,7 @@ nodejs-runtime nodejs
 ntp-daemon chrony
 phonon-backend phonon-backend-gstreamer
 phonon-qt5-backend phonon-qt5-backend-gstreamer
+pipewire-session-manager pipewire-session-manager-bootstrap
 rkt-stage1 rkt-stage1-coreos
 smtp-server opensmtpd
 tex texlive
diff --git a/srcpkgs/pipewire-session-manager-bootstrap/template b/srcpkgs/pipewire-session-manager-bootstrap/template
new file mode 100644
index 000000000000..1164bafcffae
--- /dev/null
+++ b/srcpkgs/pipewire-session-manager-bootstrap/template
@@ -0,0 +1,11 @@
+# Template file for 'pipewire-session-manager-bootstrap'
+pkgname=pipewire-session-manager-bootstrap
+version=2023.01.25
+revision=1
+build_style=meta
+short_desc="Dummy pipewire-session-manager provider"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+license="Public Domain"
+homepage="https://voidlinux.org"
+provides="pipewire-session-manager-${version}_${revision}"
+repository=bootstrap

From 2ddd5326e47cfd636bf26c7e7bdc5626295b542d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager

Also provide a desktop file for convenient autostart.

Continues work started in #38521.
---
 srcpkgs/wireplumber/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index fb9fa438c348..9e8f474b303e 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.13
-revision=2
+revision=3
 build_style=meson
 build_helper=gir
 configure_args="-Dintrospection=enabled -Dsystem-lua=true"
@@ -15,6 +15,7 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber"
 changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst"
 distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz"
 checksum=2c3cd85a743249d418a64b137adaea475e9d36a3bb31e4230da83458c4d99e48
+provides="pipewire-session-manager-2023.01.25_1"
 
 post_install() {
 	vlicense LICENSE

From 9d8594cd18217217403ff3bcdadbab1253d3184e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 3/3] pipewire: drop pipewire-media-session, depend on virtual
 session manager

---
 .../patches/autostart-media-session.patch     | 17 -------------
 srcpkgs/pipewire/template                     | 25 ++++++-------------
 2 files changed, 7 insertions(+), 35 deletions(-)
 delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch

diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch
deleted file mode 100644
index c5753a3719c2..000000000000
--- a/srcpkgs/pipewire/patches/autostart-media-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream's config does not autostart pipewire-media-session anymore, which
-is an essential component. It's not easy to start it externally in a script
-since it needs the pipewire socket up, and Void doesn't have a mechanism to
-ensure it (systemd socket activation).
-diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
-index 95632c2..ab0b097 100644
---- a/src/daemon/pipewire.conf.in.orig
-+++ b/src/daemon/pipewire.conf.in
-@@ -236,7 +236,7 @@
-     # but it is better to start it as a systemd service.
-     # Run the session manager with -h for options.
-     #
--    @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+    { path = "@session_manager_path@" args = "@session_manager_args@" }
-     #
-     # You can optionally start the pulseaudio-server here as well
-     # but it is better to start it as a systemd service.
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index 0466b1a5987d..31bb078d13de 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,9 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.65
-revision=1
-_pms_version=0.4.2
-build_wrksrc="${pkgname}-${version}"
+revision=2
 build_style=meson
 configure_args="
  --auto-features=enabled
@@ -15,9 +13,8 @@ configure_args="
  -Dsystemd=disabled
  -Dudevrulesdir=/usr/lib/udev/rules.d
  -Dvulkan=enabled
- -Dmedia-session:systemd=disabled
  -Dbluez5-codec-lc3plus=disabled
- -Dsession-managers=media-session
+ -Dsession-managers=[]
 "
 hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
 makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
@@ -27,20 +24,17 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
  readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
 depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
  libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
- libspa-v4l2>=${version}_${revision} pulseaudio-utils"
+ libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
 checkdepends="pulseaudio-utils"
 short_desc="Server and user space API to deal with multimedia pipelines"
 maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
 license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
-distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz
- https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
-checksum="bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
- 4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=bb76f938136d0ce8c35bffa99e002dc2dbaeab5e14c6c34154e7f750013d1d6b
 make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
 system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
 
 build_options="sdl2"
 
@@ -57,18 +51,13 @@ else
 	configure_args+=" -Dbluez5-codec-ldac=disabled"
 fi
 
-post_extract() {
-	mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
-}
-
 post_install() {
 	vlicense LICENSE
 	vdoc "${FILESDIR}/README.voidlinux"
 	vsv pipewire
 	vsv pipewire-pulse
-	vmkdir usr/share/applications
-	cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
-	cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
+	vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
+	vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
 }
 
 libpipewire_package() {

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (14 preceding siblings ...)
  2023-02-04 19:01 ` ahesford
@ 2023-05-06  1:48 ` github-actions
  2023-05-06  1:55 ` ahesford
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: github-actions @ 2023-05-06  1:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 305 bytes --]

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1536973962

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (15 preceding siblings ...)
  2023-05-06  1:48 ` github-actions
@ 2023-05-06  1:55 ` ahesford
  2023-05-24 17:10 ` [PR PATCH] [Closed]: " ahesford
  2023-05-24 17:10 ` ahesford
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-05-06  1:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 157 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1536977539

Comment:
Not stale yet!

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (17 preceding siblings ...)
  2023-05-24 17:10 ` [PR PATCH] [Closed]: " ahesford
@ 2023-05-24 17:10 ` ahesford
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-05-24 17:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 198 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/41868#issuecomment-1561634957

Comment:
Implemented in 43889c8f6bf5a588c16dfc95f8d3bbea85ab446a

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Closed]: [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
  2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
                   ` (16 preceding siblings ...)
  2023-05-06  1:55 ` ahesford
@ 2023-05-24 17:10 ` ahesford
  2023-05-24 17:10 ` ahesford
  18 siblings, 0 replies; 20+ messages in thread
From: ahesford @ 2023-05-24 17:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1369 bytes --]

There's a closed pull request on the void-packages repository

[RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
https://github.com/void-linux/void-packages/pull/41868

Description:
> **Note:** This is not really intended as an update to 0.3.64; instead, if there is enough support for this proposal, I think https://github.com/void-linux/void-packages/pull/41846 should be merged with an `INSTALL.msg` warning people that pipewire-media-session will be dropped in the next release and that they should make sure they have a working wireplumber configuration before then.

pipewire will not work without a session manager; the previously included pipewire-media-session has long been deprecated and is now abandoned [1]. Making pipewire depend on wireplumber would create a cycle, so the cycle is broken with a rename and a new metapackage:

1. Rename pipewire -> pipewire-utils to clear the pipewire name
2. New pipewire meta depends on pipewire-utils and wireplumber

The rename is a violation of policy but allows existing pipewire users to see the new meta as an update that will pull in an updated real pipewire alongside the now-required wireplumber.

Continuing the work of https://github.com/void-linux/void-packages/pull/38521.

[1] https://gitlab.freedesktop.org/pipewire/media-session/-/releases/0.4.2

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-05-24 17:10 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-25 16:31 [PR PATCH] [RFC] pipewire: update, rename pipewire-utils, add new meta to pull in wireplumber ahesford
2023-01-25 16:49 ` [PR PATCH] [Updated] " ahesford
2023-01-25 16:51 ` ahesford
2023-01-25 21:32 ` cinerea0
2023-01-26  2:48 ` cinerea0
2023-01-26  2:49 ` [PR PATCH] [Updated] " ahesford
2023-01-26  2:53 ` ahesford
2023-01-26  2:56 ` ahesford
2023-01-26 14:06 ` [PR PATCH] [Updated] " ahesford
2023-01-26 14:08 ` ahesford
2023-01-26 14:08 ` ahesford
2023-01-28 14:35 ` [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle ahesford
2023-01-30 20:51 ` ahesford
2023-02-04  2:35 ` ahesford
2023-02-04 12:17 ` ahesford
2023-02-04 19:01 ` ahesford
2023-05-06  1:48 ` github-actions
2023-05-06  1:55 ` ahesford
2023-05-24 17:10 ` [PR PATCH] [Closed]: " ahesford
2023-05-24 17:10 ` ahesford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).