public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2019-10-21 23:38 Andreas Sturmlechner
  0 siblings, 0 replies; 40+ messages in thread
From: Andreas Sturmlechner @ 2019-10-21 23:38 UTC (permalink / raw
  To: gentoo-commits

commit:     ffcf2e1a011c72bdd3d5122ccd44987a3d536d2a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 21 21:10:52 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 21 23:38:20 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffcf2e1a

media-video/pipewire: Drop 0.2.6

Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 -
 .../files/pipewire-0.2.6-alsa-lib-1.1.9.patch      |  66 ----------
 ...pewire-0.2.6-fix-probing-without-starting.patch |  63 ----------
 .../pipewire-0.2.6-reuse-fd-in-pipewiresrc.patch   | 137 ---------------------
 .../pipewire-0.2.6-revert-combine-all-perms.patch  |  34 -----
 media-video/pipewire/pipewire-0.2.6.ebuild         |  88 -------------
 6 files changed, 389 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index e5f74aabbe5..b13f9d2704c 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,2 +1 @@
-DIST pipewire-0.2.6.tar.gz 421137 BLAKE2B 155667d14fe5380e21f0b70accea72dc4478085916a9126185136f6d33bd7729d91b790c171dcf7b6aea2c52894462d16516f8821229ca0bf9f6cde15df524d9 SHA512 3d1db41f5beb42a0ee15ae7bc8afb89b54a37c3a6a414e88b5e33ceaf98ec6dda0d9a2d03ac47a8dfce48e9637e647291919e6670bb70589b0d1951fbcbd3ff8
 DIST pipewire-0.2.7.tar.gz 421644 BLAKE2B d2ccb56a9ea5ea7782678deb6eae0b0a70da1fa69e807398062d388733901839f15a2f0f7db982fbebd2b2759f443709e6c1950b6367f3ed4801d6c2d6109e73 SHA512 10d3e20cc3d233fbcd1fc39702ae3043a656ebcd9cd3c39c77f0cc2bf42ff4956fc03e7933c7b397bca446c63f45ddacea948d5ec7e4a3300499fa2794f14334

diff --git a/media-video/pipewire/files/pipewire-0.2.6-alsa-lib-1.1.9.patch b/media-video/pipewire/files/pipewire-0.2.6-alsa-lib-1.1.9.patch
deleted file mode 100644
index 7b2b4c894da..00000000000
--- a/media-video/pipewire/files/pipewire-0.2.6-alsa-lib-1.1.9.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 37613b67ba52b5ad4e81d7ea38adc04027d9f9e5 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 23 May 2019 09:25:51 +0200
-Subject: [PATCH] alsa: handle alsa-lib 1.1.9
-
-alsa-lib 1.1.9 removed /usr/include/alsa from the include path, we
-must include <alsa/asoundlib.h>
----
- spa/plugins/alsa/alsa-monitor.c | 2 +-
- spa/plugins/alsa/alsa-sink.c    | 2 +-
- spa/plugins/alsa/alsa-source.c  | 2 +-
- spa/plugins/alsa/alsa-utils.h   | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/spa/plugins/alsa/alsa-monitor.c b/spa/plugins/alsa/alsa-monitor.c
-index d8935cd7..16a01302 100644
---- a/spa/plugins/alsa/alsa-monitor.c
-+++ b/spa/plugins/alsa/alsa-monitor.c
-@@ -25,7 +25,7 @@
- #include <poll.h>
- 
- #include <libudev.h>
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
- 
- #include <spa/support/log.h>
- #include <spa/support/type-map.h>
-diff --git a/spa/plugins/alsa/alsa-sink.c b/spa/plugins/alsa/alsa-sink.c
-index c31fe3e2..3c252fab 100644
---- a/spa/plugins/alsa/alsa-sink.c
-+++ b/spa/plugins/alsa/alsa-sink.c
-@@ -19,7 +19,7 @@
- 
- #include <stddef.h>
- 
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
- 
- #include <spa/node/node.h>
- #include <spa/param/audio/format.h>
-diff --git a/spa/plugins/alsa/alsa-source.c b/spa/plugins/alsa/alsa-source.c
-index 74bbb3c0..8efc8fde 100644
---- a/spa/plugins/alsa/alsa-source.c
-+++ b/spa/plugins/alsa/alsa-source.c
-@@ -19,7 +19,7 @@
- 
- #include <stddef.h>
- 
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
- 
- #include <spa/node/node.h>
- #include <spa/utils/list.h>
-diff --git a/spa/plugins/alsa/alsa-utils.h b/spa/plugins/alsa/alsa-utils.h
-index 5ba57bc5..3b590007 100644
---- a/spa/plugins/alsa/alsa-utils.h
-+++ b/spa/plugins/alsa/alsa-utils.h
-@@ -26,7 +26,7 @@ extern "C" {
- 
- #include <stddef.h>
- 
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
- 
- #include <spa/support/type-map.h>
- #include <spa/support/loop.h>

diff --git a/media-video/pipewire/files/pipewire-0.2.6-fix-probing-without-starting.patch b/media-video/pipewire/files/pipewire-0.2.6-fix-probing-without-starting.patch
deleted file mode 100644
index 9b3aed33b96..00000000000
--- a/media-video/pipewire/files/pipewire-0.2.6-fix-probing-without-starting.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 37e66c9e55f556558088d9f6b2200d4341a37f04 Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Tue, 18 Jun 2019 09:53:12 +0200
-Subject: [PATCH] deviceprovider: fix probing without starting
-
-self->type is needed in registry_event_global() so it must be set in
-gst_pipewire_device_provider_probe() as well.
-
-self->devices is initialized as NULL when probing is started. So it should
-be just a simple GList* pointer.
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- src/gst/gstpipewiredeviceprovider.c | 8 ++++++--
- src/gst/gstpipewiredeviceprovider.h | 2 +-
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/src/gst/gstpipewiredeviceprovider.c b/src/gst/gstpipewiredeviceprovider.c
-index b6472d96..02b38c2e 100644
---- a/src/gst/gstpipewiredeviceprovider.c
-+++ b/src/gst/gstpipewiredeviceprovider.c
-@@ -265,7 +265,7 @@ static void do_add_node(void *data)
-   nd->dev = new_node (self, nd);
-   if (nd->dev) {
-     if(self->list_only)
--      *self->devices = g_list_prepend (*self->devices, gst_object_ref_sink (nd->dev));
-+      self->devices = g_list_prepend (self->devices, gst_object_ref_sink (nd->dev));
-     else
-       gst_device_provider_device_add (GST_DEVICE_PROVIDER (self), nd->dev);
-   }
-@@ -555,6 +555,8 @@ gst_pipewire_device_provider_probe (GstDeviceProvider * provider)
- 
-   t = pw_core_get_type(c);
- 
-+  self->type = pw_core_get_type (c);
-+
-   if (!(r = pw_remote_new (c, NULL, sizeof(*data))))
-     goto failed;
- 
-@@ -612,7 +614,9 @@ gst_pipewire_device_provider_probe (GstDeviceProvider * provider)
-   pw_core_destroy (c);
-   pw_loop_destroy (l);
- 
--  return *self->devices;
-+  self->type = NULL;
-+
-+  return self->devices;
- 
- failed:
-   pw_loop_destroy (l);
-diff --git a/src/gst/gstpipewiredeviceprovider.h b/src/gst/gstpipewiredeviceprovider.h
-index 81622605..3cf2d41b 100644
---- a/src/gst/gstpipewiredeviceprovider.h
-+++ b/src/gst/gstpipewiredeviceprovider.h
-@@ -98,7 +98,7 @@ struct _GstPipeWireDeviceProvider {
- 
-   gboolean end;
-   gboolean list_only;
--  GList **devices;
-+  GList *devices;
- };
- 
- struct _GstPipeWireDeviceProviderClass {

diff --git a/media-video/pipewire/files/pipewire-0.2.6-reuse-fd-in-pipewiresrc.patch b/media-video/pipewire/files/pipewire-0.2.6-reuse-fd-in-pipewiresrc.patch
deleted file mode 100644
index a1176d3e1b3..00000000000
--- a/media-video/pipewire/files/pipewire-0.2.6-reuse-fd-in-pipewiresrc.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 151b2b266e1dae3679584f38b954e4357cf1e5cc Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Wed, 19 Jun 2019 10:49:28 +0200
-Subject: [PATCH] connection: add do_close flag to connect_fd
-
-Make pw_remote_connect_fd() not automatically close the provided
-fd but let the caller take care of that. This allows us to reuse
-the fd in pipewiresrc.
-
-Fixes #155
----
- src/modules/module-protocol-native.c              | 7 ++++---
- src/modules/module-protocol-native/local-socket.c | 2 +-
- src/pipewire/protocol.h                           | 4 ++--
- src/pipewire/remote.c                             | 8 ++++----
- src/pipewire/remote.h                             | 3 ++-
- 5 files changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/src/modules/module-protocol-native.c b/src/modules/module-protocol-native.c
-index 131657f6..0e7b7e27 100644
---- a/src/modules/module-protocol-native.c
-+++ b/src/modules/module-protocol-native.c
-@@ -619,7 +619,7 @@ static const struct pw_protocol_native_connection_events conn_events = {
- 	.need_flush = on_need_flush,
- };
- 
--static int impl_connect_fd(struct pw_protocol_client *client, int fd)
-+static int impl_connect_fd(struct pw_protocol_client *client, int fd, bool do_close)
- {
- 	struct client *impl = SPA_CONTAINER_OF(client, struct client, this);
- 	struct pw_remote *remote = client->remote;
-@@ -638,14 +638,15 @@ static int impl_connect_fd(struct pw_protocol_client *client, int fd)
-         impl->source = pw_loop_add_io(remote->core->main_loop,
-                                       fd,
-                                       SPA_IO_IN | SPA_IO_HUP | SPA_IO_ERR,
--                                      true, on_remote_data, impl);
-+                                      do_close, on_remote_data, impl);
- 	if (impl->source == NULL)
- 		goto error_close;
- 
- 	return 0;
- 
-       error_close:
--        close(fd);
-+	if (do_close)
-+	        close(fd);
-         return -ENOMEM;
- }
- 
-diff --git a/src/modules/module-protocol-native/local-socket.c b/src/modules/module-protocol-native/local-socket.c
-index 5ab5a210..0e68eea9 100644
---- a/src/modules/module-protocol-native/local-socket.c
-+++ b/src/modules/module-protocol-native/local-socket.c
-@@ -84,7 +84,7 @@ int pw_protocol_native_connect_local_socket(struct pw_protocol_client *client,
-                 goto error_close;
- 	}
- 
--	res = pw_protocol_client_connect_fd(client, fd);
-+	res = pw_protocol_client_connect_fd(client, fd, true);
- 
- 	done_callback(data, res);
- 
-diff --git a/src/pipewire/protocol.h b/src/pipewire/protocol.h
-index 2b6592d1..4a0845fb 100644
---- a/src/pipewire/protocol.h
-+++ b/src/pipewire/protocol.h
-@@ -44,14 +44,14 @@ struct pw_protocol_client {
- 	int (*connect) (struct pw_protocol_client *client,
- 			void (*done_callback) (void *data, int result),
- 			void *data);
--	int (*connect_fd) (struct pw_protocol_client *client, int fd);
-+	int (*connect_fd) (struct pw_protocol_client *client, int fd, bool close);
- 	int (*steal_fd) (struct pw_protocol_client *client);
- 	void (*disconnect) (struct pw_protocol_client *client);
- 	void (*destroy) (struct pw_protocol_client *client);
- };
- 
- #define pw_protocol_client_connect(c,cb,d)	((c)->connect(c,cb,d))
--#define pw_protocol_client_connect_fd(c,fd)	((c)->connect_fd(c,fd))
-+#define pw_protocol_client_connect_fd(c,fd,cl)	((c)->connect_fd(c,fd,cl))
- #define pw_protocol_client_steal_fd(c)		((c)->steal_fd(c))
- #define pw_protocol_client_disconnect(c)	((c)->disconnect(c))
- #define pw_protocol_client_destroy(c)		((c)->destroy(c))
-diff --git a/src/pipewire/remote.c b/src/pipewire/remote.c
-index f63a973a..472b2684 100644
---- a/src/pipewire/remote.c
-+++ b/src/pipewire/remote.c
-@@ -305,7 +305,7 @@ void pw_remote_destroy(struct pw_remote *remote)
- 	spa_list_consume(stream, &remote->stream_list, link)
- 		pw_stream_destroy(stream);
- 
--	pw_protocol_client_destroy (remote->conn);
-+	pw_protocol_client_destroy(remote->conn);
- 
- 	spa_list_remove(&remote->link);
- 
-@@ -413,7 +413,7 @@ int pw_remote_connect(struct pw_remote *remote)
- 
- 	pw_remote_update_state(remote, PW_REMOTE_STATE_CONNECTING, NULL);
- 
--	if ((res = pw_protocol_client_connect (remote->conn, done_connect, remote)) < 0) {
-+	if ((res = pw_protocol_client_connect(remote->conn, done_connect, remote)) < 0) {
- 		pw_remote_update_state(remote, PW_REMOTE_STATE_ERROR,
- 				"connect failed %s", spa_strerror(res));
- 		return res;
-@@ -428,7 +428,7 @@ int pw_remote_connect_fd(struct pw_remote *remote, int fd)
- 
- 	pw_remote_update_state(remote, PW_REMOTE_STATE_CONNECTING, NULL);
- 
--	if ((res = pw_protocol_client_connect_fd (remote->conn, fd)) < 0) {
-+	if ((res = pw_protocol_client_connect_fd(remote->conn, fd, false)) < 0) {
- 		pw_remote_update_state(remote, PW_REMOTE_STATE_ERROR,
- 				"connect_fd failed %s", spa_strerror(res));
- 		return res;
-@@ -462,7 +462,7 @@ int pw_remote_disconnect(struct pw_remote *remote)
- 		pw_proxy_destroy(proxy);
- 	remote->core_proxy = NULL;
- 
--	pw_protocol_client_disconnect (remote->conn);
-+	pw_protocol_client_disconnect(remote->conn);
- 
- 	pw_map_clear(&remote->objects);
- 	pw_map_clear(&remote->types);
-diff --git a/src/pipewire/remote.h b/src/pipewire/remote.h
-index df0c496c..2974a04a 100644
---- a/src/pipewire/remote.h
-+++ b/src/pipewire/remote.h
-@@ -177,7 +177,8 @@ void pw_remote_add_listener(struct pw_remote *remote,
- int pw_remote_connect(struct pw_remote *remote);
- 
- /** Connect to a remote PipeWire on the given socket \memberof pw_remote
-- * \param fd the connected socket to use
-+ * \param fd the connected socket to use, the socket will not be closed
-+ *	automatically on disconnect or error.
-  * \return 0 on success, < 0 on error */
- int pw_remote_connect_fd(struct pw_remote *remote, int fd);
- 

diff --git a/media-video/pipewire/files/pipewire-0.2.6-revert-combine-all-perms.patch b/media-video/pipewire/files/pipewire-0.2.6-revert-combine-all-perms.patch
deleted file mode 100644
index 57ada7d5fb4..00000000000
--- a/media-video/pipewire/files/pipewire-0.2.6-revert-combine-all-perms.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4350bd624f165de81de10293a8ec5a59e8b7ce64 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Fri, 28 Jun 2019 12:22:33 +0200
-Subject: [PATCH] Revert "global: combine all permissions of the object tree"
-
-This reverts commit 83bc033837f7525d898f1de91119f669f9bf97f5.
-
-This needs some more work.
----
- src/pipewire/global.c | 10 ++--------
- 1 file changed, 2 insertions(+), 8 deletions(-)
-
-diff --git a/src/pipewire/global.c b/src/pipewire/global.c
-index c963965e..00258ff8 100644
---- a/src/pipewire/global.c
-+++ b/src/pipewire/global.c
-@@ -38,15 +38,9 @@ uint32_t pw_global_get_permissions(struct pw_global *global, struct pw_client *c
- {
- 	uint32_t perms = PW_PERM_RWX;
- 
--	if (client->permission_func == NULL)
--		return perms;
--
--	perms = client->permission_func(global, client, client->permission_data);
--
--	while (global != global->parent) {
--		global = global->parent;
-+	if (client->permission_func != NULL)
- 		perms &= client->permission_func(global, client, client->permission_data);
--	}
-+
- 	return perms;
- }
- 

diff --git a/media-video/pipewire/pipewire-0.2.6.ebuild b/media-video/pipewire/pipewire-0.2.6.ebuild
deleted file mode 100644
index dfd692811b8..00000000000
--- a/media-video/pipewire/pipewire-0.2.6.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/PipeWire/pipewire.git"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/PipeWire/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.2"
-IUSE="bluetooth doc ffmpeg libav gstreamer sdl systemd vaapi X"
-
-BDEPEND="
-	app-doc/xmltoman
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-DEPEND="
-	media-libs/alsa-lib
-	sys-apps/dbus
-	virtual/libudev
-	bluetooth? ( media-libs/sbc )
-	ffmpeg? (
-		!libav? ( media-video/ffmpeg:= )
-		libav? ( media-video/libav:= )
-	)
-	gstreamer? (
-		media-libs/gstreamer:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	sdl? ( media-libs/libsdl2 )
-	systemd? ( sys-apps/systemd )
-	vaapi? ( x11-libs/libva )
-	X? ( x11-libs/libX11 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-alsa-lib-1.1.9.patch
-	"${FILESDIR}"/${P}-reuse-fd-in-pipewiresrc.patch
-	"${FILESDIR}"/${P}-fix-probing-without-starting.patch
-	"${FILESDIR}"/${P}-revert-combine-all-perms.patch
-)
-
-src_prepare() {
-	spa_use() {
-		if ! use ${1}; then
-			sed -e "/.*dependency.*'${2-$1}'/s/'${2-$1}'/'${2-$1}-disabled-by-USE-no-${1}'/" \
-				-i spa/meson.build || die
-		fi
-	}
-
-	default
-	spa_use bluetooth sbc
-	spa_use ffmpeg libavcodec
-	spa_use ffmpeg libavformat
-	spa_use ffmpeg libavfilter
-	spa_use vaapi libva
-	spa_use sdl sdl2
-	spa_use X x11
-}
-
-src_configure() {
-	local emesonargs=(
-		-Dman=true
-		$(meson_use doc docs)
-		$(meson_feature gstreamer)
-		$(meson_use systemd)
-	)
-	meson_src_configure
-}
-
-pkg_postinst() {
-	elog "Package has optional sys-auth/rtkit RUNTIME support that may be"
-	elog "disabled by setting DISABLE_RTKIT env var."
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-04-24 21:15 Thomas Deutschmann
  0 siblings, 0 replies; 40+ messages in thread
From: Thomas Deutschmann @ 2021-04-24 21:15 UTC (permalink / raw
  To: gentoo-commits

commit:     f788f389419678d2f2399eeb65fd2eedd7956196
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 24 21:13:26 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Apr 24 21:15:54 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f788f389

media-video/pipewire: bump to v0.3.26

Closes: https://bugs.gentoo.org/775386
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 media-video/pipewire/Manifest                   |   1 +
 media-video/pipewire/files/pipewire-launcher.sh |   6 +
 media-video/pipewire/files/pipewire.desktop     |  12 ++
 media-video/pipewire/pipewire-0.3.26.ebuild     | 243 ++++++++++++++++++++++++
 4 files changed, 262 insertions(+)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 0fc9725e04f..4b42b099c84 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,2 +1,3 @@
 DIST pipewire-0.3.22.tar.gz 1263844 BLAKE2B 3fb90c0b1c17ed108e8c390873f5c4527e1ff9241d1c5964ad5b7c01fbfefda901ef1228f178cf3c9899e6e8e75969a470f8fba63473ff203cba612c6c0553ca SHA512 a6587e0afd5c90be1733ecf62c6fc68e735ab3b84f2cbbf844bbe1be93e7a23dee07b041ed6b273cab6ab207d2388ae6f2027d0380928555a0155a7cc9ca4a7e
 DIST pipewire-0.3.25.tar.gz 1351257 BLAKE2B 3c4d6d98e3255df8baf50eb548bcf77b5c027a50f6acedd83cd63481ed5b642c174589f34314f150b07116cea8a3458c3f8b770df4081585d7f75cc8dde4decd SHA512 0f84be21bfcd70f25900c53a8ce399c29ce2d4d10f8b56e5103603cf0c80673aab0b16492e55b42985283adf46343cdca01626225db85a2263f06c309f68f2d7
+DIST pipewire-0.3.26.tar.gz 1447673 BLAKE2B 67feb1288fcdc9ac5578b97ab2567b46a7431921291584bc9db2c2e60db074c3a61c3af9859d3b2f9044cfba6c15e9bfde9edc001b753f8fc47965eb55d751c8 SHA512 d771956a42801a6e07fac48a175363eb4107a9fba13d649ff5c2cdc40044c84a61bf56050783507f6dd8efae8c59a2be07ec67433827335ae60f8116c4a4e178

diff --git a/media-video/pipewire/files/pipewire-launcher.sh b/media-video/pipewire/files/pipewire-launcher.sh
new file mode 100644
index 00000000000..ecff3e7e708
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-launcher.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# We need to kill any existing pipewire instance to restore sound
+pkill -u "${USER}" -x pipewire 1>/dev/null 2>&1
+
+exec /usr/bin/pipewire

diff --git a/media-video/pipewire/files/pipewire.desktop b/media-video/pipewire/files/pipewire.desktop
new file mode 100644
index 00000000000..d3786e74f82
--- /dev/null
+++ b/media-video/pipewire/files/pipewire.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Name[de]=PipeWire Mediensystem
+Name=PipeWire Media System
+Comment[de]=Das PipeWire Mediensystem starten
+Comment=Start the PipeWire Media System
+Exec=/usr/libexec/pipewire-launcher
+Terminal=false
+Type=Application
+X-GNOME-HiddenUnderSystemd=true
+X-KDE-HiddenUnderSystemd=true
+X-systemd-skip=true

diff --git a/media-video/pipewire/pipewire-0.3.26.ebuild b/media-video/pipewire/pipewire-0.3.26.ebuild
new file mode 100644
index 00000000000..a90b445a81d
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.26.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson optfeature udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+#	EGIT_BRANCH="master"
+	inherit git-r3
+else
+	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/0.3"
+IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+REQUIRED_USE="
+	aac? ( bluetooth )
+	aptx? ( bluetooth )
+	ldac? ( bluetooth )
+"
+
+BDEPEND="
+	app-doc/xmltoman
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	media-libs/alsa-lib
+	sys-apps/dbus
+	sys-libs/ncurses[unicode]
+	virtual/libudev
+	bluetooth? (
+		aac? ( media-libs/fdk-aac )
+		aptx? ( media-libs/libopenaptx )
+		ldac? ( media-libs/libldac )
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+	)
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7
+		|| (
+			media-plugins/alsa-plugins[-pulseaudio]
+			!media-plugins/alsa-plugins
+		)
+	)
+	!pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] )
+	systemd? ( sys-apps/systemd )
+	v4l? ( media-libs/libv4l )
+"
+
+DEPEND="${RDEPEND}"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+src_prepare() {
+	default
+
+	if ! use systemd; then
+		# This can be applied non-conditionally but would make for a
+		# significantly worse user experience on systemd then.
+		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
+	fi
+}
+
+src_configure() {
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+		$(meson_feature doc docs)
+		-Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good)
+		-Dmedia-session=enabled
+		-Dman=enabled
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_feature gstreamer)
+		$(meson_feature gstreamer gstreamer-device-provider)
+		$(meson_feature systemd) # Also covers logind integration
+		-Dsystemd-system-service=disabled # Matches upstream
+		$(meson_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		#-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant)
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_feature bluetooth bluez5)
+		$(meson_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_feature bluetooth bluez5-backend-ofono)
+		$(meson_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_feature aac bluez5-codec-aac)
+		$(meson_feature aptx bluez5-codec-aptx)
+		$(meson_feature ldac bluez5-codec-ldac)
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		$(meson_feature jack-client jack) # Allows PW to act as a JACK client
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_feature extra pw-cat)
+		-Dudev=enabled
+		-Dudevrulesdir="$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+	)
+	meson_src_configure
+}
+
+src_compile() {
+	meson_src_compile
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		1000:60000	-	memlock 256
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+src_install() {
+	meson_src_install
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
+
+		exeinto /usr/libexec
+		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
+	fi
+}
+
+pkg_postinst() {
+	if ! use pipewire-alsa; then
+		elog "Contrary to what some online resources may suggest, avoid setting"
+		elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients."
+		elog
+	fi
+
+	elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+	elog "alternative libraries have been installed to a non-default location."
+	elog "To use them, put pw-jack <application> before every JACK application."
+	elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+	elog "provider is still needed to compile the JACK applications themselves."
+	elog
+
+	if use systemd; then
+		elog "Per Gentoo policy installed systemd units must be manually enabled:"
+		elog "systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog "systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog "Rebooting is strongly recommended to avoid surprises from"
+		elog "remnant PulseAudio daemon auto-spawning and surviving logouts."
+		elog
+		ewarn "Both new users and those upgrading need to enable pipewire-media-session:"
+		ewarn "systemctl --user enable pipewire-media-session.service"
+	else
+		elog "This ebuild auto-enables PulseAudio replacement. Because of that users"
+		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
+		elog "autospawn'ing of the original daemon by setting:"
+		elog "autospawn = no"
+		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+		elog
+		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+		elog "${EROOT}/etc/pipewire/pipewire.conf"
+		elog "by commenting out the relevant command near the end of the file:"
+		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
+		elog
+		elog "It is still necessary to manually enable PipeWire startup. Setup specific"
+		elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire"
+	fi
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
+	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
+	if use bluetooth; then
+		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
+		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-05-21 23:05 Thomas Deutschmann
  0 siblings, 0 replies; 40+ messages in thread
From: Thomas Deutschmann @ 2021-05-21 23:05 UTC (permalink / raw
  To: gentoo-commits

commit:     3e5e2c5e7337086a3aba193bfe11dabb687760f6
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri May 21 23:04:22 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri May 21 23:05:16 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e5e2c5e

media-video/pipewire: allow >openaptx-0.2

Closes: https://bugs.gentoo.org/791259
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 ...pipewire-0.3.28-revert-openaptx-restriction.patch | 20 ++++++++++++++++++++
 media-video/pipewire/pipewire-0.3.28.ebuild          |  1 +
 media-video/pipewire/pipewire-9999.ebuild            |  1 +
 3 files changed, 22 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch
new file mode 100644
index 00000000000..f624191b442
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch
@@ -0,0 +1,20 @@
+Revert "openaptx: Blacklist >= 0.2.1 due to license change"
+
+This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
+
+Doesn't apply to us.
+
+Bug: https://bugs.gentoo.org/785634
+
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -22,7 +22,7 @@ if not get_option('spa-plugins').disabled()
+   sbc_dep = dependency('sbc', required: get_option('bluez5'))
+   ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
+   ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
+-  aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
++  aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
+   fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
+   avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
+   jack_dep = dependency('jack', version : '>= 1.9.10', required: get_option('jack'))
+ 

diff --git a/media-video/pipewire/pipewire-0.3.28.ebuild b/media-video/pipewire/pipewire-0.3.28.ebuild
index 5504603123f..9568402650e 100644
--- a/media-video/pipewire/pipewire-0.3.28.ebuild
+++ b/media-video/pipewire/pipewire-0.3.28.ebuild
@@ -97,6 +97,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${PN}-0.3.28-revert-openaptx-restriction.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index 5504603123f..9568402650e 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -97,6 +97,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${PN}-0.3.28-revert-openaptx-restriction.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-06-04  7:33 Thomas Deutschmann
  0 siblings, 0 replies; 40+ messages in thread
From: Thomas Deutschmann @ 2021-06-04  7:33 UTC (permalink / raw
  To: gentoo-commits

commit:     9d7deec91048ab3f0c83ae17afe642b77d6dc493
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  4 07:32:26 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Jun  4 07:32:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d7deec9

media-video/pipewire: bump to v0.3.29

Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 +
 ...pewire-0.3.29-revert-openaptx-restriction.patch |  30 +++
 media-video/pipewire/pipewire-0.3.29.ebuild        | 271 +++++++++++++++++++++
 3 files changed, 302 insertions(+)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 3ecd570692f..94d25adbc07 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -3,3 +3,4 @@ DIST pipewire-0.3.25.tar.gz 1351257 BLAKE2B 3c4d6d98e3255df8baf50eb548bcf77b5c02
 DIST pipewire-0.3.26.tar.gz 1447673 BLAKE2B 67feb1288fcdc9ac5578b97ab2567b46a7431921291584bc9db2c2e60db074c3a61c3af9859d3b2f9044cfba6c15e9bfde9edc001b753f8fc47965eb55d751c8 SHA512 d771956a42801a6e07fac48a175363eb4107a9fba13d649ff5c2cdc40044c84a61bf56050783507f6dd8efae8c59a2be07ec67433827335ae60f8116c4a4e178
 DIST pipewire-0.3.27.tar.gz 1459913 BLAKE2B b6db73de85c41932b630e62b3dcc589529ae5457cae6731a8ec5db50f20b541e7e9596976a368c4bb654b1443071c53f8fe4a9ddfc1ee8a0ecc04d69b683456a SHA512 a2df1df8e43846b91fbeedeb1cda9c73b970ac9de58d8b4e97ada54ee74a8f26a168504289c7392c94cc7ea54aa01ada4791c66a5d3159a2bc980df633f6bcfe
 DIST pipewire-0.3.28.tar.gz 1474219 BLAKE2B d20b39c8ed49cd44f2109aab6453aac547ff66dc2ef4a52fb71fea27eb07920efc58498e5ddd82e9f6d86981185e37313748d9157c9a09a3ae1e8ae48d5d45d6 SHA512 f2ed23609c6a45fb80f54caabaa304ba4f318c905a28350c89c65f179a95cc2022f1acbb0c2ec558baf4dc6bcc5623b8daa6678d52cdb9179a88c67b6c1fe0ff
+DIST pipewire-0.3.29.tar.gz 1504935 BLAKE2B fe3984ec4b02fe91683d382e3891e174748b52c5e2f609dc838837f1ac0fea736e06395a022b8ec152fe015cca24c54d4c1896acde3a2ac66eb700dc2336fe4f SHA512 bc163ad3e2d7696295fd3720e8f9cc4d478a55c0694c0faa03a40333e3b65fcbff27e4e296eb9dd0191ca2782e04934915c46e04a2444b458491cd2905823ddd

diff --git a/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch
new file mode 100644
index 00000000000..9da495f12d0
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch
@@ -0,0 +1,30 @@
+From 6d2e45a67cadd9498b24e8e4ea7adc6cf627333d Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 3 Jun 2021 14:15:44 +0200
+Subject: [PATCH] Revert "openaptx: Blacklist >= 0.2.1 due to license change"
+
+This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
+
+Doesn't apply to us.
+
+Bug: https://bugs.gentoo.org/785634
+---
+ spa/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/spa/meson.build b/spa/meson.build
+index 263af4c2..7671c74b 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -23,7 +23,7 @@ if not get_option('spa-plugins').disabled()
+     sbc_dep = dependency('sbc', required: get_option('bluez5'))
+     ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
+     ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
+-    aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
++    aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
+     fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
+   endif
+   avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
+-- 
+2.32.0.rc3
+

diff --git a/media-video/pipewire/pipewire-0.3.29.ebuild b/media-video/pipewire/pipewire-0.3.29.ebuild
new file mode 100644
index 00000000000..ed54b0ec601
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.29.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit meson-multilib optfeature udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+SLOT="0/0.3"
+IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+REQUIRED_USE="
+	aac? ( bluetooth )
+	aptx? ( bluetooth )
+	jack-sdk? ( !jack-client )
+	ldac? ( bluetooth )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	app-doc/xmltoman
+	virtual/pkgconfig
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-apps/dbus[${MULTILIB_USEDEP}]
+	sys-libs/ncurses[unicode]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	virtual/libudev[${MULTILIB_USEDEP}]
+	bluetooth? (
+		aac? ( media-libs/fdk-aac )
+		aptx? ( media-libs/libopenaptx )
+		ldac? ( media-libs/libldac )
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+	)
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+		|| (
+			media-plugins/alsa-plugins[-pulseaudio]
+			!media-plugins/alsa-plugins
+		)
+	)
+	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
+	systemd? ( sys-apps/systemd )
+	v4l? ( media-libs/libv4l )
+"
+
+DEPEND="${RDEPEND}"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${PN}-0.3.29-revert-openaptx-restriction.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+src_prepare() {
+	default
+
+	if ! use systemd; then
+		# This can be applied non-conditionally but would make for a
+		# significantly worse user experience on systemd then.
+		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
+	fi
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
+		$(meson_native_enabled media-session)
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature systemd)
+		-Dsystemd-system-service=disabled # Matches upstream
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature aac bluez5-codec-aac)
+		$(meson_native_use_feature aptx bluez5-codec-aptx)
+		$(meson_native_use_feature ldac bluez5-codec-ldac)
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_feature jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		-Dudev=enabled
+		-Dudevrulesdir="$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our customs DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
+
+		exeinto /usr/libexec
+		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
+	fi
+}
+
+pkg_postinst() {
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "To use PipeWire for audio, the user units must be manually enabled:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
+		elog
+		elog "  systemctl --user enable pipewire-media-session.service"
+		elog
+		elog "NOTE: This is not required when using PipeWire only for screencasting."
+		elog
+	else
+		elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
+		elog "autospawn'ing of the original daemon by setting:"
+		elog
+		elog "  autospawn = no"
+		elog
+		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+		elog
+		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+		elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
+		elog "command near the end of the file:"
+		elog
+		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
+		elog
+	fi
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
+	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
+	if use bluetooth; then
+		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
+		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-06-30 20:16 Lars Wendler
  0 siblings, 0 replies; 40+ messages in thread
From: Lars Wendler @ 2021-06-30 20:16 UTC (permalink / raw
  To: gentoo-commits

commit:     6b8dc9b2ecd430c571f9d0a7bbde7e43b90f0ed5
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 30 20:14:59 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Jun 30 20:14:59 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b8dc9b2

media-video/pipewire: Fixed openaptx revert patch again

Closes: https://bugs.gentoo.org/799353
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 ...pewire-0.3.31-revert-openaptx-restriction.patch | 30 ++++++++++++++++++++++
 media-video/pipewire/pipewire-9999.ebuild          |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/media-video/pipewire/files/pipewire-0.3.31-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.31-revert-openaptx-restriction.patch
new file mode 100644
index 00000000000..d8496bc5a69
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.31-revert-openaptx-restriction.patch
@@ -0,0 +1,30 @@
+From 3449214466c4dac866ec9f47ecc573efaf4505bb Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Fri, 21 May 2021 10:32:52 +0200
+Subject: [PATCH] Revert "openaptx: Blacklist >= 0.2.1 due to license change"
+
+This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
+
+Doesn't apply to us.
+
+Bug: https://bugs.gentoo.org/785634
+---
+ spa/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/spa/meson.build b/spa/meson.build
+index e13802e94..885b25405 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -28,7 +28,7 @@ if not get_option('spa-plugins').disabled()
+     summary({'LDAC': ldac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+     ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
+     summary({'LDAC ABR': ldac_abr_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+-    aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
++    aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
+     summary({'aptX': aptx_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+     fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
+     summary({'AAC': fdk_aac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+-- 
+2.32.0
+

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index d2c5423d5e5..acb7e554b78 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -101,7 +101,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	"${FILESDIR}"/${PN}-0.3.29-revert-openaptx-restriction.patch
+	"${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-06-30 20:40 Lars Wendler
  0 siblings, 0 replies; 40+ messages in thread
From: Lars Wendler @ 2021-06-30 20:40 UTC (permalink / raw
  To: gentoo-commits

commit:     1078f2a85b1b3f256d04db4ff165d98a3dce309f
Author:     Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
AuthorDate: Wed Jun 30 20:28:39 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Jun 30 20:40:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1078f2a8

media-video/pipewire: Rebased non-systemd integration patch.

Closes: https://bugs.gentoo.org/799353
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
Closes: https://github.com/gentoo/gentoo/pull/21491
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/pipewire-0.3.31-non-systemd-integration.patch | 17 +++++++++++++++++
 media-video/pipewire/pipewire-9999.ebuild               |  2 +-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/media-video/pipewire/files/pipewire-0.3.31-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.31-non-systemd-integration.patch
new file mode 100644
index 00000000000..ccc89f1310b
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.31-non-systemd-integration.patch
@@ -0,0 +1,17 @@
+--- a/src/daemon/pipewire.conf.in	2021-06-30 22:22:09.520402459 +0200
++++ b/src/daemon/pipewire.conf.in	2021-06-30 22:22:30.620404999 +0200
+@@ -234,12 +234,12 @@
+     # but it is better to start it as a systemd service.
+     # Run the session manager with -h for options.
+     #
+-    @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.
+     # It can be interesting to start another daemon here that listens
+     # on another address with the -a option (eg. -a tcp:4713).
+     #
+-    @comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
++    { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
+ ]

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index acb7e554b78..4520c807491 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -114,7 +114,7 @@ src_prepare() {
 	if ! use systemd; then
 		# This can be applied non-conditionally but would make for a
 		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
+		eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch
 	fi
 
 	einfo "Generating ${limitsdfile}"


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-08-24 13:17 Thomas Deutschmann
  0 siblings, 0 replies; 40+ messages in thread
From: Thomas Deutschmann @ 2021-08-24 13:17 UTC (permalink / raw
  To: gentoo-commits

commit:     b0f9b2915c3e98ef272f613515afc74a53286b28
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 24 12:51:17 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Aug 24 12:52:07 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0f9b291

media-video/pipewire: bump to v0.3.33

Stick to libaptx for now and delay decision since both
aptx libs haven't diverged yet.

Closes: https://bugs.gentoo.org/809591
Package-Manager: Portage-3.0.22, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 media-video/pipewire/Manifest                      |  1 +
 ...pipewire-0.3.33-revert-libfreeaptx-switch.patch | 38 ++++++++++++++++++++++
 ...pipewire-9999.ebuild => pipewire-0.3.33.ebuild} |  3 +-
 media-video/pipewire/pipewire-9999.ebuild          |  1 +
 4 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index f9d9215564a..70f935c1428 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -7,3 +7,4 @@ DIST pipewire-0.3.29.tar.gz 1504935 BLAKE2B fe3984ec4b02fe91683d382e3891e174748b
 DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
 DIST pipewire-0.3.31.tar.gz 1594284 BLAKE2B 0ff358c53ea4357a72ac58ee45ccac792161d3ddd7a9dbcd6933be88e0ddc5d9c49468a3b1eb0cdf9ea81ec4272ad53078f6cae1fd20358bbeed108139e217ce SHA512 ff21e281bb3e5f6da1001e0c64b33368e96d31f0ec2d395cdfcfac105b0442d8fedd2225e6e5d1c93fdbd5e0108accecebbb7c294c55803a4ea853f1efa0c069
 DIST pipewire-0.3.32.tar.gz 1604622 BLAKE2B cab83a17a2b27f710e1377a2ad2ad7003053ef3e8b55423362f0b428e22d52c2ce564da00aab71cc93262d4cb21f239fffea195d05937fdf3489dc540b77d58d SHA512 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7
+DIST pipewire-0.3.33.tar.gz 1629559 BLAKE2B de48956ac87ed6d63a08dd354b1e4abf81b9db99825ca65cbb5b522e71eb6920b35173e1c3abd9a710c28709e2b0a459db67654cfeac42149cdfa91c84833a8b SHA512 bc3d5658d6fda11dd55f22ba5293b4ff6c3e9a8d083b0cf7b3356bc18f4f65967557602a0d6603a2a2a548ecb42c6b7fbb9d315ed0fce435f4bb884ab4dd263b

diff --git a/media-video/pipewire/files/pipewire-0.3.33-revert-libfreeaptx-switch.patch b/media-video/pipewire/files/pipewire-0.3.33-revert-libfreeaptx-switch.patch
new file mode 100644
index 00000000000..94d4b7dcb0c
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.33-revert-libfreeaptx-switch.patch
@@ -0,0 +1,38 @@
+commit f405a4e6069725934f9ae0f1b978497a34197d8d
+Author:     Thomas Deutschmann <whissi@gentoo.org>
+AuthorDate: Tue Aug 24 14:22:36 2021 +0200
+Commit:     Thomas Deutschmann <whissi@gentoo.org>
+CommitDate: Tue Aug 24 14:22:43 2021 +0200
+
+    Revert "bluez5: Use libfreeaptx instead of libopenaptx"
+    
+    This reverts commit 1216371f8c06f548f8ade6468b66612f43df1436.
+    
+    Delay decision for now since both aptx libs haven't diverged yet.
+
+diff --git a/spa/meson.build b/spa/meson.build
+index 483536b54..e13802e94 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -28,7 +28,7 @@ if not get_option('spa-plugins').disabled()
+     summary({'LDAC': ldac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+     ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
+     summary({'LDAC ABR': ldac_abr_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+-    aptx_dep = dependency('libfreeaptx', required : get_option('bluez5-codec-aptx'))
++    aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
+     summary({'aptX': aptx_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+     fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
+     summary({'AAC': fdk_aac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+diff --git a/spa/plugins/bluez5/a2dp-codec-aptx.c b/spa/plugins/bluez5/a2dp-codec-aptx.c
+index f8d7d6dd8..62ecde348 100644
+--- a/spa/plugins/bluez5/a2dp-codec-aptx.c
++++ b/spa/plugins/bluez5/a2dp-codec-aptx.c
+@@ -32,7 +32,7 @@
+ 
+ #include <sbc/sbc.h>
+ 
+-#include <freeaptx.h>
++#include <openaptx.h>
+ 
+ #include "defs.h"
+ #include "rtp.h"

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.33.ebuild
similarity index 98%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.33.ebuild
index ca8a33f0f30..6668891d3bb 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.33.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 else
 	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -96,6 +96,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${PN}-0.3.33-revert-libfreeaptx-switch.patch
 	"${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch
 )
 

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index ca8a33f0f30..af7dc100dd1 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -96,6 +96,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${PN}-0.3.33-revert-libfreeaptx-switch.patch
 	"${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch
 )
 


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-08-27 10:50 Lars Wendler
  0 siblings, 0 replies; 40+ messages in thread
From: Lars Wendler @ 2021-08-27 10:50 UTC (permalink / raw
  To: gentoo-commits

commit:     8eb357fa7cdb4377fa47c7dfedefa247ff992724
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 27 09:18:39 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Aug 27 10:49:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8eb357fa

media-video/pipewire: Removed old

Removed unused local USE descriptions

Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   7 -
 .../files/pipewire-0.3.25-fix-docdir-path.patch    |  32 ---
 ...pewire-0.3.28-revert-openaptx-restriction.patch |  20 --
 media-video/pipewire/metadata.xml                  |   6 -
 media-video/pipewire/pipewire-0.3.22.ebuild        | 128 ----------
 media-video/pipewire/pipewire-0.3.25-r1.ebuild     | 236 ------------------
 media-video/pipewire/pipewire-0.3.26-r1.ebuild     | 243 ------------------
 media-video/pipewire/pipewire-0.3.27-r2.ebuild     | 269 --------------------
 media-video/pipewire/pipewire-0.3.28-r1.ebuild     | 270 --------------------
 media-video/pipewire/pipewire-0.3.29-r1.ebuild     | 271 --------------------
 media-video/pipewire/pipewire-0.3.31-r1.ebuild     | 274 ---------------------
 11 files changed, 1756 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 70f935c1428..cbbf718c524 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,10 +1,3 @@
-DIST pipewire-0.3.22.tar.gz 1263844 BLAKE2B 3fb90c0b1c17ed108e8c390873f5c4527e1ff9241d1c5964ad5b7c01fbfefda901ef1228f178cf3c9899e6e8e75969a470f8fba63473ff203cba612c6c0553ca SHA512 a6587e0afd5c90be1733ecf62c6fc68e735ab3b84f2cbbf844bbe1be93e7a23dee07b041ed6b273cab6ab207d2388ae6f2027d0380928555a0155a7cc9ca4a7e
-DIST pipewire-0.3.25.tar.gz 1351257 BLAKE2B 3c4d6d98e3255df8baf50eb548bcf77b5c027a50f6acedd83cd63481ed5b642c174589f34314f150b07116cea8a3458c3f8b770df4081585d7f75cc8dde4decd SHA512 0f84be21bfcd70f25900c53a8ce399c29ce2d4d10f8b56e5103603cf0c80673aab0b16492e55b42985283adf46343cdca01626225db85a2263f06c309f68f2d7
-DIST pipewire-0.3.26.tar.gz 1447673 BLAKE2B 67feb1288fcdc9ac5578b97ab2567b46a7431921291584bc9db2c2e60db074c3a61c3af9859d3b2f9044cfba6c15e9bfde9edc001b753f8fc47965eb55d751c8 SHA512 d771956a42801a6e07fac48a175363eb4107a9fba13d649ff5c2cdc40044c84a61bf56050783507f6dd8efae8c59a2be07ec67433827335ae60f8116c4a4e178
-DIST pipewire-0.3.27.tar.gz 1459913 BLAKE2B b6db73de85c41932b630e62b3dcc589529ae5457cae6731a8ec5db50f20b541e7e9596976a368c4bb654b1443071c53f8fe4a9ddfc1ee8a0ecc04d69b683456a SHA512 a2df1df8e43846b91fbeedeb1cda9c73b970ac9de58d8b4e97ada54ee74a8f26a168504289c7392c94cc7ea54aa01ada4791c66a5d3159a2bc980df633f6bcfe
-DIST pipewire-0.3.28.tar.gz 1474219 BLAKE2B d20b39c8ed49cd44f2109aab6453aac547ff66dc2ef4a52fb71fea27eb07920efc58498e5ddd82e9f6d86981185e37313748d9157c9a09a3ae1e8ae48d5d45d6 SHA512 f2ed23609c6a45fb80f54caabaa304ba4f318c905a28350c89c65f179a95cc2022f1acbb0c2ec558baf4dc6bcc5623b8daa6678d52cdb9179a88c67b6c1fe0ff
-DIST pipewire-0.3.29.tar.gz 1504935 BLAKE2B fe3984ec4b02fe91683d382e3891e174748b52c5e2f609dc838837f1ac0fea736e06395a022b8ec152fe015cca24c54d4c1896acde3a2ac66eb700dc2336fe4f SHA512 bc163ad3e2d7696295fd3720e8f9cc4d478a55c0694c0faa03a40333e3b65fcbff27e4e296eb9dd0191ca2782e04934915c46e04a2444b458491cd2905823ddd
 DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
-DIST pipewire-0.3.31.tar.gz 1594284 BLAKE2B 0ff358c53ea4357a72ac58ee45ccac792161d3ddd7a9dbcd6933be88e0ddc5d9c49468a3b1eb0cdf9ea81ec4272ad53078f6cae1fd20358bbeed108139e217ce SHA512 ff21e281bb3e5f6da1001e0c64b33368e96d31f0ec2d395cdfcfac105b0442d8fedd2225e6e5d1c93fdbd5e0108accecebbb7c294c55803a4ea853f1efa0c069
 DIST pipewire-0.3.32.tar.gz 1604622 BLAKE2B cab83a17a2b27f710e1377a2ad2ad7003053ef3e8b55423362f0b428e22d52c2ce564da00aab71cc93262d4cb21f239fffea195d05937fdf3489dc540b77d58d SHA512 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7
 DIST pipewire-0.3.33.tar.gz 1629559 BLAKE2B de48956ac87ed6d63a08dd354b1e4abf81b9db99825ca65cbb5b522e71eb6920b35173e1c3abd9a710c28709e2b0a459db67654cfeac42149cdfa91c84833a8b SHA512 bc3d5658d6fda11dd55f22ba5293b4ff6c3e9a8d083b0cf7b3356bc18f4f65967557602a0d6603a2a2a548ecb42c6b7fbb9d315ed0fce435f4bb884ab4dd263b

diff --git a/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch b/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch
deleted file mode 100644
index 9c7a55c95e2..00000000000
--- a/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/doc/meson.build b/doc/meson.build
-index 05c7ed35..ce9b52ea 100644
---- a/doc/meson.build
-+++ b/doc/meson.build
-@@ -24,11 +24,14 @@ doxyfile = configure_file(input: 'Doxyfile.in',
-                           output: 'Doxyfile',
-                           configuration: doxyfile_conf)
- 
--docdir = join_paths(pipewire_datadir, 'doc')
-+docdir = get_option('docdir')
-+if docdir == ''
-+  docdir = join_paths(pipewire_datadir, 'doc', meson.project_name())
-+endif
- 
- html_target = custom_target('pipewire-docs',
-                             input: [ doxyfile ],
-                             output: [ 'html' ],
-                             command: [ doxygen, doxyfile ],
-                             install: true,
--                            install_dir: join_paths(docdir, 'pipewire'))
-+                            install_dir: docdir)
-diff --git a/meson_options.txt b/meson_options.txt
-index 858283f2..d51e693f 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,6 @@
-+option('docdir',
-+	type : 'string',
-+	description : 'Directory for installing documentation to (defaults to pipewire_datadir/doc/meson.project_name() )')
- option('docs',
-        description: 'Build documentation',
-        type: 'feature',

diff --git a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch
deleted file mode 100644
index f624191b442..00000000000
--- a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Revert "openaptx: Blacklist >= 0.2.1 due to license change"
-
-This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
-
-Doesn't apply to us.
-
-Bug: https://bugs.gentoo.org/785634
-
---- a/spa/meson.build
-+++ b/spa/meson.build
-@@ -22,7 +22,7 @@ if not get_option('spa-plugins').disabled()
-   sbc_dep = dependency('sbc', required: get_option('bluez5'))
-   ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
-   ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
--  aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
-+  aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
-   fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
-   avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
-   jack_dep = dependency('jack', version : '>= 1.9.10', required: get_option('jack'))
- 

diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml
index d199e8a9255..621d03ab195 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -19,15 +19,9 @@
 		<doc>https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home</doc>
 	</upstream>
 	<use>
-		<flag name="aac">AAC over Bluetooth (iPhone compatible headphones)</flag>
-		<flag name="aptx">aptX (HD) over Bluetooth (many Android compatible headphones)</flag>
 		<flag name="extra">Build pw-cat/pw-play/pw-record</flag>
-		<flag name="ffmpeg">Builds an unsupported SPA (file a Gentoo bug if you need this)</flag>
-		<flag name="jack">Enable SPA JACK plugin and emulation to be able to run JACK applications on top of PipeWire</flag>
 		<flag name="jack-client">Install a plugin for running PipeWire as a JACK client</flag>
 		<flag name="jack-sdk">Use PipeWire as JACK replacement</flag>
-		<flag name="ldac">LDAC over Bluetooth (primarily Sony headphones)</flag>
 		<flag name="pipewire-alsa">Replace PulseAudio's ALSA plugin with PipeWire's plugin</flag>
-		<flag name="vulkan">Uses Vulkan compute shaders to provide a CGI video source</flag>
 	</use>
 </pkgmetadata>

diff --git a/media-video/pipewire/pipewire-0.3.22.ebuild b/media-video/pipewire/pipewire-0.3.22.ebuild
deleted file mode 100644
index 882c564f08a..00000000000
--- a/media-video/pipewire/pipewire-0.3.22.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/PipeWire/pipewire.git"
-	EGIT_BRANCH="work"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/PipeWire/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="bluetooth debug doc ffmpeg gstreamer jack sdl sndfile systemd test vulkan X"
-
-BDEPEND="
-	app-doc/xmltoman
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	>=media-libs/alsa-lib-1.1.7
-	sys-apps/dbus
-	virtual/libudev
-	bluetooth? (
-		media-libs/sbc
-		net-wireless/bluez:=
-	)
-	ffmpeg? ( media-video/ffmpeg:= )
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack? ( >=media-sound/jack2-1.9.10:2 )
-	sdl? ( media-libs/libsdl2 )
-	sndfile? ( >=media-libs/libsndfile-1.0.20 )
-	systemd? ( sys-apps/systemd )
-	vulkan? ( media-libs/vulkan-loader )
-	X? ( x11-libs/libX11 )
-"
-DEPEND="${RDEPEND}
-	vulkan? ( dev-util/vulkan-headers )
-"
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-RESTRICT="!test? ( test )"
-
-src_prepare() {
-	spa_use() {
-		if ! in_iuse ${1} || ! use ${1}; then
-			sed -e "/^add-spa-lib.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \
-				-e "/^load-module.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \
-				-i src/daemon/pipewire.conf.in || die
-		fi
-	}
-
-	default
-	spa_use libcamera
-	spa_use rtkit
-	spa_use bluetooth bluez5
-	spa_use jack
-	spa_use vulkan
-}
-
-src_configure() {
-	local emesonargs=(
-		-Dexamples=true # contains required pipewire-media-session
-		-Dman=true
-		-Dspa-plugins=true
-		--buildtype=$(usex debug debugoptimized plain)
-		# alsa plugin and jack emulation
-		-Dpipewire-alsa=true
-		$(meson_use jack pipewire-jack)
-		# spa-plugins
-		# we install alsa support unconditionally
-		$(meson_use bluetooth bluez5)
-		$(meson_use ffmpeg)
-		$(meson_use jack)
-		$(meson_use vulkan)
-		# libcamera is not packaged
-		# misc
-		$(meson_use doc docs)
-		$(meson_use gstreamer)
-		$(meson_use gstreamer gstreamer-device-provider)
-		$(meson_feature sdl sdl2)
-		$(meson_feature sndfile)
-		$(meson_use systemd)
-		$(meson_use test test)
-		$(meson_use test tests)
-	)
-	meson_src_configure
-}
-
-src_install() {
-	meson_src_install
-
-	dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-
-# 	# TODO: this breaks alsa users
-# 	if use alsa; then
-# 		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-# 	fi
-}
-
-pkg_postinst() {
-	elog "Package has optional sys-auth/rtkit RUNTIME support that may be disabled"
-	elog "by setting DISABLE_RTKIT env var."
-	elog "To enable rtkit, uncomment the load-module line in /etc/pipewire/pipewire.conf"
-	elog
-	if use jack; then
-		elog "Please note that even though the libraries for JACK emulation have"
-		elog "been installed, this ebuild is not yet wired up to replace a JACK server."
-		elog
-	fi
-	elog "Read INSTALL.md for information about ALSA plugin or JACK/PulseAudio emulation."
-}

diff --git a/media-video/pipewire/pipewire-0.3.25-r1.ebuild b/media-video/pipewire/pipewire-0.3.25-r1.ebuild
deleted file mode 100644
index 83afc679686..00000000000
--- a/media-video/pipewire/pipewire-0.3.25-r1.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-#	EGIT_BRANCH="master"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	aac? ( bluetooth )
-	aptx? ( bluetooth )
-	ldac? ( bluetooth )
-"
-
-BDEPEND="
-	app-doc/xmltoman
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	media-libs/alsa-lib
-	sys-apps/dbus
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libudev
-	bluetooth? (
-		aac? ( media-libs/fdk-aac )
-		aptx? ( media-libs/libopenaptx )
-		ldac? ( media-libs/libldac )
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7
-		|| (
-			media-plugins/alsa-plugins[-pulseaudio]
-			!media-plugins/alsa-plugins
-		)
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-fix-docdir-path.patch
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
-	fi
-}
-
-src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_feature doc docs)
-		-Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good)
-		-Dmedia-session=enabled
-		-Dman=enabled
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_feature gstreamer)
-		$(meson_feature gstreamer gstreamer-device-provider)
-		$(meson_feature systemd) # Also covers logind integration
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		#-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant)
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_feature bluetooth bluez5)
-		$(meson_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_feature bluetooth bluez5-backend-ofono)
-		$(meson_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_feature aac bluez5-codec-aac)
-		$(meson_feature aptx bluez5-codec-aptx)
-		$(meson_feature ldac bluez5-codec-ldac)
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_feature jack-client jack) # Allows PW to act as a JACK client
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-	meson_src_configure
-}
-
-src_compile() {
-	meson_src_compile
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		1000:60000	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-src_install() {
-	meson_src_install
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-}
-
-pkg_postinst() {
-	if ! use pipewire-alsa; then
-		elog "Contrary to what some online resources may suggest, avoid setting"
-		elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients."
-		elog
-	fi
-
-	elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-	elog "alternative libraries have been installed to a non-default location."
-	elog "To use them, put pw-jack <application> before every JACK application."
-	elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-	elog "provider is still needed to compile the JACK applications themselves."
-	elog
-
-	if use systemd; then
-		elog "Per Gentoo policy installed systemd units must be manually enabled:"
-		elog "systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog "systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog "Rebooting is strongly recommended to avoid surprises from"
-		elog "remnant PulseAudio daemon auto-spawning and surviving logouts."
-		elog
-		ewarn "Both new users and those upgrading need to enable pipewire-media-session:"
-		ewarn "systemctl --user enable pipewire-media-session.service"
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
-		elog "autospawn'ing of the original daemon by setting:"
-		elog "autospawn = no"
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf"
-		elog "by commenting out the relevant command near the end of the file:"
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-		elog "It is still necessary to manually enable PipeWire startup. Setup specific"
-		elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire"
-	fi
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
-	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
-	if use bluetooth; then
-		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
-		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.26-r1.ebuild b/media-video/pipewire/pipewire-0.3.26-r1.ebuild
deleted file mode 100644
index 56accd5f507..00000000000
--- a/media-video/pipewire/pipewire-0.3.26-r1.ebuild
+++ /dev/null
@@ -1,243 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-#	EGIT_BRANCH="master"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	aac? ( bluetooth )
-	aptx? ( bluetooth )
-	ldac? ( bluetooth )
-"
-
-BDEPEND="
-	app-doc/xmltoman
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	media-libs/alsa-lib
-	sys-apps/dbus
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libudev
-	bluetooth? (
-		aac? ( media-libs/fdk-aac )
-		aptx? ( media-libs/libopenaptx )
-		ldac? ( media-libs/libldac )
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7
-		|| (
-			media-plugins/alsa-plugins[-pulseaudio]
-			!media-plugins/alsa-plugins
-		)
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
-	fi
-}
-
-src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_feature doc docs)
-		-Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good)
-		-Dmedia-session=enabled
-		-Dman=enabled
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_feature gstreamer)
-		$(meson_feature gstreamer gstreamer-device-provider)
-		$(meson_feature systemd) # Also covers logind integration
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		#-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant)
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_feature bluetooth bluez5)
-		$(meson_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_feature bluetooth bluez5-backend-ofono)
-		$(meson_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_feature aac bluez5-codec-aac)
-		$(meson_feature aptx bluez5-codec-aptx)
-		$(meson_feature ldac bluez5-codec-ldac)
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_feature jack-client jack) # Allows PW to act as a JACK client
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-	meson_src_configure
-}
-
-src_compile() {
-	meson_src_compile
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		1000:60000	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-src_install() {
-	meson_src_install
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
-		exeinto /usr/libexec
-		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	if ! use pipewire-alsa; then
-		elog "Contrary to what some online resources may suggest, avoid setting"
-		elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients."
-		elog
-	fi
-
-	elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-	elog "alternative libraries have been installed to a non-default location."
-	elog "To use them, put pw-jack <application> before every JACK application."
-	elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-	elog "provider is still needed to compile the JACK applications themselves."
-	elog
-
-	if use systemd; then
-		elog "Per Gentoo policy installed systemd units must be manually enabled:"
-		elog "systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog "systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog "Rebooting is strongly recommended to avoid surprises from"
-		elog "remnant PulseAudio daemon auto-spawning and surviving logouts."
-		elog
-		ewarn "Both new users and those upgrading need to enable pipewire-media-session:"
-		ewarn "systemctl --user enable pipewire-media-session.service"
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
-		elog "autospawn'ing of the original daemon by setting:"
-		elog "autospawn = no"
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf"
-		elog "by commenting out the relevant command near the end of the file:"
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-		elog "It is still necessary to manually enable PipeWire startup. Setup specific"
-		elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire"
-	fi
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
-	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
-	if use bluetooth; then
-		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
-		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.27-r2.ebuild b/media-video/pipewire/pipewire-0.3.27-r2.ebuild
deleted file mode 100644
index 990c290d7d2..00000000000
--- a/media-video/pipewire/pipewire-0.3.27-r2.ebuild
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit meson-multilib optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	aac? ( bluetooth )
-	aptx? ( bluetooth )
-	jack-sdk? ( !jack-client )
-	ldac? ( bluetooth )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	app-doc/xmltoman
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		aac? ( media-libs/fdk-aac )
-		aptx? ( media-libs/libopenaptx )
-		ldac? ( media-libs/libldac )
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		|| (
-			media-plugins/alsa-plugins[-pulseaudio]
-			!media-plugins/alsa-plugins
-		)
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
-	fi
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
-		$(meson_native_enabled media-session)
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature aac bluez5-codec-aac)
-		$(meson_native_use_feature aptx bluez5-codec-aptx)
-		$(meson_native_use_feature ldac bluez5-codec-ldac)
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_feature jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our customs DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
-		exeinto /usr/libexec
-		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "To use PipeWire for audio, the user units must be manually enabled:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
-		elog
-		elog "  systemctl --user enable pipewire-media-session.service"
-		elog
-		elog "NOTE: This is not required when using PipeWire only for screencasting."
-		elog
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
-		elog "autospawn'ing of the original daemon by setting:"
-		elog
-		elog "  autospawn = no"
-		elog
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
-		elog "command near the end of the file:"
-		elog
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
-	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
-	if use bluetooth; then
-		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
-		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.28-r1.ebuild b/media-video/pipewire/pipewire-0.3.28-r1.ebuild
deleted file mode 100644
index e45f023b6a0..00000000000
--- a/media-video/pipewire/pipewire-0.3.28-r1.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit meson-multilib optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	aac? ( bluetooth )
-	aptx? ( bluetooth )
-	jack-sdk? ( !jack-client )
-	ldac? ( bluetooth )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	app-doc/xmltoman
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		aac? ( media-libs/fdk-aac )
-		aptx? ( media-libs/libopenaptx )
-		ldac? ( media-libs/libldac )
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		|| (
-			media-plugins/alsa-plugins[-pulseaudio]
-			!media-plugins/alsa-plugins
-		)
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	"${FILESDIR}"/${PN}-0.3.28-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
-	fi
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
-		$(meson_native_enabled media-session)
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature aac bluez5-codec-aac)
-		$(meson_native_use_feature aptx bluez5-codec-aptx)
-		$(meson_native_use_feature ldac bluez5-codec-ldac)
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_feature jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our customs DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
-		exeinto /usr/libexec
-		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "To use PipeWire for audio, the user units must be manually enabled:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
-		elog
-		elog "  systemctl --user enable pipewire-media-session.service"
-		elog
-		elog "NOTE: This is not required when using PipeWire only for screencasting."
-		elog
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
-		elog "autospawn'ing of the original daemon by setting:"
-		elog
-		elog "  autospawn = no"
-		elog
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
-		elog "command near the end of the file:"
-		elog
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
-	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
-	if use bluetooth; then
-		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
-		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.29-r1.ebuild b/media-video/pipewire/pipewire-0.3.29-r1.ebuild
deleted file mode 100644
index 94c7194ef13..00000000000
--- a/media-video/pipewire/pipewire-0.3.29-r1.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit meson-multilib optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	aac? ( bluetooth )
-	aptx? ( bluetooth )
-	jack-sdk? ( !jack-client )
-	ldac? ( bluetooth )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	app-doc/xmltoman
-	virtual/pkgconfig
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		aac? ( media-libs/fdk-aac )
-		aptx? ( media-libs/libopenaptx )
-		ldac? ( media-libs/libldac )
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		|| (
-			media-plugins/alsa-plugins[-pulseaudio]
-			!media-plugins/alsa-plugins
-		)
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	"${FILESDIR}"/${PN}-0.3.29-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
-	fi
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
-		$(meson_native_enabled media-session)
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature aac bluez5-codec-aac)
-		$(meson_native_use_feature aptx bluez5-codec-aptx)
-		$(meson_native_use_feature ldac bluez5-codec-ldac)
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_feature jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our customs DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
-		exeinto /usr/libexec
-		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "To use PipeWire for audio, the user units must be manually enabled:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
-		elog
-		elog "  systemctl --user enable pipewire-media-session.service"
-		elog
-		elog "NOTE: This is not required when using PipeWire only for screencasting."
-		elog
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
-		elog "autospawn'ing of the original daemon by setting:"
-		elog
-		elog "  autospawn = no"
-		elog
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
-		elog "command near the end of the file:"
-		elog
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
-	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
-	if use bluetooth; then
-		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
-		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.31-r1.ebuild b/media-video/pipewire/pipewire-0.3.31-r1.ebuild
deleted file mode 100644
index a4448bb20cd..00000000000
--- a/media-video/pipewire/pipewire-0.3.31-r1.ebuild
+++ /dev/null
@@ -1,274 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit meson-multilib optfeature python-any-r1 udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	app-doc/xmltoman
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libopenaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		|| (
-			media-plugins/alsa-plugins[-pulseaudio]
-			!media-plugins/alsa-plugins
-		)
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	"${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch
-	fi
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
-		$(meson_native_enabled media-session)
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_feature jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our customs DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
-		exeinto /usr/libexec
-		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "To use PipeWire for audio, the user units must be manually enabled:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
-		elog
-		elog "  systemctl --user enable pipewire-media-session.service"
-		elog
-		elog "NOTE: This is not required when using PipeWire only for screencasting."
-		elog
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
-		elog "autospawn'ing of the original daemon by setting:"
-		elog
-		elog "  autospawn = no"
-		elog
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
-		elog "command near the end of the file:"
-		elog
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, package is no longer installing config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override sections you want to change."
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
-	# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
-	if use bluetooth; then
-		optfeature "better BT headset support (daemon startup required)" net-misc/ofono
-		#optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-09-19  1:18 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2021-09-19  1:18 UTC (permalink / raw
  To: gentoo-commits

commit:     6798bf035f8fb7a2688a0f824568fe1bea17fadb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 19 01:17:54 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 19 01:18:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6798bf03

media-video/pipewire: add missing include patch to 0.3.36

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.36-missing-limits-include.patch  | 17 +++++++++++++++++
 media-video/pipewire/pipewire-0.3.36.ebuild             |  1 +
 2 files changed, 18 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch b/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch
new file mode 100644
index 00000000000..c7ed7b973a9
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch
@@ -0,0 +1,17 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/6168067cb2a45ffa3c92aff1135659feaf9c1240
+
+From: Leonardo Neumann <leonardo@neumann.dev.br>
+Date: Sat, 18 Sep 2021 04:36:20 -0300
+Subject: [PATCH] fix missing limits.h include
+
+--- a/src/pipewire/impl-module.c
++++ b/src/pipewire/impl-module.c
+@@ -28,6 +28,7 @@
+ #include <stdio.h>
+ #include <dlfcn.h>
+ #include <dirent.h>
++#include <limits.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+ 
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.36.ebuild b/media-video/pipewire/pipewire-0.3.36.ebuild
index 727450ab578..255220766c0 100644
--- a/media-video/pipewire/pipewire-0.3.36.ebuild
+++ b/media-video/pipewire/pipewire-0.3.36.ebuild
@@ -98,6 +98,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
 	"${FILESDIR}"/${P}-fix-crash-uaf-media-session.patch
 	"${FILESDIR}"/${P}-fix-version.patch
+	"${FILESDIR}"/${P}-missing-limits-include.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-09-21  6:32 Miroslav Šulc
  0 siblings, 0 replies; 40+ messages in thread
From: Miroslav Šulc @ 2021-09-21  6:32 UTC (permalink / raw
  To: gentoo-commits

commit:     d11f8bda09cccd132c9141913918d8b5a0857ad7
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 21 06:32:31 2021 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Sep 21 06:32:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d11f8bda

media-video/pipewire: updated non-systemd patch in live

Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 .../pipewire-0.3.36-non-systemd-integration.patch     | 19 +++++++++++++++++++
 media-video/pipewire/pipewire-9999.ebuild             |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch
new file mode 100644
index 00000000000..b8d3271eecd
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch
@@ -0,0 +1,19 @@
+diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
+index 648e13069..d985208b4 100644
+--- a/src/daemon/pipewire.conf.in
++++ b/src/daemon/pipewire.conf.in
+@@ -235,12 +235,12 @@ context.exec = [
+     # 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.
+     # It can be interesting to start another daemon here that listens
+     # on another address with the -a option (eg. -a tcp:4713).
+     #
+-    @pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
++    { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
+ ]

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index d20512a9507..d3fba11aee6 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -112,7 +112,7 @@ src_prepare() {
 	if ! use systemd; then
 		# This can be applied non-conditionally but would make for a
 		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.35-non-systemd-integration.patch
+		eapply "${FILESDIR}"/${PN}-0.3.36-non-systemd-integration.patch
 	fi
 
 	einfo "Generating ${limitsdfile}"


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-10-25 17:12 Patrick McLean
  0 siblings, 0 replies; 40+ messages in thread
From: Patrick McLean @ 2021-10-25 17:12 UTC (permalink / raw
  To: gentoo-commits

commit:     bafdb109acd7c3eec16dde18fd06f0983d73527f
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 25 17:12:08 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Oct 25 17:12:08 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bafdb109

media-video/pipewire-0.3.39-r1: Revbump, fix desktop (bug 820185)

The desktop file was still launching /usr/libexec/pipewire-launcher but
as of 0.3.39, it should be launching /usr/bin/gentoo-pipewire-launcher.
Revbump the desktop file and install the updated version.

Closes: https://bugs.gentoo.org/820185
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 media-video/pipewire/files/pipewire.desktop-r1               | 12 ++++++++++++
 .../{pipewire-0.3.39.ebuild => pipewire-0.3.39-r1.ebuild}    |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/media-video/pipewire/files/pipewire.desktop-r1 b/media-video/pipewire/files/pipewire.desktop-r1
new file mode 100644
index 00000000000..d950312930f
--- /dev/null
+++ b/media-video/pipewire/files/pipewire.desktop-r1
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Name[de]=PipeWire Mediensystem
+Name=PipeWire Media System
+Comment[de]=Das PipeWire Mediensystem starten
+Comment=Start the PipeWire Media System
+Exec=/usr/bin/gentoo-pipewire-launcher
+Terminal=false
+Type=Application
+X-GNOME-HiddenUnderSystemd=true
+X-KDE-HiddenUnderSystemd=true
+X-systemd-skip=true

diff --git a/media-video/pipewire/pipewire-0.3.39.ebuild b/media-video/pipewire/pipewire-0.3.39-r1.ebuild
similarity index 99%
rename from media-video/pipewire/pipewire-0.3.39.ebuild
rename to media-video/pipewire/pipewire-0.3.39-r1.ebuild
index 7dabfed1cb8..3c425733a52 100644
--- a/media-video/pipewire/pipewire-0.3.39.ebuild
+++ b/media-video/pipewire/pipewire-0.3.39-r1.ebuild
@@ -198,7 +198,7 @@ multilib_src_install_all() {
 
 	if ! use systemd; then
 		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
 
 		exeinto /usr/bin
 		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-10-26  8:59 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2021-10-26  8:59 UTC (permalink / raw
  To: gentoo-commits

commit:     0d5a3a7b354d34e05c92a2a8dba66510122d8b0a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 26 08:59:41 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 26 08:59:51 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d5a3a7b

media-video/pipewire: add build fixes for some arches

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pipewire-0.3.39-fix-build-some-arches.patch    | 35 ++++++++++++++++++++++
 media-video/pipewire/pipewire-0.3.39-r1.ebuild     |  2 ++
 2 files changed, 37 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.39-fix-build-some-arches.patch b/media-video/pipewire/files/pipewire-0.3.39-fix-build-some-arches.patch
new file mode 100644
index 00000000000..fe5392e29a3
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.39-fix-build-some-arches.patch
@@ -0,0 +1,35 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/651f0decea5f83730c271e9bed03cdd0048fcd49.patch
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/2cddd4a775c145570f4a8a30d28b57f551d43206.patch
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 21 Oct 2021 11:09:48 +0200
+Subject: [PATCH] cpu: fix compilation on some architectures
+
+--- a/spa/plugins/support/cpu.c
++++ b/spa/plugins/support/cpu.c
+@@ -270,7 +270,7 @@ impl_init(const struct spa_handle_factory *factory,
+ 		if ((str = spa_dict_lookup(info, SPA_KEY_CPU_VM_TYPE)) != NULL)
+ 			this->vm_type = atoi(str);
+ 		if ((str = spa_dict_lookup(info, SPA_KEY_CPU_ZERO_DENORMALS)) != NULL)
+-			impl_cpu_zero_denormals(this, spa_atob(str));
++			spa_cpu_zero_denormals(&this->cpu, spa_atob(str));
+ 	}
+ 
+ 	spa_log_debug(this->log, "%p: count:%d align:%d flags:%08x",
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 25 Oct 2021 16:32:16 +0200
+Subject: [PATCH] cpu: disable VFP asm when not available
+
+Fixes #1746
+--- a/spa/plugins/support/cpu-arm.c
++++ b/spa/plugins/support/cpu-arm.c
+@@ -143,7 +143,7 @@ static int arm_zero_denormals(void *object, bool enable)
+ 			"msr	fpcr, %0		\n"
+ 			"isb				\n"
+ 			: "=r"(cw)::"memory");
+-#else
++#elif (defined(__VFP_FP__) && !defined(__SOFTFP__))
+ 	uint32_t cw;
+ 	if (enable)
+ 		__asm__ __volatile__(

diff --git a/media-video/pipewire/pipewire-0.3.39-r1.ebuild b/media-video/pipewire/pipewire-0.3.39-r1.ebuild
index 3c425733a52..0b9ee48f090 100644
--- a/media-video/pipewire/pipewire-0.3.39-r1.ebuild
+++ b/media-video/pipewire/pipewire-0.3.39-r1.ebuild
@@ -100,6 +100,8 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	# Upstream
+	"${FILESDIR}"/${P}-fix-build-some-arches.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-10-26  9:03 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2021-10-26  9:03 UTC (permalink / raw
  To: gentoo-commits

commit:     ed43ceec5a8e60307c3582dc123acbef6088e725
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 26 09:03:04 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 26 09:03:04 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed43ceec

media-video/pipewire: add big endian patch for 0.3.39

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.39-endian-test-fix.patch    | 31 ++++++++++++++++++++++
 ...-0.3.39-r1.ebuild => pipewire-0.3.39-r2.ebuild} |  1 +
 2 files changed, 32 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch b/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch
new file mode 100644
index 00000000000..a8febb81491
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.39-endian-test-fix.patch
@@ -0,0 +1,31 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5dfc3494dc4635918e74b9f3d717a39a74b28554.patch
+
+From 5dfc3494dc4635918e74b9f3d717a39a74b28554 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 25 Oct 2021 16:15:17 +0200
+Subject: [PATCH] map: use uintptr_t for the next pointer
+
+This aligns the low bits of the next field with the low bits of the
+pointer on big endian cpus.
+
+Fixes #1747
+---
+ src/pipewire/map.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pipewire/map.h b/src/pipewire/map.h
+index f47dfa6b3..1867fa4d3 100644
+--- a/src/pipewire/map.h
++++ b/src/pipewire/map.h
+@@ -74,7 +74,7 @@ extern "C" {
+  * first item to get re-used on the next insert.
+  */
+ union pw_map_item {
+-	uint32_t next;	/* next free index */
++	uintptr_t next;	/* next free index */
+ 	void *data;	/* data of this item, must be an even address */
+ };
+ 
+-- 
+GitLab
+

diff --git a/media-video/pipewire/pipewire-0.3.39-r1.ebuild b/media-video/pipewire/pipewire-0.3.39-r2.ebuild
similarity index 99%
rename from media-video/pipewire/pipewire-0.3.39-r1.ebuild
rename to media-video/pipewire/pipewire-0.3.39-r2.ebuild
index 0b9ee48f090..ffb2156cd8f 100644
--- a/media-video/pipewire/pipewire-0.3.39-r1.ebuild
+++ b/media-video/pipewire/pipewire-0.3.39-r2.ebuild
@@ -102,6 +102,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
 	# Upstream
 	"${FILESDIR}"/${P}-fix-build-some-arches.patch
+	"${FILESDIR}"/${P}-endian-test-fix.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-11-11 22:09 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2021-11-11 22:09 UTC (permalink / raw
  To: gentoo-commits

commit:     a40dd1e71f92c43e6622053bf785fa2b791e6cd1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 11 22:09:08 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 11 22:09:15 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a40dd1e7

media-video/pipewire: add 0.3.40

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 +
 .../pipewire/files/gentoo-pipewire-launcher.in     |   3 +
 media-video/pipewire/pipewire-0.3.40.ebuild        | 293 +++++++++++++++++++++
 3 files changed, 297 insertions(+)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index a0b3f562fc3..1b23f97fe97 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -3,3 +3,4 @@ DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee
 DIST pipewire-0.3.37.tar.gz 1716320 BLAKE2B ce98b28015de69a0c91953a4839d5f86a29cfa19e2058ba0a2476a75a03b782ae67239b418306e4ed7dab81fe7e77928a417b966ff3c72ac552006cea66e3218 SHA512 3f4cf1ac66117a56a7a264262e2e238a54060457da6a986bd9227f51cc7e8d1a8fd282aef8462c096819282c5baec22779d2025c2e1918bbfb3d6ff75829aea6
 DIST pipewire-0.3.38.tar.gz 1727371 BLAKE2B dac7f3e1992b9690195df1dbc04575d386d21d06d1727b004b851e300709b3707806b7b20d36c1e74225d91a2df5428c913376903b286592f87083857347e53e SHA512 c3c6c822bf4e5e77fed8d6ef09059d3e43195957692ab7baddc349af3d759d892a9af0e7802d389e2a9a15e5fece4c08ec963ac42df931233eec6057bad67eb6
 DIST pipewire-0.3.39.tar.gz 1671751 BLAKE2B 6ed56d43a45244c29a29f714eba1dbf911997f91d3e3df2cc1547051d52a2853f4d4c745aaf866ae18b63668f3fb9b7d3338deaad90d229c5fab1641482c6761 SHA512 75ed35177577efe7559341394605777be21d0f3952b9379a23c8d4c71d35ed88ec45c3e9ad58832099c8f370753d8b47a5767f47453a599c4f4a4b641b2b0d9d
+DIST pipewire-0.3.40.tar.gz 1675384 BLAKE2B b7df4f1ca363b764a5230099d32dd5ba5dceaadc8ca2d4ce55f42810a91628b4e32891757b22fd5eb7a7f497163936c63b86330ab2d5efa261a82d450660c371 SHA512 63109b87d50be160a6cde632470849564d4743f4cb469f5e3713bb1cbefc08f80416210ddedc09439555b702193c0266a1b9724e366a3b850bdf1a346c5e80cb

diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in b/media-video/pipewire/files/gentoo-pipewire-launcher.in
index 4e66e2fe317..495c47f6c7e 100644
--- a/media-video/pipewire/files/gentoo-pipewire-launcher.in
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.in
@@ -22,5 +22,8 @@ pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
 # non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
 @GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf &
 
+# Hack for bug #822498
+sleep 1
+
 # Finally a session manager is required for PipeWire to do anything.
 exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber

diff --git a/media-video/pipewire/pipewire-0.3.40.ebuild b/media-video/pipewire/pipewire-0.3.40.ebuild
new file mode 100644
index 00000000000..2e84b38f88d
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.40.ebuild
@@ -0,0 +1,293 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+SLOT="0/0.3"
+IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+REQUIRED_USE="jack-sdk? ( !jack-client )"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-apps/dbus[${MULTILIB_USEDEP}]
+	sys-libs/readline:=
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	virtual/libudev[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+	)
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
+	)
+	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
+	systemd? ( sys-apps/systemd )
+	v4l? ( media-libs/libv4l )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND="media-video/wireplumber"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature systemd)
+		-Dsystemd-system-service=disabled # Matches upstream
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		-Dudev=enabled
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postinst() {
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "To use PipeWire for audio, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable --now pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
+		elog
+		elog "  systemctl --user disable --now pulseaudio.service pulseaudio.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both, new users and those upgrading, need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user enable --now wireplumber.service"
+		elog
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
+			elog "autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable --now ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2021-12-18  6:39 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2021-12-18  6:39 UTC (permalink / raw
  To: gentoo-commits

commit:     f11611de548f4ede3dd5cc524cad2b16f241c15c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 18 06:38:27 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 18 06:38:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f11611de

media-video/pipewire: drop 0.3.38, 0.3.40-r1, 0.3.41

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   3 -
 .../files/pipewire-0.3.38-find-readline.patch      |  36 ---
 .../files/pipewire-0.3.38-fix-arm-build.patch      |  18 --
 .../pipewire-0.3.38-libcamera-null-deref.patch     |  70 -----
 media-video/pipewire/pipewire-0.3.38.ebuild        | 290 --------------------
 media-video/pipewire/pipewire-0.3.40-r1.ebuild     | 297 ---------------------
 media-video/pipewire/pipewire-0.3.41.ebuild        | 297 ---------------------
 7 files changed, 1011 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 0908d6b41340..a1d886e79e61 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,6 +1,3 @@
 DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
 DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
-DIST pipewire-0.3.38.tar.gz 1727371 BLAKE2B dac7f3e1992b9690195df1dbc04575d386d21d06d1727b004b851e300709b3707806b7b20d36c1e74225d91a2df5428c913376903b286592f87083857347e53e SHA512 c3c6c822bf4e5e77fed8d6ef09059d3e43195957692ab7baddc349af3d759d892a9af0e7802d389e2a9a15e5fece4c08ec963ac42df931233eec6057bad67eb6
-DIST pipewire-0.3.40.tar.gz 1675384 BLAKE2B b7df4f1ca363b764a5230099d32dd5ba5dceaadc8ca2d4ce55f42810a91628b4e32891757b22fd5eb7a7f497163936c63b86330ab2d5efa261a82d450660c371 SHA512 63109b87d50be160a6cde632470849564d4743f4cb469f5e3713bb1cbefc08f80416210ddedc09439555b702193c0266a1b9724e366a3b850bdf1a346c5e80cb
-DIST pipewire-0.3.41.tar.gz 1704856 BLAKE2B 69370630055daf381e9700faf0c153fc2aaeef4fd1da9a4010e2b52ed1edb3d01fd33a3ddb74a697d0ab320b3a820f195f8c077c4deed5b6d31003604cf9c3f1 SHA512 ecd9ef5c0cf2edc583606d0b8633d5060e251aa04b8f562b8214a6685d6e29ec211bac4c19dec35c993bc51d98b252e8926217b48f879f06c625282637abea77
 DIST pipewire-0.3.42.tar.gz 1705295 BLAKE2B afd397e75be4f776b9d3042258e8091d6e1722f374e62417274238e5017e268c986ac7624e1b91ec8a97fc9078e8aa6d46a22f30c0834f99e5cd3112a096aded SHA512 bbf00ad5cee8ac872d8c2ef6b9499233100dba04c127b435894cf16c349188ae11edf918479a58039becc1b493c6f53a318d8fb483043dde074dc21ec32984c1

diff --git a/media-video/pipewire/files/pipewire-0.3.38-find-readline.patch b/media-video/pipewire/files/pipewire-0.3.38-find-readline.patch
deleted file mode 100644
index 6b56304f5d17..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.38-find-readline.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ddfbd684e78e2b8b9ad40bedb4612ea0197d231a.patch
-
-From: Joshua Strobl <joshua@streambits.io>
-Date: Thu, 30 Sep 2021 23:11:50 +0300
-Subject: [PATCH] Fix readline detection by allowing fallback to cc
- find_library
-
---- a/meson.build
-+++ b/meson.build
-@@ -326,6 +326,11 @@ dbus_dep = dependency('dbus-1')
- sdl_dep = dependency('sdl2', required : get_option('sdl2'))
- summary({'SDL 2': sdl_dep.found()}, bool_yn: true, section: 'Misc dependencies')
- readline_dep = dependency('readline', required : false)
-+
-+if not readline_dep.found()
-+  readline_dep = cc.find_library('readline', required: false)
-+endif
-+
- summary({'readline (for pw-cli)': readline_dep.found()}, bool_yn: true, section: 'Misc dependencies')
- ncurses_dep = dependency('ncursesw', required : false)
- sndfile_dep = dependency('sndfile', version : '>= 1.0.20', required : get_option('sndfile'))
-@@ -406,7 +411,12 @@ libinotify_dep = (build_machine.system() == 'freebsd'
-     : dependency('', required: false))
- 
- # On FreeBSD, libintl library is required for gettext
--libintl_dep = cc.find_library('intl', required: false)
-+libintl_dep = dependency('intl', required: false)
-+
-+if not libintl_dep.found()
-+    libintl_dep = cc.find_library('intl', required: false)
-+endif
-+summary({'intl support': libintl_dep.found()}, bool_yn: true)
- 
- need_alsa = get_option('pipewire-alsa').enabled() or get_option('session-managers').contains('media-session')
- alsa_dep = dependency('alsa', version : '>=1.1.7', required: need_alsa)
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch b/media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch
deleted file mode 100644
index 222aa58cce13..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8817b439433798bd7217dc4ae72197887b0fc96.patch
-
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 30 Sep 2021 11:12:27 +0200
-Subject: [PATCH] cpu: fix compilation on ARM
-
---- a/spa/plugins/support/cpu-arm.c
-+++ b/spa/plugins/support/cpu-arm.c
-@@ -80,7 +80,7 @@ arm_init(struct impl *impl)
- 	int arch;
- 
- 	if (!(cpuinfo = get_cpuinfo())) {
--		spa_log_warn(impl->log, NAME " %p: Can't read cpuinfo", impl);
-+		spa_log_warn(impl->log, "%p: Can't read cpuinfo", impl);
- 		return 1;
- 	}
- 
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch b/media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch
deleted file mode 100644
index beabd1a30291..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d71a10b7fa9b5c560485b6bbde409c10d3fdd114.patch
-
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 30 Sep 2021 12:54:29 +0200
-Subject: [PATCH] libcamera: handle failure gracefully
-
-Don't try to access NULL pointers
---- a/spa/plugins/libcamera/libcamera-client.c
-+++ b/spa/plugins/libcamera/libcamera-client.c
-@@ -210,10 +210,10 @@ impl_init(const struct spa_handle_factory *factory,
- 			SPA_DEVICE_CHANGE_MASK_PROPS;
- 	this->info.flags = 0;
- 
--	if(this->dev.camera == NULL) {
-+	if(this->dev.camera == NULL)
- 		this->dev.camera = (LibCamera*)newLibCamera();
-+	if(this->dev.camera != NULL)
- 		libcamera_set_log(this->dev.camera, this->dev.log);
--	}
- 
- 	return 0;
- }
---- a/spa/plugins/libcamera/libcamera-source.c
-+++ b/spa/plugins/libcamera/libcamera-source.c
-@@ -994,10 +994,10 @@ impl_init(const struct spa_handle_factory *factory,
- 	port->dev.log = this->log;
- 	port->dev.fd = -1;
- 
--	if(port->dev.camera == NULL) {
-+	if(port->dev.camera == NULL)
- 		port->dev.camera = (LibCamera*)newLibCamera();
-+	if(port->dev.camera != NULL)
- 		libcamera_set_log(port->dev.camera, port->dev.log);
--	}
- 
- 	if (info && (str = spa_dict_lookup(info, SPA_KEY_API_LIBCAMERA_PATH))) {
- 		strncpy(this->props.device, str, 63);
---- a/spa/plugins/libcamera/libcamera_wrapper.cpp
-+++ b/spa/plugins/libcamera/libcamera_wrapper.cpp
-@@ -540,7 +540,8 @@ extern "C" {
- 	}
- 
- 	void LibCamera::close() {
--		this->cam_->release();
-+		if (this->cam_)
-+			this->cam_->release();
- 	}
- 
- 	void LibCamera::connect()
-@@ -775,6 +776,9 @@ extern "C" {
- 		std::unique_ptr<CameraManager> cm = std::make_unique<CameraManager>();
- 		LibCamera* camera = new LibCamera();
- 
-+		pthread_mutexattr_init(&attr);
-+		pthread_mutex_init(&camera->lock, &attr);
-+
- 		ret = cm->start();
- 		if (ret) {
- 			deleteLibCamera(camera);
-@@ -794,9 +798,6 @@ extern "C" {
- 			return nullptr;
- 		}
- 
--		pthread_mutexattr_init(&attr);
--		pthread_mutex_init(&camera->lock, &attr);
--
- 		camera->ring_buffer_init();
- 
- 		return camera;
-GitLab

diff --git a/media-video/pipewire/pipewire-0.3.38.ebuild b/media-video/pipewire/pipewire-0.3.38.ebuild
deleted file mode 100644
index a9e1b729e5b0..000000000000
--- a/media-video/pipewire/pipewire-0.3.38.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib optfeature python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	app-doc/xmltoman
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	# Upstream
-	"${FILESDIR}"/${P}-fix-arm-build.patch
-	"${FILESDIR}"/${P}-libcamera-null-deref.patch # (we don't have it in ::gentoo but let's be nice)
-	"${FILESDIR}"/${P}-find-readline.patch # just in case
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	if ! use systemd; then
-		# This can be applied non-conditionally but would make for a
-		# significantly worse user experience on systemd then.
-		eapply "${FILESDIR}"/${PN}-0.3.36-non-systemd-integration.patch
-	fi
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
-		# Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
-		# but default is same as before and right now, this is fatal with unreleased Meson.
-		#$(meson_native_enabled media-session)
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our customs DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbol link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
-		exeinto /usr/libexec
-		newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "To use PipeWire for audio, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable --now pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
-		elog
-		elog "  systemctl --user disable --now pulseaudio.service pulseaudio.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both, new users and those upgrading, need to enable pipewire-media-session"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user enable --now pipewire-media-session.service"
-		elog
-	else
-		elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-		elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-		elog "autospawning of the original daemon by setting:"
-		elog
-		elog "  autospawn = no"
-		elog
-		elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-		elog
-		elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-		elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
-		elog "command near the end of the file:"
-		elog
-		elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
-		elog
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable --now ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.40-r1.ebuild b/media-video/pipewire/pipewire-0.3.40-r1.ebuild
deleted file mode 100644
index 93882727fc56..000000000000
--- a/media-video/pipewire/pipewire-0.3.40-r1.ebuild
+++ /dev/null
@@ -1,297 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND="media-video/wireplumber"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.41.ebuild b/media-video/pipewire/pipewire-0.3.41.ebuild
deleted file mode 100644
index 93882727fc56..000000000000
--- a/media-video/pipewire/pipewire-0.3.41.ebuild
+++ /dev/null
@@ -1,297 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND="media-video/wireplumber"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-		-Dsystemd-system-service=disabled # Matches upstream
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-01-06 20:53 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-01-06 20:53 UTC (permalink / raw
  To: gentoo-commits

commit:     422e7ff15be8fcb48d90dea3d7dca0c2833938fc
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  6 20:33:53 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan  6 20:53:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=422e7ff1

media-video/pipewire: add 0.3.43

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |  1 +
 .../pipewire-0.3.43-systemd-user-unit-dir.patch    | 30 ++++++++++++++++++++++
 media-video/pipewire/metadata.xml                  |  1 +
 ...pipewire-9999.ebuild => pipewire-0.3.43.ebuild} | 21 ++++++++++++---
 media-video/pipewire/pipewire-9999.ebuild          | 21 ++++++++++++---
 5 files changed, 66 insertions(+), 8 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index a1d886e79e61..6bba82bf0703 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,3 +1,4 @@
 DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
 DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
 DIST pipewire-0.3.42.tar.gz 1705295 BLAKE2B afd397e75be4f776b9d3042258e8091d6e1722f374e62417274238e5017e268c986ac7624e1b91ec8a97fc9078e8aa6d46a22f30c0834f99e5cd3112a096aded SHA512 bbf00ad5cee8ac872d8c2ef6b9499233100dba04c127b435894cf16c349188ae11edf918479a58039becc1b493c6f53a318d8fb483043dde074dc21ec32984c1
+DIST pipewire-0.3.43.tar.gz 1713131 BLAKE2B 3fa167d74e6104685760a9eac721bc359f1245897e1a5f9b09b4b9591fc459d19549e209990ca478a10ad6c2a4dfaecc3546d996ab7f7d64fe880fb0c1c1dfca SHA512 d3804cdb1d94977bb4e2757e46829e1e51fca52b018007afa3bbfabff4dc33538cedad015c91154e28b879fc2edeb4e1fadf633b0af9a0d3bfd930c53b1bc2c0

diff --git a/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch b/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch
new file mode 100644
index 000000000000..93c3ffe3e053
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch
@@ -0,0 +1,30 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/814d409501aca3e044ad53063eb3f433b8aff6f9.patch
+
+From 814d409501aca3e044ad53063eb3f433b8aff6f9 Mon Sep 17 00:00:00 2001
+From: Timo Gurr <timo.gurr@gmail.com>
+Date: Thu, 6 Jan 2022 12:17:10 +0000
+Subject: [PATCH] systemd: Add systemd-system-unit-dir override
+
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -179,6 +179,9 @@ option('udev',
+ option('udevrulesdir',
+        type : 'string',
+        description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
++option('systemd-system-unit-dir',
++       type : 'string',
++       description : 'Directory for system systemd units (defaults to /usr/lib/systemd/system)')
+ option('systemd-user-unit-dir',
+        type : 'string',
+        description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
+--- a/src/daemon/systemd/system/meson.build
++++ b/src/daemon/systemd/system/meson.build
+@@ -1,4 +1,7 @@
+ systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunitdir', pkgconfig_define : [ 'rootprefix', prefix])
++if get_option('systemd-system-unit-dir') != ''
++  systemd_system_services_dir = get_option('systemd-system-unit-dir')
++endif
+ 
+ install_data(sources : 'pipewire.socket',
+              install_dir : systemd_system_services_dir)
+GitLab

diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml
index dfdfec054d9e..0629898f6956 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -28,5 +28,6 @@
 		<flag name="jack-client">Install a plugin for running PipeWire as a JACK client</flag>
 		<flag name="jack-sdk">Use PipeWire as JACK replacement</flag>
 		<flag name="pipewire-alsa">Replace PulseAudio's ALSA plugin with PipeWire's plugin</flag>
+		<flag name="ssl">Enable raop-sink support (needs <pkg>dev-libs/openssl</pkg>)</flag>
 	</use>
 </pkgmetadata>

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.43.ebuild
similarity index 95%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.43.ebuild
index e74fc97557fb..35187723a20e 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.43.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="7"
+EAPI=8
 
 PYTHON_COMPAT=( python3_{8..10} )
 
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 else
 	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -21,7 +21,7 @@ HOMEPAGE="https://pipewire.org/"
 LICENSE="MIT LGPL-2.1+ GPL-2"
 # ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
 SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
+IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa ssl systemd test usb v4l zeroconf"
 
 # Once replacing system JACK libraries is possible, it's likely that
 # jack-client IUSE will need blocking to avoid users accidentally
@@ -77,8 +77,11 @@ RDEPEND="
 		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
 	)
 	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
+	ssl? ( dev-libs/openssl:= )
 	systemd? ( sys-apps/systemd )
+	usb? ( virtual/libusb:1 )
 	v4l? ( media-libs/libv4l )
+	zeroconf? ( net-dns/avahi )
 "
 
 DEPEND="${RDEPEND}"
@@ -101,6 +104,9 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+
+	# Upstream patches/backports
+	"${FILESDIR}"/${P}-systemd-user-unit-dir.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1
@@ -127,6 +133,7 @@ src_prepare() {
 multilib_src_configure() {
 	local emesonargs=(
 		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+		$(meson_native_use_feature zeroconf avahi)
 		$(meson_native_use_feature doc docs)
 		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
 		$(meson_native_enabled man)
@@ -135,7 +142,11 @@ multilib_src_configure() {
 		$(meson_native_use_feature gstreamer)
 		$(meson_native_use_feature gstreamer gstreamer-device-provider)
 		$(meson_native_use_feature systemd)
+
 		-Dsystemd-system-service=disabled # Matches upstream
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
 		$(meson_native_use_feature systemd systemd-user-service)
 		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
 		-Dspa-plugins=enabled
@@ -163,6 +174,8 @@ multilib_src_configure() {
 		-Dtest=disabled # fakesink and fakesource plugins
 		$(meson_native_use_feature v4l v4l2)
 		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature ssl raop)
+		$(meson_native_use_feature usb libusb)
 		-Dvideoconvert=enabled # Matches upstream
 		-Dvideotestsrc=enabled # Matches upstream
 		-Dvolume=enabled # Matches upstream

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index e74fc97557fb..321e1eecdb7d 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="7"
+EAPI=8
 
 PYTHON_COMPAT=( python3_{8..10} )
 
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 else
 	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -21,7 +21,7 @@ HOMEPAGE="https://pipewire.org/"
 LICENSE="MIT LGPL-2.1+ GPL-2"
 # ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
 SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
+IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk libusb pipewire-alsa ssl systemd test v4l zeroconf"
 
 # Once replacing system JACK libraries is possible, it's likely that
 # jack-client IUSE will need blocking to avoid users accidentally
@@ -72,13 +72,16 @@ RDEPEND="
 		!media-sound/jack-audio-connection-kit
 		!media-sound/jack2
 	)
+	libusb? ( virtual/libusb:1 )
 	pipewire-alsa? (
 		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
 		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
 	)
 	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
+	ssl? ( dev-libs/openssl:= )
 	systemd? ( sys-apps/systemd )
 	v4l? ( media-libs/libv4l )
+	zeroconf? ( net-dns/avahi )
 "
 
 DEPEND="${RDEPEND}"
@@ -101,6 +104,9 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+
+	# Upstream patches/backports
+	"${FILESDIR}"/${P}-systemd-user-unit-dir.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1
@@ -127,6 +133,7 @@ src_prepare() {
 multilib_src_configure() {
 	local emesonargs=(
 		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+		$(meson_native_use_feature zeroconf avahi)
 		$(meson_native_use_feature doc docs)
 		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
 		$(meson_native_enabled man)
@@ -135,7 +142,11 @@ multilib_src_configure() {
 		$(meson_native_use_feature gstreamer)
 		$(meson_native_use_feature gstreamer gstreamer-device-provider)
 		$(meson_native_use_feature systemd)
+
 		-Dsystemd-system-service=disabled # Matches upstream
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
 		$(meson_native_use_feature systemd systemd-user-service)
 		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
 		-Dspa-plugins=enabled
@@ -163,6 +174,8 @@ multilib_src_configure() {
 		-Dtest=disabled # fakesink and fakesource plugins
 		$(meson_native_use_feature v4l v4l2)
 		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature ssl raop)
+		$(meson_native_use_feature libusb)
 		-Dvideoconvert=enabled # Matches upstream
 		-Dvideotestsrc=enabled # Matches upstream
 		-Dvolume=enabled # Matches upstream


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-01-29  0:49 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-01-29  0:49 UTC (permalink / raw
  To: gentoo-commits

commit:     96be3828c908677f4e839d1aca7c75f7019d3408
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 29 00:49:12 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 29 00:49:12 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96be3828

media-video/pipewire: backport musl patch for 0.3.44

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.44-musl-build.patch         | 33 ++++++++++++++++++++++
 media-video/pipewire/pipewire-0.3.44-r1.ebuild     |  2 ++
 2 files changed, 35 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch b/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch
new file mode 100644
index 000000000000..6ebcc5db8feb
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch
@@ -0,0 +1,33 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/3256c6e5e7e2cef1f765dc05a001114359cc3134
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 27 Jan 2022 14:59:11 +0100
+Subject: [PATCH] tools: fix compilation with musl
+
+--- a/src/tools/pw-cli.c
++++ b/src/tools/pw-cli.c
+@@ -36,6 +36,10 @@
+ #include <readline/readline.h>
+ #include <readline/history.h>
+ 
++#if !defined(FNM_EXTMATCH)
++#define FNM_EXTMATCH 0
++#endif
++
+ #define spa_debug(...) fprintf(stdout,__VA_ARGS__);fputc('\n', stdout)
+ 
+ #include <spa/utils/result.h>
+--- a/src/tools/pw-dump.c
++++ b/src/tools/pw-dump.c
+@@ -32,6 +32,10 @@
+ #include <math.h>
+ #include <fnmatch.h>
+ 
++#if !defined(FNM_EXTMATCH)
++#define FNM_EXTMATCH 0
++#endif
++
+ #include <spa/utils/result.h>
+ #include <spa/utils/string.h>
+ #include <spa/pod/iter.h>
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.44-r1.ebuild b/media-video/pipewire/pipewire-0.3.44-r1.ebuild
index 033d3614a241..14762acb4998 100644
--- a/media-video/pipewire/pipewire-0.3.44-r1.ebuild
+++ b/media-video/pipewire/pipewire-0.3.44-r1.ebuild
@@ -109,6 +109,8 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+
+	"${FILESDIR}"/${PN}-0.3.44-musl-build.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-04-15  7:59 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-04-15  7:59 UTC (permalink / raw
  To: gentoo-commits

commit:     8f1fed6f96c53251186f0f7fd8e2c2bc3a73ea9d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 15 07:58:31 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 15 07:58:52 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f1fed6f

media-video/pipewire: fix spa header

Closes: https://bugs.gentoo.org/838427
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.50-fix-spa-header.patch     | 39 ++++++++++++++++++++++
 ...ire-0.3.50.ebuild => pipewire-0.3.50-r1.ebuild} |  1 +
 2 files changed, 40 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch b/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch
new file mode 100644
index 000000000000..5b9ad3cf2d7c
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch
@@ -0,0 +1,39 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d3ea3142e1a4de206e616bc18f63a529e6b4986a.patch
+https://bugs.gentoo.org/838427
+
+From: psykose <alice@ayaya.dev>
+Date: Wed, 13 Apr 2022 21:57:49 +0000
+Subject: [PATCH] spa: fix c90 header include
+
+placing declarations after code is invalid under ISO c90
+
+Fixes !1211
+--- a/spa/include/spa/utils/string.h
++++ b/spa/include/spa/utils/string.h
+@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t size, const char *format, .
+ static inline float spa_strtof(const char *str, char **endptr)
+ {
+ 	static locale_t locale = NULL;
++	locale_t prev;
+ 	float v;
+ 	if (SPA_UNLIKELY(locale == NULL))
+ 		locale = newlocale(LC_ALL_MASK, "C", NULL);
+-	locale_t prev = uselocale(locale);
++	prev = uselocale(locale);
+ 	v = strtof(str, endptr);
+ 	uselocale(prev);
+ 	return v;
+@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val)
+ static inline double spa_strtod(const char *str, char **endptr)
+ {
+ 	static locale_t locale = NULL;
++	locale_t prev;
+ 	double v;
+ 	if (SPA_UNLIKELY(locale == NULL))
+ 		locale = newlocale(LC_ALL_MASK, "C", NULL);
+-	locale_t prev = uselocale(locale);
++	prev = uselocale(locale);
+ 	v = strtod(str, endptr);
+ 	uselocale(prev);
+ 	return v;
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.50.ebuild b/media-video/pipewire/pipewire-0.3.50-r1.ebuild
similarity index 99%
rename from media-video/pipewire/pipewire-0.3.50.ebuild
rename to media-video/pipewire/pipewire-0.3.50-r1.ebuild
index 6a066b48013e..486d6073c4d1 100644
--- a/media-video/pipewire/pipewire-0.3.50.ebuild
+++ b/media-video/pipewire/pipewire-0.3.50-r1.ebuild
@@ -124,6 +124,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-fix-spa-header.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-04-17 16:44 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-04-17 16:44 UTC (permalink / raw
  To: gentoo-commits

commit:     8bb12a1227815570c32be1525a30ed2189e72df9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 17 16:36:52 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 16:36:52 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bb12a12

media-video/pipewire: drop versions

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   5 -
 .../pipewire-0.3.43-systemd-user-unit-dir.patch    |  30 --
 .../files/pipewire-0.3.44-musl-build.patch         |  33 --
 ...7-pulse-server-pending-sample-reply-crash.patch | 101 ------
 ....3.47-revert-loop-remove-destroy-list-mpd.patch | 187 -----------
 media-video/pipewire/pipewire-0.3.43-r3.ebuild     | 316 ------------------
 media-video/pipewire/pipewire-0.3.44-r1.ebuild     | 324 -------------------
 .../pipewire/pipewire-0.3.45_p20220205.ebuild      | 353 --------------------
 media-video/pipewire/pipewire-0.3.47-r1.ebuild     | 356 ---------------------
 media-video/pipewire/pipewire-0.3.48-r1.ebuild     | 355 --------------------
 10 files changed, 2060 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index fc29fdaa1047..b4c347b1fd6a 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,9 +1,4 @@
 DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
 DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
-DIST pipewire-0.3.43.tar.gz 1713131 BLAKE2B 3fa167d74e6104685760a9eac721bc359f1245897e1a5f9b09b4b9591fc459d19549e209990ca478a10ad6c2a4dfaecc3546d996ab7f7d64fe880fb0c1c1dfca SHA512 d3804cdb1d94977bb4e2757e46829e1e51fca52b018007afa3bbfabff4dc33538cedad015c91154e28b879fc2edeb4e1fadf633b0af9a0d3bfd930c53b1bc2c0
-DIST pipewire-0.3.44.tar.gz 1731260 BLAKE2B 5dd4fbffa21c34984836d097028e48654e2c9005e2f167b964bba2a8a2b9a7aad658853f03acce2f7967f884cfbea740ca427e9d373f00bcea2f122337835e02 SHA512 9a356b1d63e996e3725b6d126d7f0a972f83d0db0a95e923d9a7ec5432ff04688d51332f5c83826069e593e021bf514937ae5daf9cc6ad7307fe8baab964a244
-DIST pipewire-0.3.45_p20220205.tar.bz2 1296767 BLAKE2B 2dbdb1db9ffdaa36579d7a6ee459fa001997ecd7b4ece006cf1265267ce956b65c752e8dd51affbff9c17b2934480e1fb86c6950c70ab5ecc8d61063c31a410b SHA512 eae64ccf484c051a10a7a7ac11522de6cd3760c87414febe4868b76f22a8651b1bf94c04cd305fbacd1c6e7233fedb8008933c0dbd6809d4507eb27e633c3930
-DIST pipewire-0.3.47.tar.gz 1746286 BLAKE2B a34e5378d99b2b3c98731baaabf695b7aab882e557635b1a7f1cf542a5012014685bcf4254e4a81d4aab2ec2c8dd804115d5a57eaf13cbb042db2d4232f4bdfc SHA512 2f188910b6a04ebc6ebf288e2f6eab8a227056fd9c5c97a8a279ebff0f88cd6b98b9bfc3bf6aff55104fa537ca04f2c89a8d45da7f2104e07e1b2e531f6cc21c
-DIST pipewire-0.3.48.tar.gz 1754730 BLAKE2B 2ba562cdfdb179ab7c36e1227405dd83cc2a9fda3b3496e8d9339a4efc607cfbc1866eb2a9b2be9d44a2e3e4412a2c8af593028086c7c6b81dd14aa7158f19a5 SHA512 67699015612dfafd12f8e0908fa028a1ae91f8ce3a6cd7aeaf313ce991c6cfa206ace24a559bf64631c0a690ea8aa03f878c7f73e3c123881f1b015cf6627c50
 DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
 DIST pipewire-0.3.50.tar.gz 1773182 BLAKE2B d286b73553471795ea8ed60c82e12c955f1835a7a3a8d45baeda6b1e20a795221230b50c21619af4ef5b2b4962d2783de00b1ab2b22b091220970c334de8b9dc SHA512 e29a626258ab28d74e35e310037fac374fe009fb56e0fa41cef7abb1ec6abb26f828cff1b17500f92f1dd4c95c1e0e98f6af497d315dd463f81c2649d1e8ee23

diff --git a/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch b/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch
deleted file mode 100644
index 93c3ffe3e053..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.43-systemd-user-unit-dir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/814d409501aca3e044ad53063eb3f433b8aff6f9.patch
-
-From 814d409501aca3e044ad53063eb3f433b8aff6f9 Mon Sep 17 00:00:00 2001
-From: Timo Gurr <timo.gurr@gmail.com>
-Date: Thu, 6 Jan 2022 12:17:10 +0000
-Subject: [PATCH] systemd: Add systemd-system-unit-dir override
-
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -179,6 +179,9 @@ option('udev',
- option('udevrulesdir',
-        type : 'string',
-        description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
-+option('systemd-system-unit-dir',
-+       type : 'string',
-+       description : 'Directory for system systemd units (defaults to /usr/lib/systemd/system)')
- option('systemd-user-unit-dir',
-        type : 'string',
-        description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
---- a/src/daemon/systemd/system/meson.build
-+++ b/src/daemon/systemd/system/meson.build
-@@ -1,4 +1,7 @@
- systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunitdir', pkgconfig_define : [ 'rootprefix', prefix])
-+if get_option('systemd-system-unit-dir') != ''
-+  systemd_system_services_dir = get_option('systemd-system-unit-dir')
-+endif
- 
- install_data(sources : 'pipewire.socket',
-              install_dir : systemd_system_services_dir)
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch b/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch
deleted file mode 100644
index 6ebcc5db8feb..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.44-musl-build.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/3256c6e5e7e2cef1f765dc05a001114359cc3134
-
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 27 Jan 2022 14:59:11 +0100
-Subject: [PATCH] tools: fix compilation with musl
-
---- a/src/tools/pw-cli.c
-+++ b/src/tools/pw-cli.c
-@@ -36,6 +36,10 @@
- #include <readline/readline.h>
- #include <readline/history.h>
- 
-+#if !defined(FNM_EXTMATCH)
-+#define FNM_EXTMATCH 0
-+#endif
-+
- #define spa_debug(...) fprintf(stdout,__VA_ARGS__);fputc('\n', stdout)
- 
- #include <spa/utils/result.h>
---- a/src/tools/pw-dump.c
-+++ b/src/tools/pw-dump.c
-@@ -32,6 +32,10 @@
- #include <math.h>
- #include <fnmatch.h>
- 
-+#if !defined(FNM_EXTMATCH)
-+#define FNM_EXTMATCH 0
-+#endif
-+
- #include <spa/utils/result.h>
- #include <spa/utils/string.h>
- #include <spa/pod/iter.h>
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch b/media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch
deleted file mode 100644
index d4f74a5abcc5..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.47-pulse-server-pending-sample-reply-crash.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d7793501fd012de37fcc8bf09003c60bc4624341.patch
-
-From d7793501fd012de37fcc8bf09003c60bc4624341 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Sun, 20 Feb 2022 21:34:53 +0100
-Subject: [PATCH] pulse-server: free pending sample reply
-
-If the sample finished playing before we finished the roundtrip to
-get the sink_index, it will be destroyed. When the roundtrip completes,
-it will try to use invalid memoryy and crash.
-
-Make sure we destroy all pending replies before destroying the sample
-to avoid this problem.
-
-Fixes #2151
----
- src/modules/module-protocol-pulse/operation.c      | 10 ++++++++++
- src/modules/module-protocol-pulse/operation.h      |  1 +
- src/modules/module-protocol-pulse/pending-sample.c |  5 +++++
- src/modules/module-protocol-pulse/pulse-server.c   |  4 ++++
- 4 files changed, 20 insertions(+)
-
-diff --git a/src/modules/module-protocol-pulse/operation.c b/src/modules/module-protocol-pulse/operation.c
-index e0e67b374..b1e0eb08d 100644
---- a/src/modules/module-protocol-pulse/operation.c
-+++ b/src/modules/module-protocol-pulse/operation.c
-@@ -66,6 +66,16 @@ void operation_free(struct operation *o)
- 	free(o);
- }
- 
-+struct operation *operation_find(struct client *client, uint32_t tag)
-+{
-+	struct operation *o;
-+	spa_list_for_each(o, &client->operations, link) {
-+		if (o->tag == tag)
-+			return o;
-+	}
-+	return NULL;
-+}
-+
- void operation_complete(struct operation *o)
- {
- 	struct client *client = o->client;
-diff --git a/src/modules/module-protocol-pulse/operation.h b/src/modules/module-protocol-pulse/operation.h
-index d282ee5e5..1fa07cc7b 100644
---- a/src/modules/module-protocol-pulse/operation.h
-+++ b/src/modules/module-protocol-pulse/operation.h
-@@ -43,6 +43,7 @@ int operation_new(struct client *client, uint32_t tag);
- int operation_new_cb(struct client *client, uint32_t tag,
- 		void (*callback) (void *data, struct client *client, uint32_t tag),
- 		void *data);
-+struct operation *operation_find(struct client *client, uint32_t tag);
- void operation_free(struct operation *o);
- void operation_complete(struct operation *o);
- 
-diff --git a/src/modules/module-protocol-pulse/pending-sample.c b/src/modules/module-protocol-pulse/pending-sample.c
-index 6e5d04fbb..399fc3b54 100644
---- a/src/modules/module-protocol-pulse/pending-sample.c
-+++ b/src/modules/module-protocol-pulse/pending-sample.c
-@@ -29,6 +29,7 @@
- #include "client.h"
- #include "internal.h"
- #include "log.h"
-+#include "operation.h"
- #include "pending-sample.h"
- #include "sample-play.h"
- 
-@@ -36,10 +37,14 @@ void pending_sample_free(struct pending_sample *ps)
- {
- 	struct client * const client = ps->client;
- 	struct impl * const impl = client->impl;
-+	struct operation *o;
- 
- 	spa_list_remove(&ps->link);
- 	spa_hook_remove(&ps->listener);
- 	pw_work_queue_cancel(impl->work_queue, ps, SPA_ID_INVALID);
- 
-+	if ((o = operation_find(client, ps->tag)) != NULL)
-+		operation_free(o);
-+
- 	sample_play_destroy(ps->play);
- }
-diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
-index 182c3db99..c035840d1 100644
---- a/src/modules/module-protocol-pulse/pulse-server.c
-+++ b/src/modules/module-protocol-pulse/pulse-server.c
-@@ -2353,6 +2353,10 @@ static void on_sample_done(void *obj, void *data, int res, uint32_t id)
- {
- 	struct pending_sample *ps = obj;
- 	struct client *client = ps->client;
-+	struct operation *o;
-+
-+	if ((o = operation_find(client, ps->tag)) != NULL)
-+		operation_complete(o);
- 
- 	pending_sample_free(ps);
- 	client_unref(client);
--- 
-GitLab
-
-

diff --git a/media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch b/media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch
deleted file mode 100644
index 0e27d65fdb3a..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.47-revert-loop-remove-destroy-list-mpd.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-Fixes mpd crash.
-
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/16f63a3c8fa227625bade5a9edea22354b347d18.patch
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d1f7e96f821089224ddcacf8e8f506f99c54eb5c.patch
-
-From 16f63a3c8fa227625bade5a9edea22354b347d18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Fri, 18 Feb 2022 18:36:36 +0100
-Subject: [PATCH] Revert "loop: remove destroy list"
-
-This reverts commit c474846c42967c44db069a23b76a29da6f496f33.
-In addition, `s->loop` is also checked before dispatching a source.
-
-The destroy list is needed in the presence of threads. The
-issue is that a source may be destroyed between `epoll_wait()`
-returning and thread loop lock being acquired. If this
-source is active, then a use-after-free will be triggered
-when the thread loop acquires the lock and starts dispatching
-the sources.
-
-  thread 1                       thread 2
- ----------                     ----------
-                                loop_iterate
-                                  spa_loop_control_hook_before
-                                    // release lock
-
- pw_thread_loop_lock
-
-                                  spa_system_pollfd_wait
-                                    // assume it returns with source A
-
- pw_loop_destroy_source(..., A)
-  // frees storage of A
-
- pw_thread_loop_unlock
-                                  spa_loop_control_hook_after
-                                    // acquire the lock
-
-                                  for (...) {
-                                    struct spa_source *s = ep[i].data;
-                                    s->rmask = ep[i].events;
-                                      // use-after-free if `s` refers to
-                                      // the previously freed `A`
-
-Fixes #2147
----
- spa/plugins/support/loop.c | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/spa/plugins/support/loop.c b/spa/plugins/support/loop.c
-index 0588ce770..04739eb2a 100644
---- a/spa/plugins/support/loop.c
-+++ b/spa/plugins/support/loop.c
-@@ -75,6 +75,7 @@ struct impl {
-         struct spa_system *system;
- 
- 	struct spa_list source_list;
-+	struct spa_list destroy_list;
- 	struct spa_hook_list hooks_list;
- 
- 	int poll_fd;
-@@ -325,6 +326,14 @@ static void loop_leave(void *object)
- 		impl->thread = 0;
- }
- 
-+static inline void process_destroy(struct impl *impl)
-+{
-+	struct source_impl *source, *tmp;
-+	spa_list_for_each_safe(source, tmp, &impl->destroy_list, link)
-+		free(source);
-+	spa_list_init(&impl->destroy_list);
-+}
-+
- static int loop_iterate(void *object, int timeout)
- {
- 	struct impl *impl = object;
-@@ -354,11 +363,14 @@ static int loop_iterate(void *object, int timeout)
- 	}
- 	for (i = 0; i < nfds; i++) {
- 		struct spa_source *s = ep[i].data;
--		if (SPA_LIKELY(s && s->rmask)) {
-+		if (SPA_LIKELY(s && s->rmask && s->loop)) {
- 			s->priv = NULL;
- 			s->func(s);
- 		}
- 	}
-+	if (SPA_UNLIKELY(!spa_list_is_empty(&impl->destroy_list)))
-+		process_destroy(impl);
-+
- 	return nfds;
- }
- 
-@@ -712,7 +724,7 @@ static void loop_destroy_source(void *object, struct spa_source *source)
- 		spa_system_close(impl->impl->system, source->fd);
- 		source->fd = -1;
- 	}
--	free(source);
-+	spa_list_insert(&impl->impl->destroy_list, &impl->link);
- }
- 
- static const struct spa_loop_methods impl_loop = {
-@@ -783,6 +795,8 @@ static int impl_clear(struct spa_handle *handle)
- 	spa_list_consume(source, &impl->source_list, link)
- 		loop_destroy_source(impl, &source->source);
- 
-+	process_destroy(impl);
-+
- 	spa_system_close(impl->system, impl->ack_fd);
- 	spa_system_close(impl->system, impl->poll_fd);
- 
-@@ -844,6 +858,7 @@ impl_init(const struct spa_handle_factory *factory,
- 	impl->poll_fd = res;
- 
- 	spa_list_init(&impl->source_list);
-+	spa_list_init(&impl->destroy_list);
- 	spa_hook_list_init(&impl->hooks_list);
- 
- 	impl->buffer_data = SPA_PTR_ALIGN(impl->buffer_mem, MAX_ALIGN, uint8_t);
--- 
-GitLab
-
-
-From d1f7e96f821089224ddcacf8e8f506f99c54eb5c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Fri, 18 Feb 2022 19:27:13 +0100
-Subject: [PATCH] test: loop: add test for destroying source of thread loop
-
-Add test which tries to destroy an active source precisely
-after the loop has returned from polling but has not yet
-acquired the thread loop lock.
----
- test/test-loop.c | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
-
-diff --git a/test/test-loop.c b/test/test-loop.c
-index 98b2add09..81f7a117c 100644
---- a/test/test-loop.c
-+++ b/test/test-loop.c
-@@ -227,11 +227,45 @@ PWTEST(pwtest_loop_recurse2)
- 	return PWTEST_PASS;
- }
- 
-+PWTEST(thread_loop_destroy_between_poll_and_lock)
-+{
-+	pw_init(NULL, NULL);
-+
-+	struct pw_thread_loop *thread_loop = pw_thread_loop_new("uaf", NULL);
-+	pwtest_ptr_notnull(thread_loop);
-+
-+	struct pw_loop *loop = pw_thread_loop_get_loop(thread_loop);
-+	pwtest_ptr_notnull(loop);
-+
-+	int evfd = eventfd(0, 0);
-+	pwtest_errno_ok(evfd);
-+
-+	struct spa_source *source = pw_loop_add_io(loop, evfd, SPA_IO_IN, true, NULL, NULL);
-+	pwtest_ptr_notnull(source);
-+
-+	pw_thread_loop_start(thread_loop);
-+
-+	pw_thread_loop_lock(thread_loop);
-+	{
-+		write(evfd, &(uint64_t){1}, sizeof(uint64_t));
-+		sleep(1);
-+		pw_loop_destroy_source(loop, source);
-+	}
-+	pw_thread_loop_unlock(thread_loop);
-+
-+	pw_thread_loop_destroy(thread_loop);
-+
-+	pw_deinit();
-+
-+	return PWTEST_PASS;
-+}
-+
- PWTEST_SUITE(support)
- {
- 	pwtest_add(pwtest_loop_destroy2, PWTEST_NOARG);
- 	pwtest_add(pwtest_loop_recurse1, PWTEST_NOARG);
- 	pwtest_add(pwtest_loop_recurse2, PWTEST_NOARG);
-+	pwtest_add(thread_loop_destroy_between_poll_and_lock, PWTEST_NOARG);
- 
- 	return PWTEST_PASS;
- }
--- 
-GitLab
-

diff --git a/media-video/pipewire/pipewire-0.3.43-r3.ebuild b/media-video/pipewire/pipewire-0.3.43-r3.ebuild
deleted file mode 100644
index 73c1168fb309..000000000000
--- a/media-video/pipewire/pipewire-0.3.43-r3.ebuild
+++ /dev/null
@@ -1,316 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl systemd test v4l zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND="media-video/wireplumber"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-
-	# Upstream patches/backports
-	"${FILESDIR}"/${P}-systemd-user-unit-dir.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		-Dsystemd-system-service=disabled # Matches upstream
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.44-r1.ebuild b/media-video/pipewire/pipewire-0.3.44-r1.ebuild
deleted file mode 100644
index 9e704ef7ddc4..000000000000
--- a/media-video/pipewire/pipewire-0.3.44-r1.ebuild
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND="media-video/wireplumber"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-
-	"${FILESDIR}"/${PN}-0.3.44-musl-build.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		-Dsystemd-system-service=disabled # Matches upstream
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.45_p20220205.ebuild b/media-video/pipewire/pipewire-0.3.45_p20220205.ebuild
deleted file mode 100644
index 00347f15856f..000000000000
--- a/media-video/pipewire/pipewire-0.3.45_p20220205.ebuild
+++ /dev/null
@@ -1,353 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT="d1784cfd861bb3179903b07ab87a16e929c0909f"
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND="media-video/wireplumber"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - priority -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.47-r1.ebuild b/media-video/pipewire/pipewire-0.3.47-r1.ebuild
deleted file mode 100644
index 5b34dd267621..000000000000
--- a/media-video/pipewire/pipewire-0.3.47-r1.ebuild
+++ /dev/null
@@ -1,356 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND="media-video/wireplumber"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-
-	"${FILESDIR}"/${P}-revert-loop-remove-destroy-list-mpd.patch
-	"${FILESDIR}"/${P}-pulse-server-pending-sample-reply-crash.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - priority -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.48-r1.ebuild b/media-video/pipewire/pipewire-0.3.48-r1.ebuild
deleted file mode 100644
index 6a066b48013e..000000000000
--- a/media-video/pipewire/pipewire-0.3.48-r1.ebuild
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - priority -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
-			elog "autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-04-21 21:57 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-04-21 21:57 UTC (permalink / raw
  To: gentoo-commits

commit:     96fb2bc79341829bef096cd1dcc0c139db6d2483
Author:     Niklāvs Koļesņikovs <89q1r14hd <AT> relay <DOT> firefox <DOT> com>
AuthorDate: Thu Apr 21 18:40:03 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 21:57:02 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96fb2bc7

media-video/pipewire: add 0.3.50-r2 to fix issues with weird CFLAGS

When using weird and unusual CFLAGS, PipeWire may end up failing to
link due to missing symbols. This commit backports a fix for that.

Bug: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2292
Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd <AT> relay.firefox.com>
Closes: https://github.com/gentoo/gentoo/pull/25145
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...pewire-0.3.50-treewide-retain-sections-to.patch |  70 ++++
 media-video/pipewire/pipewire-0.3.50-r2.ebuild     | 357 +++++++++++++++++++++
 2 files changed, 427 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch b/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch
new file mode 100644
index 000000000000..1e1a8198ef26
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch
@@ -0,0 +1,70 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/e28a052105f8ef35b3f469d3b85e1fcb25106f26
+
+From e28a052105f8ef35b3f469d3b85e1fcb25106f26 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
+Date: Wed, 13 Apr 2022 18:13:12 +0200
+Subject: [PATCH] treewide: retain sections to prevent linker garbage
+ collection
+
+The linker may remove sections that are actually used when
+"--gc-sections" and "-z start-stop-gc" is set. Add the `retain`
+attribute to prevent that.
+
+Furthermore, fix the alignment for `pwtest_suite_decl` objects.
+
+See: #2292
+See: https://lld.llvm.org/ELF/start-stop-gc.html
+See: https://github.com/systemd/systemd/issues/21847
+See: https://github.com/systemd/systemd/pull/21855
+---
+ src/modules/module-protocol-pulse/module.h | 1 +
+ test/pwtest-implementation.h               | 2 +-
+ test/pwtest.h                              | 6 ++++--
+ 3 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/module-protocol-pulse/module.h b/src/modules/module-protocol-pulse/module.h
+index c1153640e..f75d8786c 100644
+--- a/src/modules/module-protocol-pulse/module.h
++++ b/src/modules/module-protocol-pulse/module.h
+@@ -47,6 +47,7 @@ struct module_info {
+ 
+ #define DEFINE_MODULE_INFO(name)					\
+ 	__attribute__((used))						\
++	__attribute__((retain))						\
+ 	__attribute__((section("pw_mod_pulse_modules")))		\
+ 	__attribute__((aligned(__alignof__(struct module_info))))	\
+ 	const struct module_info name
+diff --git a/test/pwtest-implementation.h b/test/pwtest-implementation.h
+index 7bfad01cf..1525d2056 100644
+--- a/test/pwtest-implementation.h
++++ b/test/pwtest-implementation.h
+@@ -131,7 +131,7 @@ void _pwtest_add(struct pwtest_context *ctx,
+ struct pwtest_suite_decl {
+ 	const char *name;
+ 	enum pwtest_result (*setup)(struct pwtest_context *, struct pwtest_suite *);
+-} __attribute__((aligned(16)));
++};
+ 
+ 
+ #endif /* PWTEST_IMPLEMENTATION_H */
+diff --git a/test/pwtest.h b/test/pwtest.h
+index 9c0737523..6d3070b79 100644
+--- a/test/pwtest.h
++++ b/test/pwtest.h
+@@ -494,9 +494,11 @@ enum pwtest_arg {
+  */
+ #define PWTEST_SUITE(cname) \
+ 	static enum pwtest_result (cname##__setup)(struct pwtest_context *ctx, struct pwtest_suite *suite); \
+-	static const struct pwtest_suite_decl _test_suite \
+ 	__attribute__((used)) \
+-	__attribute((section("pwtest_suite_section"))) = { \
++	__attribute__((retain)) \
++	__attribute__((section("pwtest_suite_section"))) \
++	__attribute__((aligned(__alignof__(struct pwtest_suite_decl)))) \
++	static const struct pwtest_suite_decl _test_suite = { \
+ 	   .name = #cname, \
+ 	   .setup = cname##__setup, \
+ 	}; \
+-- 
+GitLab
+

diff --git a/media-video/pipewire/pipewire-0.3.50-r2.ebuild b/media-video/pipewire/pipewire-0.3.50-r2.ebuild
new file mode 100644
index 000000000000..19259baf68c8
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.50-r2.ebuild
@@ -0,0 +1,357 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	if [[ ${PV} == *_p* ]] ; then
+		MY_COMMIT=""
+		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+		S="${WORKDIR}"/${PN}-${MY_COMMIT}
+	else
+		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
+	fi
+
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+REQUIRED_USE="
+	jack-sdk? ( !jack-client )
+	system-service? ( systemd )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-apps/dbus[${MULTILIB_USEDEP}]
+	sys-libs/readline:=
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	virtual/libudev[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+		virtual/libusb:1
+	)
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	lv2? ( media-libs/lilv )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
+	)
+	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd )
+	system-service? (
+		acct-user/pipewire
+		acct-group/pipewire
+	)
+	v4l? ( media-libs/libv4l )
+	X? (
+		media-libs/libcanberra
+		x11-libs/libX11
+		x11-libs/libXfixes
+	)
+	zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND=">=media-video/wireplumber-0.4.8-r3"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-fix-spa-header.patch
+	"${FILESDIR}"/${P}-treewide-retain-sections-to.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		$(use system-service && {
+			echo @pipewire - rtprio 95
+			echo @pipewire - priority -19
+			echo @pipewire - memlock 4194304
+		})
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	# https://bugs.gentoo.org/838301
+	filter-flags -fno-semantic-interposition
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+		$(meson_native_use_feature zeroconf avahi)
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature systemd)
+
+		$(meson_native_use_feature system-service systemd-system-service)
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature lv2)
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature ssl raop)
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		-Dudev=enabled
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+		# Just for bell sounds in X11 right now.
+		$(meson_native_use_feature X x11)
+		$(meson_native_use_feature X x11-xfixes)
+		$(meson_native_use_feature X libcanberra)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postinst() {
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "To use PipeWire, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both new users and those upgrading need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user disable pipewire-media-session.service"
+		elog "  systemctl --user --force enable wireplumber.service"
+		elog
+		elog "Root user may replace --user with --global to change system default"
+		elog "configuration for all of the above commands."
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
+			elog "autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+	elog
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+
+	if use system-service; then
+		ewarn
+		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+		ewarn "service. This is more than likely NOT what you want. You are strongly"
+		ewarn "advised not to enable this mode and instead stick with systemd user"
+		ewarn "units. The default configuration files will likely not work out of"
+		ewarn "box, and you are on your own with configuration."
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-04-21 22:03 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-04-21 22:03 UTC (permalink / raw
  To: gentoo-commits

commit:     cf0839e62df9f24422111150f0ccb5bf82a6e7bf
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 21 22:03:14 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 22:03:14 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf0839e6

media-video/pipewire: backport x86 fix

Bug: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2271
Bug: https://bugs.gentoo.org/827546
Bug: https://bugs.gentoo.org/839525
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pipewire/files/pipewire-0.3.49-x86-cast.patch    | 20 ++++++++++++++++++++
 ...ewire-0.3.49.ebuild => pipewire-0.3.49-r1.ebuild} |  2 ++
 ...re-0.3.50-r2.ebuild => pipewire-0.3.50-r3.ebuild} |  2 ++
 3 files changed, 24 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch b/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch
new file mode 100644
index 000000000000..58b4b331e03e
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch
@@ -0,0 +1,20 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5a023c8c84fb053d452983a64a33a41b931fc99b
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2271
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 21 Apr 2022 22:12:38 +0200
+Subject: [PATCH] alsa: fix argument type for Long
+
+Fixes #2271
+--- a/spa/plugins/alsa/alsa-pcm.c
++++ b/spa/plugins/alsa/alsa-pcm.c
+@@ -311,7 +311,7 @@ struct spa_pod *spa_alsa_enum_propinfo(struct state *state,
+ 			SPA_PROP_INFO_name, SPA_POD_String("latency.internal.ns"),
+ 			SPA_PROP_INFO_description, SPA_POD_String("Internal latency in nanoseconds"),
+ 			SPA_PROP_INFO_type, SPA_POD_CHOICE_RANGE_Long(state->process_latency.ns,
+-				0, 2 * SPA_NSEC_PER_SEC),
++				0LL, 2 * SPA_NSEC_PER_SEC),
+ 			SPA_PROP_INFO_params, SPA_POD_Bool(true));
+ 		break;
+ 	case 15:
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.49.ebuild b/media-video/pipewire/pipewire-0.3.49-r1.ebuild
similarity index 99%
rename from media-video/pipewire/pipewire-0.3.49.ebuild
rename to media-video/pipewire/pipewire-0.3.49-r1.ebuild
index 2c5d7c42cf3d..72a8b570d996 100644
--- a/media-video/pipewire/pipewire-0.3.49.ebuild
+++ b/media-video/pipewire/pipewire-0.3.49-r1.ebuild
@@ -124,6 +124,8 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+
+	"${FILESDIR}"/${PN}-0.3.49-x86-cast.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1

diff --git a/media-video/pipewire/pipewire-0.3.50-r2.ebuild b/media-video/pipewire/pipewire-0.3.50-r3.ebuild
similarity index 99%
rename from media-video/pipewire/pipewire-0.3.50-r2.ebuild
rename to media-video/pipewire/pipewire-0.3.50-r3.ebuild
index 19259baf68c8..2e5d0001fa23 100644
--- a/media-video/pipewire/pipewire-0.3.50-r2.ebuild
+++ b/media-video/pipewire/pipewire-0.3.50-r3.ebuild
@@ -124,8 +124,10 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+
 	"${FILESDIR}"/${P}-fix-spa-header.patch
 	"${FILESDIR}"/${P}-treewide-retain-sections-to.patch
+	"${FILESDIR}"/${PN}-0.3.49-x86-cast.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-06-10  0:38 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-06-10  0:38 UTC (permalink / raw
  To: gentoo-commits

commit:     87479b842a4c5af883517256f14f3dbb19f3b113
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 10 00:36:17 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 10 00:38:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87479b84

media-video/pipewire: add 0.3.52

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |  1 +
 .../files/pipewire-0.3.52-pulse-path.patch         | 78 ++++++++++++++++++++++
 ...pipewire-9999.ebuild => pipewire-0.3.52.ebuild} | 16 +++--
 media-video/pipewire/pipewire-9999.ebuild          | 15 +++--
 4 files changed, 102 insertions(+), 8 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 528468dc49d8..9f0efb7e7c58 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -3,3 +3,4 @@ DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee
 DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
 DIST pipewire-0.3.50.tar.gz 1773182 BLAKE2B d286b73553471795ea8ed60c82e12c955f1835a7a3a8d45baeda6b1e20a795221230b50c21619af4ef5b2b4962d2783de00b1ab2b22b091220970c334de8b9dc SHA512 e29a626258ab28d74e35e310037fac374fe009fb56e0fa41cef7abb1ec6abb26f828cff1b17500f92f1dd4c95c1e0e98f6af497d315dd463f81c2649d1e8ee23
 DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a
+DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a

diff --git a/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch
new file mode 100644
index 000000000000..09d8ffff699f
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch
@@ -0,0 +1,78 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4821c7ca2fe5e25ba018e9f5d4967f08d6bb816f
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 9 Jun 2022 17:06:07 +0200
+Subject: [PATCH] pulse-server: don't append "/pulse" to PULSE_RUNTIME_PATH
+
+Fixes #2431
+--- a/src/modules/module-protocol-pulse/server.c
++++ b/src/modules/module-protocol-pulse/server.c
+@@ -460,7 +460,7 @@ static int parse_unix_address(const char *address, struct sockaddr_storage *addr
+ 	if (address[0] != '/') {
+ 		char runtime_dir[PATH_MAX];
+ 
+-		if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir), "pulse")) < 0)
++		if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir))) < 0)
+ 			return res;
+ 
+ 		res = snprintf(addr.sun_path, sizeof(addr.sun_path),
+--- a/src/modules/module-protocol-pulse/utils.c
++++ b/src/modules/module-protocol-pulse/utils.c
+@@ -50,27 +50,30 @@
+ #include "log.h"
+ #include "utils.h"
+ 
+-int get_runtime_dir(char *buf, size_t buflen, const char *dir)
++int get_runtime_dir(char *buf, size_t buflen)
+ {
+-	const char *runtime_dir;
++	const char *runtime_dir, *dir = NULL;
+ 	struct stat stat_buf;
+ 	int res, size;
+ 
+ 	runtime_dir = getenv("PULSE_RUNTIME_PATH");
+-	if (runtime_dir == NULL)
++	if (runtime_dir == NULL) {
+ 		runtime_dir = getenv("XDG_RUNTIME_DIR");
+-
++		dir = "pulse";
++	}
+ 	if (runtime_dir == NULL) {
+ 		pw_log_error("could not find a suitable runtime directory in"
+ 				"$PULSE_RUNTIME_PATH and $XDG_RUNTIME_DIR");
+ 		return -ENOENT;
+ 	}
+ 
+-	size = snprintf(buf, buflen, "%s/%s", runtime_dir, dir);
++	size = snprintf(buf, buflen, "%s%s%s", runtime_dir,
++			dir ? "/" : "", dir ? dir : "");
+ 	if (size < 0)
+ 		return -errno;
+ 	if ((size_t) size >= buflen) {
+-		pw_log_error("path %s/%s too long", runtime_dir, dir);
++		pw_log_error("path %s%s%s too long", runtime_dir,
++				dir ? "/" : "", dir ? dir : "");
+ 		return -ENAMETOOLONG;
+ 	}
+ 
+@@ -182,7 +185,7 @@ int create_pid_file(void) {
+ 	FILE *f;
+ 	int res;
+ 
+-	if ((res = get_runtime_dir(pid_file, sizeof(pid_file), "pulse")) < 0)
++	if ((res = get_runtime_dir(pid_file, sizeof(pid_file))) < 0)
+ 		return res;
+ 
+ 	if (strlen(pid_file) > PATH_MAX - sizeof("/pid")) {
+--- a/src/modules/module-protocol-pulse/utils.h
++++ b/src/modules/module-protocol-pulse/utils.h
+@@ -31,7 +31,7 @@
+ struct client;
+ struct pw_context;
+ 
+-int get_runtime_dir(char *buf, size_t buflen, const char *dir);
++int get_runtime_dir(char *buf, size_t buflen);
+ int check_flatpak(struct client *client, pid_t pid);
+ pid_t get_client_pid(struct client *client, int client_fd);
+ const char *get_server_name(struct pw_context *context);
+GitLab

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.52.ebuild
similarity index 96%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.52.ebuild
index a57b7fea5d54..76d0878bb062 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.52.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
 
@@ -19,7 +19,7 @@ else
 		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
 	fi
 
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -85,7 +85,6 @@ RDEPEND="
 	lv2? ( media-libs/lilv )
 	pipewire-alsa? (
 		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
 	)
 	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
 	ssl? ( dev-libs/openssl:= )
@@ -124,6 +123,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-pulse-path.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1
@@ -190,6 +190,8 @@ multilib_src_configure() {
 		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
 		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
 		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3plus=disabled
 		-Dcontrol=enabled # Matches upstream
 		-Daudiotestsrc=enabled # Matches upstream
 		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
@@ -237,10 +239,16 @@ multilib_src_install_all() {
 
 	if use pipewire-alsa; then
 		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
 		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
 		# And the current dosym8 -r implementation is likely affected by the same issue, too.
 		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
 	fi
 
 	if ! use systemd; then

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index a57b7fea5d54..3fc526e97dfe 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
 
@@ -19,7 +19,7 @@ else
 		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
 	fi
 
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DESCRIPTION="Multimedia processing graphs"
@@ -85,7 +85,6 @@ RDEPEND="
 	lv2? ( media-libs/lilv )
 	pipewire-alsa? (
 		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
 	)
 	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
 	ssl? ( dev-libs/openssl:= )
@@ -190,6 +189,8 @@ multilib_src_configure() {
 		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
 		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
 		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3plus=disabled
 		-Dcontrol=enabled # Matches upstream
 		-Daudiotestsrc=enabled # Matches upstream
 		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
@@ -237,10 +238,16 @@ multilib_src_install_all() {
 
 	if use pipewire-alsa; then
 		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
 		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
 		# And the current dosym8 -r implementation is likely affected by the same issue, too.
 		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
 	fi
 
 	if ! use systemd; then


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-06-15 21:56 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-06-15 21:56 UTC (permalink / raw
  To: gentoo-commits

commit:     7cdc0a83c67485ddab63e320b5e9e0012c81445f
Author:     Niklāvs Koļesņikovs <89q1r14hd <AT> relay <DOT> firefox <DOT> com>
AuthorDate: Wed Jun 15 19:39:05 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 21:56:11 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cdc0a83

media-video/pipewire: clean up 0.3.50

PipeWire 0.3.50 was by no means a bad release but 0.3.51 should be
even better, and it already has been in the tree for long enough to
go stable, so no point in keeping 0.3.50 around.

Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd <AT> relay.firefox.com>
Closes: https://github.com/gentoo/gentoo/pull/25916
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 -
 .../files/pipewire-0.3.50-fix-spa-header.patch     |  39 ---
 ...pewire-0.3.50-treewide-retain-sections-to.patch |  70 ----
 media-video/pipewire/pipewire-0.3.50-r3.ebuild     | 362 ---------------------
 4 files changed, 472 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 9f0efb7e7c58..7ac36027d575 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,6 +1,5 @@
 DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
 DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
 DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
-DIST pipewire-0.3.50.tar.gz 1773182 BLAKE2B d286b73553471795ea8ed60c82e12c955f1835a7a3a8d45baeda6b1e20a795221230b50c21619af4ef5b2b4962d2783de00b1ab2b22b091220970c334de8b9dc SHA512 e29a626258ab28d74e35e310037fac374fe009fb56e0fa41cef7abb1ec6abb26f828cff1b17500f92f1dd4c95c1e0e98f6af497d315dd463f81c2649d1e8ee23
 DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a
 DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a

diff --git a/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch b/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch
deleted file mode 100644
index 5b9ad3cf2d7c..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d3ea3142e1a4de206e616bc18f63a529e6b4986a.patch
-https://bugs.gentoo.org/838427
-
-From: psykose <alice@ayaya.dev>
-Date: Wed, 13 Apr 2022 21:57:49 +0000
-Subject: [PATCH] spa: fix c90 header include
-
-placing declarations after code is invalid under ISO c90
-
-Fixes !1211
---- a/spa/include/spa/utils/string.h
-+++ b/spa/include/spa/utils/string.h
-@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t size, const char *format, .
- static inline float spa_strtof(const char *str, char **endptr)
- {
- 	static locale_t locale = NULL;
-+	locale_t prev;
- 	float v;
- 	if (SPA_UNLIKELY(locale == NULL))
- 		locale = newlocale(LC_ALL_MASK, "C", NULL);
--	locale_t prev = uselocale(locale);
-+	prev = uselocale(locale);
- 	v = strtof(str, endptr);
- 	uselocale(prev);
- 	return v;
-@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val)
- static inline double spa_strtod(const char *str, char **endptr)
- {
- 	static locale_t locale = NULL;
-+	locale_t prev;
- 	double v;
- 	if (SPA_UNLIKELY(locale == NULL))
- 		locale = newlocale(LC_ALL_MASK, "C", NULL);
--	locale_t prev = uselocale(locale);
-+	prev = uselocale(locale);
- 	v = strtod(str, endptr);
- 	uselocale(prev);
- 	return v;
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch b/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch
deleted file mode 100644
index 1e1a8198ef26..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/e28a052105f8ef35b3f469d3b85e1fcb25106f26
-
-From e28a052105f8ef35b3f469d3b85e1fcb25106f26 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Wed, 13 Apr 2022 18:13:12 +0200
-Subject: [PATCH] treewide: retain sections to prevent linker garbage
- collection
-
-The linker may remove sections that are actually used when
-"--gc-sections" and "-z start-stop-gc" is set. Add the `retain`
-attribute to prevent that.
-
-Furthermore, fix the alignment for `pwtest_suite_decl` objects.
-
-See: #2292
-See: https://lld.llvm.org/ELF/start-stop-gc.html
-See: https://github.com/systemd/systemd/issues/21847
-See: https://github.com/systemd/systemd/pull/21855
----
- src/modules/module-protocol-pulse/module.h | 1 +
- test/pwtest-implementation.h               | 2 +-
- test/pwtest.h                              | 6 ++++--
- 3 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/module-protocol-pulse/module.h b/src/modules/module-protocol-pulse/module.h
-index c1153640e..f75d8786c 100644
---- a/src/modules/module-protocol-pulse/module.h
-+++ b/src/modules/module-protocol-pulse/module.h
-@@ -47,6 +47,7 @@ struct module_info {
- 
- #define DEFINE_MODULE_INFO(name)					\
- 	__attribute__((used))						\
-+	__attribute__((retain))						\
- 	__attribute__((section("pw_mod_pulse_modules")))		\
- 	__attribute__((aligned(__alignof__(struct module_info))))	\
- 	const struct module_info name
-diff --git a/test/pwtest-implementation.h b/test/pwtest-implementation.h
-index 7bfad01cf..1525d2056 100644
---- a/test/pwtest-implementation.h
-+++ b/test/pwtest-implementation.h
-@@ -131,7 +131,7 @@ void _pwtest_add(struct pwtest_context *ctx,
- struct pwtest_suite_decl {
- 	const char *name;
- 	enum pwtest_result (*setup)(struct pwtest_context *, struct pwtest_suite *);
--} __attribute__((aligned(16)));
-+};
- 
- 
- #endif /* PWTEST_IMPLEMENTATION_H */
-diff --git a/test/pwtest.h b/test/pwtest.h
-index 9c0737523..6d3070b79 100644
---- a/test/pwtest.h
-+++ b/test/pwtest.h
-@@ -494,9 +494,11 @@ enum pwtest_arg {
-  */
- #define PWTEST_SUITE(cname) \
- 	static enum pwtest_result (cname##__setup)(struct pwtest_context *ctx, struct pwtest_suite *suite); \
--	static const struct pwtest_suite_decl _test_suite \
- 	__attribute__((used)) \
--	__attribute((section("pwtest_suite_section"))) = { \
-+	__attribute__((retain)) \
-+	__attribute__((section("pwtest_suite_section"))) \
-+	__attribute__((aligned(__alignof__(struct pwtest_suite_decl)))) \
-+	static const struct pwtest_suite_decl _test_suite = { \
- 	   .name = #cname, \
- 	   .setup = cname##__setup, \
- 	}; \
--- 
-GitLab
-

diff --git a/media-video/pipewire/pipewire-0.3.50-r3.ebuild b/media-video/pipewire/pipewire-0.3.50-r3.ebuild
deleted file mode 100644
index a0b6f24526d6..000000000000
--- a/media-video/pipewire/pipewire-0.3.50-r3.ebuild
+++ /dev/null
@@ -1,362 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-
-	"${FILESDIR}"/${P}-fix-spa-header.patch
-	"${FILESDIR}"/${P}-treewide-retain-sections-to.patch
-	"${FILESDIR}"/${PN}-0.3.49-x86-cast.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - priority -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		$(meson_feature udev)
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit pulseaudio client configuration files:"
-			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-			elog "if it exists, and disable autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-07-04 23:53 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-07-04 23:53 UTC (permalink / raw
  To: gentoo-commits

commit:     95d40c5fba17cf3aca380449620c386ba20e6f7f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  4 23:53:32 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul  4 23:53:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95d40c5f

media-video/pipewire: drop 0.3.49-r2

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 -
 .../pipewire/files/pipewire-0.3.49-x86-cast.patch  |  20 --
 media-video/pipewire/pipewire-0.3.49-r2.ebuild     | 360 ---------------------
 3 files changed, 381 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 4d01a2bceef0..de58b4a0f18d 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,4 +1,3 @@
-DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
 DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a
 DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a
 DIST pipewire-0.3.53.tar.gz 1783505 BLAKE2B 269466c6ba78cb85516dc714f3aa5d71cdf72a859b6e1a11c60062da6dcd56eefc78958fe026b9fd11d61fd6fbe6f2aac54a2a9fd77d4ee474687f5d54628c38 SHA512 50f23a7b71f3eb20657ff75de54a9f3056270bf05a5472ec9c7dea1c9d0ed391b6b09496d58b065c3cbc40f9be8088b6737cbf0731973498bcd5a8176c42d443

diff --git a/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch b/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch
deleted file mode 100644
index 58b4b331e03e..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5a023c8c84fb053d452983a64a33a41b931fc99b
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2271
-
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 21 Apr 2022 22:12:38 +0200
-Subject: [PATCH] alsa: fix argument type for Long
-
-Fixes #2271
---- a/spa/plugins/alsa/alsa-pcm.c
-+++ b/spa/plugins/alsa/alsa-pcm.c
-@@ -311,7 +311,7 @@ struct spa_pod *spa_alsa_enum_propinfo(struct state *state,
- 			SPA_PROP_INFO_name, SPA_POD_String("latency.internal.ns"),
- 			SPA_PROP_INFO_description, SPA_POD_String("Internal latency in nanoseconds"),
- 			SPA_PROP_INFO_type, SPA_POD_CHOICE_RANGE_Long(state->process_latency.ns,
--				0, 2 * SPA_NSEC_PER_SEC),
-+				0LL, 2 * SPA_NSEC_PER_SEC),
- 			SPA_PROP_INFO_params, SPA_POD_Bool(true));
- 		break;
- 	case 15:
-GitLab

diff --git a/media-video/pipewire/pipewire-0.3.49-r2.ebuild b/media-video/pipewire/pipewire-0.3.49-r2.ebuild
deleted file mode 100644
index b7acb4f37fa8..000000000000
--- a/media-video/pipewire/pipewire-0.3.49-r2.ebuild
+++ /dev/null
@@ -1,360 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	fi
-
-	KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-apps/dbus[${MULTILIB_USEDEP}]
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-		!media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
-	)
-	!pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-
-	"${FILESDIR}"/${PN}-0.3.49-x86-cast.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - nice -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		$(meson_feature udev)
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-		if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit pulseaudio client configuration files:"
-			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-			elog "if it exists, and disable autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-07-09  1:12 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-07-09  1:12 UTC (permalink / raw
  To: gentoo-commits

commit:     ac20d8886516281bb2b3a2b83cc294a2d2192757
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  9 00:57:46 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jul  9 01:07:19 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac20d888

media-video/pipewire: add 0.3.54, 0.3.54-r1

0.3.54-r1 contains an addiional patch for mpv but
nobody else seems to have backported it, so
doing it in an additional revision to allow
easy testing.

Bug: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2519
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |  1 +
 .../pipewire-0.3.54-audioconvert-samples.patch     | 23 ++++++++++++++++++++++
 ...ewire-9999.ebuild => pipewire-0.3.54-r1.ebuild} |  8 ++++++++
 ...pipewire-9999.ebuild => pipewire-0.3.54.ebuild} |  7 +++++++
 media-video/pipewire/pipewire-9999.ebuild          |  7 +++++++
 5 files changed, 46 insertions(+)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 18ff21b93d7c..390bafb6a9da 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -3,3 +3,4 @@ DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd823
 DIST pipewire-0.3.53.tar.gz 1783505 BLAKE2B 269466c6ba78cb85516dc714f3aa5d71cdf72a859b6e1a11c60062da6dcd56eefc78958fe026b9fd11d61fd6fbe6f2aac54a2a9fd77d4ee474687f5d54628c38 SHA512 50f23a7b71f3eb20657ff75de54a9f3056270bf05a5472ec9c7dea1c9d0ed391b6b09496d58b065c3cbc40f9be8088b6737cbf0731973498bcd5a8176c42d443
 DIST pipewire-0.3.53_p20220704.tar.bz2 1351516 BLAKE2B 3d4e4859c66e9cbe47adc0f1c0e2e512632793d70853e0105984c06d2e66744b68d1c01dc7a85784ca2007a96aa5fd1c62c7f47ea6360df58ff76b87de4d3ee2 SHA512 87819aa5bdd3caa685c0fc93b0ddcf8212f115cecc130155918876c10883bd98ce923fef3f9716b2562ef5ae2b5465d9e39816f4b6e0c48cf9f28303755584b6
 DIST pipewire-0.3.53_p20220705.tar.bz2 1358645 BLAKE2B 365e81ab114fb9b4abbd5351145d0558c7c00bdbccefc2f7bacb965018c1e7009b7b26b8e95baf35534b74cf9ce49483604841aa7ba949d6a94e720e8ec4233c SHA512 631e737e3517cb4d4c3f84e9540acde2cf94bde472626c61e0223ff4ac5cc2118a35dae79d009558384e24b955cf002d209db1bcf1465056757234725213f152
+DIST pipewire-0.3.54.tar.gz 1789544 BLAKE2B 66b28b36aee0672a1bc8059beb18bf0868d8c01f01823151a732ca8e616860beb1ff4c8eb611f6f17bc99e4201bd1ba8ef44fb8968cedd56be3370e279c75bed SHA512 affb8b4fefd8c1cd3064df0987117931a03e967461d6b8125e3f390b83f6dda1a11d6b30e81590f4780f607b763061dd7a26a7686816dd2801f03d64d43ab8f2

diff --git a/media-video/pipewire/files/pipewire-0.3.54-audioconvert-samples.patch b/media-video/pipewire/files/pipewire-0.3.54-audioconvert-samples.patch
new file mode 100644
index 000000000000..9c231a9f28f5
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.54-audioconvert-samples.patch
@@ -0,0 +1,23 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7b0106883716cb0fa72a2b3c4715175607ec658a
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Fri, 8 Jul 2022 09:23:31 +0200
+Subject: [PATCH] audioconvert: consume right amount of input samples
+
+When we are not using the resampler, we consume the same amount of
+input samples as output samples.
+
+Fixes #2519
+--- a/spa/plugins/audioconvert/audioconvert.c
++++ b/spa/plugins/audioconvert/audioconvert.c
+@@ -2542,8 +2542,8 @@ static int impl_node_process(void *object)
+ 		this->in_offset += in_len;
+ 		n_samples = out_len;
+ 	} else {
+-		this->in_offset += n_samples;
+ 		n_samples = SPA_MIN(n_samples, n_out);
++		this->in_offset += n_samples;
+ 	}
+ 	this->out_offset += n_samples;
+ 
+GitLab

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.54-r1.ebuild
similarity index 97%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.54-r1.ebuild
index f831949d2b1c..f8b1bc7b1bc0 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.54-r1.ebuild
@@ -3,6 +3,13 @@
 
 EAPI=8
 
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
 PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
@@ -134,6 +141,7 @@ DOCS=( {README,INSTALL}.md NEWS )
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-audioconvert-samples.patch
 )
 
 # limitsdfile related code taken from =sys-auth/realtime-base-0.1

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.54.ebuild
similarity index 97%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.54.ebuild
index f831949d2b1c..449554e6270c 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.54.ebuild
@@ -3,6 +3,13 @@
 
 EAPI=8
 
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
 PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index f831949d2b1c..449554e6270c 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -3,6 +3,13 @@
 
 EAPI=8
 
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
 PYTHON_COMPAT=( python3_{8..11} )
 
 inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-07-10 20:23 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-07-10 20:23 UTC (permalink / raw
  To: gentoo-commits

commit:     0de895e872b03a682e49c886807e247e1658f62f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 20:22:49 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 20:23:45 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0de895e8

media-video/pipewire: fix build w/ -Ofast & FORTIFY_SOURCE

Not strictly limited to -Ofast paired w/ >= FORTIFY_SOURCE=2, can
happen with other optimisation levels, just that -Ofast encourages
it to do the inlining which then blows up.

Revbump b/c of the obvious possible runtime nature of the bug
(given the patch may change behaviour).

Closes: https://bugs.gentoo.org/857201
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.54-fortify-source.patch     |  33 ++
 media-video/pipewire/pipewire-0.3.54-r2.ebuild     | 422 +++++++++++++++++++++
 2 files changed, 455 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.54-fortify-source.patch b/media-video/pipewire/files/pipewire-0.3.54-fortify-source.patch
new file mode 100644
index 000000000000..0c93f105375a
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.54-fortify-source.patch
@@ -0,0 +1,33 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/240d21282271dce7d2eeff03185a61ffca0c12c5
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2526
+https://bugs.gentoo.org/857201
+
+From 240d21282271dce7d2eeff03185a61ffca0c12c5 Mon Sep 17 00:00:00 2001
+From: Pauli Virtanen <pav@iki.fi>
+Date: Sun, 10 Jul 2022 16:05:27 +0300
+Subject: [PATCH] pipewire-v4l2: disable _FORTIFY_SOURCE when defining override
+ functions
+
+_FORTIFY_SOURCE defines always_inline versions of open etc. functions,
+which conflict with our exported override versions.  Disable it for the
+file that defines the override functions.
+--- a/pipewire-v4l2/src/v4l2-func.c
++++ b/pipewire-v4l2/src/v4l2-func.c
+@@ -22,6 +22,16 @@
+  * DEALINGS IN THE SOFTWARE.
+  */
+ 
++
++/*
++ * We need to export open* etc., but _FORTIFY_SOURCE defines conflicting
++ * always_inline versions. Disable _FORTIFY_SOURCE for this file, so we
++ * can define our overrides.
++ */
++#ifdef _FORTIFY_SOURCE
++#undef _FORTIFY_SOURCE
++#endif
++
+ #include <stdio.h>
+ #include <errno.h>
+ #include <fcntl.h>
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.54-r2.ebuild b/media-video/pipewire/pipewire-0.3.54-r2.ebuild
new file mode 100644
index 000000000000..56828f47128f
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.54-r2.ebuild
@@ -0,0 +1,422 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	if [[ ${PV} == *_p* ]] ; then
+		MY_COMMIT=""
+		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+		S="${WORKDIR}"/${PN}-${MY_COMMIT}
+	else
+		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
+	fi
+
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth dbus doc echo-cancel extra gstreamer jack-client jack-sdk lv2
+pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+REQUIRED_USE="
+	jack-sdk? ( !jack-client )
+	system-service? ( systemd )
+	!sound-server? ( !pipewire-alsa )
+	jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-libs/readline:=
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+		virtual/libusb:1
+	)
+	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	lv2? ( media-libs/lilv )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+	)
+	sound-server? (
+		!media-sound/pulseaudio[daemon(+)]
+		!media-sound/pulseaudio-daemon
+	)
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd )
+	system-service? (
+		acct-user/pipewire
+		acct-group/pipewire
+	)
+	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l )
+	X? (
+		media-libs/libcanberra
+		x11-libs/libX11
+		x11-libs/libXfixes
+	)
+	zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND=">=media-video/wireplumber-0.4.8-r3"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-audioconvert-samples.patch
+	"${FILESDIR}"/${P}-fortify-source.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		$(use system-service && {
+			echo @pipewire - rtprio 95
+			echo @pipewire - nice -19
+			echo @pipewire - memlock 4194304
+		})
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	# https://bugs.gentoo.org/838301
+	filter-flags -fno-semantic-interposition
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+		$(meson_feature dbus)
+		$(meson_native_use_feature zeroconf avahi)
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature systemd)
+
+		$(meson_native_use_feature system-service systemd-system-service)
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3plus=disabled
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature lv2)
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature ssl raop)
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		$(meson_feature udev)
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+		# Just for bell sounds in X11 right now.
+		$(meson_native_use_feature X x11)
+		$(meson_native_use_feature X x11-xfixes)
+		$(meson_native_use_feature X libcanberra)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+	fi
+
+	# Enable required wireplumber alsa and bluez monitors
+	if use sound-server; then
+		dodir /etc/wireplumber/main.lua.d
+		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
+
+		dodir /etc/wireplumber/bluetooth.lua.d
+		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+
+		# Disable pipewire-pulse if sound-server is disabled.
+		if ! use sound-server ; then
+			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+		fi
+
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	local ver
+	for ver in ${REPLACING_VERSIONS} ; do
+		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
+			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+			ewarn "your sound, please enable it. See the wiki at"
+			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+			ewarn "for more details."
+
+			break
+		fi
+	done
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "To use PipeWire, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both new users and those upgrading need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user disable pipewire-media-session.service"
+		elog "  systemctl --user --force enable wireplumber.service"
+		elog
+		elog "Root user may replace --user with --global to change system default"
+		elog "configuration for all of the above commands."
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+
+		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit pulseaudio client configuration files:"
+			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+			elog "if it exists, and disable autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+	elog
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if use sound-server && ! use pipewire-alsa; then
+		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+	fi
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+
+	if use system-service; then
+		ewarn
+		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+		ewarn "service. This is more than likely NOT what you want. You are strongly"
+		ewarn "advised not to enable this mode and instead stick with systemd user"
+		ewarn "units. The default configuration files will likely not work out of"
+		ewarn "box, and you are on your own with configuration."
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-07-19 21:18 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-07-19 21:18 UTC (permalink / raw
  To: gentoo-commits

commit:     8684e3ee03c4b801948391e1c87d596138b49972
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 19 21:17:41 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 19 21:17:48 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8684e3ee

media-video/pipewire: add 0.3.56

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 +
 .../files/pipewire-0.3.56-big-endian.patch         |  55 +++
 media-video/pipewire/pipewire-0.3.56.ebuild        | 424 +++++++++++++++++++++
 3 files changed, 480 insertions(+)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 3d5272fb98b5..5e3c5005ee95 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -2,3 +2,4 @@ DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e5
 DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a
 DIST pipewire-0.3.53_p20220705.tar.bz2 1358645 BLAKE2B 365e81ab114fb9b4abbd5351145d0558c7c00bdbccefc2f7bacb965018c1e7009b7b26b8e95baf35534b74cf9ce49483604841aa7ba949d6a94e720e8ec4233c SHA512 631e737e3517cb4d4c3f84e9540acde2cf94bde472626c61e0223ff4ac5cc2118a35dae79d009558384e24b955cf002d209db1bcf1465056757234725213f152
 DIST pipewire-0.3.55.tar.gz 1801857 BLAKE2B ee8d75bffba5f6b2e6ccd4da518339aa8e00e6afd8a4e8b6839bc0e4422b587f7543916ef161c9995bb7bfdf20032af984ac2fe9238ac9ad6160ab5d5942f700 SHA512 a139e51bc0d4144ae3bd3511962e541ae5c8a76d344d472805819e5bda6e62ec9807489c2a9e9f42bd9a25eff243f8a794b71d629438bf732a5cd92b85eaa9fc
+DIST pipewire-0.3.56.tar.gz 1856321 BLAKE2B 62fb5d5a83b3cfc0555f09da42c8d4fbe69f34432add57f91a9c001535340a84f54572af4a5ba138251888cba9be0c038317dfe929d2e2ef36ff62f4679c6ea0 SHA512 a1ba598c56130a30e573d3ce3ac5879d800d3005a47075c45353d968c97c12f74d85802cd171b61558c06c474a03bbe4885396ca430a0af6c5672ed00f43d108

diff --git a/media-video/pipewire/files/pipewire-0.3.56-big-endian.patch b/media-video/pipewire/files/pipewire-0.3.56-big-endian.patch
new file mode 100644
index 000000000000..d7742d26cead
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.56-big-endian.patch
@@ -0,0 +1,55 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/aaa015d0c0c66b64c7198a34ad3c4b43445667d2
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1a5ec4452fa21592eaeeb823ad95a1db6eb60376
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f857fd46262b1a90ad94f86e34216a1a886d9463
+
+From aaa015d0c0c66b64c7198a34ad3c4b43445667d2 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Tue, 19 Jul 2022 13:06:52 +0200
+Subject: [PATCH] avb: fix compilation on big endian
+
+--- a/spa/plugins/avb/avbtp/packets.h
++++ b/spa/plugins/avb/avbtp/packets.h
+@@ -116,7 +116,7 @@ struct spa_avbtp_packet_aaf {
+ 	unsigned gv:1;
+ 	unsigned tv:1;
+ 
+-	uint8_t seq_number;
++	uint8_t seq_num;
+ 
+ 	unsigned _r2:7;
+ 	unsigned tu:1;
+GitLab
+From 1a5ec4452fa21592eaeeb823ad95a1db6eb60376 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Tue, 19 Jul 2022 13:49:42 +0200
+Subject: [PATCH] avb: fix compilation on big endian
+
+--- a/src/modules/module-avb/aaf.h
++++ b/src/modules/module-avb/aaf.h
+@@ -35,7 +35,7 @@ struct avb_packet_aaf {
+ 	unsigned gv:1;
+ 	unsigned tv:1;
+ 
+-	uint8_t seq_number;
++	uint8_t seq_num;
+ 
+ 	unsigned _r2:7;
+ 	unsigned tu:1;
+GitLab
+From f857fd46262b1a90ad94f86e34216a1a886d9463 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Tue, 19 Jul 2022 14:07:16 +0200
+Subject: [PATCH] avb: fix compilation on big endian
+
+--- a/src/modules/module-avb/iec61883.h
++++ b/src/modules/module-avb/iec61883.h
+@@ -37,7 +37,7 @@ struct avb_packet_iec61883 {
+ 	unsigned gv:1;
+ 	unsigned tv:1;
+ 
+-	uint8_t seq_number;
++	uint8_t seq_num;
+ 
+ 	unsigned _r2:7;
+ 	unsigned tu:1;
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.56.ebuild b/media-video/pipewire/pipewire-0.3.56.ebuild
new file mode 100644
index 000000000000..c5e583a53c24
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.56.ebuild
@@ -0,0 +1,424 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	if [[ ${PV} == *_p* ]] ; then
+		MY_COMMIT=""
+		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+		S="${WORKDIR}"/${PN}-${MY_COMMIT}
+	else
+		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
+	fi
+
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth dbus doc echo-cancel extra gstreamer jack-client jack-sdk lv2
+pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+REQUIRED_USE="
+	jack-sdk? ( !jack-client )
+	system-service? ( systemd )
+	!sound-server? ( !pipewire-alsa )
+	jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-libs/readline:=
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+		virtual/libusb:1
+	)
+	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	lv2? ( media-libs/lilv )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+	)
+	sound-server? (
+		!media-sound/pulseaudio[daemon(+)]
+		!media-sound/pulseaudio-daemon
+	)
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd )
+	system-service? (
+		acct-user/pipewire
+		acct-group/pipewire
+	)
+	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l )
+	X? (
+		media-libs/libcanberra
+		x11-libs/libX11
+		x11-libs/libXfixes
+	)
+	zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND=">=media-video/wireplumber-0.4.8-r3"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-big-endian.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		$(use system-service && {
+			echo @pipewire - rtprio 95
+			echo @pipewire - nice -19
+			echo @pipewire - memlock 4194304
+		})
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	# https://bugs.gentoo.org/838301
+	filter-flags -fno-semantic-interposition
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+		$(meson_feature dbus)
+		$(meson_native_use_feature zeroconf avahi)
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature systemd)
+
+		$(meson_native_use_feature system-service systemd-system-service)
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3plus=disabled
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature lv2)
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature ssl raop)
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		$(meson_feature udev)
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+		# Just for bell sounds in X11 right now.
+		$(meson_native_use_feature X x11)
+		$(meson_native_use_feature X x11-xfixes)
+		$(meson_native_use_feature X libcanberra)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+	fi
+
+	# Enable required wireplumber alsa and bluez monitors
+	if use sound-server; then
+		dodir /etc/wireplumber/main.lua.d
+		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
+
+		dodir /etc/wireplumber/bluetooth.lua.d
+		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+
+		# Disable pipewire-pulse if sound-server is disabled.
+		if ! use sound-server ; then
+			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+		fi
+
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	local ver
+	for ver in ${REPLACING_VERSIONS} ; do
+		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
+			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+			ewarn "your sound, please enable it. See the wiki at"
+			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+			ewarn "for more details."
+
+			break
+		fi
+	done
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "To use PipeWire, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both new users and those upgrading need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user disable pipewire-media-session.service"
+		elog "  systemctl --user --force enable wireplumber.service"
+		elog
+		elog "Root user may replace --user with --global to change system default"
+		elog "configuration for all of the above commands."
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+
+		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit pulseaudio client configuration files:"
+			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+			elog "if it exists, and disable autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+	elog
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if use sound-server && ! use pipewire-alsa; then
+		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+	fi
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+
+	if use system-service; then
+		ewarn
+		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+		ewarn "service. This is more than likely NOT what you want. You are strongly"
+		ewarn "advised not to enable this mode and instead stick with systemd user"
+		ewarn "units. The default configuration files will likely not work out of"
+		ewarn "box, and you are on your own with configuration."
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-11-11  4:25 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-11-11  4:25 UTC (permalink / raw
  To: gentoo-commits

commit:     d6e4b2a3de4e36b0ea71e777afabb3f37e0ddb92
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 11 04:22:26 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 11 04:23:19 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6e4b2a3

media-video/pipewire: make modemmanager, readline optional

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...0-pulse-server-also-advance-read-pointer-in-underrun.patch | 11 ++---------
 media-video/pipewire/metadata.xml                             |  1 +
 media-video/pipewire/pipewire-0.3.60.ebuild                   | 10 +++++++---
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
index 255a3143e93f..99e752391885 100644
--- a/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
+++ b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
@@ -1,3 +1,5 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b720da771efa950cf380101bed42d5d5ee177908
+
 From b720da771efa950cf380101bed42d5d5ee177908 Mon Sep 17 00:00:00 2001
 From: Wim Taymans <wtaymans@redhat.com>
 Date: Thu, 10 Nov 2022 16:13:33 +0100
@@ -8,12 +10,6 @@ So that we ask for more data from the client.
 Also retested with #2799 that caused this regression.
 
 Fixes #2821
----
- src/modules/module-protocol-pulse/pulse-server.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
-index b18273e98..07f664ba1 100644
 --- a/src/modules/module-protocol-pulse/pulse-server.c
 +++ b/src/modules/module-protocol-pulse/pulse-server.c
 @@ -1433,10 +1433,11 @@ static void stream_process(void *data)
@@ -31,6 +27,3 @@ index b18273e98..07f664ba1 100644
  				pd.playing_for = size;
  			}
  			pw_log_debug("%p: [%s] underrun read:%u avail:%d max:%u",
--- 
-2.38.1
-

diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml
index f5b7e177d5f3..af21a7316abc 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -22,6 +22,7 @@
 		<flag name="jack-client">Install a plugin for running PipeWire as a JACK client</flag>
 		<flag name="jack-sdk">Use PipeWire as JACK replacement</flag>
 		<flag name="lv2">Allow loading LV2 plugins via <pkg>media-libs/lv2</pkg></flag>
+		<flag name="modemmanager">Combined with USE=bluetooth, allows PipeWire to perform telephony on mobile devices.</flag>
 		<flag name="pipewire-alsa">Replace PulseAudio's ALSA plugin with PipeWire's plugin</flag>
 		<flag name="ssl">Enable raop-sink support (needs <pkg>dev-libs/openssl</pkg>)</flag>
 		<flag name="system-service">Install systemd unit files for running as a system service. Not recommended.</flag>

diff --git a/media-video/pipewire/pipewire-0.3.60.ebuild b/media-video/pipewire/pipewire-0.3.60.ebuild
index ac164c770bbb..ca8bc505b0d0 100644
--- a/media-video/pipewire/pipewire-0.3.60.ebuild
+++ b/media-video/pipewire/pipewire-0.3.60.ebuild
@@ -39,7 +39,7 @@ LICENSE="MIT LGPL-2.1+ GPL-2"
 # ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
 SLOT="0/0.4"
 IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer jack-client jack-sdk lv2
-pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf"
+modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
 
 # Once replacing system JACK libraries is possible, it's likely that
 # jack-client IUSE will need blocking to avoid users accidentally
@@ -54,6 +54,7 @@ pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf"
 # When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
 REQUIRED_USE="
 	jack-sdk? ( !jack-client )
+	modemmanager? ( bluetooth )
 	system-service? ( systemd )
 	!sound-server? ( !pipewire-alsa )
 	jack-client? ( dbus )
@@ -74,7 +75,6 @@ BDEPEND="
 RDEPEND="
 	acct-group/audio
 	media-libs/alsa-lib
-	sys-libs/readline:=
 	sys-libs/ncurses:=[unicode(+)]
 	virtual/libintl[${MULTILIB_USEDEP}]
 	bluetooth? (
@@ -105,6 +105,7 @@ RDEPEND="
 		!media-sound/jack2
 	)
 	lv2? ( media-libs/lilv )
+	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
 	pipewire-alsa? (
 		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
 	)
@@ -112,6 +113,7 @@ RDEPEND="
 		!media-sound/pulseaudio[daemon(+)]
 		!media-sound/pulseaudio-daemon
 	)
+	readline? ( sys-libs/readline:= )
 	ssl? ( dev-libs/openssl:= )
 	systemd? ( sys-apps/systemd )
 	system-service? (
@@ -209,7 +211,8 @@ multilib_src_configure() {
 		$(meson_native_use_feature bluetooth bluez5)
 		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
 		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-native-mm)
+		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
+		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
 		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
 		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
 		$(meson_native_use_feature bluetooth bluez5-codec-aac)
@@ -235,6 +238,7 @@ multilib_src_configure() {
 		$(meson_native_use_feature lv2)
 		$(meson_native_use_feature v4l v4l2)
 		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature readline)
 		$(meson_native_use_feature ssl raop)
 		-Dvideoconvert=enabled # Matches upstream
 		-Dvideotestsrc=enabled # Matches upstream


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-11-11  4:25 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-11-11  4:25 UTC (permalink / raw
  To: gentoo-commits

commit:     59fae5c077e34c4dccfd1df0be8215d0e9ab55aa
Author:     Guillermo Joandet <gjoandet <AT> gmail <DOT> com>
AuthorDate: Thu Nov 10 23:23:17 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 11 03:54:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59fae5c0

media-video/pipewire: Version bump to 0.3.60

Signed-off-by: Guillermo Joandet <gjoandet <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/28217
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 +
 ...ver-also-advance-read-pointer-in-underrun.patch |  36 ++
 media-video/pipewire/pipewire-0.3.60.ebuild        | 432 +++++++++++++++++++++
 3 files changed, 469 insertions(+)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 9ec8dba458f7..30bac3733f85 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,2 +1,3 @@
 DIST pipewire-0.3.56.tar.gz 1856321 BLAKE2B 62fb5d5a83b3cfc0555f09da42c8d4fbe69f34432add57f91a9c001535340a84f54572af4a5ba138251888cba9be0c038317dfe929d2e2ef36ff62f4679c6ea0 SHA512 a1ba598c56130a30e573d3ce3ac5879d800d3005a47075c45353d968c97c12f74d85802cd171b61558c06c474a03bbe4885396ca430a0af6c5672ed00f43d108
 DIST pipewire-0.3.59.tar.bz2 1443372 BLAKE2B 5e2d82c0bfdb7c030d8be525152c38115438caeb990afd7757424efcf2a7391a6a4891b0f58347ab0b7446707e8ad88baffa0c11c5acc42e086f23c9de3cb354 SHA512 f42bfab6e1bb227431119b44887af818a25eb0cdbcca917433162af87c942eb105a2b6e100de877d188941a24f1c8e2e9ae79f499fc20f0a32e2f7cc5de54162
+DIST pipewire-0.3.60.tar.bz2 1478952 BLAKE2B a7cda37a35ea58079b5297949239fd05b895b59d397f36a68c75c9392c65ad060926caf2e61c5511ab27f02da6c1c2044e4e86009f9c5f18d2744cad63585900 SHA512 8a1c022a283f3cbe7488658563440ff6b426f0b894f519ccd5c7d73bdb5437902fbd4d7d572d5840d48bd7a2f037f0f14dd244fe36b8be891a2d2843f4a99b5c

diff --git a/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
new file mode 100644
index 000000000000..255a3143e93f
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
@@ -0,0 +1,36 @@
+From b720da771efa950cf380101bed42d5d5ee177908 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 10 Nov 2022 16:13:33 +0100
+Subject: [PATCH] pulse-server: also advance read pointer in underrun
+
+So that we ask for more data from the client.
+
+Also retested with #2799 that caused this regression.
+
+Fixes #2821
+---
+ src/modules/module-protocol-pulse/pulse-server.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
+index b18273e98..07f664ba1 100644
+--- a/src/modules/module-protocol-pulse/pulse-server.c
++++ b/src/modules/module-protocol-pulse/pulse-server.c
+@@ -1433,10 +1433,11 @@ static void stream_process(void *data)
+ 						stream->buffer, MAXLENGTH,
+ 						index % MAXLENGTH,
+ 						p, avail);
+-					index += avail;
+-					pd.read_inc = avail;
+-					spa_ringbuffer_read_update(&stream->ring, index);
+ 				}
++				index += size;
++				pd.read_inc = size;
++				spa_ringbuffer_read_update(&stream->ring, index);
++
+ 				pd.playing_for = size;
+ 			}
+ 			pw_log_debug("%p: [%s] underrun read:%u avail:%d max:%u",
+-- 
+2.38.1
+

diff --git a/media-video/pipewire/pipewire-0.3.60.ebuild b/media-video/pipewire/pipewire-0.3.60.ebuild
new file mode 100644
index 000000000000..ac164c770bbb
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.60.ebuild
@@ -0,0 +1,432 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	if [[ ${PV} == *_p* ]] ; then
+		MY_COMMIT=""
+		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+		S="${WORKDIR}"/${PN}-${MY_COMMIT}
+	else
+		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+	fi
+
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer jack-client jack-sdk lv2
+pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+REQUIRED_USE="
+	jack-sdk? ( !jack-client )
+	system-service? ( systemd )
+	!sound-server? ( !pipewire-alsa )
+	jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-libs/readline:=
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/opus
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+		virtual/libusb:1
+	)
+	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	flatpak? (
+		dev-libs/glib
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	lv2? ( media-libs/lilv )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+	)
+	sound-server? (
+		!media-sound/pulseaudio[daemon(+)]
+		!media-sound/pulseaudio-daemon
+	)
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd )
+	system-service? (
+		acct-user/pipewire
+		acct-group/pipewire
+	)
+	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l )
+	X? (
+		media-libs/libcanberra
+		x11-libs/libX11
+		x11-libs/libXfixes
+	)
+	zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND=">=media-video/wireplumber-0.4.8-r3"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-pulse-server-also-advance-read-pointer-in-underrun.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		$(use system-service && {
+			echo @pipewire - rtprio 95
+			echo @pipewire - nice -19
+			echo @pipewire - memlock 4194304
+		})
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	# https://bugs.gentoo.org/838301
+	filter-flags -fno-semantic-interposition
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+		$(meson_feature dbus)
+		$(meson_native_use_feature zeroconf avahi)
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature systemd)
+
+		$(meson_native_use_feature system-service systemd-system-service)
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-native-mm)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature bluetooth bluez5-codec-opus)
+		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3=disabled
+		-Dbluez5-codec-lc3plus=disabled
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		$(meson_native_use_feature flatpak)
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature lv2)
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature ssl raop)
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		$(meson_feature udev)
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+		# Just for bell sounds in X11 right now.
+		$(meson_native_use_feature X x11)
+		$(meson_native_use_feature X x11-xfixes)
+		$(meson_native_use_feature X libcanberra)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+	fi
+
+	# Enable required wireplumber alsa and bluez monitors
+	if use sound-server; then
+		dodir /etc/wireplumber/main.lua.d
+		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
+
+		dodir /etc/wireplumber/bluetooth.lua.d
+		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+
+		# Disable pipewire-pulse if sound-server is disabled.
+		if ! use sound-server ; then
+			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+		fi
+
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	local ver
+	for ver in ${REPLACING_VERSIONS} ; do
+		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
+			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+			ewarn "your sound, please enable it. See the wiki at"
+			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+			ewarn "for more details."
+
+			break
+		fi
+	done
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "To use PipeWire, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both new users and those upgrading need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user disable pipewire-media-session.service"
+		elog "  systemctl --user --force enable wireplumber.service"
+		elog
+		elog "Root user may replace --user with --global to change system default"
+		elog "configuration for all of the above commands."
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+
+		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit pulseaudio client configuration files:"
+			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+			elog "if it exists, and disable autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+	elog
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if use sound-server && ! use pipewire-alsa; then
+		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+	fi
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+
+	if use system-service; then
+		ewarn
+		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+		ewarn "service. This is more than likely NOT what you want. You are strongly"
+		ewarn "advised not to enable this mode and instead stick with systemd user"
+		ewarn "units. The default configuration files will likely not work out of"
+		ewarn "box, and you are on your own with configuration."
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-12-10  4:35 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-12-10  4:35 UTC (permalink / raw
  To: gentoo-commits

commit:     2c55a48f17db8dfe66a495d5399348a4976eabf8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 10 04:34:55 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 10 04:35:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c55a48f

media-video/pipewire: drop 0.3.56

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   1 -
 .../files/pipewire-0.3.56-big-endian.patch         |  55 ---
 media-video/pipewire/pipewire-0.3.56.ebuild        | 424 ---------------------
 3 files changed, 480 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index dd5472274968..9e785ebba91f 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,4 +1,3 @@
-DIST pipewire-0.3.56.tar.gz 1856321 BLAKE2B 62fb5d5a83b3cfc0555f09da42c8d4fbe69f34432add57f91a9c001535340a84f54572af4a5ba138251888cba9be0c038317dfe929d2e2ef36ff62f4679c6ea0 SHA512 a1ba598c56130a30e573d3ce3ac5879d800d3005a47075c45353d968c97c12f74d85802cd171b61558c06c474a03bbe4885396ca430a0af6c5672ed00f43d108
 DIST pipewire-0.3.59.tar.bz2 1443372 BLAKE2B 5e2d82c0bfdb7c030d8be525152c38115438caeb990afd7757424efcf2a7391a6a4891b0f58347ab0b7446707e8ad88baffa0c11c5acc42e086f23c9de3cb354 SHA512 f42bfab6e1bb227431119b44887af818a25eb0cdbcca917433162af87c942eb105a2b6e100de877d188941a24f1c8e2e9ae79f499fc20f0a32e2f7cc5de54162
 DIST pipewire-0.3.60.tar.bz2 1478952 BLAKE2B a7cda37a35ea58079b5297949239fd05b895b59d397f36a68c75c9392c65ad060926caf2e61c5511ab27f02da6c1c2044e4e86009f9c5f18d2744cad63585900 SHA512 8a1c022a283f3cbe7488658563440ff6b426f0b894f519ccd5c7d73bdb5437902fbd4d7d572d5840d48bd7a2f037f0f14dd244fe36b8be891a2d2843f4a99b5c
 DIST pipewire-0.3.61.tar.bz2 1480364 BLAKE2B df940896189b986e1d63ce6d5ec6cb554ae030ef2ed217a5310f06d959b8c28bff12bc48d847ce5bc6ff007b3652f9ae6e35fd15ef39283348c010cd341bcea6 SHA512 8fe5b6ce0fd1ef2a20b1253436fb97aab9da168ce243400b0291051e97809d75793d9446fd4aafc835f82fd257009ec6df9e181d375b492ee72d7f90275ab917

diff --git a/media-video/pipewire/files/pipewire-0.3.56-big-endian.patch b/media-video/pipewire/files/pipewire-0.3.56-big-endian.patch
deleted file mode 100644
index d7742d26cead..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.56-big-endian.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/aaa015d0c0c66b64c7198a34ad3c4b43445667d2
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1a5ec4452fa21592eaeeb823ad95a1db6eb60376
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f857fd46262b1a90ad94f86e34216a1a886d9463
-
-From aaa015d0c0c66b64c7198a34ad3c4b43445667d2 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 19 Jul 2022 13:06:52 +0200
-Subject: [PATCH] avb: fix compilation on big endian
-
---- a/spa/plugins/avb/avbtp/packets.h
-+++ b/spa/plugins/avb/avbtp/packets.h
-@@ -116,7 +116,7 @@ struct spa_avbtp_packet_aaf {
- 	unsigned gv:1;
- 	unsigned tv:1;
- 
--	uint8_t seq_number;
-+	uint8_t seq_num;
- 
- 	unsigned _r2:7;
- 	unsigned tu:1;
-GitLab
-From 1a5ec4452fa21592eaeeb823ad95a1db6eb60376 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 19 Jul 2022 13:49:42 +0200
-Subject: [PATCH] avb: fix compilation on big endian
-
---- a/src/modules/module-avb/aaf.h
-+++ b/src/modules/module-avb/aaf.h
-@@ -35,7 +35,7 @@ struct avb_packet_aaf {
- 	unsigned gv:1;
- 	unsigned tv:1;
- 
--	uint8_t seq_number;
-+	uint8_t seq_num;
- 
- 	unsigned _r2:7;
- 	unsigned tu:1;
-GitLab
-From f857fd46262b1a90ad94f86e34216a1a886d9463 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 19 Jul 2022 14:07:16 +0200
-Subject: [PATCH] avb: fix compilation on big endian
-
---- a/src/modules/module-avb/iec61883.h
-+++ b/src/modules/module-avb/iec61883.h
-@@ -37,7 +37,7 @@ struct avb_packet_iec61883 {
- 	unsigned gv:1;
- 	unsigned tv:1;
- 
--	uint8_t seq_number;
-+	uint8_t seq_num;
- 
- 	unsigned _r2:7;
- 	unsigned tu:1;
-GitLab

diff --git a/media-video/pipewire/pipewire-0.3.56.ebuild b/media-video/pipewire/pipewire-0.3.56.ebuild
deleted file mode 100644
index d60731301153..000000000000
--- a/media-video/pipewire/pipewire-0.3.56.ebuild
+++ /dev/null
@@ -1,424 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
-	fi
-
-	KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra gstreamer jack-client jack-sdk lv2
-pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-libs/readline:=
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-	)
-	sound-server? (
-		!media-sound/pulseaudio[daemon(+)]
-		!media-sound/pulseaudio-daemon
-	)
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	"${FILESDIR}"/${P}-big-endian.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - nice -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		# Not yet packaged.
-		-Dbluez5-codec-lc3plus=disabled
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		$(meson_feature udev)
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		dodir /etc/wireplumber/main.lua.d
-		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
-
-		dodir /etc/wireplumber/bluetooth.lua.d
-		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-
-			break
-		fi
-	done
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-
-		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit pulseaudio client configuration files:"
-			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-			elog "if it exists, and disable autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-12-16  4:56 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-12-16  4:56 UTC (permalink / raw
  To: gentoo-commits

commit:     8ea8aa1c9332813077b3aaf13ddf79988041f403
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 16 04:55:05 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 16 04:55:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ea8aa1c

media-video/pipewire: drop 0.3.60-r1, 0.3.62, 0.3.62-r1

0.3.62 was very short-lived, we'd backported the critical stuff in
0.3.62-r1, but 0.3.63 is one of those pure bug fixes releases anyway
so let's clenaup immediately.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   2 -
 .../pipewire-0.3.60-profile-switch-crash.patch     |  28 --
 ...ver-also-advance-read-pointer-in-underrun.patch |  29 --
 .../pipewire/files/pipewire-0.3.60-qemu.patch      |  22 -
 .../files/pipewire-0.3.62-distorted-avx2.patch     |  41 --
 .../files/pipewire-0.3.62-use-after-free.patch     | 185 ---------
 media-video/pipewire/pipewire-0.3.60-r1.ebuild     | 438 --------------------
 media-video/pipewire/pipewire-0.3.62-r1.ebuild     | 442 ---------------------
 media-video/pipewire/pipewire-0.3.62.ebuild        | 439 --------------------
 9 files changed, 1626 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index d48a4c4d3804..2bef025bea38 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,5 +1,3 @@
 DIST pipewire-0.3.59.tar.bz2 1443372 BLAKE2B 5e2d82c0bfdb7c030d8be525152c38115438caeb990afd7757424efcf2a7391a6a4891b0f58347ab0b7446707e8ad88baffa0c11c5acc42e086f23c9de3cb354 SHA512 f42bfab6e1bb227431119b44887af818a25eb0cdbcca917433162af87c942eb105a2b6e100de877d188941a24f1c8e2e9ae79f499fc20f0a32e2f7cc5de54162
-DIST pipewire-0.3.60.tar.bz2 1478952 BLAKE2B a7cda37a35ea58079b5297949239fd05b895b59d397f36a68c75c9392c65ad060926caf2e61c5511ab27f02da6c1c2044e4e86009f9c5f18d2744cad63585900 SHA512 8a1c022a283f3cbe7488658563440ff6b426f0b894f519ccd5c7d73bdb5437902fbd4d7d572d5840d48bd7a2f037f0f14dd244fe36b8be891a2d2843f4a99b5c
 DIST pipewire-0.3.61.tar.bz2 1480364 BLAKE2B df940896189b986e1d63ce6d5ec6cb554ae030ef2ed217a5310f06d959b8c28bff12bc48d847ce5bc6ff007b3652f9ae6e35fd15ef39283348c010cd341bcea6 SHA512 8fe5b6ce0fd1ef2a20b1253436fb97aab9da168ce243400b0291051e97809d75793d9446fd4aafc835f82fd257009ec6df9e181d375b492ee72d7f90275ab917
-DIST pipewire-0.3.62.tar.bz2 1482986 BLAKE2B 008f57e0e01971aa27af7a7c1e4ddcc72326845534fd8c9257b14078acdde1abf44629b93532ba340c5d446ef47b402bfa22ffbfc28cd44a75131b05e06ce3c8 SHA512 3132b18fc3d1269587216301a9e5a87ee74c1583f17da466a82e9446b57a8a9b77e7dfdea84f04320940c637ea6ce5c1c9caca6a449fb1e55e946259820b2084
 DIST pipewire-0.3.63.tar.bz2 1485423 BLAKE2B 8629bce6d11959d4b3930d7db4e0ad201981002d52c6b73b3ee2b0ac141518f553f7b0e47aef4157b3c3ef71c6b544889f60f4be0fadb01b8a35c1d457edb1aa SHA512 0a45e9017bbcd74f21c6a1f388c5b58123deec083bbc9a9e695948ea95e67b6384acfff6e5ab685ea7287b4696e01176e257b73286ecd03c2d2e43d80fd60805

diff --git a/media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch b/media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch
deleted file mode 100644
index cd126d627d20..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/bf3516ba0496b644b3944b114253f23964178897
-
-From bf3516ba0496b644b3944b114253f23964178897 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 15 Nov 2022 15:40:47 +0100
-Subject: [PATCH] audioadapter: perform setup again after a PortConfig
-
-After the ports are reconfigured, we need to perform the setup again so
-that buffers and processing can happen with the right settings.
-
-This fixes an issue when autoswitching between A2DP and HFP with
-bluetooth headsets when there is also a stereo capture device available.
-The input stream of the browser is quickly reconfigured between stereo
-and mono with only a Pause command in between, clearing the setup state
-is enough to redo the setup when going back to Playing.
-
-Fixes #2764
---- a/spa/plugins/audioconvert/audioconvert.c
-+++ b/spa/plugins/audioconvert/audioconvert.c
-@@ -979,6 +979,7 @@ static int reconfigure_mode(struct impl *this, enum spa_param_port_config_mode m
- 	}
- 
- 	this->monitor = monitor;
-+	this->setup = false;
- 	dir->control = control;
- 	dir->have_profile = true;
- 	dir->mode = mode;
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
deleted file mode 100644
index 99e752391885..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b720da771efa950cf380101bed42d5d5ee177908
-
-From b720da771efa950cf380101bed42d5d5ee177908 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 10 Nov 2022 16:13:33 +0100
-Subject: [PATCH] pulse-server: also advance read pointer in underrun
-
-So that we ask for more data from the client.
-
-Also retested with #2799 that caused this regression.
-
-Fixes #2821
---- a/src/modules/module-protocol-pulse/pulse-server.c
-+++ b/src/modules/module-protocol-pulse/pulse-server.c
-@@ -1433,10 +1433,11 @@ static void stream_process(void *data)
- 						stream->buffer, MAXLENGTH,
- 						index % MAXLENGTH,
- 						p, avail);
--					index += avail;
--					pd.read_inc = avail;
--					spa_ringbuffer_read_update(&stream->ring, index);
- 				}
-+				index += size;
-+				pd.read_inc = size;
-+				spa_ringbuffer_read_update(&stream->ring, index);
-+
- 				pd.playing_for = size;
- 			}
- 			pw_log_debug("%p: [%s] underrun read:%u avail:%d max:%u",

diff --git a/media-video/pipewire/files/pipewire-0.3.60-qemu.patch b/media-video/pipewire/files/pipewire-0.3.60-qemu.patch
deleted file mode 100644
index 87d34ec609cf..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.60-qemu.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From b46d8a8c921a8da6883610ad4b68da95bf59b59e Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Wed, 16 Nov 2022 20:45:38 +0100
-Subject: [PATCH] alsa: force playback start when buffer is full
-
-When we try to play data but the ringbuffer is full, we need to start
-the device or else we will stay in this situation forever and stay
-silent.
-
-Fixes #2830
---- a/spa/plugins/alsa/alsa-pcm.c
-+++ b/spa/plugins/alsa/alsa-pcm.c
-@@ -2128,7 +2128,7 @@ again:
- 
- 	state->sample_count += total_written;
- 
--	if (SPA_UNLIKELY(!state->alsa_started && total_written > 0))
-+	if (SPA_UNLIKELY(!state->alsa_started && (total_written > 0 || frames == 0)))
- 		do_start(state);
- 
- 	return 0;
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.62-distorted-avx2.patch b/media-video/pipewire/files/pipewire-0.3.62-distorted-avx2.patch
deleted file mode 100644
index 5b2f0817d048..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.62-distorted-avx2.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b927063b89b791c5fc5485ce4d9eac2cd17a4ad6
-
-From b927063b89b791c5fc5485ce4d9eac2cd17a4ad6 Mon Sep 17 00:00:00 2001
-From: Sefa Eyeoglu <contact@scrumplex.net>
-Date: Sun, 11 Dec 2022 20:14:09 +0100
-Subject: [PATCH] audioconvert: fix distorted audio on AVX2
-
-Closes pipewire/pipewire#2885
-
-Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
---- a/spa/plugins/audioconvert/fmt-ops-avx2.c
-+++ b/spa/plugins/audioconvert/fmt-ops-avx2.c
-@@ -339,7 +339,7 @@ conv_s32_to_f32d_4s_avx2(void *data, void * SPA_RESTRICT dst[], const void * SPA
- 	__m256i in[4];
- 	__m256 out[4], factor = _mm256_set1_ps(1.0f / S24_SCALE);
- 	__m256i mask1 = _mm256_setr_epi32(0*n_channels, 1*n_channels, 2*n_channels, 3*n_channels,
--					  3*n_channels, 5*n_channels, 6*n_channels, 7*n_channels);
-+					  4*n_channels, 5*n_channels, 6*n_channels, 7*n_channels);
- 
- 	if (SPA_IS_ALIGNED(d0, 32) &&
- 	    SPA_IS_ALIGNED(d1, 32) &&
-@@ -405,7 +405,7 @@ conv_s32_to_f32d_2s_avx2(void *data, void * SPA_RESTRICT dst[], const void * SPA
- 	__m256i in[4];
- 	__m256 out[4], factor = _mm256_set1_ps(1.0f / S24_SCALE);
- 	__m256i mask1 = _mm256_setr_epi32(0*n_channels, 1*n_channels, 2*n_channels, 3*n_channels,
--					  3*n_channels, 5*n_channels, 6*n_channels, 7*n_channels);
-+					  4*n_channels, 5*n_channels, 6*n_channels, 7*n_channels);
- 
- 	if (SPA_IS_ALIGNED(d0, 32) &&
- 	    SPA_IS_ALIGNED(d1, 32))
-@@ -453,7 +453,7 @@ conv_s32_to_f32d_1s_avx2(void *data, void * SPA_RESTRICT dst[], const void * SPA
- 	__m256i in[2];
- 	__m256 out[2], factor = _mm256_set1_ps(1.0f / S24_SCALE);
- 	__m256i mask1 = _mm256_setr_epi32(0*n_channels, 1*n_channels, 2*n_channels, 3*n_channels,
--					  3*n_channels, 5*n_channels, 6*n_channels, 7*n_channels);
-+					  4*n_channels, 5*n_channels, 6*n_channels, 7*n_channels);
- 
- 	if (SPA_IS_ALIGNED(d0, 32))
- 		unrolled = n_samples & ~15;
--- 
-GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.62-use-after-free.patch b/media-video/pipewire/files/pipewire-0.3.62-use-after-free.patch
deleted file mode 100644
index 66d21caf3195..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.62-use-after-free.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/3bdd2e01c56ec13179340ecdce0b766f72e4339e
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/8c892443eb5989ea3e660dedc6a506a9bfb42eac
-
-From 3bdd2e01c56ec13179340ecdce0b766f72e4339e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Sat, 10 Dec 2022 00:40:21 +0100
-Subject: [PATCH] pipewire: store SPA handles in a global list by age
-
-Operating on the assumption that every SPA handle
-can reference any other older SPA handle, the only
-safe destruction order is from youngest to oldest.
-
-To achieve this, store all handles across all plugins
-sorted by age (youngest first), and use that as the
-order of destruction in `pw_deinit()`.
-
-This line of thinking does not account for what happens
-when a handle that is referenced by others is unloaded,
-but it does not make that case worse either.
-
-See #2881
---- a/src/pipewire/pipewire.c
-+++ b/src/pipewire/pipewire.c
-@@ -64,7 +64,6 @@ struct plugin {
- 	char *filename;
- 	void *hnd;
- 	spa_handle_factory_enum_func_t enum_func;
--	struct spa_list handles;
- 	int ref;
- };
- 
-@@ -78,6 +77,7 @@ struct handle {
- 
- struct registry {
- 	struct spa_list plugins;
-+	struct spa_list handles; /* all handles across all plugins by age (youngest first) */
- };
- 
- struct support {
-@@ -149,7 +149,6 @@ open_plugin(struct registry *registry,
- 	plugin->filename = strdup(filename);
- 	plugin->hnd = hnd;
- 	plugin->enum_func = enum_func;
--	spa_list_init(&plugin->handles);
- 
- 	spa_list_append(&registry->plugins, &plugin->link);
- 
-@@ -290,7 +289,7 @@ static struct spa_handle *load_spa_handle(const char *lib,
- 	handle->ref = 1;
- 	handle->plugin = plugin;
- 	handle->factory_name = strdup(factory_name);
--	spa_list_append(&plugin->handles, &handle->link);
-+	spa_list_prepend(&sup->registry.handles, &handle->link);
- 
- 	return &handle->handle;
- 
-@@ -321,15 +320,13 @@ struct spa_handle *pw_load_spa_handle(const char *lib,
- static struct handle *find_handle(struct spa_handle *handle)
- {
- 	struct registry *registry = &global_support.registry;
--	struct plugin *p;
- 	struct handle *h;
- 
--	spa_list_for_each(p, &registry->plugins, link) {
--		spa_list_for_each(h, &p->handles, link) {
--			if (&h->handle == handle)
--				return h;
--		}
-+	spa_list_for_each(h, &registry->handles, link) {
-+		if (&h->handle == handle)
-+			return h;
- 	}
-+
- 	return NULL;
- }
- 
-@@ -611,6 +608,7 @@ void pw_init(int *argc, char **argv[])
- 	support->support_lib = str;
- 
- 	spa_list_init(&support->registry.plugins);
-+	spa_list_init(&support->registry.handles);
- 
- 	if (pw_log_is_default()) {
- 		char *patterns = NULL;
-@@ -684,7 +682,7 @@ void pw_deinit(void)
- {
- 	struct support *support = &global_support;
- 	struct registry *registry = &support->registry;
--	struct plugin *p;
-+	struct handle *h;
- 
- 	pthread_mutex_lock(&init_lock);
- 	if (support->init_count == 0)
-@@ -694,13 +692,10 @@ void pw_deinit(void)
- 
- 	pthread_mutex_lock(&support_lock);
- 	pw_log_set(NULL);
--	spa_list_consume(p, &registry->plugins, link) {
--		struct handle *h;
--		p->ref++;
--		spa_list_consume(h, &p->handles, link)
--			unref_handle(h);
--		unref_plugin(p);
--	}
-+
-+	spa_list_consume(h, &registry->handles, link)
-+		unref_handle(h);
-+
- 	pw_free_strv(support->categories);
- 	free(support->i18n_domain);
- 	spa_zero(global_support);
--- 
-GitLab
-
-From 8c892443eb5989ea3e660dedc6a506a9bfb42eac Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Sat, 10 Dec 2022 02:43:13 +0100
-Subject: [PATCH] spa: audioadapter: fix stack-use-after-scope when configuring
- format
-
-It is not enough for `buffer` to be alive in its current
-scope because when execution enters that branch, `format`
-will be set to `fmt`, which points inside `buffer`. And
-since `format` is used outside that scope, `buffer` must
-live longer.
-
-This was detected by ASAN when Audacity was starting up.
-
-  ==25007==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffdbcfef560 at pc 0x7fe44ca95db3 bp 0x7ffdbcfeeda0 sp 0x7ffdbcfeed90
-  READ of size 4 at 0x7ffdbcfef560 thread T0
-      #0 0x7fe44ca95db2 in spa_pod_parser_pod ../spa/include/spa/pod/parser.h:67
-      #1 0x7fe44ca9a805 in spa_format_parse ../spa/include/spa/param/format-utils.h:44
-      #2 0x7fe44cad293a in port_set_format ../spa/plugins/audioconvert/audioconvert.c:1934
-      #3 0x7fe44cadad14 in impl_node_port_set_param ../spa/plugins/audioconvert/audioconvert.c:2038
-      #4 0x7fe44ca587e2 in configure_format ../spa/plugins/audioconvert/audioadapter.c:509
-      #5 0x7fe44ca60dff in negotiate_format ../spa/plugins/audioconvert/audioadapter.c:822
-      #6 0x7fe44ca62bbf in impl_node_send_command ../spa/plugins/audioconvert/audioadapter.c:846
-      #7 0x7fe45ea1c2f1 in node_update_state ../src/pipewire/impl-node.c:407
-      #8 0x7fe45ea5137e in pw_impl_node_set_state ../src/pipewire/impl-node.c:2251
-      #9 0x7fe45eb3355f in pw_work_queue_destroy ../src/pipewire/work-queue.c:142
-      #10 0x7fe45b2cd6f4 in source_event_func ../spa/plugins/support/loop.c:615
-      #11 0x7fe45b2c634f in loop_iterate ../spa/plugins/support/loop.c:452
-      #12 0x7fe45e9ebebc in spa_hook_list_clean ../spa/include/spa/utils/hook.h:395
-      #13 0x5561e03dc722 in main ../src/daemon/pipewire.c:131
-      #14 0x7fe45da3c28f  (/usr/lib/libc.so.6+0x2328f)
-      #15 0x7fe45da3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
-      #16 0x5561e03db2a4 in _start ../sysdeps/x86_64/start.S:115
-
-  Address 0x7ffdbcfef560 is located in stack of thread T0 at offset 160 in frame
-      #0 0x7fe44ca56fa9 in configure_format ../spa/plugins/audioconvert/audioadapter.c:475
-
-    This frame has 4 object(s):
-      [32, 36) 'state' (line 493)
-      [48, 56) 'fmt' (line 494)
-      [80, 128) 'b' (line 492)
-      [160, 4256) 'buffer' (line 491) <== Memory access at offset 160 is inside this variable
---- a/spa/plugins/audioconvert/audioadapter.c
-+++ b/spa/plugins/audioconvert/audioadapter.c
-@@ -473,6 +473,7 @@ static int negotiate_buffers(struct impl *this)
- 
- static int configure_format(struct impl *this, uint32_t flags, const struct spa_pod *format)
- {
-+	uint8_t buffer[4096];
- 	int res;
- 
- 	if (format == NULL && !this->have_format)
-@@ -487,14 +488,13 @@ static int configure_format(struct impl *this, uint32_t flags, const struct spa_
- 					   SPA_PARAM_Format, flags,
- 					   format)) < 0)
- 			return res;
-+
- 	if (res > 0) {
--		uint8_t buffer[4096];
--		struct spa_pod_builder b = { 0 };
-+		struct spa_pod_builder b = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer));
- 		uint32_t state = 0;
- 		struct spa_pod *fmt;
- 
- 		/* format was changed to nearest compatible format */
--		spa_pod_builder_init(&b, buffer, sizeof(buffer));
- 
- 		if ((res = spa_node_port_enum_params_sync(this->follower,
- 					this->direction, 0,
--- 
-GitLab

diff --git a/media-video/pipewire/pipewire-0.3.60-r1.ebuild b/media-video/pipewire/pipewire-0.3.60-r1.ebuild
deleted file mode 100644
index 0acb65629783..000000000000
--- a/media-video/pipewire/pipewire-0.3.60-r1.ebuild
+++ /dev/null
@@ -1,438 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	modemmanager? ( bluetooth )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/opus
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	flatpak? (
-		dev-libs/glib
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-	)
-	sound-server? (
-		!media-sound/pulseaudio[daemon(+)]
-		!media-sound/pulseaudio-daemon
-	)
-	readline? ( sys-libs/readline:= )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	"${FILESDIR}"/${P}-pulse-server-also-advance-read-pointer-in-underrun.patch
-	"${FILESDIR}"/${P}-profile-switch-crash.patch
-	"${FILESDIR}"/${P}-qemu.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - nice -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
-		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth bluez5-codec-opus)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		# Not yet packaged.
-		-Dbluez5-codec-lc3=disabled
-		-Dbluez5-codec-lc3plus=disabled
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_native_use_feature flatpak)
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature readline)
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		$(meson_feature udev)
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		dodir /etc/wireplumber/main.lua.d
-		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
-
-		dodir /etc/wireplumber/bluetooth.lua.d
-		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-
-			break
-		fi
-	done
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-
-		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit pulseaudio client configuration files:"
-			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-			elog "if it exists, and disable autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.62-r1.ebuild b/media-video/pipewire/pipewire-0.3.62-r1.ebuild
deleted file mode 100644
index 04cd2cae11af..000000000000
--- a/media-video/pipewire/pipewire-0.3.62-r1.ebuild
+++ /dev/null
@@ -1,442 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	modemmanager? ( bluetooth )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/opus
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	flatpak? (
-		dev-libs/glib
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	gsettings? (
-		>=dev-libs/glib-2.26.0:2
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-	)
-	sound-server? (
-		!media-sound/pulseaudio[daemon(+)]
-		!media-sound/pulseaudio-daemon
-	)
-	readline? ( sys-libs/readline:= )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-
-	"${FILESDIR}"/${P}-use-after-free.patch
-	"${FILESDIR}"/${P}-distorted-avx2.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - nice -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature gsettings)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
-		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth bluez5-codec-opus)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		# Not yet packaged.
-		-Dbluez5-codec-lc3=disabled
-		-Dbluez5-codec-lc3plus=disabled
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_native_use_feature flatpak)
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature readline)
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		$(meson_feature udev)
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		dodir /etc/wireplumber/main.lua.d
-		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
-
-		dodir /etc/wireplumber/bluetooth.lua.d
-		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-
-			break
-		fi
-	done
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-
-		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit pulseaudio client configuration files:"
-			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-			elog "if it exists, and disable autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}

diff --git a/media-video/pipewire/pipewire-0.3.62.ebuild b/media-video/pipewire/pipewire-0.3.62.ebuild
deleted file mode 100644
index cd99389d6ba1..000000000000
--- a/media-video/pipewire/pipewire-0.3.62.ebuild
+++ /dev/null
@@ -1,439 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-REQUIRED_USE="
-	jack-sdk? ( !jack-client )
-	modemmanager? ( bluetooth )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-util/meson-0.59
-	virtual/pkgconfig
-	${PYTHON_DEPS}
-	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
-	doc? (
-		app-doc/doxygen
-		media-gfx/graphviz
-	)
-"
-RDEPEND="
-	acct-group/audio
-	media-libs/alsa-lib
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	bluetooth? (
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/opus
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
-	extra? (
-		>=media-libs/libsndfile-1.0.20
-	)
-	flatpak? (
-		dev-libs/glib
-	)
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	gsettings? (
-		>=dev-libs/glib-2.26.0:2
-	)
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	lv2? ( media-libs/lilv )
-	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
-	pipewire-alsa? (
-		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
-	)
-	sound-server? (
-		!media-sound/pulseaudio[daemon(+)]
-		!media-sound/pulseaudio-daemon
-	)
-	readline? ( sys-libs/readline:= )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? (
-		acct-user/pipewire
-		acct-group/pipewire
-	)
-	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-video/ffmpeg:=
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
-	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	default
-
-	einfo "Generating ${limitsdfile}"
-	cat > ${limitsdfile} <<- EOF || die
-		# Start of ${limitsdfile} from ${P}
-
-		@audio	-	memlock 256
-
-		$(use system-service && {
-			echo @pipewire - rtprio 95
-			echo @pipewire - nice -19
-			echo @pipewire - memlock 4194304
-		})
-
-		# End of ${limitsdfile} from ${P}
-	EOF
-}
-
-multilib_src_configure() {
-	# https://bugs.gentoo.org/838301
-	filter-flags -fno-semantic-interposition
-
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_native_enabled man)
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature gsettings)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
-		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth bluez5-codec-opus)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		# Not yet packaged.
-		-Dbluez5-codec-lc3=disabled
-		-Dbluez5-codec-lc3plus=disabled
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_native_use_feature flatpak)
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature readline)
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		$(meson_feature udev)
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-	)
-
-	meson_src_configure
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	insinto /etc/security/limits.d
-	doins ${limitsdfile}
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		dodir /etc/wireplumber/main.lua.d
-		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
-
-		dodir /etc/wireplumber/bluetooth.lua.d
-		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	use udev && udev_reload
-}
-
-pkg_postinst() {
-	use udev && udev_reload
-
-	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
-	elog "using PipeWire. Do it either manually or add yourself"
-	elog "to the 'audio' group:"
-	elog
-	elog "  usermod -aG audio <youruser>"
-	elog
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-
-			break
-		fi
-	done
-
-	if ! use jack-sdk; then
-		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-		elog "alternative libraries have been installed to a non-default location."
-		elog "To use them, put pw-jack <application> before every JACK application."
-		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-		elog "provider is still needed to compile the JACK applications themselves."
-		elog
-	fi
-
-	if use systemd; then
-		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-		elog
-		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-		elog
-		elog "To use PipeWire, the user units must be manually enabled"
-		elog "by running this command as each user you use for desktop activities:"
-		elog
-		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-		elog
-		elog "A reboot is recommended to avoid interferences from still running"
-		elog "PulseAudio daemon."
-		elog
-		elog "Both new users and those upgrading need to enable WirePlumber"
-		elog "for relevant users:"
-		elog
-		elog "  systemctl --user disable pipewire-media-session.service"
-		elog "  systemctl --user --force enable wireplumber.service"
-		elog
-		elog "Root user may replace --user with --global to change system default"
-		elog "configuration for all of the above commands."
-	else
-		ewarn "PipeWire daemon startup has been moved to a launcher script!"
-		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-		ewarn
-		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-		ewarn "advised that a D-Bus user session is set up before starting the script."
-		ewarn
-
-		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-			elog "are recommended to edit pulseaudio client configuration files:"
-			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-			elog "if it exists, and disable autospawning of the original daemon by setting:"
-			elog
-			elog "  autospawn = no"
-			elog
-			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-			elog
-			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-			elog "command:"
-			elog
-			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-			elog
-		fi
-		elog "NOTE:"
-		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
-		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
-		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
-		elog "and just override the sections you want to change."
-	fi
-	elog
-
-	elog "For latest tips and tricks, troubleshooting information and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-
-	if has_version 'net-misc/ofono' ; then
-		ewarn "Native backend has become default. Please disable oFono via:"
-		if systemd_is_booted ; then
-			ewarn "systemctl disable ofono"
-		else
-			ewarn "rc-update delete ofono"
-		fi
-		ewarn
-	fi
-
-	if use system-service; then
-		ewarn
-		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-12-27 14:17 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-12-27 14:17 UTC (permalink / raw
  To: gentoo-commits

commit:     64151f42d338500d6075c197037368db46368ca6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 27 14:17:35 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 27 14:17:35 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64151f42

media-video/pipewire: backport bluetooth regression fix

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.63-bluetooth-typo.patch     |  21 +
 media-video/pipewire/pipewire-0.3.63-r1.ebuild     | 441 +++++++++++++++++++++
 2 files changed, 462 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch b/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch
new file mode 100644
index 000000000000..78993a57831e
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch
@@ -0,0 +1,21 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c7b3ef0d9ff16a1e69a299870860bebcb628e298
+
+From c7b3ef0d9ff16a1e69a299870860bebcb628e298 Mon Sep 17 00:00:00 2001
+From: Pauli Virtanen <pav@iki.fi>
+Date: Wed, 21 Dec 2022 12:54:52 +0200
+Subject: [PATCH] bluez5: backend-native: fix missing brace in CIND reply
+
+It should look like ...,("battchg,(0-5)) not ...,"battchg",(0-5))
+--- a/spa/plugins/bluez5/backend-native.c
++++ b/spa/plugins/bluez5/backend-native.c
+@@ -74,7 +74,7 @@ enum {
+ 	HFP_AG_INITIAL_CODEC_SETUP_WAIT
+ };
+ 
+-#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),\"battchg\",(0-5))"
++#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))"
+ enum {
+ 	CIND_SERVICE = 1,
+ 	CIND_CALL,
+-- 
+GitLab

diff --git a/media-video/pipewire/pipewire-0.3.63-r1.ebuild b/media-video/pipewire/pipewire-0.3.63-r1.ebuild
new file mode 100644
index 000000000000..b693bccb95c8
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.63-r1.ebuild
@@ -0,0 +1,441 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	if [[ ${PV} == *_p* ]] ; then
+		MY_COMMIT=""
+		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+		S="${WORKDIR}"/${PN}-${MY_COMMIT}
+	else
+		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+	fi
+
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
+modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+REQUIRED_USE="
+	jack-sdk? ( !jack-client )
+	modemmanager? ( bluetooth )
+	system-service? ( systemd )
+	!sound-server? ( !pipewire-alsa )
+	jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/opus
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+		virtual/libusb:1
+	)
+	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	flatpak? (
+		dev-libs/glib
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	gsettings? (
+		>=dev-libs/glib-2.26.0:2
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	lv2? ( media-libs/lilv )
+	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+	)
+	sound-server? (
+		!media-sound/pulseaudio[daemon(+)]
+		!media-sound/pulseaudio-daemon
+	)
+	readline? ( sys-libs/readline:= )
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd )
+	system-service? (
+		acct-user/pipewire
+		acct-group/pipewire
+	)
+	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l )
+	X? (
+		media-libs/libcanberra
+		x11-libs/libX11
+		x11-libs/libXfixes
+	)
+	zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND=">=media-video/wireplumber-0.4.8-r3"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-bluez-ldac_abr.patch
+	"${FILESDIR}"/${P}-bluetooth-typo.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		$(use system-service && {
+			echo @pipewire - rtprio 95
+			echo @pipewire - nice -19
+			echo @pipewire - memlock 4194304
+		})
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	# https://bugs.gentoo.org/838301
+	filter-flags -fno-semantic-interposition
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+		$(meson_feature dbus)
+		$(meson_native_use_feature zeroconf avahi)
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature gsettings)
+		$(meson_native_use_feature systemd)
+
+		$(meson_native_use_feature system-service systemd-system-service)
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
+		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature bluetooth bluez5-codec-opus)
+		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3=disabled
+		-Dbluez5-codec-lc3plus=disabled
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		$(meson_native_use_feature flatpak)
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature lv2)
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature readline)
+		$(meson_native_use_feature ssl raop)
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		$(meson_feature udev)
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+		# Just for bell sounds in X11 right now.
+		$(meson_native_use_feature X x11)
+		$(meson_native_use_feature X x11-xfixes)
+		$(meson_native_use_feature X libcanberra)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+	fi
+
+	# Enable required wireplumber alsa and bluez monitors
+	if use sound-server; then
+		dodir /etc/wireplumber/main.lua.d
+		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
+
+		dodir /etc/wireplumber/bluetooth.lua.d
+		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+
+		# Disable pipewire-pulse if sound-server is disabled.
+		if ! use sound-server ; then
+			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+		fi
+
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	local ver
+	for ver in ${REPLACING_VERSIONS} ; do
+		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
+			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+			ewarn "your sound, please enable it. See the wiki at"
+			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+			ewarn "for more details."
+
+			break
+		fi
+	done
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "To use PipeWire, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both new users and those upgrading need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user disable pipewire-media-session.service"
+		elog "  systemctl --user --force enable wireplumber.service"
+		elog
+		elog "Root user may replace --user with --global to change system default"
+		elog "configuration for all of the above commands."
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+
+		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit pulseaudio client configuration files:"
+			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+			elog "if it exists, and disable autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+	elog
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if use sound-server && ! use pipewire-alsa; then
+		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+	fi
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+
+	if use system-service; then
+		ewarn
+		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+		ewarn "service. This is more than likely NOT what you want. You are strongly"
+		ewarn "advised not to enable this mode and instead stick with systemd user"
+		ewarn "units. The default configuration files will likely not work out of"
+		ewarn "box, and you are on your own with configuration."
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2022-12-30  6:59 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2022-12-30  6:59 UTC (permalink / raw
  To: gentoo-commits

commit:     d2d6ff0a99a795e07bbfb19f501db28584fb7481
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 30 06:59:22 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 30 06:59:22 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2d6ff0a

media-video/pipewire: backport more patches to 0.3.63

Bug: https://bugs.gentoo.org/888643
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-0.3.63-alsa-node-target.patch   |  28 ++
 .../files/pipewire-0.3.63-rate-update.patch        |  39 ++
 media-video/pipewire/pipewire-0.3.63-r2.ebuild     | 443 +++++++++++++++++++++
 3 files changed, 510 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch b/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
new file mode 100644
index 000000000000..8a4169b57af5
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
@@ -0,0 +1,28 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/89ac6b353521fb9a6d6eb6bb74724c4fa968f75c
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2893
+
+From 89ac6b353521fb9a6d6eb6bb74724c4fa968f75c Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Sat, 17 Dec 2022 18:17:33 +0100
+Subject: [PATCH] =?UTF-8?q?alsa:=20don=C2=B4t=20set=20-1=20as=20node.targe?=
+ =?UTF-8?q?t?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Leave the target unset when -1, just like what pw-stream does.
+
+See #2893
+--- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c
++++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c
+@@ -579,7 +579,7 @@ static int snd_pcm_pipewire_prepare(snd_pcm_ioplug_t *io)
+ 		pw_properties_setf(props, PW_KEY_NODE_LATENCY, "%lu/%u", pw->min_avail, io->rate);
+ 	if (pw_properties_get(props, PW_KEY_NODE_RATE) == NULL)
+ 		pw_properties_setf(props, PW_KEY_NODE_RATE, "1/%u", io->rate);
+-	if (pw->target != NULL &&
++	if (pw->target != NULL && !spa_streq(pw->target, "-1") &&
+ 		pw_properties_get(props, PW_KEY_NODE_TARGET) == NULL)
+ 		pw_properties_setf(props, PW_KEY_NODE_TARGET, "%s", pw->target);
+ 
+-- 
+GitLab

diff --git a/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch b/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
new file mode 100644
index 000000000000..91487def58e2
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
@@ -0,0 +1,39 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/860b8fc27ffbfd0a095e3fa4b0cd125d536283d3
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2915
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2891
+
+From 860b8fc27ffbfd0a095e3fa4b0cd125d536283d3 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 29 Dec 2022 12:22:56 +0100
+Subject: [PATCH] modules: fix rate update
+
+Setting the rate with the PROP_rate would actually result in a rate
+adjustment of 1.0f / rate, so do the same here.
+
+See #2891
+--- a/src/modules/module-pulse-tunnel.c
++++ b/src/modules/module-pulse-tunnel.c
+@@ -270,7 +270,7 @@ static void update_rate(struct impl *impl, bool playback)
+ 			impl->current_latency, impl->target_latency);
+ 
+ 	SPA_FLAG_SET(impl->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
+-	impl->rate_match->rate = corr;
++	impl->rate_match->rate = 1.0f / corr;
+ }
+ 
+ static void playback_stream_process(void *d)
+--- a/src/modules/module-rtp-source.c
++++ b/src/modules/module-rtp-source.c
+@@ -272,7 +272,7 @@ static void stream_process(void *data)
+ 
+ 			if (sess->rate_match) {
+ 				SPA_FLAG_SET(sess->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
+-				sess->rate_match->rate = corr;
++				sess->rate_match->rate = 1.0f / corr;
+ 			}
+ 		}
+ 		spa_ringbuffer_read_data(&sess->ring,
+-- 
+GitLab
+
+

diff --git a/media-video/pipewire/pipewire-0.3.63-r2.ebuild b/media-video/pipewire/pipewire-0.3.63-r2.ebuild
new file mode 100644
index 000000000000..c73900f8e6fb
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.63-r2.ebuild
@@ -0,0 +1,443 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+	inherit git-r3
+else
+	if [[ ${PV} == *_p* ]] ; then
+		MY_COMMIT=""
+		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+		S="${WORKDIR}"/${PN}-${MY_COMMIT}
+	else
+		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+	fi
+
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
+modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+REQUIRED_USE="
+	jack-sdk? ( !jack-client )
+	modemmanager? ( bluetooth )
+	system-service? ( systemd )
+	!sound-server? ( !pipewire-alsa )
+	jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	>=dev-util/meson-0.59
+	virtual/pkgconfig
+	${PYTHON_DEPS}
+	$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+	doc? (
+		app-doc/doxygen
+		media-gfx/graphviz
+	)
+"
+RDEPEND="
+	acct-group/audio
+	media-libs/alsa-lib
+	sys-libs/ncurses:=[unicode(+)]
+	virtual/libintl[${MULTILIB_USEDEP}]
+	bluetooth? (
+		media-libs/fdk-aac
+		media-libs/libldac
+		media-libs/libfreeaptx
+		media-libs/opus
+		media-libs/sbc
+		>=net-wireless/bluez-4.101:=
+		virtual/libusb:1
+	)
+	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+	echo-cancel? ( media-libs/webrtc-audio-processing:0 )
+	extra? (
+		>=media-libs/libsndfile-1.0.20
+	)
+	flatpak? (
+		dev-libs/glib
+	)
+	gstreamer? (
+		>=dev-libs/glib-2.32.0:2
+		>=media-libs/gstreamer-1.10.0:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	gsettings? (
+		>=dev-libs/glib-2.26.0:2
+	)
+	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+	jack-sdk? (
+		!media-sound/jack-audio-connection-kit
+		!media-sound/jack2
+	)
+	lv2? ( media-libs/lilv )
+	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
+	pipewire-alsa? (
+		>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+	)
+	sound-server? (
+		!media-sound/pulseaudio[daemon(+)]
+		!media-sound/pulseaudio-daemon
+	)
+	readline? ( sys-libs/readline:= )
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd )
+	system-service? (
+		acct-user/pipewire
+		acct-group/pipewire
+	)
+	udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l )
+	X? (
+		media-libs/libcanberra
+		x11-libs/libX11
+		x11-libs/libXfixes
+	)
+	zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+# TODO: Consider use cases where pipewire is not used for driving audio
+# Doing so with WirePlumber currently involves editing Lua scripts
+PDEPEND=">=media-video/wireplumber-0.4.8-r3"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+#	media-video/ffmpeg:=
+#	media-libs/libsdl2
+#	>=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+#	>=dev-util/vulkan-headers-1.1.69
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	"${FILESDIR}"/${P}-alsa-node-target.patch
+	"${FILESDIR}"/${P}-bluez-ldac_abr.patch
+	"${FILESDIR}"/${P}-bluetooth-typo.patch
+	"${FILESDIR}"/${P}-rate-update.patch
+)
+
+# limitsdfile related code taken from =sys-auth/realtime-base-0.1
+# with changes as necessary.
+limitsdfile=40-${PN}.conf
+
+python_check_deps() {
+	python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	default
+
+	einfo "Generating ${limitsdfile}"
+	cat > ${limitsdfile} <<- EOF || die
+		# Start of ${limitsdfile} from ${P}
+
+		@audio	-	memlock 256
+
+		$(use system-service && {
+			echo @pipewire - rtprio 95
+			echo @pipewire - nice -19
+			echo @pipewire - memlock 4194304
+		})
+
+		# End of ${limitsdfile} from ${P}
+	EOF
+}
+
+multilib_src_configure() {
+	# https://bugs.gentoo.org/838301
+	filter-flags -fno-semantic-interposition
+
+	local emesonargs=(
+		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+		$(meson_feature dbus)
+		$(meson_native_use_feature zeroconf avahi)
+		$(meson_native_use_feature doc docs)
+		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+		$(meson_native_enabled man)
+		$(meson_feature test tests)
+		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+		$(meson_native_use_feature gstreamer)
+		$(meson_native_use_feature gstreamer gstreamer-device-provider)
+		$(meson_native_use_feature gsettings)
+		$(meson_native_use_feature systemd)
+
+		$(meson_native_use_feature system-service systemd-system-service)
+		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+		$(meson_native_use_feature systemd systemd-user-service)
+		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+		-Dspa-plugins=enabled
+		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+		-Daudiomixer=enabled # Matches upstream
+		-Daudioconvert=enabled # Matches upstream
+		$(meson_native_use_feature bluetooth bluez5)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
+		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
+		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
+		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+		$(meson_native_use_feature bluetooth bluez5-codec-aac)
+		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
+		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+		$(meson_native_use_feature bluetooth bluez5-codec-opus)
+		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+		# Not yet packaged.
+		-Dbluez5-codec-lc3=disabled
+		-Dbluez5-codec-lc3plus=disabled
+		-Dcontrol=enabled # Matches upstream
+		-Daudiotestsrc=enabled # Matches upstream
+		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+		$(meson_native_use_feature flatpak)
+		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+		$(meson_use jack-sdk jack-devel)
+		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+		-Devl=disabled # Matches upstream
+		-Dtest=disabled # fakesink and fakesource plugins
+		$(meson_native_use_feature lv2)
+		$(meson_native_use_feature v4l v4l2)
+		-Dlibcamera=disabled # libcamera is not in Portage tree
+		$(meson_native_use_feature readline)
+		$(meson_native_use_feature ssl raop)
+		-Dvideoconvert=enabled # Matches upstream
+		-Dvideotestsrc=enabled # Matches upstream
+		-Dvolume=enabled # Matches upstream
+		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+		$(meson_native_use_feature extra pw-cat)
+		$(meson_feature udev)
+		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+		# Just for bell sounds in X11 right now.
+		$(meson_native_use_feature X x11)
+		$(meson_native_use_feature X x11-xfixes)
+		$(meson_native_use_feature X libcanberra)
+	)
+
+	meson_src_configure
+}
+
+multilib_src_install() {
+	# Our custom DOCS do not exist in multilib source directory
+	DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	insinto /etc/security/limits.d
+	doins ${limitsdfile}
+
+	if use pipewire-alsa; then
+		dodir /etc/alsa/conf.d
+
+		# Install pipewire conf loader hook
+		insinto /usr/share/alsa/alsa.conf.d
+		doins "${FILESDIR}"/99-pipewire-default-hook.conf
+		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+		# And the current dosym8 -r implementation is likely affected by the same issue, too.
+		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+	fi
+
+	# Enable required wireplumber alsa and bluez monitors
+	if use sound-server; then
+		dodir /etc/wireplumber/main.lua.d
+		echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
+
+		dodir /etc/wireplumber/bluetooth.lua.d
+		echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
+	fi
+
+	if ! use systemd; then
+		insinto /etc/xdg/autostart
+		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+		exeinto /usr/bin
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+
+		# Disable pipewire-pulse if sound-server is disabled.
+		if ! use sound-server ; then
+			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+		fi
+
+		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+	fi
+}
+
+pkg_postrm() {
+	use udev && udev_reload
+}
+
+pkg_postinst() {
+	use udev && udev_reload
+
+	elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
+	elog "using PipeWire. Do it either manually or add yourself"
+	elog "to the 'audio' group:"
+	elog
+	elog "  usermod -aG audio <youruser>"
+	elog
+
+	local ver
+	for ver in ${REPLACING_VERSIONS} ; do
+		if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
+			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+			ewarn "your sound, please enable it. See the wiki at"
+			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+			ewarn "for more details."
+
+			break
+		fi
+	done
+
+	if ! use jack-sdk; then
+		elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+		elog "alternative libraries have been installed to a non-default location."
+		elog "To use them, put pw-jack <application> before every JACK application."
+		elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+		elog "provider is still needed to compile the JACK applications themselves."
+		elog
+	fi
+
+	if use systemd; then
+		elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+		elog
+		elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
+		elog
+		elog "To use PipeWire, the user units must be manually enabled"
+		elog "by running this command as each user you use for desktop activities:"
+		elog
+		elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
+		elog
+		elog "A reboot is recommended to avoid interferences from still running"
+		elog "PulseAudio daemon."
+		elog
+		elog "Both new users and those upgrading need to enable WirePlumber"
+		elog "for relevant users:"
+		elog
+		elog "  systemctl --user disable pipewire-media-session.service"
+		elog "  systemctl --user --force enable wireplumber.service"
+		elog
+		elog "Root user may replace --user with --global to change system default"
+		elog "configuration for all of the above commands."
+	else
+		ewarn "PipeWire daemon startup has been moved to a launcher script!"
+		ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+		ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+		ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+		ewarn
+		ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+		ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+		ewarn "advised that a D-Bus user session is set up before starting the script."
+		ewarn
+
+		if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+			elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+			elog "are recommended to edit pulseaudio client configuration files:"
+			elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+			elog "if it exists, and disable autospawning of the original daemon by setting:"
+			elog
+			elog "  autospawn = no"
+			elog
+			elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+			elog
+			elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+			elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+			elog "command:"
+			elog
+			elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+			elog
+		fi
+		elog "NOTE:"
+		elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
+		elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
+		elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
+		elog "and just override the sections you want to change."
+	fi
+	elog
+
+	elog "For latest tips and tricks, troubleshooting information and documentation"
+	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+	elog
+
+	optfeature_header "The following can be installed for optional runtime features:"
+	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+	if use sound-server && ! use pipewire-alsa; then
+		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+	fi
+
+	if has_version 'net-misc/ofono' ; then
+		ewarn "Native backend has become default. Please disable oFono via:"
+		if systemd_is_booted ; then
+			ewarn "systemctl disable ofono"
+		else
+			ewarn "rc-update delete ofono"
+		fi
+		ewarn
+	fi
+
+	if use system-service; then
+		ewarn
+		ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+		ewarn "service. This is more than likely NOT what you want. You are strongly"
+		ewarn "advised not to enable this mode and instead stick with systemd user"
+		ewarn "units. The default configuration files will likely not work out of"
+		ewarn "box, and you are on your own with configuration."
+		ewarn
+	fi
+}


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2023-05-05  8:35 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2023-05-05  8:35 UTC (permalink / raw
  To: gentoo-commits

commit:     460a8f68d767b8a634aed94cd7478e384b456f1c
Author:     Alexis <flexibeast <AT> gmail <DOT> com>
AuthorDate: Fri May  5 08:03:57 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May  5 08:35:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=460a8f68

media-video/pipewire: gentoo-pipewire-launcher.in: Add restart functionality.

Closes: https://bugs.gentoo.org/904851
Signed-off-by: Alexis <flexibeast <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pipewire/files/gentoo-pipewire-launcher.in-r1  | 52 ++++++++++++++++++++++
 ...ewire-9999.ebuild => pipewire-0.3.70-r1.ebuild} |  2 +-
 media-video/pipewire/pipewire-9999.ebuild          |  2 +-
 3 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r1 b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r1
new file mode 100644
index 000000000000..345298c0b6ae
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r1
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# PipeWire launcher script for XDG compliant desktops on OpenRC.
+#
+# systemd users are very _STRONGLY_ advised to use the much
+# more reliable and predictable user units instead.
+
+# WARNING: This script assumes being run inside XDG compliant session,
+# which means D-Bus session instance is expected to be correctly set up
+# prior to this script starting. If that is not true, things may break!
+
+restart () {
+    echo "Terminating PipeWire processes ..."
+    pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+    pwait -u "${USER}" -x pipewire\|wireplumber
+    echo "PipeWire terminated."
+}
+
+if [ "${#}" -gt 0 ]
+then
+    if [ "${1}" = 'restart' ]
+    then
+	restart
+    else
+        echo "Unrecognised argument."
+	echo "Usage: gentoo-pipewire-launcher [restart]"
+	exit 1
+    fi
+fi
+
+if pgrep -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+then
+    echo "PipeWire already running, exiting."
+    echo "(Use 'gentoo-pipewire-launcher restart' to restart PipeWire and WirePlumber.)"
+    exit 1
+fi
+
+# The core daemon which by itself does probably nothing.
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire &
+
+# The so called pipewire-pulse daemon used for PulseAudio compatibility.
+# Commenting this out will stop the PA proxying daemon from starting,
+# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
+# clients will still have access to audio and may end up clashing with
+# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf &
+
+# Hack for bug #822498
+sleep 1
+
+# Finally a session manager is required for PipeWire to do anything.
+exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.70-r1.ebuild
similarity index 99%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.70-r1.ebuild
index a54b5c2d65dd..bfad8bec183e 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.70-r1.ebuild
@@ -310,7 +310,7 @@ multilib_src_install_all() {
 		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
 
 		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
 
 		# Disable pipewire-pulse if sound-server is disabled.
 		if ! use sound-server ; then

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index a54b5c2d65dd..bfad8bec183e 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -310,7 +310,7 @@ multilib_src_install_all() {
 		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
 
 		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
 
 		# Disable pipewire-pulse if sound-server is disabled.
 		if ! use sound-server ; then


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2023-06-07  9:52 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2023-06-07  9:52 UTC (permalink / raw
  To: gentoo-commits

commit:     b96e100121529b7fbc6c23afdae5de8d425dd3ed
Author:     Alexis <flexibeast <AT> gmail <DOT> com>
AuthorDate: Wed Jun  7 07:23:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun  7 09:51:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b96e1001

media-video/pipewire: pipewire.desktop: Add 'restart' to call of gentoo-pipewire-launcher.

Closes: https://bugs.gentoo.org/907966
Signed-off-by: Alexis <flexibeast <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/files/pipewire.desktop-r2 | 12 ++++++++++++
 media-video/pipewire/pipewire-0.3.71-r2.ebuild |  2 +-
 media-video/pipewire/pipewire-9999.ebuild      |  2 +-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/media-video/pipewire/files/pipewire.desktop-r2 b/media-video/pipewire/files/pipewire.desktop-r2
new file mode 100644
index 000000000000..1e8564dbe370
--- /dev/null
+++ b/media-video/pipewire/files/pipewire.desktop-r2
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Name[de]=PipeWire Mediensystem
+Name=PipeWire Media System
+Comment[de]=Das PipeWire Mediensystem starten
+Comment=Start the PipeWire Media System
+Exec=/usr/bin/gentoo-pipewire-launcher restart
+Terminal=false
+Type=Application
+X-GNOME-HiddenUnderSystemd=true
+X-KDE-HiddenUnderSystemd=true
+X-systemd-skip=true

diff --git a/media-video/pipewire/pipewire-0.3.71-r2.ebuild b/media-video/pipewire/pipewire-0.3.71-r2.ebuild
index 39e2c38af13b..314ca3397ea7 100644
--- a/media-video/pipewire/pipewire-0.3.71-r2.ebuild
+++ b/media-video/pipewire/pipewire-0.3.71-r2.ebuild
@@ -294,7 +294,7 @@ multilib_src_install_all() {
 
 	if ! use systemd; then
 		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+		newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
 
 		exeinto /usr/bin
 		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r2 gentoo-pipewire-launcher

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index 39e2c38af13b..314ca3397ea7 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -294,7 +294,7 @@ multilib_src_install_all() {
 
 	if ! use systemd; then
 		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+		newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
 
 		exeinto /usr/bin
 		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r2 gentoo-pipewire-launcher


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2023-06-07  9:52 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2023-06-07  9:52 UTC (permalink / raw
  To: gentoo-commits

commit:     18e66b5f484739b45fcc12f8fa89c4d45acd8b80
Author:     Alexis <flexibeast <AT> gmail <DOT> com>
AuthorDate: Mon Jun  5 09:43:26 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun  7 09:49:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18e66b5f

media-video/pipewire: Add logging support to gentoo-pipewire-launcher

Closes: https://bugs.gentoo.org/907891
Signed-off-by: Alexis <flexibeast <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pipewire/files/gentoo-pipewire-launcher.in-r2  | 77 ++++++++++++++++++++++
 media-video/pipewire/pipewire-0.3.71-r2.ebuild     |  2 +-
 media-video/pipewire/pipewire-9999.ebuild          |  2 +-
 3 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2 b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2
new file mode 100644
index 000000000000..ea2032b74b42
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# PipeWire launcher script for XDG compliant desktops on OpenRC.
+#
+# systemd users are very _STRONGLY_ advised to use the much
+# more reliable and predictable user units instead.
+
+# WARNING: This script assumes being run inside XDG compliant session,
+# which means D-Bus session instance is expected to be correctly set up
+# prior to this script starting. If that is not true, things may break!
+
+DATE_FORMAT='+%Y-%m-%dT%H:%M:%S%Z'
+
+CONF="${XDG_CONFIG_HOME}/gentoo-pipewire-launcher.conf"
+if [ -f "${CONF}" ]
+then
+    . "${CONF}"
+else
+    GENTOO_PIPEWIRE_LOG='/dev/null'
+    GENTOO_PIPEWIRE_PULSE_LOG='/dev/null'
+    GENTOO_WIREPLUMBER_LOG='/dev/null'
+fi
+for L in \
+    "${GENTOO_PIPEWIRE_LOG}" \
+    "${GENTOO_PIPEWIRE_PULSE_LOG}" \
+    "${GENTOO_WIREPLUMBER_LOG}"
+do
+   if [ ! -e "${L}" ]
+   then
+       touch "${L}"
+   fi
+done
+
+restart () {
+    echo "Terminating PipeWire processes ..."
+    pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+    pwait -u "${USER}" -x pipewire\|wireplumber
+    echo "PipeWire terminated."
+}
+
+if [ "${#}" -gt 0 ]
+then
+    if [ "${1}" = 'restart' ]
+    then
+	restart
+    else
+        echo "Unrecognised argument." >&2
+        echo "Usage: gentoo-pipewire-launcher [restart]" >&2
+	exit 1
+    fi
+fi
+
+if pgrep -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+then
+    echo "PipeWire already running, exiting." >&2
+    echo "(Use 'gentoo-pipewire-launcher restart' to restart PipeWire and WirePlumber.)" >&2
+    exit 1
+fi
+
+# The core daemon which by itself does probably nothing.
+echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting PipeWire." 1>>"${GENTOO_PIPEWIRE_LOG}"
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire 1>>"${GENTOO_PIPEWIRE_LOG}" 2>&1 &
+
+# The so called pipewire-pulse daemon used for PulseAudio compatibility.
+# Commenting this out will stop the PA proxying daemon from starting,
+# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
+# clients will still have access to audio and may end up clashing with
+# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
+echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting PipeWire-Pulse." 1>>"${GENTOO_PIPEWIRE_PULSE_LOG}"
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf 1>>"${GENTOO_PIPEWIRE_PULSE_LOG}" 2>&1 &
+
+# Hack for bug #822498
+sleep 1
+
+# Finally a session manager is required for PipeWire to do anything.
+echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting WirePlumber." 1>>"${GENTOO_WIREPLUMBER_LOG}"
+exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber 1>>"${GENTOO_WIREPLUMBER_LOG}" 2>&1

diff --git a/media-video/pipewire/pipewire-0.3.71-r2.ebuild b/media-video/pipewire/pipewire-0.3.71-r2.ebuild
index f8791a4a2601..39e2c38af13b 100644
--- a/media-video/pipewire/pipewire-0.3.71-r2.ebuild
+++ b/media-video/pipewire/pipewire-0.3.71-r2.ebuild
@@ -297,7 +297,7 @@ multilib_src_install_all() {
 		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
 
 		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r2 gentoo-pipewire-launcher
 
 		# Disable pipewire-pulse if sound-server is disabled.
 		if ! use sound-server ; then

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index f8791a4a2601..39e2c38af13b 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -297,7 +297,7 @@ multilib_src_install_all() {
 		newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
 
 		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
+		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r2 gentoo-pipewire-launcher
 
 		# Disable pipewire-pulse if sound-server is disabled.
 		if ! use sound-server ; then


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2023-06-17  2:49 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2023-06-17  2:49 UTC (permalink / raw
  To: gentoo-commits

commit:     868c215ffeb611c667c3464fabd24c5ac59fff32
Author:     Alexis <flexibeast <AT> gmail <DOT> com>
AuthorDate: Thu Jun 15 01:06:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 02:48:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=868c215f

media-video/pipewire: Add gentoo-pipewire-launcher.1 man page

Closes: https://bugs.gentoo.org/908510
Signed-off-by: Alexis <flexibeast <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pipewire/files/gentoo-pipewire-launcher.1      | 43 ++++++++++++++++++++++
 ...ewire-9999.ebuild => pipewire-0.3.71-r3.ebuild} |  2 +
 media-video/pipewire/pipewire-9999.ebuild          |  2 +
 3 files changed, 47 insertions(+)

diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.1 b/media-video/pipewire/files/gentoo-pipewire-launcher.1
new file mode 100644
index 000000000000..d2c30dc961bc
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.1
@@ -0,0 +1,43 @@
+.TH "gentoo-pipewire-launcher" "1" "2023-06-15"
+.SH "NAME"
+gentoo\-pipewire\-launcher \- start instances of PipeWire, PipeWire-Pulse and WirePlumber
+.SH "SYNOPSIS"
+.BR gentoo\-pipewire\-launcher
+[restart]
+.SH "DESCRIPTION"
+\fIgentoo\-pipewire\-launcher\fR starts instances of PipeWire and
+WirePlumber.
+Two instances of PipeWire are started: one as the core sound-server, and
+one for PulseAudio emulation (cf.\&
+.BR pipewire-pulse (1)\fR).
+.PP
+It must be run in an environment with an active D-Bus session bus,
+i.e. one in which the
+.B DBUS_SESSION_BUS_ADDRESS
+environment variable is set appropriately.
+.PP
+\fIgentoo\-pipewire\-launcher\fR
+tries to avoid restarting, in order to avoid audio dropouts.
+However, a restart can be forced by calling
+\fIgentoo\-pipewire\-launcher\fR
+with an argument of \(oqrestart\(cq.
+.PP
+.B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf
+can be used to specify absolute paths of files to which log output
+should be sent, by specifying values for one or more of the
+.B GENTOO_PIPEWIRE_LOG\fR,
+.B GENTOO_PIPEWIRE_PULSE_LOG\fR,
+and
+.B GENTOO_WIREPLUMBER_LOG
+variables, one per line.
+.SH "REPORTING BUGS"
+Please report bugs via https://bugs.gentoo.org/
+.SH "FILES"
+.TP
+.B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf
+configures locations of files for log output.
+.SH "SEE ALSO"
+.BR pipewire (1),
+.BR pipewire-pulse (1),
+.BR wireplumber (1),
+.BR pipewire.conf (5)

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.71-r3.ebuild
similarity index 99%
copy from media-video/pipewire/pipewire-9999.ebuild
copy to media-video/pipewire/pipewire-0.3.71-r3.ebuild
index 7289c71e58b0..33887a9e61c1 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-0.3.71-r3.ebuild
@@ -299,6 +299,8 @@ multilib_src_install_all() {
 		exeinto /usr/bin
 		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r2 gentoo-pipewire-launcher
 
+		doman "${FILESDIR}"/gentoo-pipewire-launcher.1
+
 		# Disable pipewire-pulse if sound-server is disabled.
 		if ! use sound-server ; then
 			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die

diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index 7289c71e58b0..33887a9e61c1 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -299,6 +299,8 @@ multilib_src_install_all() {
 		exeinto /usr/bin
 		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r2 gentoo-pipewire-launcher
 
+		doman "${FILESDIR}"/gentoo-pipewire-launcher.1
+
 		# Disable pipewire-pulse if sound-server is disabled.
 		if ! use sound-server ; then
 			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2023-08-24 19:42 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2023-08-24 19:42 UTC (permalink / raw
  To: gentoo-commits

commit:     c1e0cc9215766a8fc6c13bce085910ba564a4e87
Author:     Alexis <flexibeast <AT> gmail <DOT> com>
AuthorDate: Thu Aug 10 09:30:26 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 24 19:42:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1e0cc92

media-video/pipewire: gentoo-pipewire-launcher configuration.

Fall back to using ${HOME}/.config if XDG_CONFIG_HOME isn't set.

Closes: https://bugs.gentoo.org/911883
Signed-off-by: Alexis <flexibeast <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/pipewire/files/gentoo-pipewire-launcher.1            | 9 +++++++++
 media-video/pipewire/files/gentoo-pipewire-launcher.in-r2        | 2 +-
 .../{pipewire-0.3.75-r2.ebuild => pipewire-0.3.75-r3.ebuild}     | 0
 .../{pipewire-0.3.77-r1.ebuild => pipewire-0.3.77-r2.ebuild}     | 0
 .../{pipewire-0.3.78.ebuild => pipewire-0.3.78-r1.ebuild}        | 0
 5 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.1 b/media-video/pipewire/files/gentoo-pipewire-launcher.1
index d2c30dc961bc..36e697c632cd 100644
--- a/media-video/pipewire/files/gentoo-pipewire-launcher.1
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.1
@@ -23,6 +23,10 @@ However, a restart can be forced by calling
 with an argument of \(oqrestart\(cq.
 .PP
 .B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf
+(or, if
+.B ${XDG_CONFIG_HOME}
+is not set,
+.BR ${HOME}/.config/gentoo\-pipewire\-launcher.conf )
 can be used to specify absolute paths of files to which log output
 should be sent, by specifying values for one or more of the
 .B GENTOO_PIPEWIRE_LOG\fR,
@@ -36,6 +40,11 @@ Please report bugs via https://bugs.gentoo.org/
 .TP
 .B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf
 configures locations of files for log output.
+.TP
+.B ${HOME}/.config/gentoo\-pipewire\-launcher.conf
+configures locations of files for log output if
+.B ${XDG_CONFIG_HOME}
+is not set.
 .SH "SEE ALSO"
 .BR pipewire (1),
 .BR pipewire-pulse (1),

diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2 b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2
index ea2032b74b42..a149b0d326c3 100644
--- a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r2
@@ -11,7 +11,7 @@
 
 DATE_FORMAT='+%Y-%m-%dT%H:%M:%S%Z'
 
-CONF="${XDG_CONFIG_HOME}/gentoo-pipewire-launcher.conf"
+CONF="${XDG_CONFIG_HOME:-${HOME}/.config}/gentoo-pipewire-launcher.conf"
 if [ -f "${CONF}" ]
 then
     . "${CONF}"

diff --git a/media-video/pipewire/pipewire-0.3.75-r2.ebuild b/media-video/pipewire/pipewire-0.3.75-r3.ebuild
similarity index 100%
rename from media-video/pipewire/pipewire-0.3.75-r2.ebuild
rename to media-video/pipewire/pipewire-0.3.75-r3.ebuild

diff --git a/media-video/pipewire/pipewire-0.3.77-r1.ebuild b/media-video/pipewire/pipewire-0.3.77-r2.ebuild
similarity index 100%
rename from media-video/pipewire/pipewire-0.3.77-r1.ebuild
rename to media-video/pipewire/pipewire-0.3.77-r2.ebuild

diff --git a/media-video/pipewire/pipewire-0.3.78.ebuild b/media-video/pipewire/pipewire-0.3.78-r1.ebuild
similarity index 100%
rename from media-video/pipewire/pipewire-0.3.78.ebuild
rename to media-video/pipewire/pipewire-0.3.78-r1.ebuild


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2024-07-01  8:19 Sam James
  0 siblings, 0 replies; 40+ messages in thread
From: Sam James @ 2024-07-01  8:19 UTC (permalink / raw
  To: gentoo-commits

commit:     b30d06275a07b58afce9912aafaa86d28bd5985e
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Jun 30 20:33:56 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul  1 08:19:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b30d0627

media-video/pipewire: fix automagic USE=gsettings when USE=bluetooth

And the reverse. If USE="-bluetooth", the gsettings detection gets reset
to not-found.

Bug: https://bugs.gentoo.org/935139
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/pipewire-1.0.7-automagic-gsettings.patch | 80 ++++++++++++++++++++++
 .../files/pipewire-1.2.0-automagic-gsettings.patch | 79 +++++++++++++++++++++
 media-video/pipewire/pipewire-1.0.7.ebuild         |  2 +
 media-video/pipewire/pipewire-1.2.0.ebuild         |  2 +
 4 files changed, 163 insertions(+)

diff --git a/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch
new file mode 100644
index 000000000000..bde229b80b24
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch
@@ -0,0 +1,80 @@
+From acc75b21f653873ec1da68bfa08f2945a8dd09d2 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 30 Jun 2024 13:44:06 -0400
+Subject: [PATCH] meson: fix conflicting use of feature-based dependency
+ lookups
+
+When spa-plugins is enabled, the gio-2.0 global dependency is
+overwritten.
+
+When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
+dependency is then detected as found. This means that
+pipewire-module-protocol-pulse can end up enabling gsettings support
+even if it has been forcibly turned off.
+
+Rename the meson variables to ensure they are looked up separately.
+
+(cherry picked from commit b5f031bc15524bbfde577290ad9bbadeab77ae8b)
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ meson.build             | 4 ++--
+ spa/meson.build         | 6 +++---
+ src/modules/meson.build | 4 ++--
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0ea256e9b..3353a2aec 100644
+--- a/meson.build
++++ b/meson.build
+@@ -343,8 +343,8 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
+ flatpak_support = glib2_dep.found()
+ cdata.set('HAVE_GLIB2', flatpak_support)
+ 
+-gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
+-summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
++gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
++summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
+ 
+ gst_option = get_option('gstreamer')
+ gst_deps_def = {
+diff --git a/spa/meson.build b/spa/meson.build
+index db0a84425..e37744b08 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -43,12 +43,12 @@ if get_option('spa-plugins').allowed()
+   summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
+ 
+   bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
+-  gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
+-  gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
++  bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
++  bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
+   bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
+   sbc_dep = dependency('sbc', required: get_option('bluez5'))
+   summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+-  bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
++  bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
+   bluez_deps_found = get_option('bluez5').allowed()
+   foreach dep: bluez5_deps
+       if get_option('bluez5').enabled() and not dep.found()
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index 1b434b7f6..52660253e 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -409,11 +409,11 @@ if avahi_dep.found()
+   cdata.set('HAVE_AVAHI', true)
+ endif
+ 
+-if gio_dep.found()
++if gsettings_gio_dep.found()
+   pipewire_module_protocol_pulse_sources += [
+     'module-protocol-pulse/modules/module-gsettings.c',
+   ]
+-  pipewire_module_protocol_pulse_deps += gio_dep
++  pipewire_module_protocol_pulse_deps += gsettings_gio_dep
+   cdata.set('HAVE_GIO', true)
+ endif
+ 
+-- 
+2.44.2
+

diff --git a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
new file mode 100644
index 000000000000..ab102a606c82
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
@@ -0,0 +1,79 @@
+From b5f031bc15524bbfde577290ad9bbadeab77ae8b Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 30 Jun 2024 13:44:06 -0400
+Subject: [PATCH] meson: fix conflicting use of feature-based dependency
+ lookups
+
+When spa-plugins is enabled, the gio-2.0 global dependency is
+overwritten.
+
+When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
+dependency is then detected as found. This means that
+pipewire-module-protocol-pulse can end up enabling gsettings support
+even if it has been forcibly turned off.
+
+Rename the meson variables to ensure they are looked up separately.
+---
+ meson.build             | 6 +++---
+ spa/meson.build         | 6 +++---
+ src/modules/meson.build | 4 ++--
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 2607c5c8f4..38b6b59d00 100644
+--- a/meson.build
++++ b/meson.build
+@@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
+ flatpak_support = glib2_dep.found()
+ cdata.set('HAVE_GLIB2', flatpak_support)
+ 
+-gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
+-summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
+-if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
++gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
++summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
++if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
+   error('`gsettings-pulse-schema` is enabled but `gio` was not found.')
+ endif
+ 
+diff --git a/spa/meson.build b/spa/meson.build
+index 67e4b5c506..cf25609dab 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed()
+   summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
+ 
+   bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
+-  gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
+-  gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
++  bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
++  bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
+   bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
+   sbc_dep = dependency('sbc', required: get_option('bluez5'))
+   summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
+-  bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
++  bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
+   bluez_deps_found = get_option('bluez5').allowed()
+   foreach dep: bluez5_deps
+       if get_option('bluez5').enabled() and not dep.found()
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index ceaa7013d9..3f400f0877 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -433,11 +433,11 @@ if avahi_dep.found()
+   cdata.set('HAVE_AVAHI', true)
+ endif
+ 
+-if gio_dep.found()
++if gsettings_gio_dep.found()
+   pipewire_module_protocol_pulse_sources += [
+     'module-protocol-pulse/modules/module-gsettings.c',
+   ]
+-  pipewire_module_protocol_pulse_deps += gio_dep
++  pipewire_module_protocol_pulse_deps += gsettings_gio_dep
+   cdata.set('HAVE_GIO', true)
+   if get_option('gsettings-pulse-schema').enabled()
+     install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'],
+-- 
+GitLab
+

diff --git a/media-video/pipewire/pipewire-1.0.7.ebuild b/media-video/pipewire/pipewire-1.0.7.ebuild
index e2e457730428..fa900f161e78 100644
--- a/media-video/pipewire/pipewire-1.0.7.ebuild
+++ b/media-video/pipewire/pipewire-1.0.7.ebuild
@@ -178,6 +178,8 @@ PATCHES=(
 	# https://bugs.gentoo.org/933218
 	# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2028
 	"${FILESDIR}"/${P}-automagic-webrtc-audio-processing.patch
+	# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
+	"${FILESDIR}"/${P}-automagic-gsettings.patch
 )
 
 pkg_setup() {

diff --git a/media-video/pipewire/pipewire-1.2.0.ebuild b/media-video/pipewire/pipewire-1.2.0.ebuild
index 785496b22c13..f4aeba1f7ea4 100644
--- a/media-video/pipewire/pipewire-1.2.0.ebuild
+++ b/media-video/pipewire/pipewire-1.2.0.ebuild
@@ -175,6 +175,8 @@ PDEPEND=">=media-video/wireplumber-0.5.2"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+	# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
+	"${FILESDIR}"/${P}-automagic-gsettings.patch
 )
 
 pkg_setup() {


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

* [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/
@ 2024-09-17 20:00 Andreas Sturmlechner
  0 siblings, 0 replies; 40+ messages in thread
From: Andreas Sturmlechner @ 2024-09-17 20:00 UTC (permalink / raw
  To: gentoo-commits

commit:     b9382485a8c2337be4103cfad5ce68bb272cb4c0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 18:04:59 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 20:00:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9382485

media-video/pipewire: drop 1.2.0-r2, 1.2.1, 1.2.2

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-video/pipewire/Manifest                      |   3 -
 .../files/pipewire-1.2.0-automagic-gsettings.patch |  79 ----
 media-video/pipewire/pipewire-1.2.0-r2.ebuild      | 517 ---------------------
 media-video/pipewire/pipewire-1.2.1.ebuild         | 517 ---------------------
 media-video/pipewire/pipewire-1.2.2.ebuild         | 515 --------------------
 5 files changed, 1631 deletions(-)

diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index cc1bc97db7b5..61d55c9782f0 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,7 +1,4 @@
 DIST pipewire-1.0.0-docs.tar.xz 33632 BLAKE2B be06aa7242f7d2f8627b3bf2a2ae491dbda456a24811a767218eb89b1fd5961a461697e5d8ae2782323fdb927985fa4fd5dd40c21268b1c7939f4cd3c9e1a9ab SHA512 14f794c4152d7d9a4a7d9d4d5c2ff381c2a8262deaff034f993c4d28629fca8cc3d71d3a7c02982703e449fae5f58257fea0c20db02bf95b5aed88a4d99d2c58
 DIST pipewire-1.0.7.tar.bz2 1698775 BLAKE2B be075eb82fe516116de0a6a4d390dd99d7ea3b41e53c9079219978649845df4e9c16cb8e2dcfe594c2ace65fe63976ec432e9ce97eb048df5103d17f3e8ff353 SHA512 3fb46376cdf061b3ea7be55249399d0036c2728bb4deeb6f5c6d708141234e75f563e6a3dc749fbd40dadba72ad2db5fda358b368a480479157731cc67f3303d
 DIST pipewire-1.2.0-docs.tar.xz 58528 BLAKE2B b7abdfecd46239050ab80695c8f3d1a4e6a2aded3f9d64c435c64c7dc54a4e6ae32c3526da0fb4f6e2a22a6dbc8c768450ac2c0824b685022284eb1e1990c038 SHA512 25792090f258acc6cd52231be3918f0edaefeeb6c757acc748710a2e6f40ff7861a44e376dc9651742173c40153d3f848c9532257036ab874940270559d9c7f3
-DIST pipewire-1.2.0.tar.bz2 1810104 BLAKE2B a20caae515d800f80f607aeba585609ce9f47d0a38c48cc2eb3534f64049f774c119e36d27a585b5f7537e4eef6b2a56881e7db1e2ca2eedd52248ee9f331209 SHA512 3b9ceb02d3ea9fcadd2e009750d0c5b2435c8648c79f2fa9dc8dc83c772759985b140a02381a6c7be819b23d2a5a7671e456e81cf9b5be3437e994ef610bda59
-DIST pipewire-1.2.1.tar.bz2 1812153 BLAKE2B a95d3ba69ef6ee8d001c9081fec4392ef0c219c154b0f78851dd15e5a60f6daccc33fdf80a9ea653bd32d14109c5e1a5885e0c5ce392747be8e08c37a239a2e2 SHA512 e5bf5b712e2d96c96dd907780cd4b1a3d153f01261977bd75a11823bcc2be17b6c858d2967821862660d97426c8ed5f8ebd7bfde27dafe9f30c5b459b17e587f
-DIST pipewire-1.2.2.tar.bz2 1812524 BLAKE2B 4085ace98c38e718dd259f5ef864d8674e0c663bd486f5e8dfb2e79d63b471eb8686ab79841aa0e5689ef9d08ce0be66cb67cce2e9038cd5a81e823a816e8209 SHA512 8baf98bdb05f95acaf2f9a5189ad6da843181464cc21f31cc39604bfb2beb2a34327621348122e07436e39c5d0ad223a941674737848ac2e4e56e0d366d1b5f5
 DIST pipewire-1.2.3.tar.bz2 1813639 BLAKE2B 42bd8a08125e79a67a4adec30541ae7fef3c1e8279d8f84365636f8691a237fc7d6b392ed2576b681a9b9418804978e5a8493d7062567ed89035286fb49977f5 SHA512 8a06ef3a9079b334b0d3248431fe6a09f330ad8078dc378ac465e253d3601c3e4552e2e07f7cf492ff6fbc218e686b30941ea153ccaaf826b5f0ff231f6b214e

diff --git a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
deleted file mode 100644
index ab102a606c82..000000000000
--- a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From b5f031bc15524bbfde577290ad9bbadeab77ae8b Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Sun, 30 Jun 2024 13:44:06 -0400
-Subject: [PATCH] meson: fix conflicting use of feature-based dependency
- lookups
-
-When spa-plugins is enabled, the gio-2.0 global dependency is
-overwritten.
-
-When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
-dependency is then detected as found. This means that
-pipewire-module-protocol-pulse can end up enabling gsettings support
-even if it has been forcibly turned off.
-
-Rename the meson variables to ensure they are looked up separately.
----
- meson.build             | 6 +++---
- spa/meson.build         | 6 +++---
- src/modules/meson.build | 4 ++--
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 2607c5c8f4..38b6b59d00 100644
---- a/meson.build
-+++ b/meson.build
-@@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
- flatpak_support = glib2_dep.found()
- cdata.set('HAVE_GLIB2', flatpak_support)
- 
--gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
--summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
--if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
-+gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
-+summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
-+if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
-   error('`gsettings-pulse-schema` is enabled but `gio` was not found.')
- endif
- 
-diff --git a/spa/meson.build b/spa/meson.build
-index 67e4b5c506..cf25609dab 100644
---- a/spa/meson.build
-+++ b/spa/meson.build
-@@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed()
-   summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
- 
-   bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
--  gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
--  gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
-+  bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
-+  bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
-   bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
-   sbc_dep = dependency('sbc', required: get_option('bluez5'))
-   summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
--  bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
-+  bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
-   bluez_deps_found = get_option('bluez5').allowed()
-   foreach dep: bluez5_deps
-       if get_option('bluez5').enabled() and not dep.found()
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index ceaa7013d9..3f400f0877 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -433,11 +433,11 @@ if avahi_dep.found()
-   cdata.set('HAVE_AVAHI', true)
- endif
- 
--if gio_dep.found()
-+if gsettings_gio_dep.found()
-   pipewire_module_protocol_pulse_sources += [
-     'module-protocol-pulse/modules/module-gsettings.c',
-   ]
--  pipewire_module_protocol_pulse_deps += gio_dep
-+  pipewire_module_protocol_pulse_deps += gsettings_gio_dep
-   cdata.set('HAVE_GIO', true)
-   if get_option('gsettings-pulse-schema').enabled()
-     install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'],
--- 
-GitLab
-

diff --git a/media-video/pipewire/pipewire-1.2.0-r2.ebuild b/media-video/pipewire/pipewire-1.2.0-r2.ebuild
deleted file mode 100644
index f4aeba1f7ea4..000000000000
--- a/media-video/pipewire/pipewire-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,517 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-# TODO: Maybe get upstream to produce `meson dist` tarballs:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
-#
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${PIPEWIRE_DOCS_PREBUILT:=1}
-
-PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION="${PV}"
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-PIPEWIRE_DOCS_USEFLAG="+man"
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
-
-if [[ ${PV} == 9999 ]]; then
-	PIPEWIRE_DOCS_PREBUILT=0
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
-	fi
-
-	if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
-		SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
-		PIPEWIRE_DOCS_USEFLAG="man"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-#   which provides adequate guarantee that alsa-lib will be able to provide audio services.
-#   If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-#   When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
-REQUIRED_USE="
-	ffmpeg? ( extra )
-	bluetooth? ( dbus )
-	jack-sdk? ( !jack-client )
-	modemmanager? ( bluetooth )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-build/meson-0.59
-	virtual/pkgconfig
-	dbus? ( dev-util/gdbus-codegen )
-	doc? (
-		${PYTHON_DEPS}
-		>=app-text/doxygen-1.9.8
-		media-gfx/graphviz
-	)
-	man? (
-		${PYTHON_DEPS}
-		>=app-text/doxygen-1.9.8
-	)
-"
-# * While udev could technically be optional, it's needed for a number of options,
-# and not really worth it, bug #877769.
-#
-# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * Older Doxygen (<1.9.8) may work but inferior output is created:
-#   - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
-#   - https://github.com/doxygen/doxygen/issues/9254
-RDEPEND="
-	acct-group/audio
-	acct-group/pipewire
-	media-libs/alsa-lib[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		dev-libs/glib
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/opus
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
-	extra? ( >=media-libs/libsndfile-1.0.20 )
-	ffmpeg? ( media-video/ffmpeg:= )
-	flatpak? ( dev-libs/glib )
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	gsettings? ( >=dev-libs/glib-2.26.0:2 )
-	ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	liblc3? ( media-sound/liblc3 )
-	lv2? ( media-libs/lilv )
-	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
-	pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
-	sound-server? ( !media-sound/pulseaudio-daemon )
-	roc? ( >=media-libs/roc-toolkit-0.3.0:= )
-	readline? ( sys-libs/readline:= )
-	selinux? ( sys-libs/libselinux )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? ( acct-user/pipewire )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-PDEPEND=">=media-video/wireplumber-0.5.2"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
-	"${FILESDIR}"/${P}-automagic-gsettings.patch
-)
-
-pkg_setup() {
-	if use doc || use man ; then
-		python-any-r1_pkg_setup
-	fi
-}
-
-src_prepare() {
-	default
-
-	# Used for upstream backports
-	[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_use_feature man)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_feature ieee1394 libffado)
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature gsettings)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		$(meson_feature selinux)
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Dcompress-offload=disabled # TODO: tinycompress unpackaged
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
-		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth opus)
-		$(meson_native_use_feature bluetooth bluez5-codec-opus)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
-		$(meson_native_use_feature flatpak)
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		-Dbluez5-codec-lc3plus=disabled # unpackaged
-		$(meson_native_use_feature liblc3 bluez5-codec-lc3)
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature roc)
-		$(meson_native_use_feature readline)
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		-Dlibmysofa=disabled # libmysofa is unpackaged
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
-		# just became stable, with 5.15 being the previous LTS. Many people
-		# are still on it.
-		-Dpam-defaults-install=true
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-
-		# TODO
-		-Dsnap=disabled
-	)
-
-	# This installs the schema file for pulseaudio-daemon, iff we are replacing
-	# the official sound-server
-	if use !sound-server; then
-		emesonargs+=( '-Dgsettings-pulse-schema=disabled' )
-	else
-		emesonargs+=(
-			$(meson_native_use_feature gsettings gsettings-pulse-schema)
-		)
-	fi
-
-	meson_src_configure
-}
-
-multilib_src_test() {
-	meson_src_test --timeout-multiplier 10
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
-		doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
-	fi
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		# Install sound-server enabler for wireplumber 0.5.0+ conf syntax
-		insinto /etc/wireplumber/wireplumber.conf.d
-		doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
-	fi
-
-	if use system-service; then
-		newtmpfiles - pipewire.conf <<-EOF || die
-			d /run/pipewire 0755 pipewire pipewire - -
-		EOF
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
-
-		doman "${FILESDIR}"/gentoo-pipewire-launcher.1
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	udev_reload
-}
-
-pkg_preinst() {
-	HAD_SOUND_SERVER=0
-	HAD_SYSTEM_SERVICE=0
-
-	if has_version "media-video/pipewire[sound-server(-)]" ; then
-		HAD_SOUND_SERVER=1
-	fi
-
-	if has_version "media-video/pipewire[system-service(-)]" ; then
-		HAD_SYSTEM_SERVICE=1
-	fi
-}
-
-pkg_postinst() {
-	udev_reload
-
-	use system-service && tmpfiles_process pipewire.conf
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
-			# https://bugs.gentoo.org/908490
-			# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
-			ewarn "Please restart KWin/Mutter after upgrading PipeWire."
-			ewarn "Screencasting may not work until you do."
-		fi
-
-		if ver_test ${ver} -le 0.3.66-r1 ; then
-			elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
-			elog "and limits needed to function smoothly:"
-			elog
-			elog "1. Please make sure your user is in the 'pipewire' group for"
-			elog "the best experience with realtime scheduling (PAM limits behavior)!"
-			elog "You can add your account with:"
-			elog " usermod -aG pipewire <youruser>"
-			elog
-			elog "2. For the best experience with fast user switching, it is recommended"
-			elog "that you remove your user from the 'audio' group unless you rely on the"
-			elog "audio group for device access control or ACLs.:"
-			elog " usermod -rG audio <youruser>"
-			elog
-
-			if ! use jack-sdk ; then
-				elog
-				elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-				elog "alternative libraries have been installed to a non-default location."
-				elog "To use them, put pw-jack <application> before every JACK application."
-				elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-				elog "provider is still needed to compile the JACK applications themselves."
-				elog
-			fi
-
-			if use systemd ; then
-				ewarn
-				ewarn "PipeWire daemon startup has been moved to a launcher script!"
-				ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-				ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-				ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-				ewarn
-				ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-				ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-				ewarn "advised that a D-Bus user session is set up before starting the script."
-				ewarn
-			fi
-
-			if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-				elog
-				elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-				elog "are recommended to edit pulseaudio client configuration files:"
-				elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-				elog "if it exists, and disable autospawning of the original daemon by setting:"
-				elog
-				elog "  autospawn = no"
-				elog
-				elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-				elog
-				elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-				elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-				elog "command:"
-				elog
-				elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-				elog
-			fi
-
-			if has_version 'net-misc/ofono' ; then
-				ewarn "Native backend has become default. Please disable oFono via:"
-				if systemd_is_booted ; then
-					ewarn "systemctl disable ofono"
-				else
-					ewarn "rc-update delete ofono"
-				fi
-			fi
-		fi
-	done
-
-	if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
-		# TODO: We could drop most of this if we set up systemd presets?
-		# They're worth looking into because right now, the out-of-the-box experience
-		# is automatic on OpenRC, while it needs manual intervention on systemd.
-		if use sound-server && use systemd ; then
-			elog
-			elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-			elog
-			elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-			elog
-			elog "To use PipeWire, the user units must be manually enabled"
-			elog "by running this command as each user you use for desktop activities:"
-			elog
-			elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-			elog
-			elog "A reboot is recommended to avoid interferences from still running"
-			elog "PulseAudio daemon."
-			elog
-			elog "Both new users and those upgrading need to enable WirePlumber"
-			elog "for relevant users:"
-			elog
-			elog "  systemctl --user disable pipewire-media-session.service"
-			elog "  systemctl --user --force enable wireplumber.service"
-			elog
-			elog "Root user may replace --user with --global to change system default"
-			elog "configuration for all of the above commands."
-			elog
-		fi
-
-		if ! use sound-server ; then
-			ewarn
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-			ewarn
-		fi
-	fi
-
-	if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
-		ewarn
-		ewarn "You have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of the"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information, and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-}

diff --git a/media-video/pipewire/pipewire-1.2.1.ebuild b/media-video/pipewire/pipewire-1.2.1.ebuild
deleted file mode 100644
index 537951c763cc..000000000000
--- a/media-video/pipewire/pipewire-1.2.1.ebuild
+++ /dev/null
@@ -1,517 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-# TODO: Maybe get upstream to produce `meson dist` tarballs:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
-#
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${PIPEWIRE_DOCS_PREBUILT:=1}
-
-PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0"
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-PIPEWIRE_DOCS_USEFLAG="+man"
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
-
-if [[ ${PV} == 9999 ]]; then
-	PIPEWIRE_DOCS_PREBUILT=0
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
-	fi
-
-	if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
-		SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
-		PIPEWIRE_DOCS_USEFLAG="man"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-#   which provides adequate guarantee that alsa-lib will be able to provide audio services.
-#   If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-#   When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
-REQUIRED_USE="
-	ffmpeg? ( extra )
-	bluetooth? ( dbus )
-	jack-sdk? ( !jack-client )
-	modemmanager? ( bluetooth )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-build/meson-0.59
-	virtual/pkgconfig
-	dbus? ( dev-util/gdbus-codegen )
-	doc? (
-		${PYTHON_DEPS}
-		>=app-text/doxygen-1.9.8
-		media-gfx/graphviz
-	)
-	man? (
-		${PYTHON_DEPS}
-		>=app-text/doxygen-1.9.8
-	)
-"
-# * While udev could technically be optional, it's needed for a number of options,
-# and not really worth it, bug #877769.
-#
-# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * Older Doxygen (<1.9.8) may work but inferior output is created:
-#   - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
-#   - https://github.com/doxygen/doxygen/issues/9254
-RDEPEND="
-	acct-group/audio
-	acct-group/pipewire
-	media-libs/alsa-lib[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		dev-libs/glib
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/opus
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
-	extra? ( >=media-libs/libsndfile-1.0.20 )
-	ffmpeg? ( media-video/ffmpeg:= )
-	flatpak? ( dev-libs/glib )
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	gsettings? ( >=dev-libs/glib-2.26.0:2 )
-	ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	liblc3? ( media-sound/liblc3 )
-	lv2? ( media-libs/lilv )
-	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
-	pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
-	sound-server? ( !media-sound/pulseaudio-daemon )
-	roc? ( >=media-libs/roc-toolkit-0.3.0:= )
-	readline? ( sys-libs/readline:= )
-	selinux? ( sys-libs/libselinux )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? ( acct-user/pipewire )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-PDEPEND=">=media-video/wireplumber-0.5.2"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-	# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
-	"${FILESDIR}"/${PN}-1.2.0-automagic-gsettings.patch
-)
-
-pkg_setup() {
-	if use doc || use man ; then
-		python-any-r1_pkg_setup
-	fi
-}
-
-src_prepare() {
-	default
-
-	# Used for upstream backports
-	[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_use_feature man)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_feature ieee1394 libffado)
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature gsettings)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		$(meson_feature selinux)
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Dcompress-offload=disabled # TODO: tinycompress unpackaged
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
-		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth opus)
-		$(meson_native_use_feature bluetooth bluez5-codec-opus)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
-		$(meson_native_use_feature flatpak)
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		-Dbluez5-codec-lc3plus=disabled # unpackaged
-		$(meson_native_use_feature liblc3 bluez5-codec-lc3)
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature roc)
-		$(meson_native_use_feature readline)
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		-Dlibmysofa=disabled # libmysofa is unpackaged
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
-		# just became stable, with 5.15 being the previous LTS. Many people
-		# are still on it.
-		-Dpam-defaults-install=true
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-
-		# TODO
-		-Dsnap=disabled
-	)
-
-	# This installs the schema file for pulseaudio-daemon, iff we are replacing
-	# the official sound-server
-	if use !sound-server; then
-		emesonargs+=( '-Dgsettings-pulse-schema=disabled' )
-	else
-		emesonargs+=(
-			$(meson_native_use_feature gsettings gsettings-pulse-schema)
-		)
-	fi
-
-	meson_src_configure
-}
-
-multilib_src_test() {
-	meson_src_test --timeout-multiplier 10
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
-		doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
-	fi
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		# Install sound-server enabler for wireplumber 0.5.0+ conf syntax
-		insinto /etc/wireplumber/wireplumber.conf.d
-		doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
-	fi
-
-	if use system-service; then
-		newtmpfiles - pipewire.conf <<-EOF || die
-			d /run/pipewire 0755 pipewire pipewire - -
-		EOF
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
-
-		doman "${FILESDIR}"/gentoo-pipewire-launcher.1
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	udev_reload
-}
-
-pkg_preinst() {
-	HAD_SOUND_SERVER=0
-	HAD_SYSTEM_SERVICE=0
-
-	if has_version "media-video/pipewire[sound-server(-)]" ; then
-		HAD_SOUND_SERVER=1
-	fi
-
-	if has_version "media-video/pipewire[system-service(-)]" ; then
-		HAD_SYSTEM_SERVICE=1
-	fi
-}
-
-pkg_postinst() {
-	udev_reload
-
-	use system-service && tmpfiles_process pipewire.conf
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
-			# https://bugs.gentoo.org/908490
-			# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
-			ewarn "Please restart KWin/Mutter after upgrading PipeWire."
-			ewarn "Screencasting may not work until you do."
-		fi
-
-		if ver_test ${ver} -le 0.3.66-r1 ; then
-			elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
-			elog "and limits needed to function smoothly:"
-			elog
-			elog "1. Please make sure your user is in the 'pipewire' group for"
-			elog "the best experience with realtime scheduling (PAM limits behavior)!"
-			elog "You can add your account with:"
-			elog " usermod -aG pipewire <youruser>"
-			elog
-			elog "2. For the best experience with fast user switching, it is recommended"
-			elog "that you remove your user from the 'audio' group unless you rely on the"
-			elog "audio group for device access control or ACLs.:"
-			elog " usermod -rG audio <youruser>"
-			elog
-
-			if ! use jack-sdk ; then
-				elog
-				elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-				elog "alternative libraries have been installed to a non-default location."
-				elog "To use them, put pw-jack <application> before every JACK application."
-				elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-				elog "provider is still needed to compile the JACK applications themselves."
-				elog
-			fi
-
-			if use systemd ; then
-				ewarn
-				ewarn "PipeWire daemon startup has been moved to a launcher script!"
-				ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-				ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-				ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-				ewarn
-				ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-				ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-				ewarn "advised that a D-Bus user session is set up before starting the script."
-				ewarn
-			fi
-
-			if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-				elog
-				elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-				elog "are recommended to edit pulseaudio client configuration files:"
-				elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-				elog "if it exists, and disable autospawning of the original daemon by setting:"
-				elog
-				elog "  autospawn = no"
-				elog
-				elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-				elog
-				elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-				elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-				elog "command:"
-				elog
-				elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-				elog
-			fi
-
-			if has_version 'net-misc/ofono' ; then
-				ewarn "Native backend has become default. Please disable oFono via:"
-				if systemd_is_booted ; then
-					ewarn "systemctl disable ofono"
-				else
-					ewarn "rc-update delete ofono"
-				fi
-			fi
-		fi
-	done
-
-	if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
-		# TODO: We could drop most of this if we set up systemd presets?
-		# They're worth looking into because right now, the out-of-the-box experience
-		# is automatic on OpenRC, while it needs manual intervention on systemd.
-		if use sound-server && use systemd ; then
-			elog
-			elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-			elog
-			elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-			elog
-			elog "To use PipeWire, the user units must be manually enabled"
-			elog "by running this command as each user you use for desktop activities:"
-			elog
-			elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-			elog
-			elog "A reboot is recommended to avoid interferences from still running"
-			elog "PulseAudio daemon."
-			elog
-			elog "Both new users and those upgrading need to enable WirePlumber"
-			elog "for relevant users:"
-			elog
-			elog "  systemctl --user disable pipewire-media-session.service"
-			elog "  systemctl --user --force enable wireplumber.service"
-			elog
-			elog "Root user may replace --user with --global to change system default"
-			elog "configuration for all of the above commands."
-			elog
-		fi
-
-		if ! use sound-server ; then
-			ewarn
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-			ewarn
-		fi
-	fi
-
-	if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
-		ewarn
-		ewarn "You have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of the"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information, and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-}

diff --git a/media-video/pipewire/pipewire-1.2.2.ebuild b/media-video/pipewire/pipewire-1.2.2.ebuild
deleted file mode 100644
index 408bee308b53..000000000000
--- a/media-video/pipewire/pipewire-1.2.2.ebuild
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-# TODO: Maybe get upstream to produce `meson dist` tarballs:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
-#
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${PIPEWIRE_DOCS_PREBUILT:=1}
-
-PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0"
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-PIPEWIRE_DOCS_USEFLAG="+man"
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
-
-if [[ ${PV} == 9999 ]]; then
-	PIPEWIRE_DOCS_PREBUILT=0
-	EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-	inherit git-r3
-else
-	if [[ ${PV} == *_p* ]] ; then
-		MY_COMMIT=""
-		SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-		S="${WORKDIR}"/${PN}-${MY_COMMIT}
-	else
-		SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
-	fi
-
-	if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
-		SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
-		PIPEWIRE_DOCS_USEFLAG="man"
-	fi
-
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-#   which provides adequate guarantee that alsa-lib will be able to provide audio services.
-#   If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-#   When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
-REQUIRED_USE="
-	ffmpeg? ( extra )
-	bluetooth? ( dbus )
-	jack-sdk? ( !jack-client )
-	modemmanager? ( bluetooth )
-	system-service? ( systemd )
-	!sound-server? ( !pipewire-alsa )
-	jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	>=dev-build/meson-0.59
-	virtual/pkgconfig
-	dbus? ( dev-util/gdbus-codegen )
-	doc? (
-		${PYTHON_DEPS}
-		>=app-text/doxygen-1.9.8
-		media-gfx/graphviz
-	)
-	man? (
-		${PYTHON_DEPS}
-		>=app-text/doxygen-1.9.8
-	)
-"
-# * While udev could technically be optional, it's needed for a number of options,
-# and not really worth it, bug #877769.
-#
-# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * Older Doxygen (<1.9.8) may work but inferior output is created:
-#   - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
-#   - https://github.com/doxygen/doxygen/issues/9254
-RDEPEND="
-	acct-group/audio
-	acct-group/pipewire
-	media-libs/alsa-lib[${MULTILIB_USEDEP}]
-	sys-libs/ncurses:=[unicode(+)]
-	virtual/libintl[${MULTILIB_USEDEP}]
-	virtual/libudev[${MULTILIB_USEDEP}]
-	bluetooth? (
-		dev-libs/glib
-		media-libs/fdk-aac
-		media-libs/libldac
-		media-libs/libfreeaptx
-		media-libs/opus
-		media-libs/sbc
-		>=net-wireless/bluez-4.101:=
-		virtual/libusb:1
-	)
-	dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
-	echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
-	extra? ( >=media-libs/libsndfile-1.0.20 )
-	ffmpeg? ( media-video/ffmpeg:= )
-	flatpak? ( dev-libs/glib )
-	gstreamer? (
-		>=dev-libs/glib-2.32.0:2
-		>=media-libs/gstreamer-1.10.0:1.0
-		media-libs/gst-plugins-base:1.0
-	)
-	gsettings? ( >=dev-libs/glib-2.26.0:2 )
-	ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
-	jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
-	jack-sdk? (
-		!media-sound/jack-audio-connection-kit
-		!media-sound/jack2
-	)
-	liblc3? ( media-sound/liblc3 )
-	lv2? ( media-libs/lilv )
-	modemmanager? ( >=net-misc/modemmanager-1.10.0 )
-	pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
-	sound-server? ( !media-sound/pulseaudio-daemon )
-	roc? ( >=media-libs/roc-toolkit-0.3.0:= )
-	readline? ( sys-libs/readline:= )
-	selinux? ( sys-libs/libselinux )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd )
-	system-service? ( acct-user/pipewire )
-	v4l? ( media-libs/libv4l )
-	X? (
-		media-libs/libcanberra
-		x11-libs/libX11
-		x11-libs/libXfixes
-	)
-	zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-PDEPEND=">=media-video/wireplumber-0.5.2"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-#	media-libs/libsdl2
-#	>=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-#	>=dev-util/vulkan-headers-1.1.69
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-pkg_setup() {
-	if use doc || use man ; then
-		python-any-r1_pkg_setup
-	fi
-}
-
-src_prepare() {
-	default
-
-	# Used for upstream backports
-	[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
-	local emesonargs=(
-		-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
-		$(meson_feature dbus)
-		$(meson_native_use_feature zeroconf avahi)
-		$(meson_native_use_feature doc docs)
-		$(meson_native_use_feature man)
-		$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
-		$(meson_feature test tests)
-		-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
-		$(meson_feature ieee1394 libffado)
-		$(meson_native_use_feature gstreamer)
-		$(meson_native_use_feature gstreamer gstreamer-device-provider)
-		$(meson_native_use_feature gsettings)
-		$(meson_native_use_feature systemd)
-
-		$(meson_native_use_feature system-service systemd-system-service)
-		-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
-		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
-		$(meson_native_use_feature systemd systemd-user-service)
-		$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-		$(meson_feature selinux)
-		-Dspa-plugins=enabled
-		-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
-		-Dcompress-offload=disabled # TODO: tinycompress unpackaged
-		-Daudiomixer=enabled # Matches upstream
-		-Daudioconvert=enabled # Matches upstream
-		$(meson_native_use_feature bluetooth bluez5)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
-		$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
-		# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
-		$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
-		$(meson_native_use_feature bluetooth bluez5-backend-ofono)
-		$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
-		$(meson_native_use_feature bluetooth bluez5-codec-aac)
-		$(meson_native_use_feature bluetooth bluez5-codec-aptx)
-		$(meson_native_use_feature bluetooth bluez5-codec-ldac)
-		$(meson_native_use_feature bluetooth opus)
-		$(meson_native_use_feature bluetooth bluez5-codec-opus)
-		$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
-		$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
-		-Dcontrol=enabled # Matches upstream
-		-Daudiotestsrc=enabled # Matches upstream
-		-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-		$(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
-		$(meson_native_use_feature flatpak)
-		-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
-		$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
-		$(meson_use jack-sdk jack-devel)
-		$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
-		-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
-		-Devl=disabled # Matches upstream
-		-Dtest=disabled # fakesink and fakesource plugins
-		-Dbluez5-codec-lc3plus=disabled # unpackaged
-		$(meson_native_use_feature liblc3 bluez5-codec-lc3)
-		$(meson_native_use_feature lv2)
-		$(meson_native_use_feature v4l v4l2)
-		-Dlibcamera=disabled # libcamera is not in Portage tree
-		$(meson_native_use_feature roc)
-		$(meson_native_use_feature readline)
-		$(meson_native_use_feature ssl raop)
-		-Dvideoconvert=enabled # Matches upstream
-		-Dvideotestsrc=enabled # Matches upstream
-		-Dvolume=enabled # Matches upstream
-		-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
-		$(meson_native_use_feature extra pw-cat)
-		-Dudev=enabled
-		-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-		-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
-		-Dlibmysofa=disabled # libmysofa is unpackaged
-		$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-		-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
-		# We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
-		# just became stable, with 5.15 being the previous LTS. Many people
-		# are still on it.
-		-Dpam-defaults-install=true
-
-		# Just for bell sounds in X11 right now.
-		$(meson_native_use_feature X x11)
-		$(meson_native_use_feature X x11-xfixes)
-		$(meson_native_use_feature X libcanberra)
-
-		# TODO
-		-Dsnap=disabled
-	)
-
-	# This installs the schema file for pulseaudio-daemon, iff we are replacing
-	# the official sound-server
-	if use !sound-server; then
-		emesonargs+=( '-Dgsettings-pulse-schema=disabled' )
-	else
-		emesonargs+=(
-			$(meson_native_use_feature gsettings gsettings-pulse-schema)
-		)
-	fi
-
-	meson_src_configure
-}
-
-multilib_src_test() {
-	meson_src_test --timeout-multiplier 10
-}
-
-multilib_src_install() {
-	# Our custom DOCS do not exist in multilib source directory
-	DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
-		doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
-	fi
-
-	if use pipewire-alsa; then
-		dodir /etc/alsa/conf.d
-
-		# Install pipewire conf loader hook
-		insinto /usr/share/alsa/alsa.conf.d
-		doins "${FILESDIR}"/99-pipewire-default-hook.conf
-		eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
-		# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
-		# And the current dosym8 -r implementation is likely affected by the same issue, too.
-		dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-		dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
-	fi
-
-	# Enable required wireplumber alsa and bluez monitors
-	if use sound-server; then
-		# Install sound-server enabler for wireplumber 0.5.0+ conf syntax
-		insinto /etc/wireplumber/wireplumber.conf.d
-		doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
-	fi
-
-	if use system-service; then
-		newtmpfiles - pipewire.conf <<-EOF || die
-			d /run/pipewire 0755 pipewire pipewire - -
-		EOF
-	fi
-
-	if ! use systemd; then
-		insinto /etc/xdg/autostart
-		newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
-
-		exeinto /usr/bin
-		newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
-
-		doman "${FILESDIR}"/gentoo-pipewire-launcher.1
-
-		# Disable pipewire-pulse if sound-server is disabled.
-		if ! use sound-server ; then
-			sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
-		fi
-
-		eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
-	fi
-}
-
-pkg_postrm() {
-	udev_reload
-}
-
-pkg_preinst() {
-	HAD_SOUND_SERVER=0
-	HAD_SYSTEM_SERVICE=0
-
-	if has_version "media-video/pipewire[sound-server(-)]" ; then
-		HAD_SOUND_SERVER=1
-	fi
-
-	if has_version "media-video/pipewire[system-service(-)]" ; then
-		HAD_SYSTEM_SERVICE=1
-	fi
-}
-
-pkg_postinst() {
-	udev_reload
-
-	use system-service && tmpfiles_process pipewire.conf
-
-	local ver
-	for ver in ${REPLACING_VERSIONS} ; do
-		if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
-			# https://bugs.gentoo.org/908490
-			# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
-			ewarn "Please restart KWin/Mutter after upgrading PipeWire."
-			ewarn "Screencasting may not work until you do."
-		fi
-
-		if ver_test ${ver} -le 0.3.66-r1 ; then
-			elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
-			elog "and limits needed to function smoothly:"
-			elog
-			elog "1. Please make sure your user is in the 'pipewire' group for"
-			elog "the best experience with realtime scheduling (PAM limits behavior)!"
-			elog "You can add your account with:"
-			elog " usermod -aG pipewire <youruser>"
-			elog
-			elog "2. For the best experience with fast user switching, it is recommended"
-			elog "that you remove your user from the 'audio' group unless you rely on the"
-			elog "audio group for device access control or ACLs.:"
-			elog " usermod -rG audio <youruser>"
-			elog
-
-			if ! use jack-sdk ; then
-				elog
-				elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
-				elog "alternative libraries have been installed to a non-default location."
-				elog "To use them, put pw-jack <application> before every JACK application."
-				elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
-				elog "provider is still needed to compile the JACK applications themselves."
-				elog
-			fi
-
-			if use systemd ; then
-				ewarn
-				ewarn "PipeWire daemon startup has been moved to a launcher script!"
-				ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
-				ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
-				ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
-				ewarn
-				ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
-				ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
-				ewarn "advised that a D-Bus user session is set up before starting the script."
-				ewarn
-			fi
-
-			if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
-				elog
-				elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
-				elog "are recommended to edit pulseaudio client configuration files:"
-				elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
-				elog "if it exists, and disable autospawning of the original daemon by setting:"
-				elog
-				elog "  autospawn = no"
-				elog
-				elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
-				elog
-				elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
-				elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
-				elog "command:"
-				elog
-				elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
-				elog
-			fi
-
-			if has_version 'net-misc/ofono' ; then
-				ewarn "Native backend has become default. Please disable oFono via:"
-				if systemd_is_booted ; then
-					ewarn "systemctl disable ofono"
-				else
-					ewarn "rc-update delete ofono"
-				fi
-			fi
-		fi
-	done
-
-	if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
-		# TODO: We could drop most of this if we set up systemd presets?
-		# They're worth looking into because right now, the out-of-the-box experience
-		# is automatic on OpenRC, while it needs manual intervention on systemd.
-		if use sound-server && use systemd ; then
-			elog
-			elog "When switching from PulseAudio, you may need to disable PulseAudio:"
-			elog
-			elog "  systemctl --user disable pulseaudio.service pulseaudio.socket"
-			elog
-			elog "To use PipeWire, the user units must be manually enabled"
-			elog "by running this command as each user you use for desktop activities:"
-			elog
-			elog "  systemctl --user enable pipewire.socket pipewire-pulse.socket"
-			elog
-			elog "A reboot is recommended to avoid interferences from still running"
-			elog "PulseAudio daemon."
-			elog
-			elog "Both new users and those upgrading need to enable WirePlumber"
-			elog "for relevant users:"
-			elog
-			elog "  systemctl --user disable pipewire-media-session.service"
-			elog "  systemctl --user --force enable wireplumber.service"
-			elog
-			elog "Root user may replace --user with --global to change system default"
-			elog "configuration for all of the above commands."
-			elog
-		fi
-
-		if ! use sound-server ; then
-			ewarn
-			ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
-			ewarn "your sound, please enable it. See the wiki at"
-			ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
-			ewarn "for more details."
-			ewarn
-		fi
-	fi
-
-	if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
-		ewarn
-		ewarn "You have enabled the system-service USE flag, which installs"
-		ewarn "the system-wide systemd units that enable PipeWire to run as a system"
-		ewarn "service. This is more than likely NOT what you want. You are strongly"
-		ewarn "advised not to enable this mode and instead stick with systemd user"
-		ewarn "units. The default configuration files will likely not work out of the"
-		ewarn "box, and you are on your own with configuration."
-		ewarn
-	fi
-
-	elog "For latest tips and tricks, troubleshooting information, and documentation"
-	elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
-	elog
-
-	optfeature_header "The following can be installed for optional runtime features:"
-	optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
-	if use sound-server && ! use pipewire-alsa; then
-		optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
-	fi
-}


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

end of thread, other threads:[~2024-09-17 20:00 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-10  0:38 [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/files/, media-video/pipewire/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-09-17 20:00 Andreas Sturmlechner
2024-07-01  8:19 Sam James
2023-08-24 19:42 Sam James
2023-06-17  2:49 Sam James
2023-06-07  9:52 Sam James
2023-06-07  9:52 Sam James
2023-05-05  8:35 Sam James
2022-12-30  6:59 Sam James
2022-12-27 14:17 Sam James
2022-12-16  4:56 Sam James
2022-12-10  4:35 Sam James
2022-11-11  4:25 Sam James
2022-11-11  4:25 Sam James
2022-07-19 21:18 Sam James
2022-07-10 20:23 Sam James
2022-07-09  1:12 Sam James
2022-07-04 23:53 Sam James
2022-06-15 21:56 Sam James
2022-04-21 22:03 Sam James
2022-04-21 21:57 Sam James
2022-04-17 16:44 Sam James
2022-04-15  7:59 Sam James
2022-01-29  0:49 Sam James
2022-01-06 20:53 Sam James
2021-12-18  6:39 Sam James
2021-11-11 22:09 Sam James
2021-10-26  9:03 Sam James
2021-10-26  8:59 Sam James
2021-10-25 17:12 Patrick McLean
2021-09-21  6:32 Miroslav Šulc
2021-09-19  1:18 Sam James
2021-08-27 10:50 Lars Wendler
2021-08-24 13:17 Thomas Deutschmann
2021-06-30 20:40 Lars Wendler
2021-06-30 20:16 Lars Wendler
2021-06-04  7:33 Thomas Deutschmann
2021-05-21 23:05 Thomas Deutschmann
2021-04-24 21:15 Thomas Deutschmann
2019-10-21 23:38 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox