commit:     25f3457dffef526e7efaa3fac051780d77357c4e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 24 00:39:30 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun 24 00:39:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25f3457d

dev-libs/gdl: EAPI 8, fix modern C issues

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

 dev-libs/gdl/files/gdl-3.40.0-c99.patch            | 56 ++++++++++++++++++++++
 .../{gdl-3.40.0-r1.ebuild => gdl-3.40.0-r2.ebuild} |  7 ++-
 2 files changed, 62 insertions(+), 1 deletion(-)

diff --git a/dev-libs/gdl/files/gdl-3.40.0-c99.patch 
b/dev-libs/gdl/files/gdl-3.40.0-c99.patch
new file mode 100644
index 000000000000..74a08e06dbe9
--- /dev/null
+++ b/dev-libs/gdl/files/gdl-3.40.0-c99.patch
@@ -0,0 +1,56 @@
+https://bugs.gentoo.org/919197
+https://gitlab.gnome.org/GNOME/gdl/-/issues/9
+https://salsa.debian.org/rnpalmer-guest/gdl/-/raw/fix1074981/debian/patches/gcc-14-compat-1074981.patch?ref_type=heads
+
+From: Rebecca N. Palmer <[email protected]>
+Date: Fri, 6 Dec 2024 20:04:45 +0000
+Subject: Allow building with gcc-14
+
+object_class and dock_object_class are the same pointer cast
+to different types, so either should work but only dock_object_class
+passes gcc-14 type checking.
+
+Closes: #1074981
+--- a/gdl/gdl-dock-bar.c
++++ b/gdl/gdl-dock-bar.c
+@@ -425,7 +425,7 @@ gdl_dock_bar_set_master (GdlDockBar    *dockbar,
+         if (GDL_IS_DOCK_OBJECT (master)) {
+             master = gdl_dock_object_get_master (GDL_DOCK_OBJECT (master));
+         }
+-        dockbar->priv->master = g_object_ref (master);
++        dockbar->priv->master = GDL_DOCK_MASTER (g_object_ref (master));
+         dockbar->priv->layout_changed_id =
+             g_signal_connect (dockbar->priv->master, "layout-changed",
+                               (GCallback) gdl_dock_bar_layout_changed_cb,
+--- a/gdl/gdl-dock-item.c
++++ b/gdl/gdl-dock-item.c
+@@ -355,7 +355,7 @@ gdl_dock_item_class_init (GdlDockItemClass *klass)
+     container_class->set_focus_child = gdl_dock_item_set_focus_child;
+     gtk_container_class_handle_border_width (container_class);
+ 
+-    gdl_dock_object_class_set_is_compound (object_class, FALSE);
++    gdl_dock_object_class_set_is_compound (dock_object_class, FALSE);
+     dock_object_class->dock_request = gdl_dock_item_dock_request;
+     dock_object_class->dock = gdl_dock_item_dock;
+     dock_object_class->present = gdl_dock_item_present;
+@@ -744,7 +744,7 @@ gdl_dock_item_set_property  (GObject      *g_object,
+         case PROP_RESIZE:
+             item->priv->resize = g_value_get_boolean (value);
+             {
+-                GObject * parent = gtk_widget_get_parent (GTK_WIDGET (item));
++                GtkWidget * parent = gtk_widget_get_parent (GTK_WIDGET 
(item));
+                 //if we docked update "resize" child_property of our parent
+                 if(parent)
+                 {
+--- a/gdl/gdl-dock-layout.c
++++ b/gdl/gdl-dock-layout.c
+@@ -620,7 +620,7 @@ gdl_dock_layout_set_master (GdlDockLayout *layout,
+         if (GDL_IS_DOCK_OBJECT (master)) {
+             master = gdl_dock_object_get_master (GDL_DOCK_OBJECT (master));
+         }
+-        layout->priv->master = g_object_ref (master);
++        layout->priv->master = GDL_DOCK_MASTER (g_object_ref (master));
+         layout->priv->layout_changed_id =
+             g_signal_connect (layout->priv->master, "layout-changed",
+                               (GCallback) gdl_dock_layout_layout_changed_cb,
+

diff --git a/dev-libs/gdl/gdl-3.40.0-r1.ebuild 
b/dev-libs/gdl/gdl-3.40.0-r2.ebuild
similarity index 92%
rename from dev-libs/gdl/gdl-3.40.0-r1.ebuild
rename to dev-libs/gdl/gdl-3.40.0-r2.ebuild
index 3cbf87677328..a264ae05fc3a 100644
--- a/dev-libs/gdl/gdl-3.40.0-r1.ebuild
+++ b/dev-libs/gdl/gdl-3.40.0-r2.ebuild
@@ -1,7 +1,8 @@
 # Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
+
 inherit gnome2
 
 DESCRIPTION="GNOME docking library"
@@ -26,6 +27,10 @@ BDEPEND="
        virtual/pkgconfig
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.40.0-c99.patch
+)
+
 src_configure() {
        gnome2_src_configure \
                $(use_enable introspection) \

Reply via email to