summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2025-01-28 17:03:43 +0000
committerSam James <sam@gentoo.org>2025-01-28 17:04:02 +0000
commit8a34fe7899c89932acc072838a22570dd8dc0d95 (patch)
tree8fddf9ff4f778212e360ade0c039cf4c2bb78816 /gnome-extra/evolution-data-server
parentgnome-base/gdm: restore lost -std=gnu17 (diff)
downloadgentoo-8a34fe7899c89932acc072838a22570dd8dc0d95.tar.gz
gentoo-8a34fe7899c89932acc072838a22570dd8dc0d95.tar.bz2
gentoo-8a34fe7899c89932acc072838a22570dd8dc0d95.zip
gnome-extra/evolution-data-server: backport C23 fix
Closes: https://bugs.gentoo.org/948952 Bug: https://bugs.gentoo.org/944075 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'gnome-extra/evolution-data-server')
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.54.3.ebuild1
-rw-r--r--gnome-extra/evolution-data-server/files/3.54.3-c23.patch169
2 files changed, 170 insertions, 0 deletions
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.54.3.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.54.3.ebuild
index 7fdfb2d39060..39911df46106 100644
--- a/gnome-extra/evolution-data-server/evolution-data-server-3.54.3.ebuild
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.54.3.ebuild
@@ -101,6 +101,7 @@ src_prepare() {
gnome2_src_prepare
eapply "${FILESDIR}"/3.36.5-gtk-doc-1.32-compat.patch
+ eapply "${FILESDIR}"/3.54.3-c23.patch
# Make CMakeLists versioned vala enabled
sed -e "s;\(find_program(VALAC\) valac);\1 ${VALAC});" \
diff --git a/gnome-extra/evolution-data-server/files/3.54.3-c23.patch b/gnome-extra/evolution-data-server/files/3.54.3-c23.patch
new file mode 100644
index 000000000000..c478081a4b91
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/3.54.3-c23.patch
@@ -0,0 +1,169 @@
+https://bugs.gentoo.org/948952
+https://gitlab.gnome.org/GNOME/evolution-data-server/-/commit/557e2b2a7cc04836c64abd7340092f2395897d57
+
+From 557e2b2a7cc04836c64abd7340092f2395897d57 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha@redhat.com>
+Date: Wed, 22 Jan 2025 12:06:33 +0100
+Subject: [PATCH] Do not use variable named 'bool' in the code
+
+The C23 adds `bool` as a keyword, which breaks the build when this
+standard is enabled.
+---
+ src/camel/camel-sexp.c | 16 ++++++++--------
+ src/libedataserver/e-sexp.c | 16 ++++++++--------
+ 2 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/src/camel/camel-sexp.c b/src/camel/camel-sexp.c
+index c59bc41eb1..66eedae9d0 100644
+--- a/src/camel/camel-sexp.c
++++ b/src/camel/camel-sexp.c
+@@ -330,7 +330,7 @@ term_eval_and (CamelSExp *sexp,
+ GHashTable *ht = g_hash_table_new (g_str_hash, g_str_equal);
+ struct IterData lambdafoo;
+ gint type=-1;
+- gint bool = TRUE;
++ gint val = TRUE;
+ gint i;
+ const gchar *oper;
+
+@@ -341,7 +341,7 @@ term_eval_and (CamelSExp *sexp,
+ oper = "AND";
+ sexp->priv->operators = g_slist_prepend (sexp->priv->operators, (gpointer) oper);
+
+- for (i = 0; bool && i < argc; i++) {
++ for (i = 0; val && i < argc; i++) {
+ r1 = camel_sexp_term_eval (sexp, argv[i]);
+ if (type == -1)
+ type = r1->type;
+@@ -364,7 +364,7 @@ term_eval_and (CamelSExp *sexp,
+ g_hash_table_insert (ht, a1[j], GINT_TO_POINTER (n + 1));
+ }
+ } else if (r1->type == CAMEL_SEXP_RES_BOOL) {
+- bool = bool && r1->value.boolean;
++ val = val && r1->value.boolean;
+ }
+ camel_sexp_result_free (sexp, r1);
+ }
+@@ -377,7 +377,7 @@ term_eval_and (CamelSExp *sexp,
+ result->value.ptrarray = lambdafoo.uids;
+ } else if (type == CAMEL_SEXP_RES_BOOL) {
+ result->type = CAMEL_SEXP_RES_BOOL;
+- result->value.boolean = bool;
++ result->value.boolean = val;
+ }
+
+ g_hash_table_destroy (ht);
+@@ -396,7 +396,7 @@ term_eval_or (CamelSExp *sexp,
+ GHashTable *ht = g_hash_table_new (g_str_hash, g_str_equal);
+ struct IterData lambdafoo;
+ gint type = -1;
+- gint bool = FALSE;
++ gint val = FALSE;
+ gint i;
+ const gchar *oper;
+
+@@ -407,7 +407,7 @@ term_eval_or (CamelSExp *sexp,
+
+ result = camel_sexp_result_new (sexp, CAMEL_SEXP_RES_UNDEFINED);
+
+- for (i = 0; !bool && i < argc; i++) {
++ for (i = 0; !val && i < argc; i++) {
+ r1 = camel_sexp_term_eval (sexp, argv[i]);
+ if (type == -1)
+ type = r1->type;
+@@ -426,7 +426,7 @@ term_eval_or (CamelSExp *sexp,
+ g_hash_table_insert (ht, a1[j], (gpointer) 1);
+ }
+ } else if (r1->type == CAMEL_SEXP_RES_BOOL) {
+- bool |= r1->value.boolean;
++ val |= r1->value.boolean;
+ }
+ camel_sexp_result_free (sexp, r1);
+ }
+@@ -439,7 +439,7 @@ term_eval_or (CamelSExp *sexp,
+ result->value.ptrarray = lambdafoo.uids;
+ } else if (type == CAMEL_SEXP_RES_BOOL) {
+ result->type = CAMEL_SEXP_RES_BOOL;
+- result->value.boolean = bool;
++ result->value.boolean = val;
+ }
+ g_hash_table_destroy (ht);
+
+diff --git a/src/libedataserver/e-sexp.c b/src/libedataserver/e-sexp.c
+index 3adc85196a..ccdabb12cd 100644
+--- a/src/libedataserver/e-sexp.c
++++ b/src/libedataserver/e-sexp.c
+@@ -291,7 +291,7 @@ term_eval_and (ESExp *sexp,
+ GHashTable *ht = g_hash_table_new (g_str_hash, g_str_equal);
+ struct IterData lambdafoo;
+ gint type=-1;
+- gint bool = TRUE;
++ gint val = TRUE;
+ gint i;
+ const gchar *oper;
+
+@@ -302,7 +302,7 @@ term_eval_and (ESExp *sexp,
+ oper = "AND";
+ sexp->priv->operators = g_slist_prepend (sexp->priv->operators, (gpointer) oper);
+
+- for (i = 0; bool && i < argc; i++) {
++ for (i = 0; val && i < argc; i++) {
+ r1 = e_sexp_term_eval (sexp, argv[i]);
+ if (type == -1)
+ type = r1->type;
+@@ -325,7 +325,7 @@ term_eval_and (ESExp *sexp,
+ g_hash_table_insert (ht, a1[j], GINT_TO_POINTER (n + 1));
+ }
+ } else if (r1->type == ESEXP_RES_BOOL) {
+- bool = bool && r1->value.boolean;
++ val = val && r1->value.boolean;
+ }
+ e_sexp_result_free (sexp, r1);
+ }
+@@ -338,7 +338,7 @@ term_eval_and (ESExp *sexp,
+ r->value.ptrarray = lambdafoo.uids;
+ } else if (type == ESEXP_RES_BOOL) {
+ r->type = ESEXP_RES_BOOL;
+- r->value.boolean = bool;
++ r->value.boolean = val;
+ }
+
+ g_hash_table_destroy (ht);
+@@ -357,7 +357,7 @@ term_eval_or (ESExp *sexp,
+ GHashTable *ht = g_hash_table_new (g_str_hash, g_str_equal);
+ struct IterData lambdafoo;
+ gint type = -1;
+- gint bool = FALSE;
++ gint val = FALSE;
+ gint i;
+ const gchar *oper;
+
+@@ -368,7 +368,7 @@ term_eval_or (ESExp *sexp,
+
+ r = e_sexp_result_new (sexp, ESEXP_RES_UNDEFINED);
+
+- for (i = 0; !bool && i < argc; i++) {
++ for (i = 0; !val && i < argc; i++) {
+ r1 = e_sexp_term_eval (sexp, argv[i]);
+ if (type == -1)
+ type = r1->type;
+@@ -387,7 +387,7 @@ term_eval_or (ESExp *sexp,
+ g_hash_table_insert (ht, a1[j], (gpointer) 1);
+ }
+ } else if (r1->type == ESEXP_RES_BOOL) {
+- bool |= r1->value.boolean;
++ val |= r1->value.boolean;
+ }
+ e_sexp_result_free (sexp, r1);
+ }
+@@ -400,7 +400,7 @@ term_eval_or (ESExp *sexp,
+ r->value.ptrarray = lambdafoo.uids;
+ } else if (type == ESEXP_RES_BOOL) {
+ r->type = ESEXP_RES_BOOL;
+- r->value.boolean = bool;
++ r->value.boolean = val;
+ }
+ g_hash_table_destroy (ht);
+
+--
+GitLab