gimp: fix build with gcc-15

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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk
2025-05-09 14:26:54 +02:00
committed by Khem Raj
parent 90e2f77ce1
commit 92cfdce174
2 changed files with 63 additions and 0 deletions
@@ -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"