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

Closes: https://bugs.gentoo.org/919197
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-06-24 01:39:30 +01:00
parent 150c641f37
commit 25f3457dff
2 changed files with 62 additions and 1 deletions

View File

@@ -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 <rebecca_palmer@zoho.com>
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,

View File

@@ -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) \