SHA256
1
0
forked from pool/icu

Accepting request 884445 from X11:common:Factory

- Update to release 69.1

OBS-URL: https://build.opensuse.org/request/show/884445
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/icu?expand=0&rev=80
This commit is contained in:
Dominique Leuenberger 2021-05-08 20:06:54 +00:00 committed by Git OBS Bridge
commit 1166c75645
13 changed files with 67 additions and 158 deletions

View File

@ -1,4 +1,4 @@
libicu68 libicu69
libicu-devel libicu-devel
requires -libicu-<targettype> requires -libicu-<targettype>
requires "libicu68-<targettype> = <version>" requires "libicu69-<targettype> = <version>"

View File

@ -1,43 +0,0 @@
From 7045a80e08a5f662b9588ad9f0b8a5c1cd558bce Mon Sep 17 00:00:00 2001
From: Frank Tang <ftang@chromium.org>
Date: Fri, 5 Mar 2021 02:29:58 +0000
Subject: [PATCH] ICU-21521 Fix cast of uprv_strcmp
See #1618
[Update from guillaume: drop 1st hunk for backporting]
---
source/common/locid.cpp | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/source/common/locid.cpp b/source/common/locid.cpp
index 448c1de5e44..2d005b23542 100644
--- a/source/common/locid.cpp
+++ b/source/common/locid.cpp
@@ -1618,8 +1622,12 @@ AliasReplacer::outputToString(
out.append(SEP_CHAR, status);
}
variants.sort([](UElement e1, UElement e2) -> int8_t {
- return uprv_strcmp(
+ // uprv_strcmp return int and in some platform, such as arm64-v8a,
+ // it may return positive values > 127 which cause the casted value
+ // of int8_t negative.
+ int res = uprv_strcmp(
(const char*)e1.pointer, (const char*)e2.pointer);
+ return (res == 0) ? 0 : ((res > 0) ? 1 : -1);
}, status);
int32_t variantsStart = out.length();
for (int32_t i = 0; i < variants.size(); i++) {
@@ -1680,8 +1688,12 @@ AliasReplacer::replace(const Locale& locale, CharString& out, UErrorCode& status
// Sort the variants
variants.sort([](UElement e1, UElement e2) -> int8_t {
- return uprv_strcmp(
+ // uprv_strcmp return int and in some platform, such as arm64-v8a,
+ // it may return positive values > 127 which cause the casted value
+ // of int8_t negative.
+ int res = uprv_strcmp(
(const char*)e1.pointer, (const char*)e2.pointer);
+ return (res == 0) ? 0 : ((res > 0) ? 1 : -1);
}, status);
// A changed count to assert when loop too many times.

View File

@ -1,59 +0,0 @@
--- icu/source/test/intltest/units_test.cpp.orig 2021-03-31 18:16:45.625488752 +0200
+++ icu/source/test/intltest/units_test.cpp 2021-03-31 18:26:44.059315511 +0200
@@ -50,7 +50,6 @@ class UnitsTest : public IntlTest {
void testPreferences();
void testSiPrefixes();
void testMass();
- void testTemperature();
void testArea();
};
@@ -69,7 +68,6 @@ void UnitsTest::runIndexedTest(int32_t i
TESTCASE_AUTO(testPreferences);
TESTCASE_AUTO(testSiPrefixes);
TESTCASE_AUTO(testMass);
- TESTCASE_AUTO(testTemperature);
TESTCASE_AUTO(testArea);
TESTCASE_AUTO_END;
}
@@ -224,40 +222,6 @@ void UnitsTest::testMass() {
}
}
-void UnitsTest::testTemperature() {
- IcuTestErrorCode status(*this, "Units testTemperature");
- // Test Cases
- struct TestCase {
- const char *source;
- const char *target;
- const double inputValue;
- const double expectedValue;
- } testCases[]{
- {"celsius", "fahrenheit", 0.0, 32.0}, //
- {"celsius", "fahrenheit", 10.0, 50.0}, //
- {"fahrenheit", "celsius", 32.0, 0.0}, //
- {"fahrenheit", "celsius", 89.6, 32}, //
- {"kelvin", "fahrenheit", 0.0, -459.67}, //
- {"kelvin", "fahrenheit", 300, 80.33}, //
- {"kelvin", "celsius", 0.0, -273.15}, //
- {"kelvin", "celsius", 300.0, 26.85} //
- };
-
- for (const auto &testCase : testCases) {
- UErrorCode status = U_ZERO_ERROR;
-
- MeasureUnitImpl source = MeasureUnitImpl::forIdentifier(testCase.source, status);
- MeasureUnitImpl target = MeasureUnitImpl::forIdentifier(testCase.target, status);
-
- ConversionRates conversionRates(status);
- UnitConverter converter(source, target, conversionRates, status);
-
- assertEqualsNear(UnicodeString("testTemperature: ") + testCase.source + " to " + testCase.target,
- testCase.expectedValue, converter.convert(testCase.inputValue),
- 0.0001 * uprv_fabs(testCase.expectedValue));
- }
-}
-
void UnitsTest::testArea() {
IcuTestErrorCode status(*this, "Units Area");

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Sat Apr 10 22:41:04 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 69.1
* CLDR 39
* For Norwegian, "no" is back to being the canonical code, with
"nb" treated as equivalent. This aligns handling of Norwegian
with other macro language codes.
* Binary prefixes in measurement units (KiB, MiB, etc.)
* Time zone offsets from local time: New APIs
BasicTimeZone::getOffsetFromLocal() (C++) and
ucal_getTimeZoneOffsetFromLocal()
- Drop icu-1618.patch (merged),
icu-fix-testTemperature.patch (merged)
-------------------------------------------------------------------
Sat Apr 10 21:27:58 UTC 2021 - Andreas Schwab <schwab@suse.de>
- icu-drop-testTemperature.patch: Remove
- icu-fix-testTemperature.patch: Backport ICU-21366 (bsc#1182645)
- Don't disable testsuite under qemu-linux-user
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Mar 31 16:19:02 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org> Wed Mar 31 16:19:02 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -16,9 +16,9 @@
# #
%define lname libicu68 %define lname libicu69
%define amajor 68 %define amajor 69
%define aversion 68 %define aversion 69
%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: 68.2 Version: 69.1
Release: 0 Release: 0
Summary: International Components for Unicode Summary: International Components for Unicode
License: ICU License: ICU
@ -34,25 +34,22 @@ 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: https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz Source: https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz
Source2: https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz.asc Source2: https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz.asc
Source3: https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-docs.zip Source3: https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-docs.zip
Source4: https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-docs.zip.asc Source4: https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-docs.zip.asc
Source99: icu.keyring Source99: icu.keyring
Source100: baselibs.conf Source100: baselibs.conf
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
Patch8: locale.diff Patch8: locale.diff
Patch9: icu-1618.patch
# boo#1182645
Patch10: icu-drop-testTemperature.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: python3-base BuildRequires: python3-base
BuildRequires: unzip BuildRequires: unzip
Provides: bundled(timezone) = 2020d Provides: bundled(timezone) = 2021a
%description %description
ICU is a set of C and C++ libraries that provide extensive Unicode and locale ICU is a set of C and C++ libraries that provide extensive Unicode and locale
@ -135,9 +132,6 @@ This package contains the HTML documentation.
%prep %prep
%autosetup -p1 -n icu %autosetup -p1 -n icu
%ifnarch aarch64 ppc64 ppc64le
%patch -P 10 -R -p1
%endif
# docs are special # docs are special
mkdir html mkdir html
@ -219,12 +213,7 @@ rm -Rf "%buildroot/%_datadir/icu/%version/unidata/" \
%check %check
# s390x see: https://ssl.icu-project.org/trac/ticket/13095 # s390x see: https://ssl.icu-project.org/trac/ticket/13095
cd source cd source
%if !0%{?qemu_user_space_build:1}
# Checks disabled in qemu because of races happening when we emulate
# multi-threaded programs, and some check tests atomic instructions in
# multi-threaded icu invocations
ICU_DATA="%buildroot/%_datadir/icu/%version" make check %{?_smp_mflags} VERBOSE=1 ICU_DATA="%buildroot/%_datadir/icu/%version" make check %{?_smp_mflags} VERBOSE=1
%endif
%post -n %lname -p /sbin/ldconfig %post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:703a4204c7683d8dad4320cfbbb6209ae6fc7bd8c4f9b0dc36394711067e89d2
size 8075068

View File

@ -1,14 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEDlHn8G73GfvQcngqX1blr6Y8zTMFAl/bu3YACgkQX1blr6Y8
zTPAngv7BxW+rzyUYX2Pa7eFTWS6YHb2Aj1T5zOVP5ccuzGbH+aD1HgPVJrny6GS
twEpJVDfNGcph6hKZ3Xi+alNoAXvUtgmJxpO8Hpoy01wacu57ah/4G/VbfMpw2P+
H/ublD3BPG8hdc6/O9+2Sb8zpbBeRry7eOlX5j2q0LFOWaQ22D9sSq0N239Y3JUV
6BGDj4PXoh1ToJqNVi8BgE/pjw1qcN6vqLnWl6qM4J137S0k+3ViA1tN9LJxorhP
gM7eb+Gzf6Uez8sgjo+qgoXWieuBT03YH/EoFNcOgSTy6GCuo+UzXl2rCw3TrWCR
GhWKjQ6D3hsqQRkyO7ybEXNyrKke+PVFj9108PmnHl5g+5dXL5T1x/XNFXya6IBi
6MoAavlcWH611+AciMeQ/M4+h56U0gpZuZ4Ehv8pFNPmjXrXSOeaYDUS0IHD+1Oj
15WqerpPfm3Z1ztJ6Kzo4+FO5lzxb7vWKvWRW/OORA8ZUcW2eLSR4o3BNzDAhPAA
SxdeROi1
=HLFa
-----END PGP SIGNATURE-----

View File

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

View File

@ -1,14 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEDlHn8G73GfvQcngqX1blr6Y8zTMFAl/bu4IACgkQX1blr6Y8
zTO2DAv+Nv6JqhhhuWEwYpeNYD0I6gzwT9w8O/MlAhq1ZpH3aviHI+i4FVLwVmPB
fLh1lvi4u3xSaybrKWRcU/zAlSN0atvuLxP1qAHzlZ7KsXPtE9Nio9kgi0UEudeI
+O0IepRm+4x0cYqLuASZl84p6SAoqHn5dmrUtXMzI3ylRNFHEJ8hCSBmyeckHtTE
XqYuBb0loYDxcF0d40y/PPcUDM7zh17qqkBtf/FfpccpoWmRKIExXp12gZbSjIBs
bnFpM7IYteGrgwQvKPE8MG+oxkaX2C77gQxCpPCCy6ldOIeYehDu4dZaGWj/rZDh
zGG2CBA1sHHQ5LJOimef2cqB2+8Bw1N5PrD+w8vl4hZDSCJOP3XbR/lrj1Mg6BI2
NVFYU+GH22OmXx7PbIYB4wmkG2EUlneOdJ5jLLaZIrEE6l+LgJu5lWdJi6+/MEdj
jHXegEFlZIfB/UTko5FuGHX7l36u3zqKmL3YyeH3j+fCYjybwswam5r4xWErzCQl
mrlKxlIi
=fk3v
-----END PGP SIGNATURE-----

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:670b05fc386b8b855ecd577b8fb15dfffc58a84f01b863321daf81d05b4526ca
size 8109717

14
icu4c-69_1-docs.zip.asc Normal file
View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEDlHn8G73GfvQcngqX1blr6Y8zTMFAmBudtkACgkQX1blr6Y8
zTPfQAv9EG/fgjzHvsIlpMpHSP+ECRl78Uwzi3H3/eFqcYXMZcCF/z86InSDkoIv
JIkbzGSxPeiwv5MW+nZya9zVFCNU9pqOs11blcns1a/lp2jfWvx0aDmQr8LEB0UU
MeFZLjTFuG1fl4aZCzR3TYA+IO3GtvJ4gE1EO25ieGxXj7mkzGV1cpz70yOJ/EKX
3Tfru8bgdwn4kCl7edLcWKN6cs1kXL5M9KHYqlEJ6m0/7HUOa8JmikR60RAhchlM
9RvjgXRXV4YjymzXMjWxCefC1eMuKFsu8DjnjrNENGSBR9WWIMIW34upqQLi+ghI
Zs2nq0x09xyia/oe355R+Y4x3I2OjVm/vPtLnIob2itQ2IdsnJZCV6fCU2sgEukW
Imocgl4HIgBCusDMPGwxV3wNstdNfNfpVIL/bcKtkt3IbC7nQiLwNtS6xq2Rr9T8
eOT5yeP9wgeKFnUcCJVUbAN8hByyMWU1oSYIBB9FwrwVTo9CmbdlMzcFVBasKAeC
LzTSCzuk
=s09n
-----END PGP SIGNATURE-----

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745
size 24814903

14
icu4c-69_1-src.tgz.asc Normal file
View File

@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEDlHn8G73GfvQcngqX1blr6Y8zTMFAmBudukACgkQX1blr6Y8
zTP0QAv+J16FGZmavZI3DLsn2B9g2RqA6q/uAO4/rVwg5YyGcPIa3NB1h304c3vu
Arwv4fuug+weYG/ZgOlIhaTKg+pqEuj2RvazZOdiFZi+Cv6FoIAxBDA0shpXFxcx
nbF88xLN2QCiln6425OQawyFR+a5vOnJQRFScA6Oa4aWhlR4ezNcbnsyuz667bMF
5O14iPhmY5EFvbqrJ7YnVyF7aFGHuK0OZJfRa/6P6IipN+eZEiIquXdLbf8BxQ8/
wMFG90UiPwPEr4R0lBfkfm3qkMX0b87ic4EUvRG/oHPXIl1mMFSTDaNhoDGYh3x5
1vHdmjBLzC0ZGIvD+5TV2LwJG1ozqouAaCHGMKvz4xdmKmtiOAtWmrL9/od+BkRl
EORwN2XGpBPlCCNjB0nNJiCat9KHeBcypy3PpLJqU8md76CnLrDj55sZbUC+SPOB
JrNYldo+8/0qHjrQydHC8INH2Z/W5H+9RfMl48Nx4mSNUnLLIkrRWRqlda6LpvwJ
+FJTx0fx
=IpSz
-----END PGP SIGNATURE-----