commit: 7a771de8495a19e73ee8c2bd3cd7f08fbe341e7d Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Sep 24 18:13:44 2021 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Sep 24 18:13:44 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a771de8
dev-libs/icu: add upstream patch for test failure This may cause runtime breakage (not just a failure in a test, but exposed by it on hppa and actually riscv) and it's a straightforward patch, so let's `git mv` in stable. Bug: https://bugs.gentoo.org/788112 Closes: https://bugs.gentoo.org/807893 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/icu/files/icu-69.1-fix-ub-units.patch | 23 ++++++++++++++++++++++ .../icu/{icu-69.1.ebuild => icu-69.1-r1.ebuild} | 3 +++ 2 files changed, 26 insertions(+) diff --git a/dev-libs/icu/files/icu-69.1-fix-ub-units.patch b/dev-libs/icu/files/icu-69.1-fix-ub-units.patch new file mode 100644 index 00000000000..6847d585155 --- /dev/null +++ b/dev-libs/icu/files/icu-69.1-fix-ub-units.patch @@ -0,0 +1,23 @@ +https://github.com/unicode-org/icu/pull/1715 +https://bugs.gentoo.org/788112 + +From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <[email protected]> +Date: Tue, 11 May 2021 19:04:24 +0200 +Subject: [PATCH] ICU-21613 Fix undefined behaviour in + ComplexUnitsConverter::applyRounder + +--- a/i18n/units_complexconverter.cpp ++++ b/i18n/units_complexconverter.cpp +@@ -237,6 +237,11 @@ void ComplexUnitsConverter::applyRounder(MaybeStackArray<int64_t, 5> &intValues, + } + quantity = decimalQuantity.toDouble(); + ++ if (uprv_isNaN(quantity) || uprv_isInfinite(quantity)) { ++ // Do nothing for non-finite values, since conversion to int64_t is undefined ++ return; ++ } ++ + int32_t lastIndex = unitsConverters_.length() - 1; + if (lastIndex == 0) { + // Only one element, no need to bubble up the carry diff --git a/dev-libs/icu/icu-69.1.ebuild b/dev-libs/icu/icu-69.1-r1.ebuild similarity index 96% rename from dev-libs/icu/icu-69.1.ebuild rename to dev-libs/icu/icu-69.1-r1.ebuild index 1d2630ee16e..b540e57c81b 100644 --- a/dev-libs/icu/icu-69.1.ebuild +++ b/dev-libs/icu/icu-69.1-r1.ebuild @@ -32,6 +32,9 @@ PATCHES=( "${FILESDIR}/${PN}-65.1-remove-bashisms.patch" "${FILESDIR}/${PN}-64.2-darwin.patch" "${FILESDIR}/${PN}-68.1-nonunicode.patch" + # Should be in the next rleease, but check + # https://bugs.gentoo.org/788112 + "${FILESDIR}/${PN}-69.1-fix-ub-units.patch" ) src_prepare() {
