commit:     3738e90d57374e7b7b7a9becbd36638963ec8643
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 12 09:32:22 2025 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Oct 12 09:48:14 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3738e90d

x11-libs/libwnck: drop 43.0-r1

Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 x11-libs/libwnck/Manifest                          |   1 -
 ...libwnck-43.0-segfault_in_invalidate_icons.patch |  29 --
 .../files/libwnck-43.0-xres-extension.patch        | 380 ---------------------
 x11-libs/libwnck/libwnck-43.0-r1.ebuild            |  60 ----
 4 files changed, 470 deletions(-)

diff --git a/x11-libs/libwnck/Manifest b/x11-libs/libwnck/Manifest
index c4004e742d68..1e550ba13c38 100644
--- a/x11-libs/libwnck/Manifest
+++ b/x11-libs/libwnck/Manifest
@@ -1,3 +1,2 @@
-DIST libwnck-43.0.tar.xz 455464 BLAKE2B 
591b7a9016f5149a2493d36ed8ec8a7e2a59b13043aed23bf87ef67520954d2e5cab0edb6f427c36f33fe80478ad363c9db6f4dacbc7c6d4295e79191e7f5043
 SHA512 
f6c14b0a650c6d5ab4d4013e6add3972a0f0bcdedfb9785f64199c9a65713d11c9d936e8b04d0f04707c3d165dd345bfa806f654bf82eabb765546b8914d68d2
 DIST libwnck-43.2.tar.xz 455644 BLAKE2B 
22008fe01284066722fb2c31451870266cc44eae81c03d2be8d424700224150fcfcc411c392b2fe784e7ff4da6f8d3560897a91999ba06ae14d9165401258231
 SHA512 
c2f327f3aa757d9120a12de3d87d91ac452ea4a06abfa6de8145548df5175c0445e30fd93045c0e869d80efddc954cde0e25f4247be422801cd92bed40057e5b
 DIST libwnck-43.3.tar.xz 455776 BLAKE2B 
ecce2a705d0775ca0c8f5941c8ce97217897f21ae89b06c58c49fa0f0482a2dbfc3c045c3038dc4fa89bbf44496f342cbf2d561a772363e1435866fb6452f6f8
 SHA512 
51304ab6ad543d10e8542257b24964dbce454eb1bedfa26fc926797b01373b9effad8097fe0f18216439d0339525377abb9e3c88b58cc2e7ed04832cb40a27ed

diff --git 
a/x11-libs/libwnck/files/libwnck-43.0-segfault_in_invalidate_icons.patch 
b/x11-libs/libwnck/files/libwnck-43.0-segfault_in_invalidate_icons.patch
deleted file mode 100644
index d107f25d97c6..000000000000
--- a/x11-libs/libwnck/files/libwnck-43.0-segfault_in_invalidate_icons.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6ceb684442eb26e3bdb8a38bf52264ad55f96a7b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <[email protected]>
-Date: Tue, 20 Sep 2022 15:40:22 +0300
-Subject: [PATCH] handle: avoid segfault in invalidate_icons
-
-Screens variable won't be initialized if default icon sizes are
-set/changed before using wnck_screen_get_default.
-
-https://bugs.launchpad.net/ubuntu/+source/libwnck3/+bug/1990263
----
- libwnck/wnck-handle.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/libwnck/wnck-handle.c b/libwnck/wnck-handle.c
-index e12ff882..8d5da45c 100644
---- a/libwnck/wnck-handle.c
-+++ b/libwnck/wnck-handle.c
-@@ -70,6 +70,9 @@ invalidate_icons (WnckHandle *self)
-   Display *xdisplay;
-   int i;
- 
-+  if (self->screens == NULL)
-+    return;
-+
-   xdisplay = _wnck_get_default_display ();
- 
-   for (i = 0; i < ScreenCount (xdisplay); ++i)
--- 
-

diff --git a/x11-libs/libwnck/files/libwnck-43.0-xres-extension.patch 
b/x11-libs/libwnck/files/libwnck-43.0-xres-extension.patch
deleted file mode 100644
index 2003c7df59ab..000000000000
--- a/x11-libs/libwnck/files/libwnck-43.0-xres-extension.patch
+++ /dev/null
@@ -1,380 +0,0 @@
-From 4ee0ab2b0665da5cb0ad16d6d163ad20549b7ba6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <[email protected]>
-Date: Fri, 30 Sep 2022 17:32:09 +0300
-Subject: [PATCH 1/4] handle: init XRes extension
-
-XResQueryClientIds needs XRes 1.2 or newer.
----
- libwnck/wnck-handle-private.h |  2 ++
- libwnck/wnck-handle.c         | 48 +++++++++++++++++++++++++++++++++++
- meson.build                   |  2 +-
- 3 files changed, 51 insertions(+), 1 deletion(-)
-
-diff --git a/libwnck/wnck-handle-private.h b/libwnck/wnck-handle-private.h
-index c4217cef..06331040 100644
---- a/libwnck/wnck-handle-private.h
-+++ b/libwnck/wnck-handle-private.h
-@@ -26,6 +26,8 @@ G_BEGIN_DECLS
- 
- WnckClientType   _wnck_handle_get_client_type            (WnckHandle     
*self);
- 
-+gboolean         _wnck_handle_has_xres                   (WnckHandle     
*self);
-+
- gsize            _wnck_handle_get_default_icon_size      (WnckHandle     
*self);
- 
- gsize            _wnck_handle_get_default_mini_icon_size (WnckHandle     
*self);
-diff --git a/libwnck/wnck-handle.c b/libwnck/wnck-handle.c
-index e12ff882..710b7548 100644
---- a/libwnck/wnck-handle.c
-+++ b/libwnck/wnck-handle.c
-@@ -29,6 +29,11 @@
- #include "config.h"
- #include "wnck-handle-private.h"
- 
-+#include <X11/Xlib.h>
-+#ifdef HAVE_XRES
-+#include <X11/extensions/XRes.h>
-+#endif
-+
- #include "private.h"
- #include "screen.h"
- #include "window.h"
-@@ -43,6 +48,8 @@ struct _WnckHandle
- 
-   WnckClientType   client_type;
- 
-+  gboolean         have_xres;
-+
-   gsize            default_icon_size;
-   gsize            default_mini_icon_size;
- 
-@@ -164,6 +171,40 @@ filter_func (GdkXEvent *gdkxevent,
-   return GDK_FILTER_CONTINUE;
- }
- 
-+static void
-+init_xres (WnckHandle *self)
-+{
-+#ifdef HAVE_XRES
-+  Display *xdisplay;
-+  int event_base;
-+  int error_base;
-+  int major;
-+  int minor;
-+
-+  xdisplay = _wnck_get_default_display ();
-+  event_base = error_base = major = minor = 0;
-+
-+  if (XResQueryExtension (xdisplay, &event_base, &error_base) &&
-+      XResQueryVersion (xdisplay, &major, &minor) == 1)
-+    {
-+      if (major > 1 || (major == 1 && minor >= 2))
-+        self->have_xres = TRUE;
-+    }
-+#endif
-+}
-+
-+static void
-+wnck_handle_constructed (GObject *object)
-+{
-+  WnckHandle *self;
-+
-+  self = WNCK_HANDLE (object);
-+
-+  G_OBJECT_CLASS (wnck_handle_parent_class)->constructed (object);
-+
-+  init_xres (self);
-+}
-+
- static void
- wnck_handle_finalize (GObject *object)
- {
-@@ -290,6 +331,7 @@ wnck_handle_class_init (WnckHandleClass *self_class)
- 
-   object_class = G_OBJECT_CLASS (self_class);
- 
-+  object_class->constructed = wnck_handle_constructed;
-   object_class->finalize = wnck_handle_finalize;
-   object_class->get_property = wnck_handle_get_property;
-   object_class->set_property = wnck_handle_set_property;
-@@ -343,6 +385,12 @@ _wnck_handle_get_client_type (WnckHandle *self)
-   return self->client_type;
- }
- 
-+gboolean
-+_wnck_handle_has_xres (WnckHandle *self)
-+{
-+  return self->have_xres;
-+}
-+
- /**
-  * wnck_handle_get_default_screen:
-  * @self: a #WnckHandle
-diff --git a/meson.build b/meson.build
-index 6b0eea97..907fdf26 100644
---- a/meson.build
-+++ b/meson.build
-@@ -45,7 +45,7 @@ pkg_deps = [
-   {'name': 'gtk+-3.0', 'version': '>= 3.22.0' },
-   {'name': STARTUP_NOTIFICATION_PACKAGE, 'version': '>= 0.4', 'required': 
get_option('startup_notification')},
-   {'name': X11_PACKAGE },
--  {'name': XRES_PACKAGE, 'required': false},
-+  {'name': XRES_PACKAGE, 'version': '>= 1.2', 'required': false},
- ]
- 
- foreach p: pkg_deps
--- 
-GitLab
-
-
-From f6b973b1f15ac1d8b8203972195d9a1765c75ba2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <[email protected]>
-Date: Fri, 30 Sep 2022 18:07:55 +0300
-Subject: [PATCH 2/4] xutils: move XRes code to separate function
-
----
- libwnck/xutils.c | 28 ++++++++++++++++++++--------
- 1 file changed, 20 insertions(+), 8 deletions(-)
-
-diff --git a/libwnck/xutils.c b/libwnck/xutils.c
-index 60ae7b25..d120ff16 100644
---- a/libwnck/xutils.c
-+++ b/libwnck/xutils.c
-@@ -1145,13 +1145,12 @@ _wnck_get_session_id (Screen *screen,
-                                            _wnck_atom_get ("SM_CLIENT_ID"));
- }
- 
--int
--_wnck_get_pid (Screen *screen,
--               Window  xwindow)
-+#ifdef HAVE_XRES
-+static int
-+xres_get_pid (Screen *screen,
-+              Window  xwindow)
- {
-   int pid = -1;
--
--#ifdef HAVE_XRES
-   XResClientIdSpec client_spec;
-   long client_id_count = 0;
-   XResClientIdValue *client_ids = NULL;
-@@ -1172,10 +1171,23 @@ _wnck_get_pid (Screen *screen,
-         }
- 
-       XResClientIdsDestroy (client_id_count, client_ids);
--
--      if (pid != -1)
--        return pid;
-     }
-+
-+  return pid;
-+}
-+#endif
-+
-+int
-+_wnck_get_pid (Screen *screen,
-+               Window  xwindow)
-+{
-+  int pid = -1;
-+
-+#ifdef HAVE_XRES
-+  pid = xres_get_pid (screen, xwindow);
-+
-+  if (pid != -1)
-+    return pid;
- #endif
- 
-   if (!_wnck_get_cardinal (screen, xwindow,
--- 
-GitLab
-
-
-From 6e61e5ef2ad6726cf607ea70c011f49e269472e7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <[email protected]>
-Date: Fri, 30 Sep 2022 18:39:00 +0300
-Subject: [PATCH 3/4] xutils: use WnckScreen in _wnck_get_pid
-
----
- libwnck/application.c         |  2 +-
- libwnck/window.c              |  2 +-
- libwnck/wnck-resource-usage.c | 26 +++++++++++++-------------
- libwnck/xutils.c              | 16 ++++++++++------
- libwnck/xutils.h              |  4 ++--
- 5 files changed, 27 insertions(+), 23 deletions(-)
-
-diff --git a/libwnck/application.c b/libwnck/application.c
-index 9ab7f489..31005ba4 100644
---- a/libwnck/application.c
-+++ b/libwnck/application.c
-@@ -524,7 +524,7 @@ _wnck_application_create (Window      xwindow,
-   if (application->priv->name)
-     application->priv->name_from_leader = TRUE;
- 
--  application->priv->pid = _wnck_get_pid (xscreen,
-+  application->priv->pid = _wnck_get_pid (screen,
-                                           application->priv->xwindow);
- 
-   application->priv->startup_id = _wnck_get_utf8_property (xscreen,
-diff --git a/libwnck/window.c b/libwnck/window.c
-index 35bb37c1..229b4cb1 100644
---- a/libwnck/window.c
-+++ b/libwnck/window.c
-@@ -510,7 +510,7 @@ _wnck_window_create (Window      xwindow,
-     _wnck_get_session_id (xscreen, window->priv->xwindow);
- 
-   window->priv->pid =
--    _wnck_get_pid (xscreen, window->priv->xwindow);
-+    _wnck_get_pid (screen, window->priv->xwindow);
- 
-   window->priv->x = 0;
-   window->priv->y = 0;
-diff --git a/libwnck/wnck-resource-usage.c b/libwnck/wnck-resource-usage.c
-index a845d82b..1d81c283 100644
---- a/libwnck/wnck-resource-usage.c
-+++ b/libwnck/wnck-resource-usage.c
-@@ -126,10 +126,10 @@ wnck_gulong_equal (gconstpointer a,
- }
- 
- static gulong
--wnck_check_window_for_pid (Screen *screen,
--                           Window  win,
--                           XID     match_xid,
--                           XID     mask)
-+wnck_check_window_for_pid (WnckScreen *screen,
-+                           Window      win,
-+                           XID         match_xid,
-+                           XID         mask)
- {
-   if ((win & ~mask) == match_xid)
-     return _wnck_get_pid (screen, win);
-@@ -138,13 +138,13 @@ wnck_check_window_for_pid (Screen *screen,
- }
- 
- static void
--wnck_find_pid_for_resource_r (Display *xdisplay,
--                              Screen  *screen,
--                              Window   win_top,
--                              XID      match_xid,
--                              XID      mask,
--                              gulong  *xid,
--                              gulong  *pid)
-+wnck_find_pid_for_resource_r (Display    *xdisplay,
-+                              WnckScreen *screen,
-+                              Window      win_top,
-+                              XID         match_xid,
-+                              XID         mask,
-+                              gulong     *xid,
-+                              gulong     *pid)
- {
-   Status   qtres;
-   int      err;
-@@ -250,10 +250,10 @@ wnck_pid_read_resource_usage_fill_cache (struct 
xresclient_state *state)
- 
-   for (i = 0; i < ScreenCount (state->xdisplay); i++)
-     {
--      Screen *screen;
-+      WnckScreen *screen;
-       Window  root;
- 
--      screen = ScreenOfDisplay (state->xdisplay, i);
-+      screen = wnck_handle_get_screen (_wnck_get_handle (), i);
-       root = RootWindow (state->xdisplay, i);
- 
-       if (root == None)
-diff --git a/libwnck/xutils.c b/libwnck/xutils.c
-index d120ff16..08be8aa9 100644
---- a/libwnck/xutils.c
-+++ b/libwnck/xutils.c
-@@ -1147,18 +1147,21 @@ _wnck_get_session_id (Screen *screen,
- 
- #ifdef HAVE_XRES
- static int
--xres_get_pid (Screen *screen,
--              Window  xwindow)
-+xres_get_pid (WnckScreen *screen,
-+              Window      xwindow)
- {
-   int pid = -1;
-+  Screen *xscreen;
-   XResClientIdSpec client_spec;
-   long client_id_count = 0;
-   XResClientIdValue *client_ids = NULL;
- 
-+  xscreen = _wnck_screen_get_xscreen (screen);
-+
-   client_spec.client = xwindow;
-   client_spec.mask = XRES_CLIENT_ID_PID_MASK;
- 
--  if (XResQueryClientIds (DisplayOfScreen (screen), 1, &client_spec,
-+  if (XResQueryClientIds (DisplayOfScreen (xscreen), 1, &client_spec,
-                           &client_id_count, &client_ids) == Success)
-     {
-       long i;
-@@ -1178,8 +1181,8 @@ xres_get_pid (Screen *screen,
- #endif
- 
- int
--_wnck_get_pid (Screen *screen,
--               Window  xwindow)
-+_wnck_get_pid (WnckScreen *screen,
-+               Window      xwindow)
- {
-   int pid = -1;
- 
-@@ -1190,7 +1193,8 @@ _wnck_get_pid (Screen *screen,
-     return pid;
- #endif
- 
--  if (!_wnck_get_cardinal (screen, xwindow,
-+  if (!_wnck_get_cardinal (_wnck_screen_get_xscreen (screen),
-+                           xwindow,
-                            _wnck_atom_get ("_NET_WM_PID"),
-                            &pid))
-     return 0;
-diff --git a/libwnck/xutils.h b/libwnck/xutils.h
-index 4e5c6204..700832a4 100644
---- a/libwnck/xutils.h
-+++ b/libwnck/xutils.h
-@@ -123,8 +123,8 @@ void _wnck_change_viewport (Screen *screen,
- 
- char*  _wnck_get_session_id     (Screen *screen,
-                                  Window xwindow);
--int    _wnck_get_pid            (Screen *screen,
--                                 Window  xwindow);
-+int    _wnck_get_pid            (WnckScreen *screen,
-+                                 Window      xwindow);
- char*  _wnck_get_name           (Screen *screen,
-                                  Window  xwindow);
- char*  _wnck_get_icon_name      (Screen *screen,
--- 
-GitLab
-
-
-From dde756bc7788488f07b674cbe218943a62eb82e6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <[email protected]>
-Date: Fri, 30 Sep 2022 18:43:07 +0300
-Subject: [PATCH 4/4] xutils: check if XRes is available before using
- XResQueryClientIds
-
-https://gitlab.gnome.org/GNOME/libwnck/-/issues/154
----
- libwnck/xutils.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/libwnck/xutils.c b/libwnck/xutils.c
-index 08be8aa9..91c2d50e 100644
---- a/libwnck/xutils.c
-+++ b/libwnck/xutils.c
-@@ -1156,6 +1156,9 @@ xres_get_pid (WnckScreen *screen,
-   long client_id_count = 0;
-   XResClientIdValue *client_ids = NULL;
- 
-+  if (!_wnck_handle_has_xres (wnck_screen_get_handle (screen)))
-+    return -1;
-+
-   xscreen = _wnck_screen_get_xscreen (screen);
- 
-   client_spec.client = xwindow;
--- 
-GitLab
-

diff --git a/x11-libs/libwnck/libwnck-43.0-r1.ebuild 
b/x11-libs/libwnck/libwnck-43.0-r1.ebuild
deleted file mode 100644
index 4794a203adb1..000000000000
--- a/x11-libs/libwnck/libwnck-43.0-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org meson xdg
-
-DESCRIPTION="A window navigation construction kit"
-HOMEPAGE="https://developer.gnome.org/libwnck/stable/";
-
-LICENSE="LGPL-2+"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc 
x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
-
-IUSE="gtk-doc +introspection startup-notification tools"
-
-RDEPEND="
-       x11-libs/cairo[X]
-       >=dev-libs/glib-2.44:2
-       >=x11-libs/gtk+-3.22:3[X,introspection?]
-       startup-notification? ( >=x11-libs/startup-notification-0.4 )
-       x11-libs/libX11
-       x11-libs/libXres
-       introspection? ( >=dev-libs/gobject-introspection-1.56:= )
-"
-# libXi header used by wnckprop.c, which is compiled even with USE=-tools 
(just not installed then)
-DEPEND="${RDEPEND}
-       x11-libs/libXi"
-BDEPEND="
-       gtk-doc? ( >=dev-util/gtk-doc-1.9
-               app-text/docbook-xml-dtd:4.1.2 )
-       >=sys-devel/gettext-0.19.8
-       virtual/pkgconfig
-"
-
-PATCHES=(
-       # https://gitlab.gnome.org/GNOME/libwnck/-/issues/154
-       "${FILESDIR}/${P}-xres-extension.patch"
-
-       # https://gitlab.gnome.org/GNOME/libwnck/-/issues/155
-       "${FILESDIR}/${P}-segfault_in_invalidate_icons.patch"
-)
-
-src_prepare() {
-       default
-       xdg_environment_reset
-       # Don't collide with SLOT=1 with USE=tools
-       sed -e "s|executable(prog|executable(prog + '-3'|" -i 
libwnck/meson.build || die
-}
-
-src_configure() {
-       local emesonargs=(
-               -Ddeprecation_flags=false
-               $(meson_use tools install_tools)
-               $(meson_feature startup-notification startup_notification)
-               $(meson_feature introspection)
-               $(meson_use gtk-doc gtk_doc)
-       )
-       meson_src_configure
-}

Reply via email to