From: cinerea0 <cinerea0@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] pipewire: update to 0.3.70
Date: Sat, 20 May 2023 04:38:42 +0200 [thread overview]
Message-ID: <20230520023842.eTkzAkgO_5Be-zAF7InXpKrbMt7AJAaHKlxP68nykKE@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43574@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 389 bytes --]
There is an updated pull request by cinerea0 against master on the void-packages repository
https://github.com/cinerea0/void-packages pipewire
https://github.com/void-linux/void-packages/pull/43574
pipewire: update to 0.3.70
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/43574.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pipewire-43574.patch --]
[-- Type: text/x-diff, Size: 10426 bytes --]
From 693e816360d5cb85a11d4eb84dae049e4aa52f0e Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Fri, 19 May 2023 22:33:54 -0400
Subject: [PATCH 1/3] New package:
pipewire-session-manager-bootstrap-2023.05.19
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..32dfa636b07c
--- /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.05.19
+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 f593b5803700525928a7193472b7113ae4ae6251 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Fri, 19 May 2023 22:35:25 -0400
Subject: [PATCH 2/3] wireplumber: provide virtual pipewire-session-manager
---
srcpkgs/wireplumber/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template
index 23b011e8d203..736e81629137 100644
--- a/srcpkgs/wireplumber/template
+++ b/srcpkgs/wireplumber/template
@@ -1,7 +1,7 @@
# Template file for 'wireplumber'
pkgname=wireplumber
version=0.4.14
-revision=1
+revision=2
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=b160424ce7c3eeeccba388726f6a448f53501d25085e5fa1bf6c690c1bcd85ea
+provides="pipewire-session-manager-2023.05.19_1"
post_install() {
vlicense LICENSE
From 88f7458b8ff7562ae5d1ca78817739120bdab4fc Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Fri, 19 May 2023 22:38:03 -0400
Subject: [PATCH 3/3] pipewire: update to 0.3.71, drop pipewire-media-session
Now depends on virtual session manager
---
srcpkgs/pipewire/INSTALL.msg | 6 +--
.../patches/autostart-media-session.patch | 17 -------
.../patches/jack-fix-notify-skip.patch | 50 +++++++++++++++++++
srcpkgs/pipewire/template | 27 +++-------
4 files changed, 60 insertions(+), 40 deletions(-)
delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch
create mode 100644 srcpkgs/pipewire/patches/jack-fix-notify-skip.patch
diff --git a/srcpkgs/pipewire/INSTALL.msg b/srcpkgs/pipewire/INSTALL.msg
index 9a3d2db6e1f1..3c3a9b13ef4f 100644
--- a/srcpkgs/pipewire/INSTALL.msg
+++ b/srcpkgs/pipewire/INSTALL.msg
@@ -1,4 +1,2 @@
-The pipewire-media-session session manager has been abandoned upstream and will
-be removed from Void in a subsequent pipewire update. All users are encouraged
-to transition to wireplumber as soon as possible to avoid unexpected loss of
-functionality in the future.
+The pipewire-media-session session manager has been removed from Void.
+All users must transition to wireplumber to avoid loss of functionality.
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/patches/jack-fix-notify-skip.patch b/srcpkgs/pipewire/patches/jack-fix-notify-skip.patch
new file mode 100644
index 000000000000..fed37727a636
--- /dev/null
+++ b/srcpkgs/pipewire/patches/jack-fix-notify-skip.patch
@@ -0,0 +1,50 @@
+From ce71b37b58d5e251ae7acda0799f696688df11c2 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 18 May 2023 09:59:26 +0200
+Subject: [PATCH] jack: update bufsize and samplerate when skipping notify
+
+When we skip the notify because we are not active or we don't have a
+callback, still update the buffer_size and sample_rate fields or else
+we will keep on trying forever.
+
+Fixes #3226
+---
+ pipewire-jack/src/pipewire-jack.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c
+index 0c8363ea3..20feb2462 100644
+--- a/pipewire-jack/src/pipewire-jack.c
++++ b/pipewire-jack/src/pipewire-jack.c
+@@ -1027,8 +1027,6 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
+ struct notify *notify;
+ bool emit = false;;
+
+- if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
+- return 0;
+ switch (type) {
+ case NOTIFY_TYPE_REGISTRATION:
+ emit = c->registration_callback != NULL && o != NULL;
+@@ -1060,8 +1058,18 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
+ default:
+ break;
+ }
++ if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
++ emit = false;
+ if (!emit) {
+- pw_log_debug("%p: skip notify %d", c, type);
++ switch (type) {
++ case NOTIFY_TYPE_BUFFER_FRAMES:
++ c->buffer_frames = arg1;
++ break;
++ case NOTIFY_TYPE_SAMPLE_RATE:
++ c->sample_rate = arg1;
++ break;
++ }
++ pw_log_debug("%p: skip notify %08x active:%d", c, type, c->active);
+ if (o != NULL && arg1 == 0 && o->removing) {
+ o->removing = false;
+ free_object(c, o);
+--
+GitLab
+
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index f2d161227deb..92feaab2a6d7 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,9 +1,7 @@
# Template file for 'pipewire'
pkgname=pipewire
-version=0.3.68
+version=0.3.71
revision=1
-_pms_version=0.4.2
-build_wrksrc="${pkgname}-${version}"
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=[]
-Drlimits-match=@_pipewire
"
hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
@@ -26,23 +23,20 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-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
- libmysofa-devel"
+ libmysofa-devel opus-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="fdcf7f2ee881cdc91ef54b3a558e431bdb3395f7a1e9044753c7a89346fafd91
- 4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
+distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
+checksum=070dcf83c514903d603351921c7829014c8d9162c49ae5a043290c920f6a6363
make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
system_accounts="_pipewire"
-patch_args="-Np1 --directory=${build_wrksrc}"
build_options="sdl2"
@@ -59,18 +53,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() {
next prev parent reply other threads:[~2023-05-20 2:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-22 17:35 [PR PATCH] " cinerea0
2023-04-22 17:49 ` cinerea0
2023-05-06 1:53 ` ahesford
2023-05-06 1:54 ` ahesford
2023-05-06 3:04 ` oreo639
2023-05-06 3:05 ` oreo639
2023-05-06 3:07 ` oreo639
2023-05-06 3:47 ` ahesford
2023-05-15 21:49 ` marmeladema
2023-05-17 18:17 ` cinerea0
2023-05-18 13:28 ` ahesford
2023-05-20 2:38 ` cinerea0 [this message]
2023-05-24 17:10 ` [PR PATCH] [Closed]: pipewire: update to 0.3.71, drop pipewire-media-session 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=20230520023842.eTkzAkgO_5Be-zAF7InXpKrbMt7AJAaHKlxP68nykKE@z \
--to=cinerea0@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).