diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | download.lst | 8 | ||||
-rw-r--r-- | external/icu/UnpackedTarball_icu.mk | 4 | ||||
-rw-r--r-- | external/icu/icu4c-khmerbreakengine.patch.1 | 28 | ||||
-rw-r--r-- | external/icu/ubsan.patch.1 | 38 |
5 files changed, 19 insertions, 61 deletions
diff --git a/configure.ac b/configure.ac index 34e8d0535d65..1c54aeac5d3b 100644 --- a/configure.ac +++ b/configure.ac @@ -10403,7 +10403,7 @@ SYSTEM_GENBRK= SYSTEM_GENCCODE= SYSTEM_GENCMN= -ICU_MAJOR=68 +ICU_MAJOR=69 ICU_MINOR=1 ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE" ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE" diff --git a/download.lst b/download.lst index c0940921376e..e43c9cfe86e8 100644 --- a/download.lst +++ b/download.lst @@ -112,10 +112,10 @@ export HUNSPELL_SHA256SUM := 57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b export HUNSPELL_TARBALL := hunspell-1.7.0.tar.gz export HYPHEN_SHA256SUM := 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705 export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz -export ICU_SHA256SUM := a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d -export ICU_TARBALL := icu4c-68_1-src.tgz -export ICU_DATA_SHA256SUM := 03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510 -export ICU_DATA_TARBALL := icu4c-68_1-data.zip +export ICU_SHA256SUM := 4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745 +export ICU_TARBALL := icu4c-69_1-src.tgz +export ICU_DATA_SHA256SUM := 4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf +export ICU_DATA_TARBALL := icu4c-69_1-data.zip export JFREEREPORT_FLOW_ENGINE_SHA256SUM := 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd export JFREEREPORT_FLOW_ENGINE_TARBALL := ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip export JFREEREPORT_FLUTE_SHA256SUM := 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133 diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index a59d6e8b97d7..2e455a7dcc24 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -36,12 +36,12 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\ external/icu/c++20-comparison.patch \ external/icu/ubsan.patch.1 \ external/icu/Wdeprecated-copy-dtor.patch \ - external/icu/icu4c-khmerbreakengine.patch.1 \ external/icu/strict_ansi.patch \ external/icu/icu4c-windows-cygwin-cross.patch.1 \ + external/icu/icu4c-emscripten-cross.patch.1 \ + external/icu/icu4c-khmerbreakengine.patch.1 \ external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \ $(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \ - external/icu/icu4c-emscripten-cross.patch.1 \ )) $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict)) diff --git a/external/icu/icu4c-khmerbreakengine.patch.1 b/external/icu/icu4c-khmerbreakengine.patch.1 index 272d0b8ab204..0ce46ac473ec 100644 --- a/external/icu/icu4c-khmerbreakengine.patch.1 +++ b/external/icu/icu4c-khmerbreakengine.patch.1 @@ -1,6 +1,6 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp ---- icu.org/source/common/dictbe.cpp 2020-04-22 22:04:20.000000000 +0200 -+++ icu/source/common/dictbe.cpp 2020-05-11 18:55:07.702282061 +0200 +--- icu.org/source/common/dictbe.cpp 2021-04-08 02:10:27.000000000 +0200 ++++ icu/source/common/dictbe.cpp 2021-05-11 22:41:25.504455054 +0200 @@ -32,7 +32,19 @@ ****************************************************************** */ @@ -216,7 +216,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp // Dictionary leaves text after longest prefix, not longest word. Back up. if (count <= 0) { utext_setNativeIndex(text, start); -@@ -815,53 +990,30 @@ +@@ -803,53 +978,30 @@ * KhmerBreakEngine */ @@ -282,7 +282,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp UTRACE_EXIT_STATUS(status); } -@@ -874,180 +1026,204 @@ +@@ -862,176 +1014,204 @@ int32_t rangeStart, int32_t rangeEnd, UVector32 &foundBreaks ) const { @@ -357,13 +357,9 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp - goto foundBest; - } - do { -- int32_t wordsMatched = 1; - if (words[(wordsFound + 1) % KHMER_LOOKAHEAD].candidates(text, fDictionary, rangeEnd) > 0) { -- if (wordsMatched < 2) { -- // Followed by another dictionary word; mark first word as a good candidate -- words[wordsFound % KHMER_LOOKAHEAD].markCurrent(); -- wordsMatched = 2; -- } +- // Followed by another dictionary word; mark first word as a good candidate +- words[wordsFound % KHMER_LOOKAHEAD].markCurrent(); + utext_setNativeIndex(text, rangeStart); + int32_t numCodePts = rangeEnd - rangeStart; + // bestSnlp[i] is the snlp of the best segmentation of the first i @@ -639,8 +635,8 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp #if !UCONFIG_NO_NORMALIZATION diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h ---- icu.org/source/common/dictbe.h 2020-04-22 22:04:20.000000000 +0200 -+++ icu/source/common/dictbe.h 2020-05-11 19:08:24.754634732 +0200 +--- icu.org/source/common/dictbe.h 2021-04-08 02:10:27.000000000 +0200 ++++ icu/source/common/dictbe.h 2021-05-11 22:37:49.753857647 +0200 @@ -34,7 +34,8 @@ * threads without synchronization.</p> */ @@ -757,8 +753,8 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h /** diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionarydata.cpp ---- icu.org/source/common/dictionarydata.cpp 2020-04-22 22:04:20.000000000 +0200 -+++ icu/source/common/dictionarydata.cpp 2020-05-11 18:50:43.703113749 +0200 +--- icu.org/source/common/dictionarydata.cpp 2021-04-08 02:10:27.000000000 +0200 ++++ icu/source/common/dictionarydata.cpp 2021-05-11 22:37:49.754857645 +0200 @@ -44,7 +44,7 @@ int32_t UCharsDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t limit, @@ -806,8 +802,8 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda if (values != NULL) { values[wordCount] = bt.getValue(); diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata.h ---- icu.org/source/common/dictionarydata.h 2020-04-22 22:04:20.000000000 +0200 -+++ icu/source/common/dictionarydata.h 2020-05-11 18:50:43.704113746 +0200 +--- icu.org/source/common/dictionarydata.h 2021-04-08 02:10:27.000000000 +0200 ++++ icu/source/common/dictionarydata.h 2021-05-11 22:37:49.754857645 +0200 @@ -21,6 +21,7 @@ #include "unicode/utext.h" #include "unicode/udata.h" diff --git a/external/icu/ubsan.patch.1 b/external/icu/ubsan.patch.1 index 1d7006347bd3..1c10f8cefcc2 100644 --- a/external/icu/ubsan.patch.1 +++ b/external/icu/ubsan.patch.1 @@ -1,41 +1,3 @@ ---- a/source/common/rbbitblb.cpp -+++ a/source/common/rbbitblb.cpp -@@ -1402,12 +1402,13 @@ - U_ASSERT (sd->fAccepting <= 255); - U_ASSERT (sd->fLookAhead <= 255); - U_ASSERT (0 <= sd->fTagsIdx && sd->fTagsIdx <= 255); -- row->r8.fAccepting = sd->fAccepting; -- row->r8.fLookAhead = sd->fLookAhead; -- row->r8.fTagsIdx = sd->fTagsIdx; -+ RBBIStateTableRow8 *row8 = reinterpret_cast<RBBIStateTableRow8 *>(row); -+ row8->fAccepting = sd->fAccepting; -+ row8->fLookAhead = sd->fLookAhead; -+ row8->fTagsIdx = sd->fTagsIdx; - for (col=0; col<catCount; col++) { - U_ASSERT (sd->fDtran->elementAti(col) <= kMaxStateFor8BitsTable); -- row->r8.fNextState[col] = sd->fDtran->elementAti(col); -+ row8->fNextState[col] = sd->fDtran->elementAti(col); - } - } else { - U_ASSERT (sd->fAccepting <= 0xffff); -@@ -1603,12 +1603,13 @@ - UnicodeString *rowString = (UnicodeString *)fSafeTable->elementAt(state); - RBBIStateTableRow *row = (RBBIStateTableRow *)(table->fTableData + state*table->fRowLen); - if (use8BitsForSafeTable()) { -- row->r8.fAccepting = 0; -- row->r8.fLookAhead = 0; -- row->r8.fTagsIdx = 0; -+ RBBIStateTableRow8 *row8 = reinterpret_cast<RBBIStateTableRow8 *>(row); -+ row8->fAccepting = 0; -+ row8->fLookAhead = 0; -+ row8->fTagsIdx = 0; - for (col=0; col<catCount; col++) { - U_ASSERT(rowString->charAt(col) <= kMaxStateFor8BitsTable); -- row->r8.fNextState[col] = static_cast<uint8_t>(rowString->charAt(col)); -+ row8->fNextState[col] = static_cast<uint8_t>(rowString->charAt(col)); - } - } else { - row->r16.fAccepting = 0; diff -ur icu.org/source/tools/genrb/rbutil.c icu/source/tools/genrb/rbutil.c --- icu.org/source/tools/genrb/rbutil.c 2020-10-28 22:21:12.000000000 +0100 +++ icu/source/tools/genrb/rbutil.c 2020-11-16 19:50:44.005119253 +0100 |