# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/glibmm2/hotfix-glib-final-type.patch # Copyright (C) 2026 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- Newer GLib declares these classes final with G_DECLARE_FINAL_TYPE, which already typedefs the Class struct. The shipped using-alias then conflicts with it. Guard one, take the other from gio/gio.h, as newer glibmm does. Signed-off-by: Dennie Mahne --- glibmm-2.64.5/untracked/gio/giomm/dbusactiongroup.h.orig 2020-12-01 10:32:42.852125000 +0100 +++ glibmm-2.64.5/untracked/gio/giomm/dbusactiongroup.h 2026-09-29 12:58:26.577966855 +0200 @@ -29,7 +29,11 @@ #ifndef DOXYGEN_SHOULD_SKIP_THIS using GDBusActionGroup = struct _GDBusActionGroup; -using GDBusActionGroupClass = struct _GDBusActionGroupClass; +// GDBusActionGroup was declared a final type between GLib 2.89.1 and 2.89.2, +// which already typedefs the Class struct. +#if !GLIB_CHECK_VERSION(2,89,1) || (!GLIB_CHECK_VERSION(2,89,2) && defined(G_DBUS_ACTION_GROUP_CLASS)) + using GDBusActionGroupClass = struct _GDBusActionGroupClass; +#endif #endif /* DOXYGEN_SHOULD_SKIP_THIS */ --- glibmm-2.64.5/untracked/gio/giomm/emblem.h.orig 2020-12-01 10:32:43.032127600 +0100 +++ glibmm-2.64.5/untracked/gio/giomm/emblem.h 2026-09-29 13:00:05.569087456 +0200 @@ -24,11 +24,10 @@ #include #include +#include #ifndef DOXYGEN_SHOULD_SKIP_THIS -using GEmblem = struct _GEmblem; -using GEmblemClass = struct _GEmblemClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */