2016-12-08 13:15:43 +01:00
|
|
|
# $NetBSD: Makefile,v 1.106 2016/12/08 12:15:43 wiedi Exp $
|
2000-12-20 19:27:59 +01:00
|
|
|
|
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.
2016-12-04 05:11:32 +01:00
|
|
|
DISTNAME= icu4c-58_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
|
2016-12-08 13:15:43 +01:00
|
|
|
USE_LANGUAGES= c99 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"
|
2015-10-26 10:28:20 +01:00
|
|
|
. if ${PKGSRC_COMPILER} == "clang" || ${PKGSRC_COMPILER} == "gcc"
|
2004-04-06 18:36:00 +02:00
|
|
|
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
|
2015-08-31 17:26:18 +02:00
|
|
|
.elif !empty(OPSYS:M*BSD*) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Bitrig"
|
2014-06-03 11:08:05 +02:00
|
|
|
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
|
2014-07-18 12:28:11 +02:00
|
|
|
.elif ${OPSYS} == "Cygwin"
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-cygwin
|
|
|
|
.elif ${OS_VARIANT} == "SCOOSR5"
|
|
|
|
PLIST_SUBST+= MH_NAME=mh-scoosr5
|
2014-06-03 11:08:05 +02:00
|
|
|
.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
|
|
|
|
|
2015-09-07 14:02:05 +02:00
|
|
|
.if ${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 11:09:01 +02:00
|
|
|
SO_MAJOR= ${PKGVERSION_NOREV:R}
|
2014-06-08 10:32:10 +02:00
|
|
|
. 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"
|