summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-09-13 13:42:29 +0200
committerMichael Stahl <mstahl@redhat.com>2017-12-04 12:44:28 +0100
commitfbdb8df922080d4c1564be50e3c3ed36f338ad1e (patch)
tree41764e7436a166c6686f784227b6f9c0d478d4b5 /external
parentc8556086ad8560240d6e91cfd3fefad396288e36 (diff)
icu: do not include non-standardized xlocale.h if U_PLATFORM_IS_LINUX_BASED
... should be more platforms ... but be conservative. U_PLATFORM_IMPLEMENTS_POSIX does not hold what it promises. "The file and this data structure is not standardized. Don't rely on it. It can go away without warning." ... And since glibc 2.26 it's gone. https://ssl.icu-project.org/trac/ticket/13329 Change-Id: I4c1f6130571f5d094cb35ce70e4d333763cee32a (cherry picked from commit 9e399bc613bb4ea1470bd52c64af920d4e9bc39b) Reviewed-on: https://gerrit.libreoffice.org/45786 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'external')
-rw-r--r--external/icu/UnpackedTarball_icu.mk1
-rw-r--r--external/icu/icu4c-59-icu13329-xlocale.patch.114
2 files changed, 15 insertions, 0 deletions
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index cffdcdec3cc8..304d71399561 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -28,6 +28,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/khmerbreakengine.patch \
external/icu/icu4c-changeset-39671.patch.1 \
external/icu/icu4c-changeset-40324.patch.1 \
+ external/icu/icu4c-59-icu13329-xlocale.patch.1 \
))
$(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/icu4c-59-icu13329-xlocale.patch.1 b/external/icu/icu4c-59-icu13329-xlocale.patch.1
new file mode 100644
index 000000000000..34d4eb56d884
--- /dev/null
+++ b/external/icu/icu4c-59-icu13329-xlocale.patch.1
@@ -0,0 +1,14 @@
+# xlocale.h is gone with glibc 2.26 and should never had been included.
+# https://ssl.icu-project.org/trac/ticket/13329
+diff -ur icu.org/source/i18n/digitlst.cpp icu/source/i18n/digitlst.cpp
+--- icu.org/source/i18n/digitlst.cpp 2017-01-20 01:20:31.000000000 +0100
++++ icu/source/i18n/digitlst.cpp 2017-09-13 13:25:59.980160603 +0200
+@@ -63,6 +63,8 @@
+ #if U_USE_STRTOD_L && !U_PLATFORM_USES_ONLY_WIN32_API
+ # if U_PLATFORM == U_PF_CYGWIN
+ # include <locale.h>
++# elif U_PLATFORM_IS_LINUX_BASED
++# include <ctype.h> // should be for all POSIX.2008 compliant platforms, but..
+ # else
+ # include <xlocale.h>
+ # endif