From c611f2e0d7b4e2eae1a3ccf177b69e61683b942d Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Thu, 30 May 2024 18:33:22 +0300 Subject: [PATCH] x11-libs/goocanvas: fix gcc-14 Closes: https://bugs.gentoo.org/919442 Signed-off-by: Alfred Wingate Closes: https://github.com/gentoo/gentoo/pull/36901 Signed-off-by: Pacho Ramos --- .../files/goocanvas-3.0.0-fix-gcc14.patch | 33 +++++++++++++++++++ x11-libs/goocanvas/goocanvas-2.0.4-r2.ebuild | 4 +++ x11-libs/goocanvas/goocanvas-3.0.0.ebuild | 4 +++ 3 files changed, 41 insertions(+) create mode 100644 x11-libs/goocanvas/files/goocanvas-3.0.0-fix-gcc14.patch diff --git a/x11-libs/goocanvas/files/goocanvas-3.0.0-fix-gcc14.patch b/x11-libs/goocanvas/files/goocanvas-3.0.0-fix-gcc14.patch new file mode 100644 index 0000000000000..ecb54b1e1d27e --- /dev/null +++ b/x11-libs/goocanvas/files/goocanvas-3.0.0-fix-gcc14.patch @@ -0,0 +1,33 @@ +https://gitlab.gnome.org/Archive/goocanvas/-/merge_requests/15 +https://bugs.gentoo.org/919442 + +From d025d0eeae1c5266063bdc1476dbdff121bcfa57 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Wed, 31 Jan 2024 17:44:59 +0100 +Subject: [PATCH] Fix building with GCC 14 + +GCC 14 becomes stricter regarging pointer types: + +goocanvasitemsimple.c: In function 'goo_canvas_item_simple_set_model': +goocanvasitemsimple.c:1539:15: error: assignment to 'GooCanvasItemModelSimple *' {aka 'struct _GooCanvasItemModelSimple *'} from incompatible pointer type 'GooCanvasItemModel *' {aka 'struct _GooCanvasItemModel *'} [-Wincompatible-pointer-types] + 1539 | item->model = g_object_ref (model); + | ^ +make[3]: *** [Makefile:595: goocanvasitemsimple.lo] Error 1 + +It looks like missing a pointer cast. + + +--- a/src/goocanvasitemsimple.c ++++ b/src/goocanvasitemsimple.c +@@ -1536,7 +1536,7 @@ goo_canvas_item_simple_set_model (GooCanvasItemSimple *item, + goo_canvas_item_simple_free_data (item->simple_data); + g_slice_free (GooCanvasItemSimpleData, item->simple_data); + +- item->model = g_object_ref (model); ++ item->model = (GooCanvasItemModelSimple *) g_object_ref (model); + item->simple_data = &item->model->simple_data; + + if (accessibility_enabled) +-- +GitLab + diff --git a/x11-libs/goocanvas/goocanvas-2.0.4-r2.ebuild b/x11-libs/goocanvas/goocanvas-2.0.4-r2.ebuild index b7b95ceefbab3..6d81a9a9c3624 100644 --- a/x11-libs/goocanvas/goocanvas-2.0.4-r2.ebuild +++ b/x11-libs/goocanvas/goocanvas-2.0.4-r2.ebuild @@ -27,6 +27,10 @@ BDEPEND=" virtual/pkgconfig " +PATCHES=( + "${FILESDIR}"/goocanvas-3.0.0-fix-gcc14.patch +) + src_prepare() { # Do not build demos sed -e 's/^\(SUBDIRS =.*\)demo\(.*\)$/\1\2/' \ diff --git a/x11-libs/goocanvas/goocanvas-3.0.0.ebuild b/x11-libs/goocanvas/goocanvas-3.0.0.ebuild index bf6a749e26e6b..fe5a3e869818c 100644 --- a/x11-libs/goocanvas/goocanvas-3.0.0.ebuild +++ b/x11-libs/goocanvas/goocanvas-3.0.0.ebuild @@ -27,6 +27,10 @@ BDEPEND=" virtual/pkgconfig " +PATCHES=( + "${FILESDIR}"/goocanvas-3.0.0-fix-gcc14.patch +) + src_prepare() { # Do not build demos sed -e 's/^\(SUBDIRS =.*\)demo\(.*\)$/\1\2/' \