Github messages for voidlinux
 help / color / mirror / Atom feed
From: CameronNemo <CameronNemo@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [RFC] pipewire: split p-m-s into separate package, do not autostart session manager by default
Date: Sat, 10 Dec 2022 08:10:45 +0100	[thread overview]
Message-ID: <20221210071045.cdbRCN7hKghEBeo2kyr_cFCBe2Zv_N3o8OLJaN9ZYXI@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-38521@inbox.vuxu.org>

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

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

https://github.com/CameronNemo/void-packages pipewire-session
https://github.com/void-linux/void-packages/pull/38521

[RFC] pipewire: split p-m-s into separate package, do not autostart session manager by default
This proposes major changes to the handling of PipeWire session managers.

The PipeWire developers recommend the use of WirePlumber, but this is inconvenient with the current pipewire package.
In this PR I aim to improve the UX of void pipewire users by:

* splitting pipewire-media-session into a standalone package
* adding conflicts between pipewire-media-session and wireplumber

**The most immediate implication is that Void users who are using the default configuration (pipewire-media-session) and upgrade to this new pipewire version without further intervention will have their setups broken.** There will be no session manager broken and pipewire will not function correctly. A news post will likely be needed to ensure that users are well informed of how to proceed.

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


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

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

From 6050d56b21efe2d969b74260dca0073c43ad6eea Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Sun, 7 Aug 2022 12:26:05 -0700
Subject: [PATCH 1/3] pipewire: remove pipewire-media-session

Wireplumber should be used by most users instead.
pipewire-media-session will be re-added as a standalone package.
---
 .../patches/autostart-media-session.patch     | 17 -------------
 srcpkgs/pipewire/template                     | 24 +++++--------------
 2 files changed, 6 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 8edba430cf2d..6b074100cacc 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,10 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
 version=0.3.61
-revision=1
-_pms_version=0.4.1
-create_wrksrc=yes
-build_wrksrc="${pkgname}-${version}"
+revision=2
 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
@@ -35,13 +31,10 @@ 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="9cbc7048808c693cb7952c4b446e9ffbb91d1b34f057c340d83ae4e6d2d08f1d
- 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum="9cbc7048808c693cb7952c4b446e9ffbb91d1b34f057c340d83ae4e6d2d08f1d"
 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() {

From aa8e3da76df875013b7b2caba8a26b17830a2592 Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cam@nohom.org>
Date: Fri, 9 Dec 2022 21:24:37 -0800
Subject: [PATCH 2/3] New package: pipewire-media-session-0.4.1

---
 .../files/pipewire-media-session.desktop      |  8 +++++
 srcpkgs/pipewire-media-session/template       | 29 +++++++++++++++++++
 2 files changed, 37 insertions(+)
 create mode 100644 srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop
 create mode 100644 srcpkgs/pipewire-media-session/template

diff --git a/srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop b/srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop
new file mode 100644
index 000000000000..f420d8ee3db1
--- /dev/null
+++ b/srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=PipeWire Media Session
+Comment=Start the example PipeWire Media Session
+Icon=pipewire
+Exec=pipewire-media-session
+Terminal=false
+Type=Application
+NoDisplay=true
diff --git a/srcpkgs/pipewire-media-session/template b/srcpkgs/pipewire-media-session/template
new file mode 100644
index 000000000000..150b40dea6e9
--- /dev/null
+++ b/srcpkgs/pipewire-media-session/template
@@ -0,0 +1,29 @@
+# Template file for 'pipewire-media-session'
+pkgname=pipewire-media-session
+version=0.4.1
+revision=1
+build_style=meson
+configure_args="
+ --auto-features=enabled
+ -Db_ndebug=false
+ -Ddocs=enabled
+ -Dsystemd=disabled
+"
+hostmakedepends="doxygen pkg-config gettext"
+makedepends="dbus-devel pipewire-devel alsa-lib-devel jack-devel
+ pulseaudio-devel"
+depends="pipewire>=0.3.61_2"
+checkdepends="pipewire"
+short_desc="Example session manager for PipeWire"
+maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
+license="MIT"
+homepage="https://pipewire.org/"
+changelog="https://gitlab.freedesktop.org/pipewire/media-session/-/raw/master/NEWS"
+distfiles="https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${version}/media-session-${version}.tar.gz"
+checksum="119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
+conflicts="wireplumber"
+
+post_install() {
+	vlicense LICENSE
+	vinstall "${FILESDIR}/pipewire-media-session.desktop" 644 usr/share/applications
+}

From 795552a8e6f2aa795b383e06551b6e188b511ae8 Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cam@nohom.org>
Date: Fri, 9 Dec 2022 21:38:10 -0800
Subject: [PATCH 3/3] wireplumber: depend pipewire, conflict p-m-s

---
 srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++
 srcpkgs/wireplumber/template                  | 5 ++++-
 2 files changed, 12 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 9b54c0434be9..de09acc0e3c2 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,12 +1,13 @@
 # Template file for 'wireplumber'
 pkgname=wireplumber
 version=0.4.12
-revision=2
+revision=3
 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"
+depends="pipewire"
 checkdepends="pipewire dbus"
 short_desc="Session and policy manager implementation for PipeWire"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
@@ -15,10 +16,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=afece031dd2d1a5f535de29e21ea94a1b261d3da62b5dbb977e19668f4453b27
+conflicts="pipewire-media-session"
 
 post_install() {
 	vlicense LICENSE
 	vsv wireplumber
+	vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications
 }
 
 wireplumber-devel_package() {

  parent reply	other threads:[~2022-12-10  7:10 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-07 19:28 [PR PATCH] pipewire: use a conffile to autostart p-m-s CameronNemo
2022-08-17 19:20 ` [PR PATCH] [Updated] " CameronNemo
2022-08-20 22:22 ` pipewire: use a drop-in " paper42
2022-08-21  6:03 ` CameronNemo
2022-08-21  6:06 ` CameronNemo
2022-08-21  6:07 ` CameronNemo
2022-09-05 18:57 ` [PR PATCH] [Updated] " CameronNemo
2022-09-08  3:06 ` pipewire: update to 0.3.57, " ericonr
2022-09-08  5:28 ` CameronNemo
2022-09-08  5:30 ` CameronNemo
2022-09-20 12:21 ` CameronNemo
2022-09-20 12:29 ` Duncaen
2022-09-20 18:20 ` CameronNemo
2022-09-20 18:24 ` Duncaen
2022-09-20 18:30 ` Duncaen
2022-09-20 18:32 ` Duncaen
2022-09-20 18:35 ` Duncaen
2022-09-20 18:53 ` CameronNemo
2022-09-20 21:24 ` CameronNemo
2022-12-09 22:40 ` leahneukirchen
2022-12-09 22:53 ` JamiKettunen
2022-12-09 22:54 ` JamiKettunen
2022-12-09 23:04 ` JamiKettunen
2022-12-10  3:25 ` CameronNemo
2022-12-10  6:58 ` [PR PATCH] [Updated] " CameronNemo
2022-12-10  7:10 ` CameronNemo [this message]
2022-12-10  7:16 ` [RFC] pipewire: split p-m-s into separate package, do not autostart session manager by default CameronNemo
2023-01-13  7:06 ` [PR PATCH] [Updated] " CameronNemo
2023-01-13  7:41 ` CameronNemo
2023-01-13  8:33 ` CameronNemo
2023-01-22 23:39 ` motorto
2023-01-23  3:58 ` oreo639
2023-01-23  4:05 ` oreo639
2023-01-23  4:15 ` oreo639
2023-01-23  4:19 ` oreo639
2023-01-23  4:20 ` oreo639
2023-01-23  4:21 ` oreo639
2023-01-23  4:24 ` oreo639
2023-01-23  4:31 ` oreo639
2023-01-23  4:34 ` oreo639
2023-01-23  4:36 ` oreo639
2023-01-23  4:39 ` oreo639
2023-01-23  5:42 ` oreo639
2023-01-23  6:08 ` oreo639
2023-01-23  6:09 ` oreo639
2023-01-23  6:42 ` oreo639
2023-01-23  6:45 ` oreo639
2023-01-23  6:45 ` oreo639
2023-01-23  6:46 ` oreo639
2023-01-23  6:47 ` oreo639
2023-01-23  6:48 ` oreo639
2023-01-23  7:22 ` oreo639
2023-01-23  8:02 ` oreo639
2023-01-23  8:02 ` oreo639
2023-01-23  8:02 ` oreo639
2023-01-23  8:03 ` oreo639
2023-01-23  8:04 ` oreo639
2023-01-23  8:05 ` oreo639
2023-01-23  8:05 ` oreo639
2023-01-23  8:05 ` oreo639
2023-01-23  8:05 ` oreo639
2023-01-23  8:08 ` oreo639
2023-01-23  8:09 ` oreo639
2023-01-23  9:10 ` oreo639
2023-01-23 22:30 ` CameronNemo
2023-01-23 22:30 ` CameronNemo
2023-01-25 14:53 ` ahesford
2023-01-25 15:40 ` CameronNemo
2023-01-25 15:52 ` ahesford
2023-01-25 15:54 ` ahesford
2023-01-25 15:54 ` CameronNemo
2023-01-25 15:54 ` [PR PATCH] [Closed]: " CameronNemo
2023-01-25 16:31 ` ahesford
2023-01-28 11:42 ` oreo639

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221210071045.cdbRCN7hKghEBeo2kyr_cFCBe2Zv_N3o8OLJaN9ZYXI@z \
    --to=cameronnemo@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).