Update to 56.1

Changelog:
Release Overview
The features for this release include support of CLDR 28 and Unicode 8.0.

For more details, including migration issues, see below.
Common Changes

    CLDR 28: For details of the many changes in CLDR, see CLDR 28.
    Unicode data updated to Unicode 8.0: 41 new emoji characters, 5,771 new ideographs for Chinese/Japanese/Korean, 6 new scripts, improved character properties data, etc.
    ICU data size reduced by about 7.2% (1.8MB) via sharing string values across resource bundles. [#11537]
    DateIntervalFormat now handles intervals with seconds, and sets FieldPosition more consistently. [#11706, #11726]
    DateFormat::createInstanceForSkeleton() caches DateFormat patterns rather than DateTimePatternGenerator instances, for better performance (for cache hits) and lower heap memory consumption. [#11780]
    StringSearch (based on collation) defaults to matches on normalization boundaries rather than grapheme cluster boundaries, which yields more matches on Indic text. [#11750]
    RuleBasedNumberFormat (spelled-out numbers) now handles rounding (Java only), infinity, NaN. [#11653, #11760, #8223]
    Most of the old Normalizer/unorm.h had been replaced by (and reimplemented via) Normalizer2, and is now deprecated. [#7303]
    COLON has been withdrawn as a date pattern character corresponding to the date field [UDAT_]TIME_SEPARATOR_FIELD; there is currently no pattern character corresponding to that field. [#11773]
    Support for locale key "cf" to specify currency format style, and interaction with NumberFormat values for UNumberFormatStyle: [#11787]
        For NumberFormat style UNUM_CURRENCY / CURRENCYSTYLE, the default is "standard" currency style (typically using minus sign for negative numbers), but the new locale key "cf" may be used with values "standard" or "account" to specify currency format style ("account" indicates accounting style, often using parentheses for negative numbers).
        For other NumberFormat styles, the locale key "cf" is ignored (they override the locale preference):
            UNUM_CURRENCY_ISO / ISOCURRENCYSTYLE
            UNUM_CURRENCY_PLURAL / PLURALCURRENCYSTYLE
            UNUM_CURRENCY_ACCOUNTING / ACCOUNTINGCURRENCYSTYLE
            UNUM_CASH_CURRENCY / CASHCURRENCYSTYLE
        A new NumberFormat style is availble to explicitly specify standard style, ignoring the  the locale key "cf"
            UNUM_CURRENCY_STANDARD / STANDARDCURRENCYSTYLE

ICU4C Specific Changes

    C API support for CompactDecimalFormat via UNumberFormatStyle additions: UNUM_DECIMAL_COMPACT_SHORT, UNUM_DECIMAL_COMPACT_LONG [#11693]
    Larger UnicodeString object stores more characters inside the object without heap allocation; the UnicodeString object size is now build-time-configurable. [#11551]
        On 64-bit machines, increase from object size 40 bytes with 15 internal UChars to a new default of 64 bytes with 27 UChars.
    Some C++ classes now have swap() and moveFrom() methods, and support C++11 move semantics on compilers that support them. [#10086]
        UnicodeString, LocalPointer, LocalArray
    DecimalFormat code refactored to fix bugs, improve maintainability, and improve performance. [#10458]
    New FilteredBreakIterator suppresses certain segment boundaries. For example, it can suppress the sentence boundary in the middle of "Mr. Smith". [#11248]
    The internal, shared cache has been changed from unbounded to bounded. [#11767]
    For [U]BreakIterator with type UBRK_SENTENCE, the locale key "ss" can now be used with value "standard" to specify that standard sentence break suppression data should be used, or with value "none" to indicate that no break suppression data should be used (the default). [#11770]
    Collator: first-time startup time improved 20% due to precalculated unsafe-backward table [#11886]
    A number of memory leaks and buffer overruns have been fixed based on static code analysis, mostly in data build tools
This commit is contained in:
ryoon 2015-10-09 23:15:34 +00:00
parent 6a76e7830c
commit 9c0d06ea3f
8 changed files with 47 additions and 64 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.100 2015/09/29 02:15:54 tnn Exp $
# $NetBSD: Makefile,v 1.101 2015/10/09 23:15:34 ryoon Exp $
DISTNAME= icu4c-55_1-src
PKGREVISION= 1
DISTNAME= icu4c-56_1-src
PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g}
CATEGORIES= textproc
MASTER_SITES= http://download.icu-project.org/files/icu4c/${PKGVERSION_NOREV}/

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.33 2015/04/06 07:22:54 adam Exp $
@comment $NetBSD: PLIST,v 1.34 2015/10/09 23:15:34 ryoon Exp $
bin/derb
bin/genbrk
bin/gencfu
@ -201,35 +201,35 @@ lib/icu/current
lib/icu/pkgdata.inc
lib/libicudata.a
lib/libicudata.so
lib/libicudata.so.55
lib/libicudata.so.56
lib/libicudata.so.${PKGVERSION}
lib/libicui18n.a
lib/libicui18n.so
lib/libicui18n.so.55
lib/libicui18n.so.56
lib/libicui18n.so.${PKGVERSION}
lib/libicuio.a
lib/libicuio.so
lib/libicuio.so.55
lib/libicuio.so.56
lib/libicuio.so.${PKGVERSION}
lib/libicule.a
lib/libicule.so
lib/libicule.so.55
lib/libicule.so.56
lib/libicule.so.${PKGVERSION}
lib/libiculx.a
lib/libiculx.so
lib/libiculx.so.55
lib/libiculx.so.56
lib/libiculx.so.${PKGVERSION}
lib/libicutest.a
lib/libicutest.so
lib/libicutest.so.55
lib/libicutest.so.56
lib/libicutest.so.${PKGVERSION}
lib/libicutu.a
lib/libicutu.so
lib/libicutu.so.55
lib/libicutu.so.56
lib/libicutu.so.${PKGVERSION}
lib/libicuuc.a
lib/libicuuc.so
lib/libicuuc.so.55
lib/libicuuc.so.56
lib/libicuuc.so.${PKGVERSION}
lib/pkgconfig/icu-i18n.pc
lib/pkgconfig/icu-io.pc
@ -255,7 +255,7 @@ sbin/gencmn
sbin/gennorm2
sbin/gensprep
sbin/icupkg
share/icu/${PKGVERSION}/config/${MH_NAME}
share/icu/${PKGVERSION}/config/mh-bsd-gcc
share/icu/${PKGVERSION}/install-sh
share/icu/${PKGVERSION}/license.html
share/icu/${PKGVERSION}/mkinstalldirs

View file

@ -1,22 +1,21 @@
$NetBSD: distinfo,v 1.55 2015/09/29 02:15:54 tnn Exp $
$NetBSD: distinfo,v 1.56 2015/10/09 23:15:34 ryoon Exp $
SHA1 (icu4c-55_1-src.tgz) = 3bb301c11be0e239c653e8aa2925c53f6f4dc88d
RMD160 (icu4c-55_1-src.tgz) = 94dcaaac13b41de3588b01f39febe1b1cbd5765d
Size (icu4c-55_1-src.tgz) = 25600847 bytes
SHA1 (icu4c-56_1-src.tgz) = e4494ce9425c469f138bb6e1ae06faf7fa0cf3de
RMD160 (icu4c-56_1-src.tgz) = 1ef7f377283a379654ebb051b7439c2cc6151da0
Size (icu4c-56_1-src.tgz) = 25721871 bytes
SHA1 (patch-aa) = fd5c513e75ca17a46be4ed010455bda63731afff
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) = 3d35bdea709ded1ae5926729fb23995ca8734687
SHA1 (patch-common_putil.cpp) = 3058a542bcb2fdfa34b36acf389570990acd0da5
SHA1 (patch-common_putilimp.h) = a68faa97c2bffeecaca1586e26f5bbe48e71b262
SHA1 (patch-common_ucnv__io.cpp) = d521ac029edece65de06d5e1e8a8814269b0489e
SHA1 (patch-common_umutex.h) = 096d3e15ef7b84533456af4570ed70747a4ef70c
SHA1 (patch-common_unicode_platform.h) = 82786dff790782eb07cdc527061de33e771ec63c
SHA1 (patch-common_unicode_platform.h) = 8b7b8bcf6f5185225a1ca516ac212a495f7b47e8
SHA1 (patch-common_uposixdefs.h) = 02dedd10282961dec66673069796122b447dac33
SHA1 (patch-config_icu-config-bottom) = 168b89ee9180d4ae545125866ee91eb004010501
SHA1 (patch-config_mh-scoosr5) = 47703dcc184f58c0382da3225f849424ab74d472
SHA1 (patch-configure) = 430389c77d35b93f1831e0444598eb86f61e315b
SHA1 (patch-configure.ac) = babf9edd0bef353e9fb8c47917658c0a65af5a36
SHA1 (patch-configure) = 429c0b3eb3f7d0a8cf3d01a9bc359132eebe8cf4
SHA1 (patch-configure.ac) = b0291cf02351cbad9b0c7340baea9eb81cabb158
SHA1 (patch-tools-toolutil-pkg_genc.c) = b5a9eb679908d9f579ff095c5389ec1aa8df8e1e

View file

@ -1,10 +1,10 @@
$NetBSD: patch-common_putil.cpp,v 1.1 2014/10/26 19:46:48 bsiegert Exp $
$NetBSD: patch-common_putil.cpp,v 1.2 2015/10/09 23:15:34 ryoon Exp $
--- common/putil.cpp.orig 2014-10-25 17:54:47.000000000 +0000
--- common/putil.cpp.orig 2015-10-08 03:53:44.000000000 +0000
+++ common/putil.cpp
@@ -117,6 +117,14 @@
#endif
/*
+ * Mac OS X 10.4 doesn't use its localtime_r() declaration in <time.h> if either _ANSI_SOURCE or _POSIX_C_SOURCE is #defined.
+ */

View file

@ -1,15 +0,0 @@
$NetBSD: patch-common_ucnv__io.cpp,v 1.1 2015/09/29 02:15:54 tnn Exp $
Debian CVE-2015-1270.patch
--- common/ucnv_io.cpp.orig 2015-03-27 21:10:42.000000000 +0000
+++ common/ucnv_io.cpp
@@ -744,7 +744,7 @@ ucnv_io_getConverterName(const char *ali
* the name begins with 'x-'. If it does, strip it off and try
* again. This behaviour is similar to how ICU4J does it.
*/
- if (aliasTmp[0] == 'x' || aliasTmp[1] == '-') {
+ if (aliasTmp[0] == 'x' && aliasTmp[1] == '-') {
aliasTmp = aliasTmp+2;
} else {
break;

View file

@ -1,17 +1,17 @@
$NetBSD: patch-common_unicode_platform.h,v 1.6 2013/12/03 21:16:06 bsiegert Exp $
$NetBSD: patch-common_unicode_platform.h,v 1.7 2015/10/09 23:15:34 ryoon Exp $
--- common/unicode/platform.h.orig 2013-10-04 20:49:10.000000000 +0000
--- common/unicode/platform.h.orig 2015-10-08 03:53:34.000000000 +0000
+++ common/unicode/platform.h
@@ -151,7 +151,7 @@
@@ -159,7 +159,7 @@
# else
# define U_PLATFORM U_PF_DARWIN
# endif
-#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__MirBSD__)
+#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__MirBSD__) || defined(__DragonFly__)
# define U_PLATFORM U_PF_BSD
#elif defined(sun) || defined(__sun)
/* Check defined(__SVR4) || defined(__svr4__) to distinguish Solaris from SunOS? */
@@ -379,6 +379,18 @@
# if defined(__FreeBSD__)
# include <sys/endian.h>
# endif
@@ -388,6 +388,18 @@
# define U_IS_BIG_ENDIAN 1
#elif defined(__LITTLE_ENDIAN__) || defined(_LITTLE_ENDIAN)
# define U_IS_BIG_ENDIAN 0

View file

@ -1,12 +1,12 @@
$NetBSD: patch-configure,v 1.7 2015/08/31 15:26:19 sevan Exp $
$NetBSD: patch-configure,v 1.8 2015/10/09 23:15:34 ryoon Exp $
Portability fix.
Solaris seems to need -std=c99 with recent pkgsrc so keep it.
Add support for Bitrig.
--- configure.orig Fri Mar 27 21:17:48 2015
--- configure.orig 2015-10-08 04:00:24.000000000 +0000
+++ configure
@@ -5147,7 +5147,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$
@@ -5174,7 +5174,7 @@ rm -f core conftest.err conftest.$ac_obj
*-*-cygwin) icu_cv_host_frag=mh-cygwin-msvc ;;
esac
fi ;;
@ -15,7 +15,7 @@ Add support for Bitrig.
*-*-aix*)
if test "$GCC" = yes; then
icu_cv_host_frag=mh-aix-gcc
@@ -5172,6 +5172,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$
@@ -5199,6 +5199,7 @@ rm -f core conftest.err conftest.$ac_obj
*-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;;
*-*-nto*) icu_cv_host_frag=mh-qnx ;;
*-ncr-*) icu_cv_host_frag=mh-mpras ;;
@ -23,10 +23,10 @@ Add support for Bitrig.
*) icu_cv_host_frag=mh-unknown ;;
esac
@@ -5682,6 +5683,29 @@ if test "x$ac_cv_header_elf_h" = "xyes"; then
CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_HAVE_ELF_H=1";
@@ -5736,6 +5737,29 @@ if test "x$plugins" = "xtrue"; then
fi
+# check if sys/atomic.h is present.
+for ac_header in sys/atomic.h
+do :
@ -52,8 +52,8 @@ Add support for Bitrig.
+
U_ENABLE_DYLOAD=1
enable=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable dynamic loading of plugins" >&5
@@ -7655,7 +7679,7 @@ ICUDATA_CHAR=$U_ENDIAN_CHAR
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable dynamic loading of plugins. Ignored if plugins disabled." >&5
@@ -7729,7 +7753,7 @@ ICUDATA_CHAR=$U_ENDIAN_CHAR
case "${host}" in
*-*-solaris*) platform=U_SOLARIS ;;
*-*-linux*|*-*-gnu|*-*-k*bsd*-gnu|*-*-kopensolaris*-gnu) platform=U_LINUX ;;
@ -62,7 +62,7 @@ Add support for Bitrig.
*-*-aix*) platform=U_AIX ;;
*-*-hpux*) platform=U_HPUX ;;
*-apple-darwin*|*-apple-rhapsody*) platform=U_DARWIN ;;
@@ -7691,13 +7715,13 @@ fi
@@ -7765,13 +7789,13 @@ fi
# Now that we're done using CPPFLAGS etc. for tests, we can change it
# for build.

View file

@ -1,15 +1,15 @@
$NetBSD: patch-configure.ac,v 1.4 2015/08/31 15:26:19 sevan Exp $
$NetBSD: patch-configure.ac,v 1.5 2015/10/09 23:15:34 ryoon Exp $
* Detect NetBSD libatomic
* test(1) portability fix
* Add support for Bitrig
--- configure.ac.orig Fri Mar 27 21:17:48 2015
--- configure.ac.orig 2015-10-08 04:00:26.000000000 +0000
+++ configure.ac
@@ -409,6 +409,18 @@ if test "x$ac_cv_header_elf_h" = "xyes"; then
CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_HAVE_ELF_H=1";
@@ -427,6 +427,18 @@ if test "x$plugins" = "xtrue"; then
fi
+# check if sys/atomic.h is present.
+AC_CHECK_HEADERS([sys/atomic.h])
+case "${host}" in
@ -24,8 +24,8 @@ $NetBSD: patch-configure.ac,v 1.4 2015/08/31 15:26:19 sevan Exp $
+
U_ENABLE_DYLOAD=1
enable=yes
AC_MSG_CHECKING([whether to enable dynamic loading of plugins])
@@ -1234,7 +1246,7 @@ ICUDATA_CHAR=$U_ENDIAN_CHAR
AC_MSG_CHECKING([whether to enable dynamic loading of plugins. Ignored if plugins disabled.])
@@ -1251,7 +1263,7 @@ ICUDATA_CHAR=$U_ENDIAN_CHAR
case "${host}" in
*-*-solaris*) platform=U_SOLARIS ;;
*-*-linux*|*-*-gnu|*-*-k*bsd*-gnu|*-*-kopensolaris*-gnu) platform=U_LINUX ;;
@ -34,7 +34,7 @@ $NetBSD: patch-configure.ac,v 1.4 2015/08/31 15:26:19 sevan Exp $
*-*-aix*) platform=U_AIX ;;
*-*-hpux*) platform=U_HPUX ;;
*-apple-darwin*|*-apple-rhapsody*) platform=U_DARWIN ;;
@@ -1253,6 +1265,7 @@ case "${host}" in
@@ -1270,6 +1282,7 @@ case "${host}" in
*-*-beos) platform=U_BEOS ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
@ -42,7 +42,7 @@ $NetBSD: patch-configure.ac,v 1.4 2015/08/31 15:26:19 sevan Exp $
*) platform=U_UNKNOWN_PLATFORM ;;
esac
AC_SUBST(ICUDATA_CHAR)
@@ -1270,13 +1283,13 @@ fi
@@ -1287,13 +1300,13 @@ fi
# Now that we're done using CPPFLAGS etc. for tests, we can change it
# for build.