From ba4f02b1f04e9b29a9eb8c3ce317aef59e04e19b Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 1 May 2019 12:35:37 -0700 Subject: [PATCH] icu: Fix compilation with uClibc-ng uClibc-ng does not define these math functions in math.h , only in tgmath.h. Therefore the cmath header will not work. Signed-off-by: Rosen Penev --- libs/icu/Makefile | 2 +- libs/icu/patches/020-uClibc-ng.patch | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 libs/icu/patches/020-uClibc-ng.patch diff --git a/libs/icu/Makefile b/libs/icu/Makefile index 9b2d20b727..e7ca37bf54 100644 --- a/libs/icu/Makefile +++ b/libs/icu/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=icu4c MAJOR_VERSION:=64 MINOR_VERSION:=2 PKG_VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION) -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(MAJOR_VERSION)_$(MINOR_VERSION)-src.tgz PKG_SOURCE_URL:=https://github.com/unicode-org/icu/releases/download/release-$(MAJOR_VERSION)-$(MINOR_VERSION) diff --git a/libs/icu/patches/020-uClibc-ng.patch b/libs/icu/patches/020-uClibc-ng.patch new file mode 100644 index 0000000000..2d2a3e7b05 --- /dev/null +++ b/libs/icu/patches/020-uClibc-ng.patch @@ -0,0 +1,22 @@ +--- a/i18n/decimfmt.cpp ++++ b/i18n/decimfmt.cpp +@@ -1812,7 +1812,7 @@ bool DecimalFormat::fastFormatDouble(double input, UnicodeString& output) const + return false; + } + if (std::isnan(input) +- || std::trunc(input) != input ++ || trunc(input) != input + || input <= INT32_MIN + || input > INT32_MAX) { + return false; +--- a/i18n/number_decimalquantity.cpp ++++ b/i18n/number_decimalquantity.cpp +@@ -446,7 +446,7 @@ void DecimalQuantity::_setToDoubleFast(double n) { + for (; i <= -22; i += 22) n /= 1e22; + n /= DOUBLE_MULTIPLIERS[-i]; + } +- auto result = static_cast(std::round(n)); ++ auto result = static_cast(round(n)); + if (result != 0) { + _setToLong(result); + scale -= fracLength;