9c0d06ea3f
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
135 lines
3.8 KiB
Makefile
135 lines
3.8 KiB
Makefile
# $NetBSD: Makefile,v 1.101 2015/10/09 23:15:34 ryoon Exp $
|
|
|
|
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}/
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://www.icu-project.org/
|
|
COMMENT= Robust and full-featured Unicode services
|
|
LICENSE= mit
|
|
|
|
WRKSRC= ${WRKDIR}/icu/source
|
|
USE_LANGUAGES= c c++
|
|
USE_TOOLS+= gmake
|
|
TEST_TARGET= check
|
|
UNLIMIT_RESOURCES+= datasize
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --enable-static
|
|
CONFIGURE_ENV+= U_MAKE=${TOOLS_GMAKE}
|
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
|
|
.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} != "native"
|
|
CONFIGURE_ARGS+= --disable-threads
|
|
.endif
|
|
|
|
.include "../../mk/compiler.mk"
|
|
|
|
# from ICU_CHECK_MH_FRAG in source/acinclude.m4
|
|
.if ${OPSYS} == "SunOS"
|
|
. if !empty(CC_VERSION:Mgcc*)
|
|
PLIST_SUBST+= MH_NAME=mh-solaris-gcc
|
|
. else
|
|
PLIST_SUBST+= MH_NAME=mh-solaris
|
|
. endif
|
|
. if !empty(CC_VERSION:Mgcc-4.[6-9].*)
|
|
BUILDLINK_TRANSFORM+= rm:-D__STDC__=0
|
|
. endif
|
|
BUILDLINK_TRANSFORM+= rm:-ansi
|
|
.elif !empty(MACHINE_PLATFORM:MLinux-*-alpha)
|
|
. if !empty(CC_VERSION:Mgcc*)
|
|
PLIST_SUBST+= MH_NAME=mh-alpha-linux-gcc
|
|
. else
|
|
PLIST_SUBST+= MH_NAME=mh-alpha-linux-cc
|
|
. endif
|
|
.elif !empty(MACHINE_PLATFORM:MLinux-*-powerpc*)
|
|
. if !empty(CC_VERSION:Mgcc*)
|
|
PLIST_SUBST+= MH_NAME=mh-linux
|
|
. else
|
|
PLIST_SUBST+= MH_NAME=mh-linux-va
|
|
. endif
|
|
.elif ${OPSYS} == "Linux" || ${OPSYS} == "GNUkFreeBSD"
|
|
PLIST_SUBST+= MH_NAME=mh-linux
|
|
.elif ${OPSYS} == "Cygwin"
|
|
PLIST_SUBST+= MH_NAME=mh-cygwin
|
|
.elif !empty(OPSYS:M*BSD*) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Bitrig"
|
|
PLIST_SUBST+= MH_NAME=mh-bsd-gcc
|
|
.elif ${OPSYS} == "AIX"
|
|
. if !empty(CC_VERSION:Mgcc*)
|
|
PLIST_SUBST+= MH_NAME=mh-aix-gcc
|
|
. else
|
|
PLIST_SUBST+= MH_NAME=mh-aix-va
|
|
. endif
|
|
.elif ${OPSYS} == "HPUX"
|
|
. if !empty(CC_VERSION:Mgcc*)
|
|
PLIST_SUBST+= MH_NAME=mh-hpux-gcc
|
|
. else
|
|
PLIST_SUBST+= MH_NAME=mh-hpux-acc
|
|
. endif
|
|
.elif ${OPSYS} == "Darwin"
|
|
PLIST_SUBST+= MH_NAME=mh-darwin
|
|
.elif ${OPSYS} == "Haiku"
|
|
PLIST_SUBST+= MH_NAME=mh-haiku
|
|
.elif ${OPSYS} == "IRIX"
|
|
PLIST_SUBST+= MH_NAME=mh-irix
|
|
.elif ${OPSYS} == "Cygwin"
|
|
PLIST_SUBST+= MH_NAME=mh-cygwin
|
|
.elif ${OS_VARIANT} == "SCOOSR5"
|
|
PLIST_SUBST+= MH_NAME=mh-scoosr5
|
|
.elif ${OPSYS} == "OSF1"
|
|
PLIST_SUBST+= MH_NAME=mh-alpha-osf
|
|
.elif ${OPSYS} == "QNX"
|
|
PLIST_SUBST+= MH_NAME=mh-qnx
|
|
.else
|
|
# For unknown systems, set the filename to mh-unknown so that the user
|
|
# gets a warning about missing files.
|
|
PLIST_SUBST+= MH_NAME=mh-unknown
|
|
.endif
|
|
|
|
.if ${OPSYS} == "Cygwin"
|
|
INSTALL_UNSTRIPPED= yes
|
|
.endif
|
|
|
|
PKGCONFIG_OVERRIDE+= config/icu-i18n.pc
|
|
PKGCONFIG_OVERRIDE+= config/icu-io.pc
|
|
PKGCONFIG_OVERRIDE+= config/icu-le.pc
|
|
PKGCONFIG_OVERRIDE+= config/icu-lx.pc
|
|
PKGCONFIG_OVERRIDE+= config/icu-uc.pc
|
|
PKGCONFIG_OVERRIDE+= config/icu.pc
|
|
PKGCONFIG_OVERRIDE_STAGE= post-build
|
|
|
|
# expect builtin gcc atomic functions for gcc>=4.1
|
|
# (source/common/putilimp.h)
|
|
.if !empty(CC_VERSION:Mgcc-*) && \
|
|
(empty(CC_VERSION:Mgcc-4.0*) && empty(CC_VERSION:Mgcc-[0-3].*))
|
|
. if ${MACHINE_ARCH} == "i386"
|
|
CFLAGS+= -march=i486
|
|
. endif
|
|
.endif
|
|
|
|
.if ${OPSYS} == "Cygwin"
|
|
SO_MAJOR= ${PKGVERSION_NOREV:R}
|
|
. for l in data i18n io le lx test tu uc
|
|
GENERATE_PLIST+= ${ECHO} bin/cygicu${l}${SO_MAJOR}.dll;
|
|
GENERATE_PLIST+= ${ECHO} lib/libicu${l}${SO_MAJOR}.dll.a;
|
|
. endfor
|
|
|
|
post-install:
|
|
mv ${DESTDIR}${PREFIX}/lib/cygicu*.dll ${DESTDIR}${PREFIX}/bin/
|
|
. for l in data i18n io le lx test tu uc
|
|
${LN} -s libicu${l}${SO_MAJOR}.dll.a ${DESTDIR}${PREFIX}/lib/libicu${l}.dll.a
|
|
. endfor
|
|
|
|
SUBST_CLASSES+= icu-config
|
|
SUBST_STAGE.icu-config= post-install
|
|
SUBST_FILES.icu-config= ${DESTDIR}${PREFIX}/bin/icu-config
|
|
SUBST_SED.icu-config+= -e '/^ICUUC_FILE=/ s/libdir/bindir/'
|
|
SUBST_SED.icu-config+= -e 's/l$${LIBICU}/l$${ICUPREFIX}/g'
|
|
SUBST_SED.icu-config+= -e '/l$${ICUPREFIX}/ s/$${ICULIBSUFFIX_VERSION}//g'
|
|
|
|
.endif
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|