guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fixing evolution-data-server on core-updates


From: Timothy Sample
Subject: Fixing evolution-data-server on core-updates
Date: Mon, 15 Jul 2019 00:09:18 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Hi all,

While testing core-updates I found that evolution-data-server does not
build due to test failures.  The tests fail because
evolution-data-server does not accommodate newer versions of ICU.
Here’s the upstream bug report [1].  I’ve attached a patch that uses
“substitute*” to work around the problem (it’s rather simple).  I think
we should wait to hear from upstream, and if they don’t get to it in a
few days, use the patch.

[1] https://gitlab.gnome.org/GNOME/evolution-data-server/issues/137


-- Tim

>From bcd753f777687c52bba6b9bf4184879e69990118 Mon Sep 17 00:00:00 2001
From: Timothy Sample <address@hidden>
Date: Sun, 14 Jul 2019 23:47:44 -0400
Subject: [PATCH] gnu: evolution-data-server: Fix locale issue.

* gnu/packages/gnome.scm (evolution-data-server)[arguments]: Add a phase
that patches the source code to fix a locale issue.
---
 gnu/packages/gnome.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index eb251498e9..a34adc4006 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5168,6 +5168,21 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
                            "tests/libedata-cal/test-cal-cache-utils.c")
               (("/bin/rm") (which "rm")))
             #t))
+         ;; This phase fixes locale canonicalization and prevents a few test
+         ;; failures.  The bug has been reported upstream:
+         ;; <https://gitlab.gnome.org/GNOME/evolution-data-server/issues/137>.
+         (add-after 'unpack 'patch-locale-canonicalization
+           (lambda _
+             (substitute* "src/libedataserver/e-collator.c"
+               (("len = uloc_canonicalize \\(posix_locale,.*" x)
+                ((lambda (xs) (string-join xs "\n" 'suffix))
+                 (list
+                  "if (g_ascii_strcasecmp(posix_locale, \"C\") == 0 ||"
+                  "    g_ascii_strcasecmp(posix_locale, \"POSIX\") == 0) {"
+                  "  posix_locale = \"en_US_POSIX\";"
+                  "}"
+                  x))))
+             #t))
          (add-before 'configure 'dont-override-rpath
            (lambda _
              (substitute* "CMakeLists.txt"
-- 
2.22.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]