commit 78d35b1b009f1b79837c2ba177b0e1706a2d7293 Author: Danny Rawlins <monster.romster@gmail.com> Date: Mon Dec 2 12:53:03 2019 +1100 [notify] icu-32: ABI change check with revdep diff --git a/icu-32/.footprint b/icu-32/.footprint index b58dc8f..911b30e 100644 --- a/icu-32/.footprint +++ b/icu-32/.footprint @@ -2,30 +2,30 @@ drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/include/ drwxr-xr-x root/root usr/lib32/ drwxr-xr-x root/root usr/lib32/icu/ -drwxr-xr-x root/root usr/lib32/icu/64.2/ --rw-r--r-- root/root usr/lib32/icu/64.2/Makefile.inc --rw-r--r-- root/root usr/lib32/icu/64.2/pkgdata.inc +drwxr-xr-x root/root usr/lib32/icu/65.1/ +-rw-r--r-- root/root usr/lib32/icu/65.1/Makefile.inc +-rw-r--r-- root/root usr/lib32/icu/65.1/pkgdata.inc lrwxrwxrwx root/root usr/lib32/icu/Makefile.inc -> current/Makefile.inc -lrwxrwxrwx root/root usr/lib32/icu/current -> 64.2 +lrwxrwxrwx root/root usr/lib32/icu/current -> 65.1 lrwxrwxrwx root/root usr/lib32/icu/pkgdata.inc -> current/pkgdata.inc -lrwxrwxrwx root/root usr/lib32/libicudata.so -> libicudata.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicudata.so.64 -> libicudata.so.64.2 --rwxr-xr-x root/root usr/lib32/libicudata.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicui18n.so -> libicui18n.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicui18n.so.64 -> libicui18n.so.64.2 --rwxr-xr-x root/root usr/lib32/libicui18n.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicuio.so -> libicuio.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicuio.so.64 -> libicuio.so.64.2 --rwxr-xr-x root/root usr/lib32/libicuio.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicutest.so -> libicutest.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicutest.so.64 -> libicutest.so.64.2 --rwxr-xr-x root/root usr/lib32/libicutest.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicutu.so -> libicutu.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicutu.so.64 -> libicutu.so.64.2 --rwxr-xr-x root/root usr/lib32/libicutu.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicuuc.so -> libicuuc.so.64.2 -lrwxrwxrwx root/root usr/lib32/libicuuc.so.64 -> libicuuc.so.64.2 --rwxr-xr-x root/root usr/lib32/libicuuc.so.64.2 +lrwxrwxrwx root/root usr/lib32/libicudata.so -> libicudata.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicudata.so.65 -> libicudata.so.65.1 +-rwxr-xr-x root/root usr/lib32/libicudata.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicui18n.so -> libicui18n.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicui18n.so.65 -> libicui18n.so.65.1 +-rwxr-xr-x root/root usr/lib32/libicui18n.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicuio.so -> libicuio.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicuio.so.65 -> libicuio.so.65.1 +-rwxr-xr-x root/root usr/lib32/libicuio.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicutest.so -> libicutest.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicutest.so.65 -> libicutest.so.65.1 +-rwxr-xr-x root/root usr/lib32/libicutest.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicutu.so -> libicutu.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicutu.so.65 -> libicutu.so.65.1 +-rwxr-xr-x root/root usr/lib32/libicutu.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicuuc.so -> libicuuc.so.65.1 +lrwxrwxrwx root/root usr/lib32/libicuuc.so.65 -> libicuuc.so.65.1 +-rwxr-xr-x root/root usr/lib32/libicuuc.so.65.1 drwxr-xr-x root/root usr/lib32/pkgconfig/ -rw-r--r-- root/root usr/lib32/pkgconfig/icu-i18n.pc -rw-r--r-- root/root usr/lib32/pkgconfig/icu-io.pc diff --git a/icu-32/.signature b/icu-32/.signature index 31bb988..408daa7 100644 --- a/icu-32/.signature +++ b/icu-32/.signature @@ -1,5 +1,6 @@ untrusted comment: verify with /etc/ports/compat-32.pub -RWSwxGo/zH7eXU0Sekq/UlFBtyDuGNNpI3DhH0/qoUpZ+M+wLgHzW8FtlbfY7cMB4C2mCkh5BHR5WcULOsXG/LcTEdvAlaT1HgY= -SHA256 (Pkgfile) = e0304f0062e085a0d40d2757330409f98c9c37696c6332832d241973e0757434 -SHA256 (.footprint) = 88a5f6d5b9242ef46ed9eec1652f2ae3caef0303b884770ba8ffa98ad0f080e4 -SHA256 (icu4c-64_2-src.tgz) = 627d5d8478e6d96fc8c90fed4851239079a561a6a8b9e48b0892f24e82d31d6c +RWSwxGo/zH7eXQjQzeafp3PFV3HT7L6OY+WOqaUWzVoWA1B1/Vu7e+/7fvAV0zcfmW89i7SLQueyaHZE3IRfXuLxVfYUwrrTNA4= +SHA256 (Pkgfile) = 39c85c1040444d66bfef48d06db2085966d31e656b1b1dad8bde3bb673de57b7 +SHA256 (.footprint) = 492d96fefc1f53ae3040deabfcca45b122b557b7ad1476cfa76a7ef90f3ecc16 +SHA256 (icu4c-65_1-src.tgz) = 53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948 +SHA256 (icu-65.1-initialized-buffer-uloc_getKeywordValue.patch) = 2fafe710a69e0e81f38c8a36fcc17fa494ce27af63ea41d23815b36b1ee319c3 diff --git a/icu-32/Pkgfile b/icu-32/Pkgfile index 25be96b..98e6693 100644 --- a/icu-32/Pkgfile +++ b/icu-32/Pkgfile @@ -4,13 +4,17 @@ # Depends on: icu name=icu-32 -version=64.2 +version=65.1 release=1 -source=(https://sourceforge.net/projects/icu/files/ICU4C/$version/icu4c-${version//./_}-src.tgz) +source=(https://github.com/unicode-org/icu/releases/download/release-${version//./-}/icu4c-${version/./_}-src.tgz + icu-65.1-initialized-buffer-uloc_getKeywordValue.patch) build() { cd icu/source + # https://unicode-org.atlassian.net/browse/ICU-20884 + patch -p2 -d .. -i $SRC/icu-65.1-initialized-buffer-uloc_getKeywordValue.patch + # icu tries to use clang by default [ "$CC" ] || export CC=gcc [ "$CXX" ] || export CXX=g++ diff --git a/icu-32/icu-58.1-iterator.patch b/icu-32/icu-58.1-iterator.patch deleted file mode 100644 index 6f52375..0000000 --- a/icu-32/icu-58.1-iterator.patch +++ /dev/null @@ -1,127 +0,0 @@ -source: http://bugs.icu-project.org/trac/changeset/39484/ - - -Index: icu/common/ulist.c -=================================================================== ---- icu/common/ulist.c (revision 39483) -+++ icu/common/ulist.c (revision 39484) -@@ -30,5 +30,4 @@ - - int32_t size; -- int32_t currentIndex; - }; - -@@ -52,5 +51,4 @@ - newList->tail = NULL; - newList->size = 0; -- newList->currentIndex = -1; - - return newList; -@@ -81,6 +79,7 @@ - p->next->previous = p->previous; - } -- list->curr = NULL; -- list->currentIndex = 0; -+ if (p == list->curr) { -+ list->curr = p->next; -+ } - --list->size; - if (p->forceDelete) { -@@ -151,5 +150,4 @@ - list->head->previous = newItem; - list->head = newItem; -- list->currentIndex++; - } - -@@ -194,5 +192,4 @@ - curr = list->curr; - list->curr = curr->next; -- list->currentIndex++; - - return curr->data; -@@ -210,5 +207,4 @@ - if (list != NULL) { - list->curr = list->head; -- list->currentIndex = 0; - } - } -@@ -273,3 +269,2 @@ - return (UList *)(en->context); - } -- -Index: icu/i18n/ucol_res.cpp -=================================================================== ---- icu/i18n/ucol_res.cpp (revision 39483) -+++ icu/i18n/ucol_res.cpp (revision 39484) -@@ -681,4 +681,5 @@ - } - memcpy(en, &defaultKeywordValues, sizeof(UEnumeration)); -+ ulist_resetList(sink.values); // Initialize the iterator. - en->context = sink.values; - sink.values = NULL; // Avoid deletion in the sink destructor. -Index: icu/test/intltest/apicoll.cpp -=================================================================== ---- icu/test/intltest/apicoll.cpp (revision 39483) -+++ icu/test/intltest/apicoll.cpp (revision 39484) -@@ -82,14 +82,7 @@ - col = Collator::createInstance(Locale::getEnglish(), success); - if (U_FAILURE(success)){ -- errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success)); -- return; -- } -- -- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("", Locale::getEnglish(),true,success); -- if (U_FAILURE(success)){ -- errcheckln(success, "Get Keyword Values for Locale failed. - %s", u_errorName(success)); -- return; -- } -- delete kwEnum; -+ errcheckln(success, "English Collator creation failed. - %s", u_errorName(success)); -+ return; -+ } - - col->getVersion(versionArray); -@@ -230,4 +223,27 @@ - delete aFrCol; - delete junk; -+} -+ -+void CollationAPITest::TestKeywordValues() { -+ IcuTestErrorCode errorCode(*this, "TestKeywordValues"); -+ LocalPointer<Collator> col(Collator::createInstance(Locale::getEnglish(), errorCode)); -+ if (errorCode.logIfFailureAndReset("English Collator creation failed")) { -+ return; -+ } -+ -+ LocalPointer<StringEnumeration> kwEnum( -+ col->getKeywordValuesForLocale("collation", Locale::getEnglish(), TRUE, errorCode)); -+ if (errorCode.logIfFailureAndReset("Get Keyword Values for English Collator failed")) { -+ return; -+ } -+ assertTrue("expect at least one collation tailoring for English", kwEnum->count(errorCode) > 0); -+ const char *kw; -+ UBool hasStandard = FALSE; -+ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) { -+ if (strcmp(kw, "standard") == 0) { -+ hasStandard = TRUE; -+ } -+ } -+ assertTrue("expect at least the 'standard' collation tailoring for English", hasStandard); - } - -@@ -2467,4 +2483,5 @@ - TESTCASE_AUTO_BEGIN; - TESTCASE_AUTO(TestProperty); -+ TESTCASE_AUTO(TestKeywordValues); - TESTCASE_AUTO(TestOperators); - TESTCASE_AUTO(TestDuplicate); -Index: icu/test/intltest/apicoll.h -=================================================================== ---- icu/test/intltest/apicoll.h (revision 39483) -+++ icu/test/intltest/apicoll.h (revision 39484) -@@ -36,4 +36,5 @@ - */ - void TestProperty(/* char* par */); -+ void TestKeywordValues(); - - /** diff --git a/icu-32/icu-58.1-remove-bashisms.patch b/icu-32/icu-58.1-remove-bashisms.patch deleted file mode 100644 index ef60ce4..0000000 --- a/icu-32/icu-58.1-remove-bashisms.patch +++ /dev/null @@ -1,224 +0,0 @@ -diff -ruN a/config/Makefile.inc.in b/config/Makefile.inc.in ---- a/config/Makefile.inc.in 2016-09-09 23:28:18.000000000 +0200 -+++ b/config/Makefile.inc.in 2016-11-05 19:43:07.688466668 +0100 -@@ -124,12 +124,6 @@ - # with usually. Many applications will want to add $(ICULIBS_I18N) as well. - ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA) - --# Proper echo newline handling is needed in icu-config --ECHO_N=@ICU_ECHO_N@ --ECHO_C=@ICU_ECHO_C@ --# Not currently being used but good to have for proper tab handling --ECHO_T=@ICU_ECHO_T@ -- - ################################################################## - ################################################################## - # -diff -ruN a/config/icu-config-bottom b/config/icu-config-bottom ---- a/config/icu-config-bottom 2016-09-09 23:28:18.000000000 +0200 -+++ b/config/icu-config-bottom 2016-11-05 19:49:00.854481361 +0100 -@@ -218,65 +218,65 @@ - ;; - - --cflags) -- echo $ECHO_N "${CFLAGS} ${ECHO_C}" -+ printf "%s" "${CFLAGS} " - ;; - - --cc) -- echo $ECHO_N "${CC} ${ECHO_C}" -+ printf "%s" "${CC} " - ;; - - --cxx) -- echo $ECHO_N "${CXX} ${ECHO_C}" -+ printf "%s" "${CXX} " - ;; - - --cxxflags) -- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}" -+ printf "%s" "${CXXFLAGS} " - ;; - - --cppflags) - # Don't echo the -I. - it's unneeded. -- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //' -+ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //' - ;; - - --cppflags-searchpath) -- echo $ECHO_N "-I${prefix}/include ${ECHO_C}" -+ printf "%s" "-I${prefix}/include " - ;; - - --cppflags-dynamic) -- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}" -+ printf "%s" "${SHAREDLIBCPPFLAGS} " - ;; - - --cxxflags-dynamic) -- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}" -+ printf "%s" "${SHAREDLIBCXXFLAGS} " - ;; - - --cflags-dynamic) -- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}" -+ printf "%s" "${SHAREDLIBCFLAGS} " - ;; - - --ldflags-system) -- echo $ECHO_N "${LIBS} ${ECHO_C}" -+ printf "%s" "${LIBS} " - ;; - - --ldflags) -- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}" -+ printf "%s" "${LDFLAGS} ${ICULIBS} " - # $RPATH_LDFLAGS - ;; - - --ldflags-libsonly) -- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}" -+ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} " - ;; - - --ldflags-icuio) -- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}" -+ printf "%s" " ${ICULIBS_ICUIO} " - ;; - - --ldflags-obsolete) -- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}" -+ printf "%s" "${ICULIBS_OBSOLETE} " - ;; - - --ldflags-toolutil) -- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}" -+ printf "%s" " ${ICULIBS_TOOLUTIL} " - ;; - - --ldflags-layout) -@@ -285,7 +285,7 @@ - ;; - - --ldflags-searchpath) -- echo $ECHO_N "-L${libdir} ${ECHO_C}" -+ printf "%s" "-L${libdir} " - ;; - - --detect-prefix) -@@ -321,47 +321,47 @@ - ;; - - --shared-datadir) -- echo $ECHO_N "${datadir} ${ECHO_C}" -+ printf "%s" "${datadir} " - ;; - - --incfile) -- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}" -+ printf "%s" "${pkglibdir}/Makefile.inc " - ;; - - --incpkgdatafile) -- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}" -+ printf "%s" "${pkglibdir}/pkgdata.inc " - ;; - - --icudata) -- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}" -+ printf "%s" "${ICUDATA_NAME} " - ;; - - --icudata-mode) -- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}" -+ printf "%s" "${PKGDATA_MODE} " - ;; - - --icudata-install-dir) -- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}" -+ printf "%s" "${ICUPKGDATA_DIR} " - ;; - - --icudatadir) -- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}" -+ printf "%s" "${ICUDATA_DIR} " - ;; - - --shlib-c) -- echo $ECHO_N "${SHLIB_c} ${ECHO_C}" -+ printf "%s" "${SHLIB_c} " - ;; - - --shlib-cc) -- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}" -+ printf "%s" "${SHLIB_cc} " - ;; - - --version) -- echo $ECHO_N $VERSION -+ printf "%s" "$VERSION" - ;; - - --unicode-version) -- echo $ECHO_N $UNICODE_VERSION -+ printf "%s" "$UNICODE_VERSION" - ;; - - --host) -diff -ruN a/configure.ac b/configure.ac ---- a/configure.ac 2016-10-04 21:30:20.000000000 +0200 -+++ b/configure.ac 2016-11-05 19:43:07.688466668 +0100 -@@ -22,24 +22,6 @@ - PACKAGE="icu" - AC_SUBST(PACKAGE) - --# Use custom echo test for newline option --# Current autoconf (2.65) gives incorrect echo newline option --# for icu-config --# This may be removed later - mow (June 17, 2010) --ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T= --case `/bin/sh -c "echo -n x"` in ---n*) -- case `/bin/sh -c "echo 'x\c'"` in -- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character. -- *) ICU_ECHO_C='\c';; -- esac;; --*) -- ICU_ECHO_N='-n';; --esac --AC_SUBST(ICU_ECHO_N) --AC_SUBST(ICU_ECHO_C) --AC_SUBST(ICU_ECHO_T) -- - AC_MSG_CHECKING(for ICU version numbers) - - # Get the ICU version from uversion.h or other headers -diff -ruN a/icudefs.mk.in b/icudefs.mk.in ---- a/icudefs.mk.in 2016-09-09 23:28:18.000000000 +0200 -+++ b/icudefs.mk.in 2016-11-05 19:43:07.688466668 +0100 -@@ -157,11 +157,6 @@ - ENABLE_STATIC = @ENABLE_STATIC@ - ENABLE_SHARED = @ENABLE_SHARED@ - --# Echo w/o newline -- --#ECHO_N = @ICU_ECHO_N@ --#ECHO_C = @ICU_ECHO_C@ -- - # Commands to compile - COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c - COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c -diff -ruN a/test/hdrtst/Makefile.in b/test/hdrtst/Makefile.in ---- a/test/hdrtst/Makefile.in 2016-09-28 06:17:24.000000000 +0200 -+++ b/test/hdrtst/Makefile.in 2016-11-05 19:43:07.688466668 +0100 -@@ -35,9 +35,6 @@ - include $(shell icu-config --incfile) - DIRS=$(prefix)/include/unicode - LDIRS=$(prefix)/include/layout --ECHO_T=@ECHO_T@ --ECHO_C=@ECHO_C@ --ECHO_N=@ECHO_N@ - - all: - @echo Please read this Makefile for more information. diff --git a/icu-32/icu-65.1-initialized-buffer-uloc_getKeywordValue.patch b/icu-32/icu-65.1-initialized-buffer-uloc_getKeywordValue.patch new file mode 100644 index 0000000..475921d --- /dev/null +++ b/icu-32/icu-65.1-initialized-buffer-uloc_getKeywordValue.patch @@ -0,0 +1,23 @@ +From fab4c3c719977205a3f005ddfd7fffbb9c19c587 Mon Sep 17 00:00:00 2001 +From: Frank Tang <ftang@chromium.org> +Date: Wed, 30 Oct 2019 17:45:22 -0700 +Subject: [PATCH] ICU-20884 initialized buffer uloc_getKeywordValue + +--- + icu4c/source/common/uloc.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/icu4c/source/common/uloc.cpp b/icu4c/source/common/uloc.cpp +index 6a9bfcfbff5..ea81c0ce87f 100644 +--- a/icu4c/source/common/uloc.cpp ++++ b/icu4c/source/common/uloc.cpp +@@ -766,6 +766,9 @@ uloc_getKeywordValue(const char* localeID, + char* buffer, int32_t bufferCapacity, + UErrorCode* status) + { ++ if (buffer != nullptr) { ++ buffer[0] = '\0'; ++ } + const char* startSearchHere = NULL; + const char* nextSeparator = NULL; + char keywordNameBuffer[ULOC_KEYWORD_BUFFER_LEN];