icu: bump version

This commit is contained in:
LEAN-ESX 2020-02-24 03:00:01 -08:00
parent 49a10f02d8
commit 1b1d0b83e4
4 changed files with 119 additions and 12 deletions

View File

@ -8,23 +8,26 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icu4c
PKG_VERSION:=61.1
PKG_RELEASE:=1
MAJOR_VERSION:=65
MINOR_VERSION:=1
PKG_VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION)
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-61_1-src.tgz
PKG_SOURCE_URL:=http://download.icu-project.org/files/$(PKG_NAME)/$(PKG_VERSION)
PKG_HASH:=d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef
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)
PKG_HASH:=53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948
PKG_LICENSE:=ICU-1.8.1+
PKG_LICENSE:=ICU
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:icu-project:international_components_for_unicode
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=icu/host
HOST_BUILD_DEPENDS:=python3/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
@ -40,6 +43,37 @@ define Package/icu
DEPENDS:=+libstdcpp +libpthread
endef
define Package/icu/description
ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms and between C/C++ and Java software.
This package supports C/C++.
endef
define Package/icu-full-data
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Full ICU Data
URL:=http://icu-project.org
DEPENDS:=+icu
endef
define Package/icu-full-data/description
ICU makes use of a wide variety of data tables to provide many of its services. Examples include converter mapping tables, collation rules, transliteration rules, break iterator rules and dictionaries, and other locale data.
This package contains the complete data library provided by ICU.
A custom data library can be generated at http://apps.icu-project.org/datacustom/
endef
define Package/icu-data-tools
SECTION:=libs
CATEGORY:=Libraries
TITLE:=ICU Data manipulation tools
URL:=http://icu-project.org
DEPENDS:=+icu
endef
define Package/icu-data-tools/description
This package provides tools for manipulating ICU data.
endef
CONFIGURE_CMD:= ./runConfigureICU
CONFIGURE_ARGS:= \
Linux/gcc \
@ -57,7 +91,7 @@ CONFIGURE_ARGS:= \
--disable-tracing \
--disable-extras \
--enable-dyload \
--disable-tools \
--with-data-packaging=archive \
--disable-tests \
--disable-samples \
--with-cross-build="$(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)" \
@ -78,6 +112,11 @@ HOST_CONFIGURE_ARGS:= \
--enable-dyload \
--prefix=$(STAGING_DIR_HOSTPKG)
define Build/Prepare
$(call Build/Prepare/Default)
mkdir -p $(PKG_BUILD_DIR)/data/out
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
@ -105,5 +144,20 @@ define Package/icu/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,icu))
define Package/icu-full-data/install
$(INSTALL_DIR) $(1)/usr/share/icu/$(PKG_VERSION)
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/icu/$(PKG_VERSION)/icudt*.dat \
$(1)/usr/share/icu/$(PKG_VERSION)/
endef
define Package/icu-data-tools/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
endef
$(eval $(call HostBuild))
$(eval $(call BuildPackage,icu))
$(eval $(call BuildPackage,icu-full-data))
$(eval $(call BuildPackage,icu-data-tools))

View File

@ -2,11 +2,11 @@ diff --git a/Makefile.in b/Makefile.in
index 9db6c52..6aa2273 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -186,7 +186,6 @@ install-icu: $(INSTALLED_BUILT_FILES)
@@ -190,7 +190,6 @@ install-icu: $(INSTALLED_BUILT_FILES)
$(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh
@$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig
$(INSTALL_DATA) $(ALL_PKGCONFIG_FILES) $(DESTDIR)$(libdir)/pkgconfig/
- $(INSTALL_DATA) $(top_srcdir)/../LICENSE $(DESTDIR)$(pkgdatadir)/LICENSE
ifeq ($(INSTALL_ICU_CONFIG),true)
$(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config
$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc
$(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir)/pkgdata.inc
endif

View File

@ -0,0 +1,13 @@
--- a/runConfigureICU
+++ b/runConfigureICU
@@ -239,8 +239,8 @@
THE_COMP="the GNU C++"
CC=gcc; export CC
CXX=g++; export CXX
- RELEASE_CFLAGS='-O3'
- RELEASE_CXXFLAGS='-O3'
+ RELEASE_CFLAGS=' '
+ RELEASE_CXXFLAGS=' '
DEBUG_CFLAGS='-g'
DEBUG_CXXFLAGS='-g'
;;

View File

@ -0,0 +1,40 @@
From 8fda72f6d8e442c5382f21cdd884e2c962bb53bd Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Wed, 11 Dec 2019 13:25:32 -0800
Subject: [PATCH] ICU-20877 i18n: Don't use C++11 math
It's not available with some libc implementations. Specifically,
BIONIC and uClibc-ng. uprv_ variants are available.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
i18n/decimfmt.cpp | 2 +-
i18n/number_decimalquantity.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/i18n/decimfmt.cpp b/i18n/decimfmt.cpp
index 4015250e273..0cbaca7e099 100644
--- a/i18n/decimfmt.cpp
+++ b/i18n/decimfmt.cpp
@@ -1801,7 +1801,7 @@ bool DecimalFormat::fastFormatDouble(double input, UnicodeString& output) const
return false;
}
if (std::isnan(input)
- || std::trunc(input) != input
+ || uprv_trunc(input) != input
|| input <= INT32_MIN
|| input > INT32_MAX) {
return false;
diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp
index abbc23de032..778feb141b4 100644
--- a/i18n/number_decimalquantity.cpp
+++ b/i18n/number_decimalquantity.cpp
@@ -452,7 +452,7 @@ void DecimalQuantity::_setToDoubleFast(double n) {
for (; i <= -22; i += 22) n /= 1e22;
n /= DOUBLE_MULTIPLIERS[-i];
}
- auto result = static_cast<int64_t>(std::round(n));
+ auto result = static_cast<int64_t>(uprv_round(n));
if (result != 0) {
_setToLong(result);
scale -= fracLength;