summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-09-13 13:42:29 +0200
committerMichael Stahl <Michael.Stahl@cib.de>2018-09-13 11:27:58 +0200
commit3bee5917569ca8e6ee3b086458f5b1a917b88ca1 (patch)
tree7b075372d536d2880d32344a42465189d1344808
parent700df752fc831945e0f49bf3e6e2a52aeebefb0c (diff)
icu: do not include non-standardized xlocale.h if U_PLATFORM_IS_LINUX_BASEDdistro/cib/libreoffice-5-3
... 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 (cherry picked from commit 9e399bc613bb4ea1470bd52c64af920d4e9bc39b) Change-Id: I4c1f6130571f5d094cb35ce70e4d333763cee32a
-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 f1658a229586..eb3040185d0f 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -27,6 +27,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.diff) \
$(if $(filter EMSCRIPTEN,$(OS)),external/icu/icu4c-emscripten.patch.1) \
external/icu/khmerbreakengine.patch \
+ external/icu/icu4c-59-icu13329-xlocale.patch.1 \
external/icu/icu4c-changeset-39671.patch.1 \
external/icu/icu4c-changeset-40324.patch.1 \
))
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