guix/gnu/packages/patches/evolution-data-server-local...

34 lines
1.1 KiB
Diff

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