Date: Thursday, May 11, 2023 @ 07:31:56
Author: andyrtr
Revision: 477080
archrelease: copy trunk to staging-x86_64
Added:
icu/repos/staging-x86_64/
icu/repos/staging-x86_64/ICU-22356.patch
(from rev 477079, icu/trunk/ICU-22356.patch)
icu/repos/staging-x86_64/PKGBUILD
(from rev 477079, icu/trunk/PKGBUILD)
icu/repos/staging-x86_64/keys/
-----------------+
ICU-22356.patch | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 54 ++++++++++++++++++++++++
2 files changed, 171 insertions(+)
Copied: icu/repos/staging-x86_64/ICU-22356.patch (from rev 477079,
icu/trunk/ICU-22356.patch)
===================================================================
--- staging-x86_64/ICU-22356.patch (rev 0)
+++ staging-x86_64/ICU-22356.patch 2023-05-11 07:31:56 UTC (rev 477080)
@@ -0,0 +1,117 @@
+From 4fd9d6ce9a951e66e727b296138f22cd05479de1 Mon Sep 17 00:00:00 2001
+From: Fredrik Roubert <[email protected]>
+Date: Tue, 18 Apr 2023 23:39:28 +0200
+Subject: [PATCH] ICU-22356 Use ConstChar16Ptr to safely cast from UChar* to
+ char16_t*.
+
+This is necessary for this header file to be usable by clients that
+define UCHAR_TYPE as a type not compatible with char16_t, eg. uint16_t.
+---
+ icu4c/source/common/unicode/ures.h | 9 +++++----
+ icu4c/source/test/intltest/Makefile.in | 2 +-
+ icu4c/source/test/intltest/intltest.vcxproj | 1 +
+ icu4c/source/test/intltest/intltest.vcxproj.filters | 3 +++
+ icu4c/source/test/intltest/uchar_type_build_test.cpp | 7 +++++++
+ 5 files changed, 17 insertions(+), 5 deletions(-)
+ create mode 100644 icu4c/source/test/intltest/uchar_type_build_test.cpp
+
+diff --git a/icu4c/source/common/unicode/ures.h
b/icu4c/source/common/unicode/ures.h
+index cc25b6e49cd..babc01d426a 100644
+--- a/icu4c/source/common/unicode/ures.h
++++ b/icu4c/source/common/unicode/ures.h
+@@ -25,6 +25,7 @@
+ #ifndef URES_H
+ #define URES_H
+
++#include "unicode/char16ptr.h"
+ #include "unicode/utypes.h"
+ #include "unicode/uloc.h"
+
+@@ -812,7 +813,7 @@ inline UnicodeString
+ ures_getUnicodeString(const UResourceBundle *resB, UErrorCode* status) {
+ UnicodeString result;
+ int32_t len = 0;
+- const char16_t *r = ures_getString(resB, &len, status);
++ const char16_t *r = ConstChar16Ptr(ures_getString(resB, &len, status));
+ if(U_SUCCESS(*status)) {
+ result.setTo(true, r, len);
+ } else {
+@@ -837,7 +838,7 @@ inline UnicodeString
+ ures_getNextUnicodeString(UResourceBundle *resB, const char ** key,
UErrorCode* status) {
+ UnicodeString result;
+ int32_t len = 0;
+- const char16_t* r = ures_getNextString(resB, &len, key, status);
++ const char16_t* r = ConstChar16Ptr(ures_getNextString(resB, &len, key,
status));
+ if(U_SUCCESS(*status)) {
+ result.setTo(true, r, len);
+ } else {
+@@ -859,7 +860,7 @@ inline UnicodeString
+ ures_getUnicodeStringByIndex(const UResourceBundle *resB, int32_t indexS,
UErrorCode* status) {
+ UnicodeString result;
+ int32_t len = 0;
+- const char16_t* r = ures_getStringByIndex(resB, indexS, &len, status);
++ const char16_t* r = ConstChar16Ptr(ures_getStringByIndex(resB, indexS,
&len, status));
+ if(U_SUCCESS(*status)) {
+ result.setTo(true, r, len);
+ } else {
+@@ -882,7 +883,7 @@ inline UnicodeString
+ ures_getUnicodeStringByKey(const UResourceBundle *resB, const char* key,
UErrorCode* status) {
+ UnicodeString result;
+ int32_t len = 0;
+- const char16_t* r = ures_getStringByKey(resB, key, &len, status);
++ const char16_t* r = ConstChar16Ptr(ures_getStringByKey(resB, key, &len,
status));
+ if(U_SUCCESS(*status)) {
+ result.setTo(true, r, len);
+ } else {
+diff --git a/icu4c/source/test/intltest/Makefile.in
b/icu4c/source/test/intltest/Makefile.in
+index 8007d3c1880..f57f8d995f4 100644
+--- a/icu4c/source/test/intltest/Makefile.in
++++ b/icu4c/source/test/intltest/Makefile.in
+@@ -70,7 +70,7 @@ numbertest_parse.o numbertest_doubleconversion.o
numbertest_skeletons.o \
+ static_unisets_test.o numfmtdatadriventest.o numbertest_range.o
erarulestest.o \
+ formattedvaluetest.o formatted_string_builder_test.o numbertest_permutation.o
\
+ units_data_test.o units_router_test.o units_test.o displayoptions_test.o \
+-numbertest_simple.o
++numbertest_simple.o uchar_type_build_test.o
+
+ DEPS = $(OBJECTS:.o=.d)
+
+diff --git a/icu4c/source/test/intltest/intltest.vcxproj
b/icu4c/source/test/intltest/intltest.vcxproj
+index 0985ba1e808..71ce1254038 100644
+--- a/icu4c/source/test/intltest/intltest.vcxproj
++++ b/icu4c/source/test/intltest/intltest.vcxproj
+@@ -291,6 +291,7 @@
+ <ClCompile Include="units_data_test.cpp" />
+ <ClCompile Include="units_router_test.cpp" />
+ <ClCompile Include="units_test.cpp" />
++ <ClCompile Include="uchar_type_build_test.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="colldata.h" />
+diff --git a/icu4c/source/test/intltest/intltest.vcxproj.filters
b/icu4c/source/test/intltest/intltest.vcxproj.filters
+index ffe9bc1467d..5d8777c5aaf 100644
+--- a/icu4c/source/test/intltest/intltest.vcxproj.filters
++++ b/icu4c/source/test/intltest/intltest.vcxproj.filters
+@@ -568,6 +568,9 @@
+ <ClCompile Include="units_test.cpp">
+ <Filter>formatting</Filter>
+ </ClCompile>
++ <ClCompile Include="uchar_type_build_test.cpp">
++ <Filter>configuration</Filter>
++ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="itrbbi.h">
+diff --git a/icu4c/source/test/intltest/uchar_type_build_test.cpp
b/icu4c/source/test/intltest/uchar_type_build_test.cpp
+new file mode 100644
+index 00000000000..ca9335441a3
+--- /dev/null
++++ b/icu4c/source/test/intltest/uchar_type_build_test.cpp
+@@ -0,0 +1,7 @@
++// © 2023 and later: Unicode, Inc. and others.
++// License & terms of use: http://www.unicode.org/copyright.html#License
++
++// ICU-22356 Test that client code can be built with UCHAR_TYPE redefined.
++#undef UCHAR_TYPE
++#define UCHAR_TYPE uint16_t
++#include "unicode/ures.h"
Copied: icu/repos/staging-x86_64/PKGBUILD (from rev 477079, icu/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2023-05-11 07:31:56 UTC (rev 477080)
@@ -0,0 +1,54 @@
+# Maintainer: Andreas Radke <[email protected]>
+# Contributor: Art Gramlich <[email protected]>
+
+pkgname=icu
+pkgver=73.1
+pkgrel=1
+pkgdesc="International Components for Unicode library"
+arch=(x86_64)
+url="https://icu.unicode.org"
+license=('custom:icu')
+depends=('gcc-libs' 'sh')
+makedepends=('python')
+provides=(libicu{data,i18n,io,test,tu,uc}.so)
+source=(https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/${pkgname}4c-${pkgver//./_}-src.tgz{,.asc}
+ ICU-22356.patch)
+#
https://github.com/unicode-org/icu/releases/download/release-73-1/SHASUM512.txt
+sha512sums=('e788e372716eecebc39b56bbc88f3a458e21c3ef20631c2a3d7ef05794a678fe8dad482a03a40fdb9717109a613978c7146682e98ee16fade5668d641d5c48f8'
+ 'SKIP'
+
'313d4df98283be228eb9f5fb664c545d4dc497a7ee433a2929f04703b28bc985a510f0b26f1e60ec8aa1cb36cb7dea493b3c26fc4ab34b0acafeaad3a62d52c6')
+#validpgpkeys=('BA90283A60D67BA0DD910A893932080F4FB419E3') # "Steven R.
Loomis (filfla-signing) <[email protected]>"
+#validpgpkeys+=('9731166CD8E23A83BEE7C6D3ACA5DBE1FD8FABF1') # "Steven R.
Loomis (ICU Project) <[email protected]>"
+validpgpkeys+=('FFA9129A180D765B7A5BEA1C9B432B27D1BA20D7') # "Fredrik Roubert
<[email protected]>"
+#validpgpkeys+=('E4098B78AFC94394F3F49AA903996C7C83F12F11') #
"keybase.io/srl295 <[email protected]>"
+#validpgpkeys+=('4569BBC09DA846FC91CBD21CE1BBA44593CF2AE0') # "Steven R.
Loomis (codesign-qormi) <[email protected]>"
+#validpgpkeys=('0E51E7F06EF719FBD072782A5F56E5AFA63CCD33') #"Craig Cornelius
(For use with ICU releases) <[email protected]>"
+#validpgpkeys=('3DA35301A7C330257B8755754058F67406EAA6AB') # Craig Cornelius
<[email protected]>
+
+prepare() {
+ cd icu/source
+ # https://unicode-org.atlassian.net/browse/ICU-22356
+ patch -Np3 -i ../../ICU-22356.patch
+}
+
+build() {
+ cd icu/source
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/bin
+ make
+}
+
+check() {
+ cd icu/source
+ make -k check
+}
+
+package() {
+ cd icu/source
+ make -j1 DESTDIR="${pkgdir}" install
+
+ # Install license
+ install -Dm644 "${srcdir}"/icu/LICENSE
"${pkgdir}"/usr/share/licenses/icu/LICENSE
+}