summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/icu
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2019-04-18 17:59:14 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-04-23 23:30:20 +0100
commit1bba6502c1b07dbfb1c802f19a47f6e0f83d893e (patch)
tree27b46c308c90eb65f591eb95b65a2440f0253920 /meta/recipes-support/icu
parent9fe634f79745bd9a256f4210599583c0327b7c38 (diff)
downloadpoky-1bba6502c1b07dbfb1c802f19a47f6e0f83d893e.tar.gz
icu: update to 64.1
License-update: copyright years changed. Drop upstreamed/backported patches. Add a patch to fix big endian build failure. (From OE-Core rev: 929d37831624fce84580466c4408217c766410f0) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/icu')
-rw-r--r--meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch28
-rw-r--r--meta/recipes-support/icu/icu/0002-Add-ARC-support.patch27
-rw-r--r--meta/recipes-support/icu/icu/CVE-2018-18928.patch63
-rw-r--r--meta/recipes-support/icu/icu_64.1.bb (renamed from meta/recipes-support/icu/icu_63.1.bb)9
4 files changed, 32 insertions, 95 deletions
diff --git a/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch b/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch
new file mode 100644
index 0000000000..efb27ae4e3
--- /dev/null
+++ b/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch
@@ -0,0 +1,28 @@
1From 9be0b489a94b57419202c552022f25cb95bfac51 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 17 Apr 2019 16:41:58 +0200
4Subject: [PATCH] Fix big-endian build
5
6Bug-report: https://unicode-org.atlassian.net/browse/ICU-20533
7Patch taken from: https://bugs.gentoo.org/682170
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 data/Makefile.in | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
14
15diff --git a/source/data/Makefile.in b/source/data/Makefile.in
16index 778b6c7..67203e7 100644
17--- a/data/Makefile.in
18+++ b/data/Makefile.in
19@@ -148,7 +148,8 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION
20 # and convert it to the current type.
21 ifneq ($(ICUDATA_ARCHIVE),)
22 ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
23-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
24+$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)
25+ $(MKINSTALLDIRS) $(OUTDIR)
26 $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
27 endif
28 else
diff --git a/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch b/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
deleted file mode 100644
index 20e3d8356c..0000000000
--- a/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From fcfd57105b4bdb30d906df152ef01748fa95daff Mon Sep 17 00:00:00 2001
2From: Alexey Brodkin <abrodkin@synopsys.com>
3Date: Thu, 13 Sep 2018 17:13:20 +0300
4Subject: [PATCH] icu: Add ARC support
5
6Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
7
8Upstream-Status: Submitted [ https://github.com/unicode-org/icu/pull/149 ]
9---
10 i18n/double-conversion-utils.h | 2 +-
11 1 files changed, 1 insertions(+), 1 deletions(-)
12
13diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
14index 57fc49b231a3..0bd3e8340673 100644
15--- a/i18n/double-conversion-utils.h
16+++ b/i18n/double-conversion-utils.h
17@@ -86,7 +86,7 @@ inline void abort_noreturn() { abort(); }
18 defined(__SH4__) || defined(__alpha__) || \
19 defined(_MIPS_ARCH_MIPS32R2) || \
20 defined(__AARCH64EL__) || defined(__aarch64__) || \
21- defined(__riscv)
22+ defined(__riscv) || defined(__arc__)
23 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
24 #elif defined(__mc68000__)
25 #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
262.17.1
27
diff --git a/meta/recipes-support/icu/icu/CVE-2018-18928.patch b/meta/recipes-support/icu/icu/CVE-2018-18928.patch
deleted file mode 100644
index 19c50e4e76..0000000000
--- a/meta/recipes-support/icu/icu/CVE-2018-18928.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1CVE: CVE-2018-18928
2Upstream-Status: Backport
3Signed-off-by: Ross Burton <ross.burton@intel.com>
4
5From 53d8c8f3d181d87a6aa925b449b51c4a2c922a51 Mon Sep 17 00:00:00 2001
6From: Shane Carr <shane@unicode.org>
7Date: Mon, 29 Oct 2018 23:52:44 -0700
8Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing.
9
10---
11 i18n/fmtable.cpp | 2 +-
12 i18n/number_decimalquantity.cpp | 5 ++++-
13 test/intltest/numfmtst.cpp | 8 ++++++++
14 6 files changed, 31 insertions(+), 4 deletions(-)
15
16diff --git a/i18n/fmtable.cpp b/i18n/fmtable.cpp
17index 45c7024fc29..8601d95f4a6 100644
18--- a/i18n/fmtable.cpp
19+++ b/i18n/fmtable.cpp
20@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) {
21 // not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?).
22 if (fDecimalQuantity->isZero()) {
23 fDecimalStr->append("0", -1, status);
24- } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) {
25+ } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) {
26 fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status);
27 } else {
28 fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status);
29diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp
30index 47b930a564b..d5dd7ae694c 100644
31--- a/i18n/number_decimalquantity.cpp
32+++ b/i18n/number_decimalquantity.cpp
33@@ -898,7 +898,10 @@ UnicodeString DecimalQuantity::toScientificString() const {
34 }
35 result.append(u'E');
36 int32_t _scale = upperPos + scale;
37- if (_scale < 0) {
38+ if (_scale == INT32_MIN) {
39+ result.append({u"-2147483648", -1});
40+ return result;
41+ } else if (_scale < 0) {
42 _scale *= -1;
43 result.append(u'-');
44 } else {
45diff --git a/test/intltest/numfmtst.cpp b/test/intltest/numfmtst.cpp
46index 34355939113..8d52dc122bf 100644
47--- a/test/intltest/numfmtst.cpp
48+++ b/test/intltest/numfmtst.cpp
49@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() {
50 assertEquals(u"Should not overflow and should parse only the first exponent",
51 u"1E-2147483647",
52 {sp.data(), sp.length(), US_INV});
53+
54+ // Test edge case overflow of exponent
55+ result = Formattable();
56+ nf->parse(u".0003e-2147483644", result, status);
57+ sp = result.getDecimalNumber(status);
58+ assertEquals(u"Should not overflow",
59+ u"3E-2147483648",
60+ {sp.data(), sp.length(), US_INV});
61 }
62
63 void NumberFormatTest::Test13840_ParseLongStringCrash() {
diff --git a/meta/recipes-support/icu/icu_63.1.bb b/meta/recipes-support/icu/icu_64.1.bb
index 961f022ad7..9a5f8a3b09 100644
--- a/meta/recipes-support/icu/icu_63.1.bb
+++ b/meta/recipes-support/icu/icu_64.1.bb
@@ -1,6 +1,6 @@
1require icu.inc 1require icu.inc
2 2
3LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819" 3LIC_FILES_CHKSUM = "file://../LICENSE;md5=8bc5d32052a96f214cbdd1e53dfc935d"
4 4
5def icu_download_version(d): 5def icu_download_version(d):
6 pvsplit = d.getVar('PV').split('.') 6 pvsplit = d.getVar('PV').split('.')
@@ -16,15 +16,14 @@ BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV
16SRC_URI = "${BASE_SRC_URI} \ 16SRC_URI = "${BASE_SRC_URI} \
17 file://icu-pkgdata-large-cmd.patch \ 17 file://icu-pkgdata-large-cmd.patch \
18 file://fix-install-manx.patch \ 18 file://fix-install-manx.patch \
19 file://0002-Add-ARC-support.patch \ 19 file://0001-Fix-big-endian-build.patch \
20 file://CVE-2018-18928.patch \
21 " 20 "
22 21
23SRC_URI_append_class-target = "\ 22SRC_URI_append_class-target = "\
24 file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ 23 file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
25 " 24 "
26SRC_URI[md5sum] = "9e40f6055294284df958200e308bce50" 25SRC_URI[md5sum] = "f150be2231c13bb45206d79e0242372b"
27SRC_URI[sha256sum] = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d" 26SRC_URI[sha256sum] = "92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6"
28 27
29UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" 28UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
30UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" 29UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/"