From 9e399bc613bb4ea1470bd52c64af920d4e9bc39b Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Wed, 13 Sep 2017 13:42:29 +0200 Subject: 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 --- external/icu/UnpackedTarball_icu.mk | 1 + external/icu/icu4c-59-icu13329-xlocale.patch.1 | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 external/icu/icu4c-59-icu13329-xlocale.patch.1 diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index 1ba15a448c75..7fa891f07d6d 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -35,6 +35,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\ external/icu/icu4c-59-werror-undef.patch.1 \ external/icu/icu4c-59-werror-shadow.patch.1 \ external/icu/icu4c-iOS.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..93e14d23fa5a --- /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 + # if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN + # include ++# elif U_PLATFORM_IS_LINUX_BASED ++# include // should be for all POSIX.2008 compliant platforms, but.. + # else + # include + # endif -- cgit