Skip to content

Commit

Permalink
Update to 58.1
Browse files Browse the repository at this point in the history
* Fix regression with upstream patch,
  https://ssl.icu-project.org/trac/ticket/12827

Changelog:
Common Changes

    CLDR 30.0.2: For details of the many changes in CLDR, see CLDR 30. Some things to note:
        For some combinations of numbering system (arab, arabext, latn) and/or locale (ar, fa, he), there were changes to the bidirectional control characters used with certain symbols (percent, minus, plus), and changes to number patterns (currency and/or percent, including addition of bidirectional control characters in some cases).
        New in this release, the bidirectional controls used for such purposes include U+061C ARABIC LETTER MARK (ALM), which requires use of the bidirectional algorithm from Unicode 6.3 or later.
        The time separator for Norwegian locales (nb, nn) was changed to be ':' throughout.
    Unicode 9.0: Version 9.0 adds exactly 7,500 characters, for a total of 128,172 characters. These additions include six new scripts, 19 symbols for the new 4K TV standard, and 72 new emoji characters.
    Draft Emoji 4.0 data
        Emoji updates for word & line breaking. (#12664 & Unicode 9 update #12526)
    UBiDiTransform/BidiTransform API for convenient transformation of text between different Bidi layouts. (#11679)
    MeasureFormat API for measurement unit display names. (#12029)
    Most COUNT and LIMIT enum constants have been deprecated. (#12420)
    SpoofChecker: Handling of "whole script confusables" has been removed from ICU, in accordance with its removal from UTS #39 Version 9.0.0 and the removal of the corresponding Unicode data file. (#12549)
    Greek uppercasing ("el" locale ID) removes most diacritics. (#5456)
    More robust locale data loading across ICU implementation code.
    Reduced heap memory usage in DateTimePatternGenerator. (#11782)

ICU4C Specific Changes

    The layout engine code has been removed; the ParagraphLayout is not deprecated and remains (and must now be built on top of HarfBuzz). See http://userguide.icu-project.org/layoutengine (#12708)
    Windows: Supports & requires Visual Studio 2015.
  • Loading branch information
ryoon committed Dec 4, 2016
1 parent 0459b32 commit 0901889
Show file tree
Hide file tree
Showing 10 changed files with 186 additions and 64 deletions.
4 changes: 2 additions & 2 deletions textproc/icu/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.104 2016/04/11 16:15:22 ryoon Exp $
# $NetBSD: Makefile,v 1.105 2016/12/04 04:11:32 ryoon Exp $

DISTNAME= icu4c-57_1-src
DISTNAME= icu4c-58_1-src
PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g}
CATEGORIES= textproc
MASTER_SITES= http://download.icu-project.org/files/icu4c/${PKGVERSION_NOREV}/
Expand Down
42 changes: 9 additions & 33 deletions textproc/icu/PLIST
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.37 2016/04/12 19:51:54 tron Exp $
@comment $NetBSD: PLIST,v 1.38 2016/12/04 04:11:32 ryoon Exp $
bin/derb
bin/genbrk
bin/gencfu
Expand All @@ -10,21 +10,6 @@ bin/icuinfo
bin/makeconv
bin/pkgdata
bin/uconv
include/layout/LEFontInstance.h
include/layout/LEGlyphFilter.h
include/layout/LEGlyphStorage.h
include/layout/LEInsertionList.h
include/layout/LELanguages.h
include/layout/LEScripts.h
include/layout/LESwaps.h
include/layout/LETableReference.h
include/layout/LETypes.h
include/layout/LayoutEngine.h
include/layout/ParagraphLayout.h
include/layout/RunArrays.h
include/layout/loengine.h
include/layout/playout.h
include/layout/plruns.h
include/unicode/alphaindex.h
include/unicode/appendable.h
include/unicode/basictz.h
Expand Down Expand Up @@ -118,6 +103,7 @@ include/unicode/tznames.h
include/unicode/tzrule.h
include/unicode/tztrans.h
include/unicode/ubidi.h
include/unicode/ubiditransform.h
include/unicode/ubrk.h
include/unicode/ucal.h
include/unicode/ucasemap.h
Expand Down Expand Up @@ -203,40 +189,30 @@ lib/icu/current
lib/icu/pkgdata.inc
lib/libicudata.a
lib/libicudata.so
lib/libicudata.so.57
lib/libicudata.so.58
lib/libicudata.so.${PKGVERSION}
lib/libicui18n.a
lib/libicui18n.so
lib/libicui18n.so.57
lib/libicui18n.so.58
lib/libicui18n.so.${PKGVERSION}
lib/libicuio.a
lib/libicuio.so
lib/libicuio.so.57
lib/libicuio.so.58
lib/libicuio.so.${PKGVERSION}
lib/libicule.a
lib/libicule.so
lib/libicule.so.57
lib/libicule.so.${PKGVERSION}
lib/libiculx.a
lib/libiculx.so
lib/libiculx.so.57
lib/libiculx.so.${PKGVERSION}
lib/libicutest.a
lib/libicutest.so
lib/libicutest.so.57
lib/libicutest.so.58
lib/libicutest.so.${PKGVERSION}
lib/libicutu.a
lib/libicutu.so
lib/libicutu.so.57
lib/libicutu.so.58
lib/libicutu.so.${PKGVERSION}
lib/libicuuc.a
lib/libicuuc.so
lib/libicuuc.so.57
lib/libicuuc.so.58
lib/libicuuc.so.${PKGVERSION}
lib/pkgconfig/icu-i18n.pc
lib/pkgconfig/icu-io.pc
lib/pkgconfig/icu-le.pc
lib/pkgconfig/icu-lx.pc
lib/pkgconfig/icu-uc.pc
man/man1/derb.1
man/man1/genbrk.1
Expand All @@ -258,6 +234,6 @@ sbin/gennorm2
sbin/gensprep
sbin/icupkg
share/icu/${PKGVERSION}/LICENSE
share/icu/${PKGVERSION}/config/${MH_NAME}
share/icu/${PKGVERSION}/config/mh-bsd-gcc
share/icu/${PKGVERSION}/install-sh
share/icu/${PKGVERSION}/mkinstalldirs
4 changes: 2 additions & 2 deletions textproc/icu/buildlink3.mk
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# $NetBSD: buildlink3.mk,v 1.29 2016/04/11 16:15:22 ryoon Exp $
# $NetBSD: buildlink3.mk,v 1.30 2016/12/04 04:11:32 ryoon Exp $

BUILDLINK_TREE+= icu

.if !defined(ICU_BUILDLINK3_MK)
ICU_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.icu+= icu>=3.4
BUILDLINK_ABI_DEPENDS.icu+= icu>=57.1
BUILDLINK_ABI_DEPENDS.icu+= icu>=58.1
BUILDLINK_PKGSRCDIR.icu?= ../../textproc/icu
.endif # ICU_BUILDLINK3_MK

Expand Down
17 changes: 11 additions & 6 deletions textproc/icu/distinfo
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
$NetBSD: distinfo,v 1.61 2016/04/11 16:15:22 ryoon Exp $
$NetBSD: distinfo,v 1.62 2016/12/04 04:11:32 ryoon Exp $

SHA1 (icu4c-57_1-src.tgz) = ca5f5cc584f45e87bf56bf8b7f9244d12a5ada67
RMD160 (icu4c-57_1-src.tgz) = a2b72756d7dddb0f459074dfc943fc9383d82d9b
SHA512 (icu4c-57_1-src.tgz) = a3c701e9c81622db545bcf93f315c7b13159750f43f009d0aec59ceae3a8e1ccb751826d4b8a7387aca47f38bff2a85816b1a123b07d2bf731558c7b66e47b8a
Size (icu4c-57_1-src.tgz) = 22360664 bytes
SHA1 (patch-aa) = fd5c513e75ca17a46be4ed010455bda63731afff
SHA1 (icu4c-58_1-src.tgz) = 0739f45f985e4dfd0fcda978aecbb0de4d7ddaa6
RMD160 (icu4c-58_1-src.tgz) = f7b2401c18d5b786890a0cbc38fefdf2c3d30570
SHA512 (icu4c-58_1-src.tgz) = 59b2a76834192a35125fda326587e613ef4486152cf0278c6f22568d4ae02c4b2d897efcea2654ef2b11bd1c3154aecd38cb68a70f69430736f343689f94c155
Size (icu4c-58_1-src.tgz) = 23366443 bytes
SHA1 (patch-aa) = 67440d3af9b62b8c0be258c490255ba17f778ab4
SHA1 (patch-ab) = 32f0e4c241535e37e4cad9b871ed3d36b4184199
SHA1 (patch-ac) = e7cee161315321d2580074054d87714b55319886
SHA1 (patch-acinclude.m4) = f7de1a16aad0ca77c4bbc457ba76b6171199ce09
SHA1 (patch-ad) = c2a9469bf896b5f0702d5795c3b1c2b394893663
SHA1 (patch-af) = 07421b669780e5eea5dc455cc39ca9737c0f728a
SHA1 (patch-common_putil.cpp) = 3058a542bcb2fdfa34b36acf389570990acd0da5
SHA1 (patch-common_putilimp.h) = a68faa97c2bffeecaca1586e26f5bbe48e71b262
SHA1 (patch-common_ulist.c) = 8dd2c8152f99d762aab7e9d48293de3ccfb711cf
SHA1 (patch-common_umutex.h) = 096d3e15ef7b84533456af4570ed70747a4ef70c
SHA1 (patch-common_unicode_platform.h) = 8b7b8bcf6f5185225a1ca516ac212a495f7b47e8
SHA1 (patch-common_uposixdefs.h) = 02dedd10282961dec66673069796122b447dac33
Expand All @@ -20,5 +21,9 @@ SHA1 (patch-config_mh-scoosr5) = 47703dcc184f58c0382da3225f849424ab74d472
SHA1 (patch-config_mh-solaris-gcc) = 19f76c27bef22cc3b572e4b67a526d5f1aa077bc
SHA1 (patch-configure) = 429c0b3eb3f7d0a8cf3d01a9bc359132eebe8cf4
SHA1 (patch-configure.ac) = b0291cf02351cbad9b0c7340baea9eb81cabb158
SHA1 (patch-i18n_digitlst.cpp) = 57decf47ef778b5931b3ab247ceb5e8c95344956
SHA1 (patch-i18n_ucol__res.cpp) = 5e13b689941cf07bee997544aca19a6d6ce64511
SHA1 (patch-test_intltest_apicoll.cpp) = e55d7cd13d2bb9f6b08f2c9c59ae475b875f110f
SHA1 (patch-test_intltest_apicoll.h) = e2a93be1da65e08abe3e6b28bd8aee33307a7c3e
SHA1 (patch-tools-toolutil-pkg_genc.c) = b5a9eb679908d9f579ff095c5389ec1aa8df8e1e
SHA1 (patch-tools_pkgdata_pkgdata.cpp) = 1c87fcc511f0e6cedbaf01c5164e522c33f19458
24 changes: 3 additions & 21 deletions textproc/icu/patches/patch-aa
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
$NetBSD: patch-aa,v 1.17 2014/10/07 16:09:53 adam Exp $
$NetBSD: patch-aa,v 1.18 2016/12/04 04:11:33 ryoon Exp $

Add linker flags for finding the libraries to pkg-config files.
Avoid using programs which need elevated privileges during the build.

--- Makefile.in.orig 2014-10-03 16:18:36.000000000 +0000
--- Makefile.in.orig 2016-09-09 21:28:18.000000000 +0000
+++ Makefile.in
@@ -272,7 +272,7 @@ config/icu-i18n.pc: config/icu.pc Makefi
@echo "Description: $(PACKAGE_ICU_DESCRIPTION): Internationalization library" >> $@
Expand All @@ -22,17 +22,8 @@ Avoid using programs which need elevated privileges during the build.
+ @echo "Libs:" '-L$${libdir}' "${ICULIBS_IO}" >> $@
@echo $@ updated.

config/icu-le.pc: config/icu.pc Makefile icudefs.mk
@@ -288,7 +288,7 @@ config/icu-le.pc: config/icu.pc Makefile
@echo "Description: $(PACKAGE_ICU_DESCRIPTION): Layout library" >> $@
@echo "Name: $(PACKAGE)-le" >> $@
@echo "Requires: icu-uc" >> $@
- @echo "Libs:" "${ICULIBS_LE}" >> $@
+ @echo "Libs:" '-L$${libdir}' "${ICULIBS_LE}" >> $@
@echo $@ updated.

ICULEHB_LIBS=@ICULEHB_LIBS@
@@ -307,7 +307,7 @@ ifneq ($(ICULEHB_LIBS),)
@@ -299,7 +299,7 @@ ifneq ($(ICULEHB_LIBS),)
else
@echo "Requires: icu-le" >> $@
endif
Expand All @@ -41,12 +32,3 @@ Avoid using programs which need elevated privileges during the build.
@echo $@ updated.


@@ -329,7 +329,7 @@ $(top_builddir)/config/pkgdataMakefile:

$(top_builddir)/config/icu-config: $(top_builddir)/Makefile $(top_srcdir)/config/icu-config-top $(top_srcdir)/config/icu-config-bottom $(top_builddir)/config/Makefile.inc @platform_make_fragment@ $(top_srcdir)/config/make2sh.sed
-$(RMV) $@
- $(INSTALL_SCRIPT) $(top_srcdir)/config/icu-config-top $@
+ cp -f $(top_srcdir)/config/icu-config-top $@
chmod u+w $@
@echo "# Following from @platform_make_fragment@" >> $@
LC_ALL=C sed -f $(top_srcdir)/config/make2sh.sed < $(top_builddir)/config/Makefile.inc | grep -v '#M#' | uniq >> $@
61 changes: 61 additions & 0 deletions textproc/icu/patches/patch-common_ulist.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
$NetBSD: patch-common_ulist.c,v 1.1 2016/12/04 04:11:33 ryoon Exp $

--- common/ulist.c.orig 2016-06-15 18:58:17.000000000 +0000
+++ common/ulist.c
@@ -29,7 +29,6 @@ struct UList {
UListNode *tail;

int32_t size;
- int32_t currentIndex;
};

static void ulist_addFirstItem(UList *list, UListNode *newItem);
@@ -51,7 +50,6 @@ U_CAPI UList *U_EXPORT2 ulist_createEmpt
newList->head = NULL;
newList->tail = NULL;
newList->size = 0;
- newList->currentIndex = -1;

return newList;
}
@@ -80,8 +78,9 @@ static void ulist_removeItem(UList *list
} else {
p->next->previous = p->previous;
}
- list->curr = NULL;
- list->currentIndex = 0;
+ if (p == list->curr) {
+ list->curr = p->next;
+ }
--list->size;
if (p->forceDelete) {
uprv_free(p->data);
@@ -150,7 +149,6 @@ U_CAPI void U_EXPORT2 ulist_addItemBegin
newItem->next = list->head;
list->head->previous = newItem;
list->head = newItem;
- list->currentIndex++;
}

list->size++;
@@ -193,7 +191,6 @@ U_CAPI void *U_EXPORT2 ulist_getNext(ULi

curr = list->curr;
list->curr = curr->next;
- list->currentIndex++;

return curr->data;
}
@@ -209,7 +206,6 @@ U_CAPI int32_t U_EXPORT2 ulist_getListSi
U_CAPI void U_EXPORT2 ulist_resetList(UList *list) {
if (list != NULL) {
list->curr = list->head;
- list->currentIndex = 0;
}
}

@@ -272,4 +268,3 @@ U_CAPI void U_EXPORT2 ulist_reset_keywor
U_CAPI UList * U_EXPORT2 ulist_getListFromEnum(UEnumeration *en) {
return (UList *)(en->context);
}
-
13 changes: 13 additions & 0 deletions textproc/icu/patches/patch-i18n_digitlst.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
$NetBSD: patch-i18n_digitlst.cpp,v 1.1 2016/12/04 04:11:33 ryoon Exp $

--- i18n/digitlst.cpp.orig 2016-10-17 05:10:38.000000000 +0000
+++ i18n/digitlst.cpp
@@ -61,7 +61,7 @@
#endif

#if U_USE_STRTOD_L && !U_PLATFORM_USES_ONLY_WIN32_API
-# if U_PLATFORM == U_PF_CYGWIN
+# if (U_PLATFORM == U_PF_CYGWIN) || defined(__NetBSD__)
# include <locale.h>
# else
# include <xlocale.h>
12 changes: 12 additions & 0 deletions textproc/icu/patches/patch-i18n_ucol__res.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
$NetBSD: patch-i18n_ucol__res.cpp,v 1.1 2016/12/04 04:11:33 ryoon Exp $

--- i18n/ucol_res.cpp.orig 2016-09-28 02:26:02.000000000 +0000
+++ i18n/ucol_res.cpp
@@ -680,6 +680,7 @@ ucol_getKeywordValuesForLocale(const cha
return NULL;
}
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.
return en;
61 changes: 61 additions & 0 deletions textproc/icu/patches/patch-test_intltest_apicoll.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
$NetBSD: patch-test_intltest_apicoll.cpp,v 1.1 2016/12/04 04:11:33 ryoon Exp $

--- test/intltest/apicoll.cpp.orig 2016-09-20 04:30:06.000000000 +0000
+++ test/intltest/apicoll.cpp
@@ -81,17 +81,10 @@ CollationAPITest::TestProperty(/* char*
logln("Test ctors : ");
col = Collator::createInstance(Locale::getEnglish(), success);
if (U_FAILURE(success)){
- errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success));
+ errcheckln(success, "English 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;
-
col->getVersion(versionArray);
// Check for a version greater than some value rather than equality
// so that we need not update the expected version each time.
@@ -231,6 +224,29 @@ CollationAPITest::TestProperty(/* char*
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);
+}
+
void
CollationAPITest::TestRuleBasedColl()
{
@@ -2466,6 +2482,7 @@ void CollationAPITest::runIndexedTest( i
if (exec) logln("TestSuite CollationAPITest: ");
TESTCASE_AUTO_BEGIN;
TESTCASE_AUTO(TestProperty);
+ TESTCASE_AUTO(TestKeywordValues);
TESTCASE_AUTO(TestOperators);
TESTCASE_AUTO(TestDuplicate);
TESTCASE_AUTO(TestCompare);
12 changes: 12 additions & 0 deletions textproc/icu/patches/patch-test_intltest_apicoll.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
$NetBSD: patch-test_intltest_apicoll.h,v 1.1 2016/12/04 04:11:33 ryoon Exp $

--- test/intltest/apicoll.h.orig 2016-06-15 18:58:17.000000000 +0000
+++ test/intltest/apicoll.h
@@ -35,6 +35,7 @@ public:
* - displayable name in the desired locale
*/
void TestProperty(/* char* par */);
+ void TestKeywordValues();

/**
* This tests the RuleBasedCollator

0 comments on commit 0901889

Please sign in to comment.