diff options
author | ryoon <ryoon@pkgsrc.org> | 2016-12-04 04:11:32 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2016-12-04 04:11:32 +0000 |
commit | a80f92bd68cc5281962d71bc933b55eb4f9138c3 (patch) | |
tree | 1b8b63a8e664c66fb4f25b3b69cf2eb99c169f53 /textproc/icu | |
parent | 0d64b56801bd0dc7f3c42a31353345344fc6bcbe (diff) | |
download | pkgsrc-a80f92bd68cc5281962d71bc933b55eb4f9138c3.tar.gz |
Update to 58.1
* 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.
Diffstat (limited to 'textproc/icu')
-rw-r--r-- | textproc/icu/Makefile | 4 | ||||
-rw-r--r-- | textproc/icu/PLIST | 42 | ||||
-rw-r--r-- | textproc/icu/buildlink3.mk | 4 | ||||
-rw-r--r-- | textproc/icu/distinfo | 17 | ||||
-rw-r--r-- | textproc/icu/patches/patch-aa | 24 | ||||
-rw-r--r-- | textproc/icu/patches/patch-common_ulist.c | 61 | ||||
-rw-r--r-- | textproc/icu/patches/patch-i18n_digitlst.cpp | 13 | ||||
-rw-r--r-- | textproc/icu/patches/patch-i18n_ucol__res.cpp | 12 | ||||
-rw-r--r-- | textproc/icu/patches/patch-test_intltest_apicoll.cpp | 61 | ||||
-rw-r--r-- | textproc/icu/patches/patch-test_intltest_apicoll.h | 12 |
10 files changed, 186 insertions, 64 deletions
diff --git a/textproc/icu/Makefile b/textproc/icu/Makefile index c10cb7cdd2f..438dc8aba06 100644 --- a/textproc/icu/Makefile +++ b/textproc/icu/Makefile @@ -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}/ diff --git a/textproc/icu/PLIST b/textproc/icu/PLIST index a6c544aa9cb..d88f37c5544 100644 --- a/textproc/icu/PLIST +++ b/textproc/icu/PLIST @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/textproc/icu/buildlink3.mk b/textproc/icu/buildlink3.mk index 8ba84e8e1b5..252b4b86a4f 100644 --- a/textproc/icu/buildlink3.mk +++ b/textproc/icu/buildlink3.mk @@ -1,4 +1,4 @@ -# $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 @@ -6,7 +6,7 @@ BUILDLINK_TREE+= icu 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 diff --git a/textproc/icu/distinfo b/textproc/icu/distinfo index 158ed074b86..a1fce2a5887 100644 --- a/textproc/icu/distinfo +++ b/textproc/icu/distinfo @@ -1,10 +1,10 @@ -$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 @@ -12,6 +12,7 @@ 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 @@ -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 diff --git a/textproc/icu/patches/patch-aa b/textproc/icu/patches/patch-aa index c3c6688c6a6..edc6361470f 100644 --- a/textproc/icu/patches/patch-aa +++ b/textproc/icu/patches/patch-aa @@ -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" >> $@ @@ -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 @@ -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 >> $@ diff --git a/textproc/icu/patches/patch-common_ulist.c b/textproc/icu/patches/patch-common_ulist.c new file mode 100644 index 00000000000..dbf5d0789f6 --- /dev/null +++ b/textproc/icu/patches/patch-common_ulist.c @@ -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); + } +- diff --git a/textproc/icu/patches/patch-i18n_digitlst.cpp b/textproc/icu/patches/patch-i18n_digitlst.cpp new file mode 100644 index 00000000000..aee0f6750d7 --- /dev/null +++ b/textproc/icu/patches/patch-i18n_digitlst.cpp @@ -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> diff --git a/textproc/icu/patches/patch-i18n_ucol__res.cpp b/textproc/icu/patches/patch-i18n_ucol__res.cpp new file mode 100644 index 00000000000..a049b820e99 --- /dev/null +++ b/textproc/icu/patches/patch-i18n_ucol__res.cpp @@ -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; diff --git a/textproc/icu/patches/patch-test_intltest_apicoll.cpp b/textproc/icu/patches/patch-test_intltest_apicoll.cpp new file mode 100644 index 00000000000..314e2338258 --- /dev/null +++ b/textproc/icu/patches/patch-test_intltest_apicoll.cpp @@ -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); diff --git a/textproc/icu/patches/patch-test_intltest_apicoll.h b/textproc/icu/patches/patch-test_intltest_apicoll.h new file mode 100644 index 00000000000..6c4dcf1ee07 --- /dev/null +++ b/textproc/icu/patches/patch-test_intltest_apicoll.h @@ -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 |