commit:     b01443af1c01a079c4095a8b840c0e645208c7ab
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 28 19:35:35 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 28 19:50:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b01443af

media-video/wireplumber: drop 0.4.10-r4, 0.4.11-r2

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

 media-video/wireplumber/Manifest                   |   1 -
 ...ix-device-name-deduplication-when-reserva.patch | 117 -------------
 ...-enabled-property-to-default-to-true-when.patch | 129 --------------
 ...nodes-don-t-check-if-all-device-nodes-are.patch | 187 ---------------------
 ...pting-allow-converting-GValue-holding-NUL.patch |  36 ----
 ...10-m-lua-scripting-fix-object-refcounting.patch |  32 ----
 .../wireplumber/wireplumber-0.4.10-r4.ebuild       | 125 --------------
 .../wireplumber/wireplumber-0.4.11-r2.ebuild       | 130 --------------
 8 files changed, 757 deletions(-)

diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
index e92dd084c2d1..41f5d74161ca 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1,3 +1,2 @@
-DIST wireplumber-0.4.10.tar.gz 395588 BLAKE2B 
6df1af17d1e53ab1449a2f6f9af5a0c4f7b1cd981e07556e5ea3c6b4d5d624e66b97ce4f945f7ccccebbf72b75d35d10990fac11b5228275f27e5320885ff1ec
 SHA512 
342e8bba2cf00faab71ef39bb361b5ada66ff3a68ccf7a756ea1ca402da6e94784eece277ca02992bc7573c51cb8b1bad33aa9c593b3d1bfe0bb0286e2f4506f
 DIST wireplumber-0.4.11.tar.gz 403931 BLAKE2B 
77ef2540081420d4255dcb54165d0aceb08d97c60d19b9eb7606e90cf95e305e690794a1f46234b53b13765452fea0d23ae6acae9deea672db67e21c31d2307d
 SHA512 
73a5120cd0c55b5fe5248cc22497efd23e40bb91961553639d9cf1bbf138d273db65153fa3c1bb0d2794f869e077e011156d323832534f62651d66f8cc87dca4
 DIST wireplumber-0.4.12.tar.gz 407239 BLAKE2B 
10c5156c730bffc6542976f2d9cdd9634fdfcf6b1271cfd9df2357feb61ce9fbbd606728444e927ad060934e76be4ff99ba9db6c73823f6295a23977ed89a55a
 SHA512 
0da81b62810d15264a14c3349596801cbf6f6f7ee21a1aef867e52f639dfb9b823c5181514ffa8124c3f387499fefe7f14d8cb589bcd785edd9c0e196e114601

diff --git 
a/media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch
 
b/media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch
deleted file mode 100644
index 610db0e11e89..000000000000
--- 
a/media-video/wireplumber/files/wireplumber-0.4.10-alsa.lua-fix-device-name-deduplication-when-reserva.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c00c5a6675b6640db13111c808eaa3251917c412
-
-From c00c5a6675b6640db13111c808eaa3251917c412 Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <[email protected]>
-Date: Wed, 18 May 2022 10:51:41 -0400
-Subject: [PATCH] alsa.lua: fix device name deduplication when reservation is
- enabled
-
-Fixes #241
----
- src/scripts/monitors/alsa.lua | 47 +++++++++++++++++++----------------
- 1 file changed, 25 insertions(+), 22 deletions(-)
-
-diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua
-index 01d241db..7beed3a8 100644
---- a/src/scripts/monitors/alsa.lua
-+++ b/src/scripts/monitors/alsa.lua
-@@ -11,6 +11,10 @@ local config = ... or {}
- -- ensure config.properties is not nil
- config.properties = config.properties or {}
- 
-+-- unique device/node name tables
-+device_names_table = nil
-+node_names_table = nil
-+
- -- preprocess rules and create Interest objects
- for _, r in ipairs(config.rules or {}) do
-   r.interests = {}
-@@ -41,16 +45,6 @@ function rulesApplyProperties(properties)
-   end
- end
- 
--function findDuplicate(parent, id, property, value)
--  for i = 0, id - 1, 1 do
--    local obj = parent:get_managed_object(i)
--    if obj and obj.properties[property] == value then
--      return true
--    end
--  end
--  return false
--end
--
- function nonempty(str)
-   return str ~= "" and str or nil
- end
-@@ -125,11 +119,11 @@ function createNode(parent, id, type, factory, 
properties)
- 
-     -- deduplicate nodes with the same name
-     for counter = 2, 99, 1 do
--      if findDuplicate(parent, id, "node.name", properties["node.name"]) then
--        properties["node.name"] = name .. "." .. counter
--      else
-+      if node_names_table[properties["node.name"]] ~= true then
-+        node_names_table[properties["node.name"]] = true
-         break
-       end
-+      properties["node.name"] = name .. "." .. counter
-     end
-   end
- 
-@@ -186,6 +180,10 @@ function createDevice(parent, id, factory, properties)
-   local device = SpaDevice(factory, properties)
-   if device then
-     device:connect("create-object", createNode)
-+    device:connect("object-removed", function (parent, id)
-+      local node = parent:get_managed_object(id)
-+      node_names_table[node.properties["node.name"]] = nil
-+    end)
-     device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
-     parent:store_managed_object(id, device)
-   else
-@@ -205,11 +203,11 @@ function prepareDevice(parent, id, type, factory, 
properties)
- 
-   -- deduplicate devices with the same name
-   for counter = 2, 99, 1 do
--    if findDuplicate(parent, id, "device.name", properties["device.name"]) 
then
--      properties["device.name"] = name .. "." .. counter
--    else
-+    if device_names_table[properties["device.name"]] ~= true then
-+      device_names_table[properties["device.name"]] = true
-       break
-     end
-+    properties["device.name"] = name .. "." .. counter
-   end
- 
-   -- ensure the device has a description
-@@ -337,16 +335,21 @@ function createMonitor ()
-   -- handle create-object to prepare device
-   m:connect("create-object", prepareDevice)
- 
--  -- if dbus reservation, handle object-removed to destroy device reservations
--  if rd_plugin then
--    m:connect("object-removed", function (parent, id)
--      local device = parent:get_managed_object(id)
-+  -- handle object-removed to destroy device reservations and recycle device 
name
-+  m:connect("object-removed", function (parent, id)
-+    local device = parent:get_managed_object(id)
-+    if rd_plugin then
-       local rd_name = device.properties["api.dbus.ReserveDevice1"]
-       if rd_name then
-         rd_plugin:call("destroy-reservation", rd_name)
-       end
--    end)
--  end
-+    end
-+    device_names_table[device.properties["device.name"]] = nil
-+  end)
-+
-+  -- reset the name tables to make sure names are recycled
-+  device_names_table = {}
-+  node_names_table = {}
- 
-   -- activate monitor
-   Log.info("Activating ALSA monitor")
--- 
-GitLab
-

diff --git 
a/media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch
 
b/media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch
deleted file mode 100644
index 40a486616580..000000000000
--- 
a/media-video/wireplumber/files/wireplumber-0.4.10-config-fix-enabled-property-to-default-to-true-when.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/1f045309208ab5d927883b5adc2b7d1623fae162
-
-From 1f045309208ab5d927883b5adc2b7d1623fae162 Mon Sep 17 00:00:00 2001
-From: George Kiagiadakis <[email protected]>
-Date: Thu, 12 May 2022 12:19:38 +0300
-Subject: [PATCH] config: fix enabled property to default to "true" when not
- defined
-
-Fixes backwards compatibility with older config files
-
-Fixes: #254
----
- src/config/bluetooth.lua.d/30-bluez-monitor.lua | 2 +-
- src/config/main.lua.d/20-default-access.lua     | 2 +-
- src/config/main.lua.d/30-alsa-monitor.lua       | 2 +-
- src/config/main.lua.d/30-libcamera-monitor.lua  | 2 +-
- src/config/main.lua.d/30-v4l2-monitor.lua       | 2 +-
- src/config/main.lua.d/40-device-defaults.lua    | 2 +-
- src/config/main.lua.d/40-stream-defaults.lua    | 2 +-
- src/config/policy.lua.d/10-default-policy.lua   | 2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/config/bluetooth.lua.d/30-bluez-monitor.lua 
b/src/config/bluetooth.lua.d/30-bluez-monitor.lua
-index b40026c2..a870aa5d 100644
---- a/src/config/bluetooth.lua.d/30-bluez-monitor.lua
-+++ b/src/config/bluetooth.lua.d/30-bluez-monitor.lua
-@@ -3,7 +3,7 @@ bluez_monitor.properties = {}
- bluez_monitor.rules = {}
- 
- function bluez_monitor.enable()
--  if not bluez_monitor.enabled then
-+  if bluez_monitor.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/main.lua.d/20-default-access.lua 
b/src/config/main.lua.d/20-default-access.lua
-index a6ffb2ee..0a7eb955 100644
---- a/src/config/main.lua.d/20-default-access.lua
-+++ b/src/config/main.lua.d/20-default-access.lua
-@@ -3,7 +3,7 @@ default_access.properties = {}
- default_access.rules = {}
- 
- function default_access.enable()
--  if not default_access.enabled then
-+  if default_access.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/main.lua.d/30-alsa-monitor.lua 
b/src/config/main.lua.d/30-alsa-monitor.lua
-index da0b2c70..8e45e434 100644
---- a/src/config/main.lua.d/30-alsa-monitor.lua
-+++ b/src/config/main.lua.d/30-alsa-monitor.lua
-@@ -3,7 +3,7 @@ alsa_monitor.properties = {}
- alsa_monitor.rules = {}
- 
- function alsa_monitor.enable()
--  if not alsa_monitor.enabled then
-+  if alsa_monitor.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/main.lua.d/30-libcamera-monitor.lua 
b/src/config/main.lua.d/30-libcamera-monitor.lua
-index 4a8257ff..cd820a83 100644
---- a/src/config/main.lua.d/30-libcamera-monitor.lua
-+++ b/src/config/main.lua.d/30-libcamera-monitor.lua
-@@ -3,7 +3,7 @@ libcamera_monitor.properties = {}
- libcamera_monitor.rules = {}
- 
- function libcamera_monitor.enable()
--  if not libcamera_monitor.enabled then
-+  if libcamera_monitor.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/main.lua.d/30-v4l2-monitor.lua 
b/src/config/main.lua.d/30-v4l2-monitor.lua
-index 7cfd4bcd..3fbdc9e7 100644
---- a/src/config/main.lua.d/30-v4l2-monitor.lua
-+++ b/src/config/main.lua.d/30-v4l2-monitor.lua
-@@ -3,7 +3,7 @@ v4l2_monitor.properties = {}
- v4l2_monitor.rules = {}
- 
- function v4l2_monitor.enable()
--  if not v4l2_monitor.enabled then
-+  if v4l2_monitor.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/main.lua.d/40-device-defaults.lua 
b/src/config/main.lua.d/40-device-defaults.lua
-index 55aafe85..2204c4ac 100644
---- a/src/config/main.lua.d/40-device-defaults.lua
-+++ b/src/config/main.lua.d/40-device-defaults.lua
-@@ -38,7 +38,7 @@ device_defaults.persistent_profiles = {
- }
- 
- function device_defaults.enable()
--  if not device_defaults.enabled then
-+  if device_defaults.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/main.lua.d/40-stream-defaults.lua 
b/src/config/main.lua.d/40-stream-defaults.lua
-index 2975f4f6..307d83df 100644
---- a/src/config/main.lua.d/40-stream-defaults.lua
-+++ b/src/config/main.lua.d/40-stream-defaults.lua
-@@ -25,7 +25,7 @@ stream_defaults.rules = {
- }
- 
- function stream_defaults.enable()
--  if not stream_defaults.enabled then
-+  if stream_defaults.enabled == false then
-     return
-   end
- 
-diff --git a/src/config/policy.lua.d/10-default-policy.lua 
b/src/config/policy.lua.d/10-default-policy.lua
-index 7b00e94e..edfdeb1c 100644
---- a/src/config/policy.lua.d/10-default-policy.lua
-+++ b/src/config/policy.lua.d/10-default-policy.lua
-@@ -38,7 +38,7 @@ bluetooth_policy.policy = {
- }
- 
- function default_policy.enable()
--  if not default_policy.enabled then
-+  if default_policy.enabled == false then
-     return
-   end
- 
--- 
-GitLab
-

diff --git 
a/media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch
 
b/media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch
deleted file mode 100644
index d9c51489a893..000000000000
--- 
a/media-video/wireplumber/files/wireplumber-0.4.10-m-default-nodes-don-t-check-if-all-device-nodes-are.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/392cce2136e81ac3146078eacbbae85b694c917a
-
-From 392cce2136e81ac3146078eacbbae85b694c917a Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <[email protected]>
-Date: Fri, 20 May 2022 07:38:24 -0400
-Subject: [PATCH] m-default-nodes: don't check if all device nodes are ready
- when finding default node
-
-This check was originally added to avoid a small audio glitch when changing
-default nodes while also changing the device profile (eg Gnome Sound Settings).
-The check is removed because it causes issues when disabling alsa nodes. There
-are plans to fix the audio glitch issue in the future with the planned
-event-dispatcher architecture.
-
-Fixes #279
----
- modules/module-default-nodes.c | 136 ---------------------------------
- 1 file changed, 136 deletions(-)
-
-diff --git a/modules/module-default-nodes.c b/modules/module-default-nodes.c
-index 0fdaed5..577f9bb 100644
---- a/modules/module-default-nodes.c
-+++ b/modules/module-default-nodes.c
-@@ -345,135 +345,6 @@ reevaluate_default_node (WpDefaultNodes * self, 
WpMetadata *m, gint node_t)
-   }
- }
- 
--static guint
--get_device_total_nodes (WpPipewireObject * proxy)
--{
--  g_autoptr (WpIterator) profiles = NULL;
--  g_auto (GValue) item = G_VALUE_INIT;
--
--  profiles = wp_pipewire_object_enum_params_sync (proxy, "Profile", NULL);
--  if (!profiles)
--    return 0;
--
--  for (; wp_iterator_next (profiles, &item); g_value_unset (&item)) {
--    WpSpaPod *pod = g_value_get_boxed (&item);
--    gint idx = -1;
--    const gchar *name = NULL;
--    g_autoptr (WpSpaPod) classes = NULL;
--
--    /* Parse */
--    if (!wp_spa_pod_get_object (pod, NULL,
--        "index", "i", &idx,
--        "name", "s", &name,
--        "classes", "?P", &classes,
--        NULL))
--      continue;
--    if (!classes)
--      continue;
--
--    /* Parse profile classes */
--    {
--      g_autoptr (WpIterator) it = wp_spa_pod_new_iterator (classes);
--      g_auto (GValue) v = G_VALUE_INIT;
--      gint total_nodes = 0;
--      for (; wp_iterator_next (it, &v); g_value_unset (&v)) {
--        WpSpaPod *entry = g_value_get_boxed (&v);
--        g_autoptr (WpSpaPodParser) pp = NULL;
--        const gchar *media_class = NULL;
--        gint n_nodes = 0;
--        g_return_val_if_fail (entry, 0);
--        if (!wp_spa_pod_is_struct (entry))
--          continue;
--        pp = wp_spa_pod_parser_new_struct (entry);
--        g_return_val_if_fail (pp, 0);
--        g_return_val_if_fail (wp_spa_pod_parser_get_string (pp, 
&media_class), 0);
--        g_return_val_if_fail (wp_spa_pod_parser_get_int (pp, &n_nodes), 0);
--        wp_spa_pod_parser_end (pp);
--
--        total_nodes += n_nodes;
--      }
--
--      if (total_nodes > 0)
--        return total_nodes;
--    }
--  }
--
--  return 0;
--}
--
--static gboolean
--nodes_ready (WpDefaultNodes * self)
--{
--  g_autoptr (WpIterator) it = NULL;
--  g_auto (GValue) val = G_VALUE_INIT;
--
--  /* Get the total number of nodes for each device and make sure they exist
--   * and have at least 1 port */
--  it = wp_object_manager_new_filtered_iterator (self->rescan_om,
--      WP_TYPE_DEVICE, NULL);
--  for (; wp_iterator_next (it, &val); g_value_unset (&val)) {
--    WpPipewireObject *device = g_value_get_object (&val);
--    guint total_nodes = get_device_total_nodes (device);
--    if (total_nodes > 0) {
--      guint32 device_id = wp_proxy_get_bound_id (WP_PROXY (device));
--      g_autoptr (WpIterator) node_it = NULL;
--      g_auto (GValue) node_val = G_VALUE_INIT;
--      guint ready_nodes = 0;
--
--      node_it = wp_object_manager_new_filtered_iterator (self->rescan_om,
--          WP_TYPE_NODE, WP_CONSTRAINT_TYPE_PW_PROPERTY,
--          PW_KEY_DEVICE_ID, "=i", device_id, NULL);
--      for (; wp_iterator_next (node_it, &node_val); g_value_unset 
(&node_val)) {
--        WpPipewireObject *node = g_value_get_object (&node_val);
--        g_autoptr (WpPort) port =
--              wp_object_manager_lookup (self->rescan_om,
--              WP_TYPE_PORT, WP_CONSTRAINT_TYPE_PW_PROPERTY,
--              PW_KEY_NODE_ID, "=u", wp_proxy_get_bound_id (WP_PROXY (node)),
--              NULL);
--        if (port)
--          ready_nodes++;
--      }
--
--      if (ready_nodes < total_nodes) {
--        const gchar *device_name = wp_pipewire_object_get_property (
--            WP_PIPEWIRE_OBJECT (device), PW_KEY_DEVICE_NAME);
--        wp_debug_object (self, "device '%s' is not ready (%d/%d)", 
device_name,
--            ready_nodes, total_nodes);
--        return FALSE;
--      }
--    }
--  }
--
--  /* Make sure Audio and Video virtual sources have ports */
--  {
--    g_autoptr (WpIterator) node_it = NULL;
--    g_auto (GValue) node_val = G_VALUE_INIT;
--    node_it = wp_object_manager_new_filtered_iterator (self->rescan_om,
--        WP_TYPE_NODE, WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_DEVICE_ID, "-",
--        NULL);
--    for (; wp_iterator_next (node_it, &node_val); g_value_unset (&node_val)) {
--      WpPipewireObject *node = g_value_get_object (&node_val);
--      const gchar *media_class = wp_pipewire_object_get_property (
--          WP_PIPEWIRE_OBJECT (node), PW_KEY_MEDIA_CLASS);
--      g_autoptr (WpPort) port =
--          wp_object_manager_lookup (self->rescan_om,
--          WP_TYPE_PORT, WP_CONSTRAINT_TYPE_PW_PROPERTY,
--          PW_KEY_NODE_ID, "=u", wp_proxy_get_bound_id (WP_PROXY (node)),
--          NULL);
--      if (!port &&
--          (g_strcmp0 ("Audio/Source/Virtual", media_class) == 0 ||
--           g_strcmp0 ("Video/Source/Virtual", media_class) == 0)) {
--        const gchar *node_name = wp_pipewire_object_get_property (
--            WP_PIPEWIRE_OBJECT (node), PW_KEY_NODE_NAME);
--        wp_debug_object (self, "virtual node '%s' is not ready", node_name);
--        return FALSE;
--      }
--    }
--  }
--
--  return TRUE;
--}
--
- static void
- sync_rescan (WpCore * core, GAsyncResult * res, WpDefaultNodes * self)
- {
-@@ -491,10 +362,6 @@ sync_rescan (WpCore * core, GAsyncResult * res, 
WpDefaultNodes * self)
-   if (!metadata)
-     return;
- 
--  /* Make sure nodes are ready for current profile */
--  if (!nodes_ready (self))
--    return;
--
-   wp_trace_object (self, "re-evaluating defaults");
-   reevaluate_default_node (self, metadata, AUDIO_SINK);
-   reevaluate_default_node (self, metadata, AUDIO_SOURCE);
-@@ -584,13 +451,10 @@ on_metadata_added (WpObjectManager *om, WpMetadata 
*metadata, gpointer d)
-   self->rescan_om = wp_object_manager_new ();
-   wp_object_manager_add_interest (self->rescan_om, WP_TYPE_DEVICE, NULL);
-   wp_object_manager_add_interest (self->rescan_om, WP_TYPE_NODE, NULL);
--  wp_object_manager_add_interest (self->rescan_om, WP_TYPE_PORT, NULL);
-   wp_object_manager_request_object_features (self->rescan_om, WP_TYPE_DEVICE,
-       WP_OBJECT_FEATURES_ALL);
-   wp_object_manager_request_object_features (self->rescan_om, WP_TYPE_NODE,
-       WP_OBJECT_FEATURES_ALL);
--  wp_object_manager_request_object_features (self->rescan_om, WP_TYPE_PORT,
--      WP_OBJECT_FEATURES_ALL);
-   g_signal_connect_object (self->rescan_om, "objects-changed",
-       G_CALLBACK (schedule_rescan), self, G_CONNECT_SWAPPED);
-   g_signal_connect_object (self->rescan_om, "object-added",
--- 
-2.35.1
-

diff --git 
a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch
 
b/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch
deleted file mode 100644
index c319ac4a617b..000000000000
--- 
a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c2f31bb550755acba31da2e9f5bbdf646ed5e805
-
-From c2f31bb550755acba31da2e9f5bbdf646ed5e805 Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <[email protected]>
-Date: Mon, 16 May 2022 15:41:10 -0400
-Subject: [PATCH] m-lua-scripting: allow converting GValue holding NULL objects
- to Lua
-
----
- modules/module-lua-scripting/wplua/value.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/modules/module-lua-scripting/wplua/value.c 
b/modules/module-lua-scripting/wplua/value.c
-index 133051a4..e31ae4ac 100644
---- a/modules/module-lua-scripting/wplua/value.c
-+++ b/modules/module-lua-scripting/wplua/value.c
-@@ -314,9 +314,14 @@ wplua_gvalue_to_lua (lua_State *L, const GValue *v)
-       wplua_pushboxed (L, G_VALUE_TYPE (v), g_value_dup_boxed (v));
-     break;
-   case G_TYPE_OBJECT:
--  case G_TYPE_INTERFACE:
--    wplua_pushobject (L, g_value_dup_object (v));
-+  case G_TYPE_INTERFACE: {
-+    GObject *object = g_value_dup_object (v);
-+    if (object)
-+      wplua_pushobject (L, g_value_dup_object (v));
-+    else
-+      lua_pushnil (L);
-     break;
-+  }
-   case G_TYPE_ENUM:
-     wplua_enum_to_lua (L, g_value_get_enum (v), G_VALUE_TYPE (v));
-     break;
--- 
-GitLab
-

diff --git 
a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch
 
b/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch
deleted file mode 100644
index 0b86979ce732..000000000000
--- 
a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/7908b8d7be2a2992c57cd549054eda7ce46e4b44
-
-From 13b85bd4a25ab374f5e5e90b7288e6987996856e Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <[email protected]>
-Date: Tue, 24 May 2022 11:35:15 +0200
-Subject: [PATCH] m-lua-scripting: fix object refcounting
-
-7908b8d7be2a2992c57cd549054eda7ce46e4b44 ("m-lua-scripting: allow
-converting GValue holding NULL objects to Lua") accidentally added a second
-refcount. As a result, the objects are never freeded.
-
-Remove the second refcount to fix this.
----
- modules/module-lua-scripting/wplua/value.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/module-lua-scripting/wplua/value.c 
b/modules/module-lua-scripting/wplua/value.c
-index e31ae4a..a7927dc 100644
---- a/modules/module-lua-scripting/wplua/value.c
-+++ b/modules/module-lua-scripting/wplua/value.c
-@@ -317,7 +317,7 @@ wplua_gvalue_to_lua (lua_State *L, const GValue *v)
-   case G_TYPE_INTERFACE: {
-     GObject *object = g_value_dup_object (v);
-     if (object)
--      wplua_pushobject (L, g_value_dup_object (v));
-+      wplua_pushobject (L, object);
-     else
-       lua_pushnil (L);
-     break;
--- 
-2.35.1
-

diff --git a/media-video/wireplumber/wireplumber-0.4.10-r4.ebuild 
b/media-video/wireplumber/wireplumber-0.4.10-r4.ebuild
deleted file mode 100644
index 820d1ed7d4a3..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.10-r4.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git";
-       EGIT_BRANCH="master"
-       inherit git-r3
-else
-       
SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz";
-       KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber";
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
-       ${LUA_REQUIRED_USE}
-       ?? ( elogind systemd )
-       system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only 
used for doc building
-BDEPEND="
-       dev-libs/glib
-       dev-util/gdbus-codegen
-       dev-util/glib-utils
-       sys-devel/gettext
-"
-
-DEPEND="
-       ${LUA_DEPS}
-       >=dev-libs/glib-2.62
-       >=media-video/pipewire-0.3.48:=
-       virtual/libintl
-       elogind? ( sys-auth/elogind )
-       systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-#      $(lua_gen_cond_dep '
-#              dev-lua/<NAME>[${LUA_USEDEP}]
-#      ')
-RDEPEND="${DEPEND}
-       system-service? (
-               acct-user/pipewire
-               acct-group/pipewire
-       )
-"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
-       
"${FILESDIR}"/${P}-config-fix-enabled-property-to-default-to-true-when.patch
-       
"${FILESDIR}"/${P}-m-lua-scripting-allow-converting-GValue-holding-NUL.patch
-       
"${FILESDIR}"/${P}-alsa.lua-fix-device-name-deduplication-when-reserva.patch
-       
"${FILESDIR}"/${P}-m-default-nodes-don-t-check-if-all-device-nodes-are.patch
-       "${FILESDIR}"/${P}-m-lua-scripting-fix-object-refcounting.patch
-)
-
-src_configure() {
-       local emesonargs=(
-               -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
-               -Dintrospection=disabled # Only used for Sphinx doc generation
-               -Dsystem-lua=true # We always unbundle everything we can
-               -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
-               $(meson_feature elogind)
-               $(meson_feature systemd)
-               $(meson_use system-service systemd-system-service)
-               $(meson_use systemd systemd-user-service)
-               -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
-               -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
-               $(meson_use test tests)
-       )
-
-       meson_src_configure
-}
-
-src_install() {
-       meson_src_install
-
-       # We copy the default config, so that Gentoo tools can pick up on any
-       # updates and /etc does not end up with stale overrides.
-       # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files
-       # will not actually get stored twice until modified.
-       insinto /etc
-       doins -r "${ED}"/usr/share/wireplumber
-}
-
-pkg_postinst() {
-       if systemd_is_booted ; then
-               ewarn "pipewire-media-session.service is no longer installed. 
You must switch"
-               ewarn "to wireplumber.service user unit before your next 
logout/reboot:"
-               ewarn "systemctl --user disable pipewire-media-session.service"
-               ewarn "systemctl --user --force enable wireplumber.service"
-       else
-               ewarn "Switch to WirePlumber will happen the next time 
gentoo-pipewire-launcher"
-               ewarn "is started (a replacement for directly calling pipewire 
binary)."
-               ewarn
-               ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf 
either does not exist"
-               ewarn "or, if it does exist, that any reference to"
-               ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out 
(begins with a #)."
-       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 WirePlumber 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/wireplumber/wireplumber-0.4.11-r2.ebuild 
b/media-video/wireplumber/wireplumber-0.4.11-r2.ebuild
deleted file mode 100644
index 8cef1f20f182..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.11-r2.ebuild
+++ /dev/null
@@ -1,130 +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/wireplumber/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.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
-       EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git";
-       EGIT_BRANCH="master"
-       inherit git-r3
-else
-       
SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz";
-       KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber";
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
-       ${LUA_REQUIRED_USE}
-       ?? ( elogind systemd )
-       system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only 
used for doc building
-BDEPEND="
-       dev-libs/glib
-       dev-util/gdbus-codegen
-       dev-util/glib-utils
-       sys-devel/gettext
-"
-
-DEPEND="
-       ${LUA_DEPS}
-       >=dev-libs/glib-2.62
-       >=media-video/pipewire-0.3.53-r1:=
-       virtual/libintl
-       elogind? ( sys-auth/elogind )
-       systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-#      $(lua_gen_cond_dep '
-#              dev-lua/<NAME>[${LUA_USEDEP}]
-#      ')
-RDEPEND="${DEPEND}
-       system-service? (
-               acct-user/pipewire
-               acct-group/pipewire
-       )
-"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-0.4.10-config-disable-sound-server-parts.patch # 
defer enabling sound server parts to media-video/pipewire
-       "${FILESDIR}"/${P}-alsa-lua-crash.patch
-       "${FILESDIR}"/${P}-dbus-reconnect-crash.patch
-)
-
-src_configure() {
-       local emesonargs=(
-               -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
-               -Dintrospection=disabled # Only used for Sphinx doc generation
-               -Dsystem-lua=true # We always unbundle everything we can
-               -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
-               $(meson_feature elogind)
-               $(meson_feature systemd)
-               $(meson_use system-service systemd-system-service)
-               $(meson_use systemd systemd-user-service)
-               -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
-               -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
-               $(meson_use test tests)
-       )
-
-       meson_src_configure
-}
-
-src_install() {
-       meson_src_install
-
-       # We copy the default config, so that Gentoo tools can pick up on any
-       # updates and /etc does not end up with stale overrides.
-       # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files
-       # will not actually get stored twice until modified.
-       insinto /etc
-       doins -r "${ED}"/usr/share/wireplumber
-}
-
-pkg_postinst() {
-       if systemd_is_booted ; then
-               ewarn "pipewire-media-session.service is no longer installed. 
You must switch"
-               ewarn "to wireplumber.service user unit before your next 
logout/reboot:"
-               ewarn "systemctl --user disable pipewire-media-session.service"
-               ewarn "systemctl --user --force enable wireplumber.service"
-       else
-               ewarn "Switch to WirePlumber will happen the next time 
gentoo-pipewire-launcher"
-               ewarn "is started (a replacement for directly calling pipewire 
binary)."
-               ewarn
-               ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf 
either does not exist"
-               ewarn "or, if it does exist, that any reference to"
-               ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out 
(begins with a #)."
-       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 WirePlumber 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
-}

Reply via email to