summaryrefslogtreecommitdiff
path: root/textproc/icu
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2016-12-04 04:11:32 +0000
committerryoon <ryoon@pkgsrc.org>2016-12-04 04:11:32 +0000
commita80f92bd68cc5281962d71bc933b55eb4f9138c3 (patch)
tree1b8b63a8e664c66fb4f25b3b69cf2eb99c169f53 /textproc/icu
parent0d64b56801bd0dc7f3c42a31353345344fc6bcbe (diff)
downloadpkgsrc-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/Makefile4
-rw-r--r--textproc/icu/PLIST42
-rw-r--r--textproc/icu/buildlink3.mk4
-rw-r--r--textproc/icu/distinfo17
-rw-r--r--textproc/icu/patches/patch-aa24
-rw-r--r--textproc/icu/patches/patch-common_ulist.c61
-rw-r--r--textproc/icu/patches/patch-i18n_digitlst.cpp13
-rw-r--r--textproc/icu/patches/patch-i18n_ucol__res.cpp12
-rw-r--r--textproc/icu/patches/patch-test_intltest_apicoll.cpp61
-rw-r--r--textproc/icu/patches/patch-test_intltest_apicoll.h12
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