pkgsrc/textproc/icu/Makefile

133 lines
3.8 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.108 2017/04/22 20:11:45 adam Exp $
DISTNAME= icu4c-59_1-src
PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g}
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=icu/}
2003-10-18 14:46:37 +02:00
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
update to ICU 3.6 Major changes in ICU 3.6 include the following: - Unicode: ICU uses and supports Unicode 5.0, which is the latest major release of Unicode. Unicode 5.0 will be used in many operating systems and applications, and this version of ICU is important maintain interoperability with these new operating systems and applications. More information about Unicode 5.0 can be found in the Unicode press release. - Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.4, which includes many improvements in quality and quantity of data. There is 25% more CLDR locale data in 245 locales in ICU. - ICU4C Specific Changes - Charset Detection: A charset detection framework was added, which provides heuristics for detecting the charset for unlabeled sequences of bytes. - Layout: The font layout engine has support added for Tibetan, Sinhala and Old Hangul. - BiDi: The BiDi algorithm was enhanced to be more flexible and efficient - ICU Data Management: The new icupkg tool provides an easier way to manage ICU's data library. This tool allows you to add, update or remove data from ICU's data archive. - Time Zones The time zone data is modularized to allow easier building and updating of the data. - Word Boundaries: The Thai word break iteration was improved to be more accurate. Also dictionary based detection of Thai word boundaries is now active for all locales. - UText - The BreakIterator uses UText for abstract text processing. - 64-bit indexing is now used to allow access to larger chunks of text. - API for read-only locking for security and robustness was added. - Performance - The u_sprintf/u_sscanf performance from the icuio library has been improved for number formatting/parsing. - Constructing a DateFormat is significantly faster for many locales. - Opening and closing a charset converter is significantly faster. - The UTF-8 transformation functions and macros are faster. - The UText API was improved for performance. - The collation open and close functions have a small performance improvement.
2007-03-23 13:51:13 +01:00
HOMEPAGE= http://www.icu-project.org/
COMMENT= Robust and full-featured Unicode services
LICENSE= mit
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++
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 ${PKGSRC_COMPILER:Mclang} || ${PKGSRC_COMPILER: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
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"
INSTALL_UNSTRIPPED= yes
2014-06-08 11:09:01 +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
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"