summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-09-13 13:42:29 +0200
committerJan Holesovsky <kendy@collabora.com>2017-12-18 11:27:33 +0100
commit5bbe46ee00921586b9b72297e7be9048e0e921e9 (patch)
treed551a8d8cab8fd0a8b4ac0bbef9fbcc469d73470
parent2bdfe1355c4c571e71bd4197d5814c6e15fb8db7 (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/46584 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r--external/icu/UnpackedTarball_icu.mk1
-rw-r--r--external/icu/icu4c-58-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..1254d6fb993c 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -29,6 +29,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-58-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-58-icu13329-xlocale.patch.1 b/external/icu/icu4c-58-icu13329-xlocale.patch.1
new file mode 100644
index 000000000000..d9168c1bd1eb
--- /dev/null
+++ b/external/icu/icu4c-58-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 2016-10-17 10:40:38.000000000 +0530
++++ icu/source/i18n/digitlst.cpp 2017-12-16 10:26:56.477053596 +0530
+@@ -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