Date: Tuesday, November 29, 2016 @ 06:41:06 Author: foutrelis Revision: 197292
archrelease: copy trunk to multilib-staging-x86_64 Added: lib32-icu/repos/multilib-staging-x86_64/PKGBUILD (from rev 197291, lib32-icu/trunk/PKGBUILD) lib32-icu/repos/multilib-staging-x86_64/icu-58.1-iterator-reset.patch (from rev 197291, lib32-icu/trunk/icu-58.1-iterator-reset.patch) Deleted: lib32-icu/repos/multilib-staging-x86_64/PKGBUILD -------------------------------+ PKGBUILD | 99 +++++++++++++++++-------------- icu-58.1-iterator-reset.patch | 124 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+), 45 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2016-11-29 06:40:59 UTC (rev 197291) +++ PKGBUILD 2016-11-29 06:41:06 UTC (rev 197292) @@ -1,45 +0,0 @@ -# Maintainer: josephgbr <rafael.f...@gmail.com> - -pkgname=lib32-icu -pkgver=58.1 -pkgrel=1 -pkgdesc="International Components for Unicode library (32 bit)" -arch=('x86_64') -url="http://www.icu-project.org/" -license=('custom:icu') -depends=('lib32-gcc-libs' 'icu') -makedepends=('gcc-multilib') -source=(http://download.icu-project.org/files/icu4c/${pkgver}/icu4c-${pkgver//./_}-src.tgz) -md5sums=('1901302aaff1c1633ef81862663d2917') - -build() { - export CC='gcc -m32' - export CXX='g++ -m32' - export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' - - cd icu/source - - ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --libdir=/usr/lib32 - - make -} - -check() { - cd "$srcdir/icu/source" - make -k check # passes all -} - -package() { - cd icu/source - - make -j1 DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}/usr"/{include,sbin,share} - - # keep icu-config-32 - find "${pkgdir}/usr/bin" -type f -not -name icu-config -delete - mv "${pkgdir}/usr/bin"/icu-config{,-32} - - install -d m644 "${pkgdir}/usr/share/licenses" - ln -s icu "${pkgdir}/usr/share/licenses/${pkgname}" -} - Copied: lib32-icu/repos/multilib-staging-x86_64/PKGBUILD (from rev 197291, lib32-icu/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2016-11-29 06:41:06 UTC (rev 197292) @@ -0,0 +1,54 @@ +# Maintainer: josephgbr <rafael.f...@gmail.com> + +pkgname=lib32-icu +pkgver=58.1 +pkgrel=2 +pkgdesc="International Components for Unicode library (32 bit)" +arch=('x86_64') +url="http://www.icu-project.org/" +license=('custom:icu') +depends=('lib32-gcc-libs' 'icu') +makedepends=('gcc-multilib') +source=(http://download.icu-project.org/files/icu4c/${pkgver}/icu4c-${pkgver//./_}-src.tgz + icu-58.1-iterator-reset.patch) +md5sums=('1901302aaff1c1633ef81862663d2917' + '8c09ae284967def053e9579d64d0f83c') + +prepare() { + cd icu/source + + # http://bugs.icu-project.org/trac/ticket/12827 + patch -Np4 -i ${srcdir}/icu-58.1-iterator-reset.patch +} + +build() { + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' + + cd icu/source + + ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --libdir=/usr/lib32 + + make +} + +check() { + cd "$srcdir/icu/source" + make -k check # passes all +} + +package() { + cd icu/source + + make -j1 DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}/usr"/{include,sbin,share} + + # keep icu-config-32 + find "${pkgdir}/usr/bin" -type f -not -name icu-config -delete + mv "${pkgdir}/usr/bin"/icu-config{,-32} + + install -d m644 "${pkgdir}/usr/share/licenses" + ln -s icu "${pkgdir}/usr/share/licenses/${pkgname}" +} + Copied: lib32-icu/repos/multilib-staging-x86_64/icu-58.1-iterator-reset.patch (from rev 197291, lib32-icu/trunk/icu-58.1-iterator-reset.patch) =================================================================== --- icu-58.1-iterator-reset.patch (rev 0) +++ icu-58.1-iterator-reset.patch 2016-11-29 06:41:06 UTC (rev 197292) @@ -0,0 +1,124 @@ +Index: /icu/trunk/source/common/ulist.c +=================================================================== +--- /icu/trunk/source/common/ulist.c (revision 39483) ++++ /icu/trunk/source/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/trunk/source/i18n/ucol_res.cpp +=================================================================== +--- /icu/trunk/source/i18n/ucol_res.cpp (revision 39483) ++++ /icu/trunk/source/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/trunk/source/test/intltest/apicoll.cpp +=================================================================== +--- /icu/trunk/source/test/intltest/apicoll.cpp (revision 39483) ++++ /icu/trunk/source/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/trunk/source/test/intltest/apicoll.h +=================================================================== +--- /icu/trunk/source/test/intltest/apicoll.h (revision 39483) ++++ /icu/trunk/source/test/intltest/apicoll.h (revision 39484) +@@ -36,4 +36,5 @@ + */ + void TestProperty(/* char* par */); ++ void TestKeywordValues(); + + /**