diff options
author | Ulrich Müller <ulm@gentoo.org> | 2018-03-15 06:19:23 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2018-03-15 06:20:00 +0100 |
commit | af2a402ec7449348b50332919a66e54b552d6da0 (patch) | |
tree | abe2d4462151667b2e743df42086cdb6ffa29d26 /media-libs/fontconfig | |
parent | sys-apps/openrc: 0.35.5 bump (diff) | |
download | gentoo-af2a402ec7449348b50332919a66e54b552d6da0.tar.gz gentoo-af2a402ec7449348b50332919a66e54b552d6da0.tar.bz2 gentoo-af2a402ec7449348b50332919a66e54b552d6da0.zip |
media-libs/fontconfig: Do not call setlocale in the library.
Patch from upstream.
https://bugs.freedesktop.org/show_bug.cgi?id=105492
Closes: https://bugs.gentoo.org/650332
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'media-libs/fontconfig')
-rw-r--r-- | media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch | 200 | ||||
-rw-r--r-- | media-libs/fontconfig/fontconfig-2.13.0-r2.ebuild (renamed from media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild) | 0 |
2 files changed, 170 insertions, 30 deletions
diff --git a/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch b/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch index 70868b1abc11..002e493a409e 100644 --- a/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch +++ b/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch @@ -1,37 +1,177 @@ https://bugs.gentoo.org/650332 +Do not set locale in the library. +Patch from upstream. -From 923b5be626a6e03fbaeee0b5cd6d0246c2f8f36f Mon Sep 17 00:00:00 2001 -From: Akira TAGOH <akira@tagoh.org> -Date: Wed, 14 Mar 2018 12:35:05 +0900 -Subject: [PATCH] Do not override locale if already set by app - -https://bugs.freedesktop.org/show_bug.cgi?id=105492 ---- - src/fccfg.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/fccfg.c b/src/fccfg.c -index eb0b76d..e311f17 100644 +--- a/fc-cache/fc-cache.c ++++ b/fc-cache/fc-cache.c +@@ -41,6 +41,7 @@ + #include <fcntl.h> + #include <dirent.h> + #include <string.h> ++#include <locale.h> + + #if defined (_WIN32) + #define STRICT +@@ -302,6 +303,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "Efrsy:Vvh", longopts, NULL)) != -1) + #else +--- a/fc-cat/fc-cat.c ++++ b/fc-cat/fc-cat.c +@@ -40,6 +40,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <errno.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -271,6 +272,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "Vvrh", longopts, NULL)) != -1) + #else +--- a/fc-conflist/fc-conflist.c ++++ b/fc-conflist/fc-conflist.c +@@ -38,6 +38,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -102,6 +103,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1) + #else +--- a/fc-list/fc-list.c ++++ b/fc-list/fc-list.c +@@ -27,6 +27,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + #ifdef HAVE_CONFIG_H + #include <config.h> + #else +@@ -117,6 +118,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "vbf:qVh", longopts, NULL)) != -1) + #else +--- a/fc-match/fc-match.c ++++ b/fc-match/fc-match.c +@@ -36,6 +36,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -121,6 +122,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "asvbf:Vh", longopts, NULL)) != -1) + #else +--- a/fc-pattern/fc-pattern.c ++++ b/fc-pattern/fc-pattern.c +@@ -36,6 +36,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -111,6 +112,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "cdf:Vh", longopts, NULL)) != -1) + #else +--- a/fc-query/fc-query.c ++++ b/fc-query/fc-query.c +@@ -39,6 +39,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -115,6 +116,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "i:bf:Vh", longopts, NULL)) != -1) + #else +--- a/fc-scan/fc-scan.c ++++ b/fc-scan/fc-scan.c +@@ -39,6 +39,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -110,6 +111,7 @@ + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "bf:Vh", longopts, NULL)) != -1) + #else --- a/src/fccfg.c +++ b/src/fccfg.c -@@ -45,11 +45,16 @@ retry_locale: - is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized); - if (!is_locale_initialized) - { -+ char *loc; -+ - is_locale_initialized = FcTrue; - if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL, - (void *)(intptr_t) is_locale_initialized)) - goto retry_locale; +@@ -26,7 +26,6 @@ + + #include "fcint.h" + #include <dirent.h> +-#include <locale.h> + #include <sys/types.h> + + #if defined (_WIN32) && !defined (R_OK) +@@ -39,18 +38,6 @@ + FcConfigEnsure (void) + { + FcConfig *config; +- FcBool is_locale_initialized; +- static void *static_is_locale_initialized; +-retry_locale: +- is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized); +- if (!is_locale_initialized) +- { +- is_locale_initialized = FcTrue; +- if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL, +- (void *)(intptr_t) is_locale_initialized)) +- goto retry_locale; - setlocale (LC_ALL, ""); -+ -+ loc = setlocale (LC_ALL, NULL); -+ if (!loc || strcmp (loc, "C") == 0) -+ setlocale (LC_ALL, ""); - } +- } retry_config: config = fc_atomic_ptr_get (&_fcConfig); --- -2.16.2 - + if (!config) diff --git a/media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild b/media-libs/fontconfig/fontconfig-2.13.0-r2.ebuild index 12d1cab673b6..12d1cab673b6 100644 --- a/media-libs/fontconfig/fontconfig-2.13.0-r1.ebuild +++ b/media-libs/fontconfig/fontconfig-2.13.0-r2.ebuild |