Github messages for voidlinux
 help / color / mirror / Atom feed
From: ahesford <ahesford@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [RFC] pipewire: update, add virtual session manager to pull in wireplumber without build cycle
Date: Sat, 04 Feb 2023 03:35:57 +0100	[thread overview]
Message-ID: <20230204023557.oCbe1OfBW0PTLZfE9WxES_A3UWbyZ5Fckgm7ZW8W3ZQ@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-41868@inbox.vuxu.org>

[-- 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() {

  parent reply	other threads:[~2023-02-04  2:35 UTC|newest]

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

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=20230204023557.oCbe1OfBW0PTLZfE9WxES_A3UWbyZ5Fckgm7ZW8W3ZQ@z \
    --to=ahesford@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).