gnu: evolution-data-server: Fix locale handling.

* gnu/packages/gnome.scm (evolution-data-server)[arguments]: Add a phase
that patches the source code to fix a locale handling issue.
This commit is contained in:
Timothy Sample 2019-07-14 23:47:44 -04:00
parent 464a29d3d7
commit d619686250
No known key found for this signature in database
GPG key ID: 2AC6A5EC1C357C59

View file

@ -5211,6 +5211,22 @@ (define-public evolution-data-server
"tests/libedata-cal/test-cal-cache-utils.c")
(("/bin/rm") (which "rm")))
#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
(lambda _
(substitute* "CMakeLists.txt"