gnu: evolution-data-server: Use a proper patch for locales.
See <https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00265.html>. * gnu/packages/patches/evolution-data-server-locales.patch: New file. * gnu/local.mk: Add it. * gnu/packages/gnome.scm (evolution-data-server): Replace the 'patch-locale-canonicalization' phase with the new patch.
This commit is contained in:
parent
da9adfc7f7
commit
e1f174ae28
|
@ -780,6 +780,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/erlang-man-path.patch \
|
%D%/packages/patches/erlang-man-path.patch \
|
||||||
%D%/packages/patches/eudev-rules-directory.patch \
|
%D%/packages/patches/eudev-rules-directory.patch \
|
||||||
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
||||||
|
%D%/packages/patches/evolution-data-server-locales.patch \
|
||||||
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
||||||
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
||||||
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
|
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
|
||||||
|
|
|
@ -5162,6 +5162,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
(version-major+minor version) "/"
|
(version-major+minor version) "/"
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
|
(patches (search-patches "evolution-data-server-locales.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli"))))
|
"1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli"))))
|
||||||
|
@ -5205,22 +5206,6 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
||||||
"tests/libedata-cal/test-cal-cache-utils.c")
|
"tests/libedata-cal/test-cal-cache-utils.c")
|
||||||
(("/bin/rm") (which "rm")))
|
(("/bin/rm") (which "rm")))
|
||||||
#t))
|
#t))
|
||||||
;; This phase fixes locale canonicalization when using newer
|
|
||||||
;; versions of ICU. The bug has been fixed upstream, and
|
|
||||||
;; should appear starting in version 3.33.5.
|
|
||||||
;; <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 (posix_locale && ("
|
|
||||||
" 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
|
(add-before 'configure 'dont-override-rpath
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "CMakeLists.txt"
|
(substitute* "CMakeLists.txt"
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
This patch fixes locale canonicalization when using newer versions of
|
||||||
|
ICU. It comes from the upstream repo, and should appear starting in
|
||||||
|
version 3.33.5.
|
||||||
|
|
||||||
|
From fe4ac94ce3c14f200e049a5d102fc0e4b811c71e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Milan Crha <mcrha@redhat.com>
|
||||||
|
Date: Tue, 16 Jul 2019 07:22:07 +0200
|
||||||
|
Subject: [PATCH] I#137 - POSIX locale tests fail with ICU 64.x
|
||||||
|
|
||||||
|
Closes https://gitlab.gnome.org/GNOME/evolution-data-server/issues/137
|
||||||
|
---
|
||||||
|
src/libedataserver/e-collator.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/libedataserver/e-collator.c b/src/libedataserver/e-collator.c
|
||||||
|
index 718eac5da..ec2cf7951 100644
|
||||||
|
--- a/src/libedataserver/e-collator.c
|
||||||
|
+++ b/src/libedataserver/e-collator.c
|
||||||
|
@@ -132,6 +132,11 @@ canonicalize_locale (const gchar *posix_locale,
|
||||||
|
gint len;
|
||||||
|
const gchar *collation_type = NULL;
|
||||||
|
|
||||||
|
+ if (posix_locale && (
|
||||||
|
+ g_ascii_strcasecmp (posix_locale, "C") == 0 ||
|
||||||
|
+ g_ascii_strcasecmp (posix_locale, "POSIX") == 0))
|
||||||
|
+ posix_locale = "en_US_POSIX";
|
||||||
|
+
|
||||||
|
len = uloc_canonicalize (posix_locale, locale_buffer, LOCALE_BUFFER_LEN, &status);
|
||||||
|
|
||||||
|
if (U_FAILURE (status)) {
|
||||||
|
--
|
||||||
|
2.22.0
|
||||||
|
|
Loading…
Reference in New Issue