* 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 ` ahesford
2023-05-24 17:10 ` [PR PATCH] [Closed]: " 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
` (16 preceding siblings ...)
2023-05-06 1:55 ` ahesford
@ 2023-05-24 17:10 ` ahesford
2023-05-24 17:10 ` [PR PATCH] [Closed]: " 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
` (17 preceding siblings ...)
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