diff options
Diffstat (limited to 'media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch')
-rw-r--r-- | media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch | 177 |
1 files changed, 177 insertions, 0 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 new file mode 100644 index 000000000000..002e493a409e --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.13.0-locale.patch @@ -0,0 +1,177 @@ +https://bugs.gentoo.org/650332 +Do not set locale in the library. +Patch from upstream. + +--- 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 +@@ -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, ""); +- } + retry_config: + config = fc_atomic_ptr_get (&_fcConfig); + if (!config) |