commit: c611f2e0d7b4e2eae1a3ccf177b69e61683b942d Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Thu May 30 15:33:22 2024 +0000 Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org> CommitDate: Sun Jun 16 07:19:15 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c611f2e0
x11-libs/goocanvas: fix gcc-14 Closes: https://bugs.gentoo.org/919442 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/36901 Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org> .../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(+) 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 000000000000..ecb54b1e1d27 --- /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?= <[email protected]> +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. + +<https://bugzilla.redhat.com/2261209> +--- 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 b7b95ceefbab..6d81a9a9c362 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 bf6a749e26e6..fe5a3e869818 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/' \
