new file mode 100644
@@ -0,0 +1,62 @@
+From 85bdad2b2ca7ba36a01bef945b1c4b193a2fa9d0 Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@tiptoe.de>
+Date: Wed, 29 Jan 2025 12:51:53 +0100
+Subject: [PATCH] Avoid type names and keywords
+
+This fixes various errors when compiling with current toolchains and/or
+-std=c23.
+
+Signed-off-by: Nils Philippsen <nils@tiptoe.de>
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gimp/-/commit/85bdad2b2ca7ba36a01bef945b1c4b193a2fa9d0.patch]
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ libgimpconfig/gimpconfig-serialize.c | 6 +++---
+ plug-ins/selection-to-path/types.h | 13 ++++---------
+ 2 files changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/libgimpconfig/gimpconfig-serialize.c b/libgimpconfig/gimpconfig-serialize.c
+index 377b2371630..b3abca229d1 100644
+--- a/libgimpconfig/gimpconfig-serialize.c
++++ b/libgimpconfig/gimpconfig-serialize.c
+@@ -522,10 +522,10 @@ gimp_config_serialize_value (const GValue *value,
+
+ if (G_VALUE_HOLDS_BOOLEAN (value))
+ {
+- gboolean bool;
++ gboolean boolean;
+
+- bool = g_value_get_boolean (value);
+- g_string_append (str, bool ? "yes" : "no");
++ boolean = g_value_get_boolean (value);
++ g_string_append (str, boolean ? "yes" : "no");
+ return TRUE;
+ }
+
+diff --git a/plug-ins/selection-to-path/types.h b/plug-ins/selection-to-path/types.h
+index 9b040fa3a19..1521937b15e 100644
+--- a/plug-ins/selection-to-path/types.h
++++ b/plug-ins/selection-to-path/types.h
+@@ -19,15 +19,10 @@
+ #ifndef TYPES_H
+ #define TYPES_H
+
+-/* Booleans. */
+-typedef enum { false = 0, true = 1 } boolean;
+-
+-/* The X11 library defines `FALSE' and `TRUE', and so we only want to
+- define them if necessary. */
+-#ifndef FALSE
+-#define FALSE false
+-#define TRUE true
+-#endif /* FALSE */
++/* Cope with C23 */
++typedef int boolean;
++#define false FALSE
++#define true TRUE
+
+ /* The usual null-terminated string. */
+ typedef char *string;
+--
+GitLab
+
@@ -61,6 +61,7 @@ SRC_URI += "file://0001-gimp-cross-compile-fix-for-bz2.patch"
SRC_URI += "file://0002-meson.build-reproducibility-fix.patch"
SRC_URI += "file://0001-meson.build-dont-check-for-lgi.patch"
SRC_URI += "file://0001-meson.build-require-iso-codes-native.patch"
+SRC_URI += "file://85bdad2b2ca7ba36a01bef945b1c4b193a2fa9d0.patch"
SRC_URI[sha256sum] = "546ddc30cb2d0e79123c7fcb4d78211e1ee7a6aace91a6a0ad8cbcbf6ea571a2"
PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib"
Add a backport patch to fix: | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c: In function 'gimp_config_serialize_value': | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:29: error: expected expression before 'bool' | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^~~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:269:26: note: in definition of macro 'g_string_append' | 269 | (__builtin_constant_p (val) ? \ | | ^~~ | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:34: error: expected ')' before '?' token | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:271:35: note: in definition of macro 'g_string_append' | 271 | const char * const __val = (val); \ | | ^~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:271:34: note: to match this '(' | 271 | const char * const __val = (val); \ | | ^ | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:7: note: in expansion of macro 'g_string_append' | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^~~~~~~~~~~~~~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:271:39: error: expected expression before ';' token | 271 | const char * const __val = (val); \ | | ^ | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:7: note: in expansion of macro 'g_string_append' | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^~~~~~~~~~~~~~~ | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:29: error: expected expression before 'bool' | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^~~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:251:37: note: in definition of macro 'g_string_append_len' | 251 | g_string_append_len_inline (gstr, val, len) | | ^~~ | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:7: note: in expansion of macro 'g_string_append' | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^~~~~~~~~~~~~~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:251:3: error: too few arguments to function 'g_string_append_len_inline'; expected 3, have 2 | 251 | g_string_append_len_inline (gstr, val, len) | | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:278:5: note: in expansion of macro 'g_string_append_len' | 278 | g_string_append_len (gstr, val, (gssize) -1)) | | ^~~~~~~~~~~~~~~~~~~ | ../gimp-3.0.2/libgimpconfig/gimpconfig-serialize.c:526:7: note: in expansion of macro 'g_string_append' | 526 | g_string_append (str, bool ? "yes" : "no"); | | ^~~~~~~~~~~~~~~ | ../recipe-sysroot/usr/include/glib-2.0/glib/gstring.h:218:1: note: declared here | 218 | g_string_append_len_inline (GString *gstring, | | ^~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Markus Volk <f_l_k@t-online.de> --- ...ad2b2ca7ba36a01bef945b1c4b193a2fa9d0.patch | 62 +++++++++++++++++++ meta-gnome/recipes-gimp/gimp/gimp_3.0.2.bb | 1 + 2 files changed, 63 insertions(+) create mode 100644 meta-gnome/recipes-gimp/gimp/gimp/85bdad2b2ca7ba36a01bef945b1c4b193a2fa9d0.patch