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 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