2014-06-08 11:08:19 +02:00
|
|
|
# $NetBSD: Makefile,v 1.91 2014/06/08 09:08:19 obache Exp $
|
2000-12-20 19:27:59 +01:00
|
|
|
|
Changes 53.1:
Data from the CLDR 25 release: Many bug fixes
Time zone data: 2014b, including post CLDR 25 time zone data update to CLDR.
U+20BD Ruble Sign added (from Unicode 7.0, otherwise ICU 53 still uses Unicode 6.3)
MeasureFormat API for new units in CLDR 24
Hoisted setContext/getContext from SimpleDateFormat to DateFormat, implement context-sensitive capitalization of relative dates
Added setContext/getContext methods to NumberFormat (and unum_setContext/unum_getContext for UNumberFormat), implement context-sensitive number formatting (for RBNF spellout)
Improved lenient date parsing consistency between ICU4C and ICU4J, add finer-grained control of date parsing leniency
Fixed numeric rounding in TimeUnitFormat
Fixes to Unicode 6.3 bidirectional algorithm implementations to behave exactly like reference implementations
Improved UTF-16 charset detection
Collation code re-implemented
Many bugs fixed, some enhancements implemented (link for ticket query)
Passes full UCA conformance tests now
Updated to UCA 6.3/CLDR 24 root collation
Performance: C++ UTF-8 and Java string comparisons significantly faster (very small reduction for C++ UTF-16)
Collation data size (uncompressed) reduced from 4.48MB (ICU 52) to 2.62MB
New data format, removed empty files, fixed genrb bug
More APIs function when collation rule strings have been omitted from the data files (e.g., getTailoredSet())
Java Collator.compare(Object, Object) now works with CharSequence, not just String
Java Collator base class (does not apply to RuleBasedCollator instances): getters for strength, decomposition mode, and locales return hardcoded default values; their setters do nothing
Rule syntax and semantics tightened and improved, matching LDML 25 Collation Rule Syntax
In particular, rule chains now must start with a reset.
Setting of variableTop deprecated, and not supported in rule syntax any more
Replaced by the new maxVariable setting; see LDML 25 Collation Settings
Accounting format supported in NumberFormat
RelativeDateTimeFormatter class for formatting relative times such as "3 weeks ago" or "next Tuesday."
Updated Spoof Checker for Unicode Security Standard version 6.3.
2014-04-07 13:49:57 +02:00
|
|
|
DISTNAME= icu4c-53_1-src
|
2012-02-02 00:53:32 +01:00
|
|
|
PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g}
|
2000-12-20 19:27:59 +01:00
|
|
|
CATEGORIES= textproc
|
2010-12-07 18:58:13 +01:00
|
|
|
MASTER_SITES= http://download.icu-project.org/files/icu4c/${PKGVERSION_NOREV}/
|
2003-10-18 14:46:37 +02:00
|
|
|
EXTRACT_SUFX= .tgz
|
2000-12-20 19:27:59 +01:00
|
|
|
|
2006-03-04 22:28:51 +01:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2007-03-23 13:51:13 +01:00
|
|
|
HOMEPAGE= http://www.icu-project.org/
|
2003-07-21 19:27:24 +02:00
|
|
|
COMMENT= Robust and full-featured Unicode services
|
2011-03-14 14:46:32 +01:00
|
|
|
LICENSE= mit
|
2000-12-20 19:27:59 +01:00
|
|
|
|
Update from version 3.6nb2 to 4.0.1.
Pkgsrc changes:
o New MASTER_SITE
o Adjust PLIST
o Remove no-longer-needed patches, since corresponding changes
have been adopted upstream
o BUILDLINK_ABI_DEPENDS bumped to >=4.0, since a new shared library
version is installed
o Fixes security vulnerability, ref. below.
Dependent pkgsrc packages will have their revisions bumped shortly
due to the (possibly/probably) changed ABI.
Upstream changes:
4.0.1:
ICU4C 4.0.1 is a maintenance release of ICU4J 4.0. The primary
changes of this release were:
* Updated time zone data to 2008i
* Technical preview of string search implementation using
Boyer-Moore algorithm (#6286). For detail information, please
see the tech note here.
* #5691 Conversion: consistent illegal sequences
* #6435 Bad @stable ICU4.0 tags
* #6597 TestDisplayNamesMeta failure
* #6670 Test failure in format/TimeZoneTest/TestShortZoneIDs
4.0:
Major changes in ICU 4.0 include the following:
* Common Changes
o Unicode 5.1 (#5696)
o Locale Data: ICU uses and supports data from Common
Locale Data Repository (CLDR) 1.6 , which includes many
improvements in quality and quantity of data.
o add/removeLikelySubtags (#6124)
o Charset converter file size improvement (#5987)
o Date Interval Formatting (#6157) Note: Calendar type
supported by this feature is Gregorian only in this
release.
o Improved Plural support
* ICU4C Specific Changes
Additional Calendars
+ Chinese (#4081)
+ Coptic/Ethiopic (#4571)
* ICU4J Specific Changes
o Charset
+ Graduated from Technology Preview status
+ ICU2022 Converter (#5791)
+ HZ Converter (#6128)
+ SCSU/BOCU-1 Converter (#2147)
+ Charset Converter Callback (#6144)
o Thai Dictionary break iterator (#5385)
o JDK TimeZone support (#5975)
o Locale Service Provider (#5976)
o More convenient formatting of year+month, day+month,
and other combinations (#6304)
o Simple Duration Formatting (#6303)
* ICU4C Security Fixes
ICU4C 4.0 resolves the vulnerabilities CVE-2007-4770 and
CVE-2007-4771 which were found in earlier versions of ICU.
The standard ICU tests verify that these have been corrected,
however, the updated versions of the previous tests may be
run by applying the following patch to ICU 4.0: r24324. As
well, ICU4C and ICU4J 4.0 resolve the issue underlying
CVE-2008-1036.
2009-03-25 23:30:19 +01:00
|
|
|
WRKSRC= ${WRKDIR}/icu/source
|
2004-04-04 18:58:16 +02:00
|
|
|
USE_LANGUAGES= c c++
|
2013-01-23 12:36:28 +01:00
|
|
|
USE_TOOLS+= gmake
|
2003-06-23 09:49:39 +02:00
|
|
|
TEST_TARGET= check
|
2006-07-26 13:04:37 +02:00
|
|
|
UNLIMIT_RESOURCES+= datasize
|
2010-12-07 18:58:13 +01:00
|
|
|
GNU_CONFIGURE= yes
|
2003-06-23 09:49:39 +02:00
|
|
|
CONFIGURE_ARGS+= --enable-static
|
2010-12-07 18:58:13 +01:00
|
|
|
CONFIGURE_ENV+= U_MAKE=${TOOLS_GMAKE}
|
2000-12-20 19:27:59 +01:00
|
|
|
|
2004-04-04 18:58:16 +02:00
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
2003-12-03 17:52:48 +01:00
|
|
|
|
|
|
|
.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} != "native"
|
|
|
|
CONFIGURE_ARGS+= --disable-threads
|
|
|
|
.endif
|
|
|
|
|
2004-04-13 18:39:11 +02:00
|
|
|
.include "../../mk/compiler.mk"
|
|
|
|
|
2014-06-03 11:08:05 +02:00
|
|
|
# from ICU_CHECK_MH_FRAG in source/acinclude.m4
|
|
|
|
.if ${OPSYS} == "SunOS"
|
2004-04-06 18:36:00 +02:00
|
|
|
. if !empty(CC_VERSION:Mgcc*)
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-solaris-gcc
|
|
|
|
. else
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-solaris
|
|
|
|
. endif
|
2012-05-08 18:10:38 +02:00
|
|
|
. if !empty(CC_VERSION:Mgcc-4.[6-9].*)
|
|
|
|
BUILDLINK_TRANSFORM+= rm:-D__STDC__=0
|
|
|
|
. endif
|
|
|
|
BUILDLINK_TRANSFORM+= rm:-ansi
|
2014-06-03 11:08:05 +02:00
|
|
|
.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
|
2013-10-04 20:26:29 +02:00
|
|
|
.elif ${OPSYS} == "Cygwin"
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-cygwin
|
2014-06-03 11:08:05 +02:00
|
|
|
.elif !empty(OPSYS:M*BSD*) || ${OPSYS} == "DragonFly"
|
|
|
|
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} == "OSF1"
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-alpha-osf
|
|
|
|
.elif ${OPSYS} == "QNX"
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-qnx
|
2004-04-06 18:36:00 +02:00
|
|
|
.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
|
|
|
|
|
2013-10-04 20:26:29 +02:00
|
|
|
.if ${OPSYS} == "Darwin" || ${OPSYS} == "Cygwin"
|
2010-12-07 18:58:13 +01:00
|
|
|
INSTALL_UNSTRIPPED= yes
|
2007-03-31 17:36:57 +02:00
|
|
|
.endif
|
|
|
|
|
2014-06-08 11:08:19 +02:00
|
|
|
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
|
|
|
|
|
2012-04-27 12:54:48 +02:00
|
|
|
# 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
|
|
|
|
|
2013-10-04 20:26:29 +02:00
|
|
|
.if ${OPSYS} == "Cygwin"
|
2014-06-08 10:32:10 +02:00
|
|
|
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
|
|
|
|
|
2013-10-04 20:26:29 +02:00
|
|
|
post-install:
|
2014-06-08 10:32:10 +02:00
|
|
|
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'
|
|
|
|
|
2013-10-04 20:26:29 +02:00
|
|
|
.endif
|
|
|
|
|
2000-12-20 19:27:59 +01:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|