SHA256
1
0
forked from pool/icu

- Update to release 65.1

OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=111
This commit is contained in:
Jan Engelhardt 2019-10-05 16:37:01 +00:00 committed by Git OBS Bridge
parent efb42615a8
commit fb0317143d
14 changed files with 65 additions and 138 deletions

View File

@ -1,79 +0,0 @@
From 075cefb2e21f57f4cac1bc2868e93dd1b8c077cc Mon Sep 17 00:00:00 2001
From: "Steven R. Loomis" <srloomis@us.ibm.com>
Date: Thu, 25 Apr 2019 10:40:28 -0700
Subject: [PATCH] ICU-20575 fix broken default locale mapping for C.UTF-8
Regression was in 1afef30549d93c17bb966c6803d5d943cf055925
PR #418 [ICU-20187]
- We dropped the mapping from "C" in uloc_canonicalize,
but then putil did not handle cases where a codepage was
set (such as C.UTF-8).
- Add an additional check in uprv_getDefaultLocaleID() for
locales that end up as "C" or "POSIX" after removing codepage
suffix.
- Also fix regression where aa@bb would become aa__BB__BB
(incorrectly doubled __BB)
---
icu4c/source/common/putil.cpp | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/source/common/putil.cpp b/source/common/putil.cpp
index 532a0903cdd..289a8aaa141 100644
--- a/source/common/putil.cpp
+++ b/source/common/putil.cpp
@@ -1560,6 +1560,10 @@ static const char *uprv_getPOSIXIDForCategory(int category)
{
/* Nothing worked. Give it a nice POSIX default value. */
posixID = "en_US_POSIX";
+ // Note: this test will not catch 'C.UTF-8',
+ // that will be handled in uprv_getDefaultLocaleID().
+ // Leave this mapping here for the uprv_getPOSIXIDForDefaultCodepage()
+ // caller which expects to see "en_US_POSIX" in many branches.
}
return posixID;
}
@@ -1631,8 +1635,8 @@ The leftmost codepage (.xxx) wins.
}
// Copy the ID into owned memory.
- // Over-allocate in case we replace "@" with "__".
- char *correctedPOSIXLocale = static_cast<char *>(uprv_malloc(uprv_strlen(posixID) + 1 + 1));
+ // Over-allocate in case we replace "C" with "en_US_POSIX" (+10), + null termination
+ char *correctedPOSIXLocale = static_cast<char *>(uprv_malloc(uprv_strlen(posixID) + 10 + 1));
if (correctedPOSIXLocale == nullptr) {
return nullptr;
}
@@ -1641,11 +1645,18 @@ The leftmost codepage (.xxx) wins.
char *limit;
if ((limit = uprv_strchr(correctedPOSIXLocale, '.')) != nullptr) {
*limit = 0;
- if ((limit = uprv_strchr(correctedPOSIXLocale, '@')) != nullptr) {
- *limit = 0;
- }
+ }
+ if ((limit = uprv_strchr(correctedPOSIXLocale, '@')) != nullptr) {
+ *limit = 0;
}
+ if ((uprv_strcmp("C", correctedPOSIXLocale) == 0) // no @ variant
+ || (uprv_strcmp("POSIX", correctedPOSIXLocale) == 0)) {
+ // Raw input was C.* or POSIX.*, Give it a nice POSIX default value.
+ // (The "C"/"POSIX" case is handled in uprv_getPOSIXIDForCategory())
+ uprv_strcpy(correctedPOSIXLocale, "en_US_POSIX");
+ }
+
/* Note that we scan the *uncorrected* ID. */
const char *p;
if ((p = uprv_strrchr(posixID, '@')) != nullptr) {
@@ -1668,7 +1679,7 @@ The leftmost codepage (.xxx) wins.
if ((q = uprv_strchr(p, '.')) != nullptr) {
/* How big will the resulting string be? */
int32_t len = (int32_t)(uprv_strlen(correctedPOSIXLocale) + (q-p));
- uprv_strncat(correctedPOSIXLocale, p, q-p);
+ uprv_strncat(correctedPOSIXLocale, p, q-p); // do not include charset
correctedPOSIXLocale[len] = 0;
}
else {

View File

@ -1,4 +1,4 @@
libicu-suse64_2 libicu-suse65_1
libicu-devel libicu-devel
requires -libicu-<targettype> requires -libicu-<targettype>
requires "libicu-suse64_2-<targettype> = <version>" requires "libicu-suse65_1-<targettype> = <version>"

View File

@ -16,10 +16,10 @@ Index: icu/source/common/unicode/platform.h
=================================================================== ===================================================================
--- icu.orig/source/common/unicode/platform.h --- icu.orig/source/common/unicode/platform.h
+++ icu/source/common/unicode/platform.h +++ icu/source/common/unicode/platform.h
@@ -632,7 +632,7 @@ namespace std { @@ -649,7 +649,7 @@ namespace std {
#ifdef U_CHARSET_IS_UTF8
/* Use the predefined value. */ /* Use the predefined value. */
#elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED #elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED || \
U_PLATFORM == U_PF_EMSCRIPTEN
-# define U_CHARSET_IS_UTF8 1 -# define U_CHARSET_IS_UTF8 1
+# define U_CHARSET_IS_UTF8 0 +# define U_CHARSET_IS_UTF8 0
#else #else
@ -29,7 +29,7 @@ Index: icu/source/icudefs.mk.in
=================================================================== ===================================================================
--- icu.orig/source/icudefs.mk.in --- icu.orig/source/icudefs.mk.in
+++ icu/source/icudefs.mk.in +++ icu/source/icudefs.mk.in
@@ -41,7 +41,7 @@ PACKAGE_ICU_URL = "http://icu-project.or @@ -44,7 +44,7 @@ PACKAGE_ICU_URL = "http://icu-project.or
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
VERSION = @VERSION@ VERSION = @VERSION@
UNICODE_VERSION = @UNICODE_VERSION@ UNICODE_VERSION = @UNICODE_VERSION@

View File

@ -77,8 +77,8 @@ Index: icu/source/common/unicode/uvernum.h
@@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_ICU_VERSION_MAJOR_NUM 64 #define U_ICU_VERSION_MAJOR_NUM 65
+#define U_ICU_VERSION_MAJOR_STR "64" +#define U_ICU_VERSION_MAJOR_STR "65"
/** The current ICU minor version as an integer. /** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
@ -86,7 +86,7 @@ Index: icu/source/common/unicode/uvernum.h
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
-#define U_ICU_VERSION_SUFFIX _64 -#define U_ICU_VERSION_SUFFIX _65
+#define ___icu_version_expand(major, minor) _ ## major ## _ ## minor +#define ___icu_version_expand(major, minor) _ ## major ## _ ## minor
+#define ___icu_version_glue(major, minor) ___icu_version_expand(major, minor) +#define ___icu_version_glue(major, minor) ___icu_version_expand(major, minor)
+#define U_ICU_VERSION_SUFFIX ___icu_version_glue(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM) +#define U_ICU_VERSION_SUFFIX ___icu_version_glue(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
@ -97,8 +97,8 @@ Index: icu/source/common/unicode/uvernum.h
* *
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
-#define U_ICU_VERSION_SHORT "64" -#define U_ICU_VERSION_SHORT "65"
+#define U_ICU_VERSION_SHORT "64_2" +#define U_ICU_VERSION_SHORT "65_1"
#ifndef U_HIDE_INTERNAL_API #ifndef U_HIDE_INTERNAL_API
/** Data version in ICU4C. /** Data version in ICU4C.

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Oct 5 11:19:23 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to release 65.1
* Updated to CLDR 36 locale data with many additions and
corrections, and some new measurement units.
* The Java LocaleMatcher API is improved, and ported to C++.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Aug 21 08:31:23 CEST 2019 - kukuk@suse.de Wed Aug 21 08:31:23 CEST 2019 - kukuk@suse.de

View File

@ -16,9 +16,9 @@
# #
%define lname libicu-suse64_2 %define lname libicu-suse65_1
%define amajor 64 %define amajor 65
%define aversion 64_2 %define aversion 65_1
%ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k %ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k
%define be_platform 1 %define be_platform 1
%else %else
@ -26,7 +26,7 @@
%endif %endif
# icu-versioning.diff needs update for new Version too # icu-versioning.diff needs update for new Version too
Name: icu Name: icu
Version: 64.2 Version: 65.1
Release: 0 Release: 0
Summary: International Components for Unicode Summary: International Components for Unicode
License: ICU License: ICU
@ -34,10 +34,10 @@ Group: Development/Libraries/C and C++
URL: http://icu-project.org/ URL: http://icu-project.org/
#Git-Clone: https://github.com/unicode-org/icu.git #Git-Clone: https://github.com/unicode-org/icu.git
Source: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-src.tgz Source: https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz
Source2: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-src.tgz.asc Source2: https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz.asc
Source3: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-docs.zip Source3: https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-docs.zip
Source4: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-docs.zip.asc Source4: https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-docs.zip.asc
Source5: %name.keyring Source5: %name.keyring
Source100: baselibs.conf Source100: baselibs.conf
Patch2: icu-versioning.diff Patch2: icu-versioning.diff
@ -45,8 +45,6 @@ Patch3: icu-susevers.diff
Patch4: icu-fix-install-mode-files.diff Patch4: icu-fix-install-mode-files.diff
Patch6: icu-error-reporting.diff Patch6: icu-error-reporting.diff
Patch7: icu-avoid-x87-excess-precision.diff Patch7: icu-avoid-x87-excess-precision.diff
# https://unicode-org.atlassian.net/browse/ICU-20575
Patch100: 075cefb2e21f57f4cac1bc2868e93dd1b8c077cc.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: pkg-config BuildRequires: pkg-config

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6794cb1bcc8c526f955b695c3ed5a5a9b149f9e292d2430b60ddb1a2de636748
size 7773804

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE/6kSmhgNdlt6W+ocm0MrJ9G6INcFAly3hGIACgkQm0MrJ9G6
INe+CA/+IMLOo2n4D023jCYeF2zWwtBnTJxbr2R1SfHDdTZADRpQBSkhBtIz7Vr4
EgHlGqoHonnrMqBpRdWquTpEhUBTz+L2v16Y75THWw7ljAp2C7/ZtcAmsPae1T+v
d9VQtVysPQlHeUr52U9Tkmex/nGXbAprc14cvUfaDL+jsAQ+JJuXhMG0X43/+Jj3
ng8aYDT1NTMkWvIj2s8lKlY/BA9Ib+gjJBxZxrwrv/dQ3auuCcyb7hkPrXs/VyHp
8pldx5krosNhgq3xUVciWostnpK1Rf0CuoZC451xbbsU87TmCMncFa6FvHwMkBAc
kJu/6QkEaNn0Jbb11Y8eo42xrPQV/AlsQ1WFjW7Xco9j1cXmkSGq15Up8Me9QFe5
YFawtRcDTdzoFpNlPpvgF8zaLUMhw6XZMbwNu+EaSVVI1XHliUMvUeaCB91ifa+o
6M8E9A19EZQWIlAkPHwiRl4Gnlfcls65nFF9j2tLbOrCpBq3GKFQc2k1ttoXSgAV
yX2oEUwKi36/YEthcMytYO6jj4AYURndd+0gBc+s1pK0Yk/XRK9ljBSkcOL07U+I
I9MshzFgVmsIhDjQDltG1bDSl9ijw1psinL5h00zgLwKjXiFTxRg6U705PGqhAkx
91YCUqila9gabTzjqSzeNd8um68QjPB9uzeexxdzGfj6gBIuS3I=
=Kv4K
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:627d5d8478e6d96fc8c90fed4851239079a561a6a8b9e48b0892f24e82d31d6c
size 24013250

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE/6kSmhgNdlt6W+ocm0MrJ9G6INcFAly3hGIACgkQm0MrJ9G6
INegxw//VnVrLo9OGmCw6Jjt6k4dUz6ij5bztLVx706rsCtdFytABjuXl9rbY/Wr
77/05FvOCA7p1+Oz3BmbVbDBPxq+1WGwC+sy7vyuptm5faaARDzY/lV6aaJzRZrw
XimOXeCotvi7WOgkVzp598ThsQhcuUSyFyn+AuossZpgbVCagu+YD0ILH3RoVwQH
02z3uiMKExZgLjdx9NDLO3VhVBw5JUotfG3sez8cQgxjht87SezjSB1wYpBOwaDs
iJq0qWtOSS1lK4EsvjhFUT/+WzEhXzU7p23R7ZwUDaiXgNzt/o8Wf7+Y3dqBAMlK
VQBAgNEjxtW4oLCiHHtYcRLqsQEJ4/nkp0+ZQwzK+lVUfzgJW1+CFAzYigDtY1Wj
TrQkDRRsAap0YjyIlid4S0wuVPKwEsRUwjF+GyYumC1igh5SvsAcYrstScL6Yu0o
UDZZ7UXfYr/5fUc0BHNK3+MNN/xy/Fi+fyPGH2vYSrQ6xEyyqEbJ43Fc5qZAV1ml
g8Uu6pYVVM33q1Ss4fm1/K2RM3zS09hy8nSLD/qTm/hoERGSA7lygAryqd4hHJZ0
ZpqUOzaDaM/dApjZh+ktQNgYDKpRR9XeIIq1IZa5eSZj3M3cdiLT68qMVEgdaAUQ
NqsyERbWleqdelDUilJ1T7kdrQHfN9iSjmdtK8C5Th7DF6Gsb3c=
=GYeC
-----END PGP SIGNATURE-----

3
icu4c-65_1-docs.zip Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8fcc9b3d8a1092933b38541047c46743c14c4967310f830eeba2d92056e72163
size 7868905

16
icu4c-65_1-docs.zip.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE/6kSmhgNdlt6W+ocm0MrJ9G6INcFAl2V4RoACgkQm0MrJ9G6
INfBjg//Z2sbPGKo5l9UNCTZavLDAb2pvfnHVDOQwWTzQVI+rZSv1SW0qFNdqst7
P+TO9zqMBKEhR9whxIuSJ9rMeZYAk0952ozoZ9fY3+Z7g5rO33JMHOxS+4KDyMiS
eQMjHdBvWZgHL1Ay9OmvN4mQdpFfXI8JxRJ4FHThla6LVTFh9s2BeYcd69/0PCBP
0ZYpKDbNKXtJZK/i00pBgt4TBHxNYs/TFMVu/u+5PXHkBOZ56VRi2xOll2cgjRD0
+7AMH51xeU45gYurCxjvSDk8MkGaUB00p3ECUvJPT4K+WkRKZSV2HE7Phcm3b2NJ
+Tq8MmZrVoRz1pvbUiL+C882ZVL5Qf35QpQDZP+Ejhu1KLOQENQyRLYfaN13PlV6
VJwd9uKk9+Hudt7FaG21d6wfhEvTm8KveTSyd1UxXCFJ1kcSRT3Jp2BOh5p8f9gx
fe4HzrS4eBlZv66GWwCIp/mE5z6bKnyFjcHVrLyq2m7Gd0iQDN/7HjrZgqSHalqL
Klt6mVKoUNP6WbDYubgN5o7W1A3GmtkMQ+lkgA6CJ05oRkgKanygAuAPo9Hpxopq
lOnE3zVqN7E78TahY1c1iTcKuv17+v7JSdQlDwwCUWVwRpY9LcHA8TkGi5mUTFQF
0NE9z5ZQJxBCDQkfg3z0nZTnuAvYrbAIW0iTgrOmWJVXHgsdqJY=
=CT5k
-----END PGP SIGNATURE-----

3
icu4c-65_1-src.tgz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948
size 24267934

16
icu4c-65_1-src.tgz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE/6kSmhgNdlt6W+ocm0MrJ9G6INcFAl2V4RoACgkQm0MrJ9G6
INcgcw//abOY3mQFVKXmJAPnyrzS3J0gixdyogAitP1znxiHn28AtnMISza3dBuu
DmGqreJGBAizLyIk7gcltDWzTAfvPPAYaXt16Mvs/Emu6ZBCt26ssalPm0xRC6uy
u89x/iJoP3CvBb6YbFFAgw8C55qSa98bTLKvAELltFXYbVNOMh9ryVpWGqJdNRas
4OBjW8CMeLQdXoKoQQMltchlaB2jXLRSdp7tCuYYeY+eRBsDQjyhrjkuEeCnPYaC
dn8lj10SvsEmLXlZyGUw+6rNhRp+K/KsEhQG6ZcIuabwuUQggdDd1KlbPkMJNRFS
ZvtfMVdTtBEVF4Cue51Bz5l2ekFbYNwzStXlQUr1DryYFV0P8o+7ZelE272G81cm
+0B3IZY+JY6z5dMp0OJnqShZX3GKB8sw0yTGrQO5+QIaCDaf1xt7i0Vn5ReYHhTb
9wy6bZe/L39sb3umZv0nVpB65nnMLKTQztmmkbtf4e7+dKM1+D3UEbT2MMLrgcBh
HmzQDtP7CSlWMlDApPHPLFVNHRaRuEpNGrQkoUKoppCFlHcPeSP/kZFrCiybukHA
C+JJ49NbigddmbEmikvYq7YqTYn3hl1/nfM5O/5hMu23zKqLVmNEMqrVdeKxAzWL
K9OjJHUD2ZkH2NDH+vvlvZu+/xbmnn+At21IV06MmkvsiXQqwgo=
=TeIy
-----END PGP SIGNATURE-----