summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Brielmaier <jonathan.brielmaier@web.de>2024-04-28 21:55:15 +0200
committerGuix Patches Tester <>2024-04-29 11:58:37 +0200
commitf22acb07d07aa2ac05378d8d06664d45781f0fe3 (patch)
tree5965bd40c6660ae2b769fefa6e45c3800633a053
parent4178eaf3b2eeea8f6c2e49b1d65cd60a1663c4a9 (diff)
downloadguix-patches-f22acb07d07aa2ac05378d8d06664d45781f0fe3.tar
guix-patches-f22acb07d07aa2ac05378d8d06664d45781f0fe3.tar.gz
gnu: icu4c: Add patch for VTIMEZONE bug.
Icedove@115 does not properly work without this patch. See: https://bugzilla.mozilla.org/show_bug.cgi?id=1843007 * gnu/packages/icu4c.scm (icu4c-73)[source]: Use patch. * gnu/packages/patches/icu4c-icu-22132-fix-vtimezone.patch: New file. * gnu/local.mk (dist_patch_DATA): Register patch. Change-Id: Ie64d1e33afedbaedbaafaeb607a201eb671ac7bd Change-Id: I6d753eacc7daac5663128b20a550044d0fd0ddb7
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/icu4c.scm5
-rw-r--r--gnu/packages/patches/icu4c-icu-22132-fix-vtimezone.patch31
3 files changed, 35 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 42961e60b2..f368eae54f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1478,6 +1478,7 @@ dist_patch_DATA = \
%D%/packages/patches/icecat-use-system-wide-dir.patch \
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
%D%/packages/patches/icedtea-7-hotspot-pointer-comparison.patch \
+ %D%/packages/patches/icu4c-icu-22132-fix-vtimezone.patch \
%D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 0dfe63b20a..19dfc8c4eb 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -126,8 +126,9 @@ C/C++ part.")
(base32
"0iccpdvc0kvpww5a31k9gjkqigyz016i7v80r9zamd34w4fl6mx4"))
(patches
- (cons
- (search-patch
+ (append
+ (search-patches
+ "icu4c-icu-22132-fix-vtimezone.patch"
"icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch")
(origin-patches (package-source icu4c))))))))
diff --git a/gnu/packages/patches/icu4c-icu-22132-fix-vtimezone.patch b/gnu/packages/patches/icu4c-icu-22132-fix-vtimezone.patch
new file mode 100644
index 0000000000..4fe520318a
--- /dev/null
+++ b/gnu/packages/patches/icu4c-icu-22132-fix-vtimezone.patch
@@ -0,0 +1,31 @@
+Source: https://unicode-org.atlassian.net/browse/ICU-22132?focusedCommentId=166752
+Author: Sean Burke
+License:
+Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1843007
+
+diff --git a/icu4c/source/i18n/vtzone.cpp b/icu4c/source/i18n/vtzone.cpp
+index 3035106701..5e738e11fa 100644
+--- a/source/i18n/vtzone.cpp
++++ b/source/i18n/vtzone.cpp
+@@ -1735,14 +1735,14 @@ VTimeZone::write(VTZWriter& writer, UErrorCode& status) const {
+ }
+ }
+ } else {
+- UnicodeString icutzprop;
+- UVector customProps(nullptr, uhash_compareUnicodeString, status);
++ UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status);
+ if (olsonzid.length() > 0 && icutzver.length() > 0) {
+- icutzprop.append(olsonzid);
+- icutzprop.append(u'[');
+- icutzprop.append(icutzver);
+- icutzprop.append(u']');
+- customProps.addElement(&icutzprop, status);
++ LocalPointer<UnicodeString> icutzprop(new UnicodeString(ICU_TZINFO_PROP), status);
++ icutzprop->append(olsonzid);
++ icutzprop->append(u'[');
++ icutzprop->append(icutzver);
++ icutzprop->append(u']');
++ customProps.adoptElement(icutzprop.orphan(), status);
+ }
+ writeZone(writer, *tz, &customProps, status);
+ }