| @@ -1,136 +1,140 @@ | | | @@ -1,136 +1,140 @@ |
1 | # $NetBSD: Makefile,v 1.125 2019/05/04 20:30:34 wiedi Exp $ | | 1 | # $NetBSD: Makefile,v 1.126 2019/05/13 14:55:05 martin Exp $ |
2 | | | 2 | |
3 | DISTNAME= icu4c-64_2-src | | 3 | DISTNAME= icu4c-64_2-src |
4 | PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g} | | 4 | PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g} |
5 | PKGREVISION= 1 | | 5 | PKGREVISION= 1 |
6 | CATEGORIES= textproc | | 6 | CATEGORIES= textproc |
7 | MASTER_SITES= http://download.icu-project.org/files/icu4c/${PKGVERSION_NOREV}/ | | 7 | MASTER_SITES= http://download.icu-project.org/files/icu4c/${PKGVERSION_NOREV}/ |
8 | EXTRACT_SUFX= .tgz | | 8 | EXTRACT_SUFX= .tgz |
9 | | | 9 | |
10 | MAINTAINER= pkgsrc-users@NetBSD.org | | 10 | MAINTAINER= pkgsrc-users@NetBSD.org |
11 | HOMEPAGE= http://www.icu-project.org/ | | 11 | HOMEPAGE= http://www.icu-project.org/ |
12 | COMMENT= Robust and full-featured Unicode services | | 12 | COMMENT= Robust and full-featured Unicode services |
13 | LICENSE= mit | | 13 | LICENSE= mit |
14 | | | 14 | |
15 | WRKSRC= ${WRKDIR}/icu/source | | 15 | WRKSRC= ${WRKDIR}/icu/source |
16 | USE_LANGUAGES= c99 c++ | | 16 | USE_LANGUAGES= c99 c++ |
17 | USE_TOOLS+= gmake | | 17 | USE_TOOLS+= gmake |
18 | GCC_REQD+= 4.8 | | 18 | GCC_REQD+= 4.8 |
19 | TEST_TARGET= check | | 19 | TEST_TARGET= check |
20 | UNLIMIT_RESOURCES+= datasize | | 20 | UNLIMIT_RESOURCES+= datasize |
21 | GNU_CONFIGURE= yes | | 21 | GNU_CONFIGURE= yes |
22 | CONFIGURE_ARGS+= --enable-static | | 22 | CONFIGURE_ARGS+= --enable-static |
23 | CONFIGURE_ENV+= U_MAKE=${TOOLS_GMAKE} | | 23 | CONFIGURE_ENV+= U_MAKE=${TOOLS_GMAKE} |
24 | | | 24 | |
25 | CHECK_SSP_SKIP= lib/libicudata.so* | | 25 | CHECK_SSP_SKIP= lib/libicudata.so* |
26 | | | 26 | |
27 | .include "../../mk/pthread.buildlink3.mk" | | 27 | .include "../../mk/pthread.buildlink3.mk" |
28 | | | 28 | |
29 | .if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} != "native" | | 29 | .if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} != "native" |
30 | CONFIGURE_ARGS+= --disable-threads | | 30 | CONFIGURE_ARGS+= --disable-threads |
31 | .endif | | 31 | .endif |
32 | | | 32 | |
33 | .include "../../mk/compiler.mk" | | 33 | .include "../../mk/compiler.mk" |
34 | | | 34 | |
35 | # from ICU_CHECK_MH_FRAG in source/acinclude.m4 | | 35 | # from ICU_CHECK_MH_FRAG in source/acinclude.m4 |
36 | .if ${OPSYS} == "SunOS" | | 36 | .if ${OPSYS} == "SunOS" |
37 | . if ${PKGSRC_COMPILER:Mclang} || ${PKGSRC_COMPILER:Mgcc} | | 37 | . if ${PKGSRC_COMPILER:Mclang} || ${PKGSRC_COMPILER:Mgcc} |
38 | PLIST_SUBST+= MH_NAME=mh-solaris-gcc | | 38 | PLIST_SUBST+= MH_NAME=mh-solaris-gcc |
39 | . else | | 39 | . else |
40 | PLIST_SUBST+= MH_NAME=mh-solaris | | 40 | PLIST_SUBST+= MH_NAME=mh-solaris |
41 | . endif | | 41 | . endif |
42 | . if !empty(CC_VERSION:Mgcc-4.[6-9].*) | | 42 | . if !empty(CC_VERSION:Mgcc-4.[6-9].*) |
43 | BUILDLINK_TRANSFORM+= rm:-D__STDC__=0 | | 43 | BUILDLINK_TRANSFORM+= rm:-D__STDC__=0 |
44 | . endif | | 44 | . endif |
45 | BUILDLINK_TRANSFORM+= rm:-ansi | | 45 | BUILDLINK_TRANSFORM+= rm:-ansi |
46 | .elif !empty(MACHINE_PLATFORM:MLinux-*-alpha) | | 46 | .elif !empty(MACHINE_PLATFORM:MLinux-*-alpha) |
47 | . if !empty(CC_VERSION:Mgcc*) | | 47 | . if !empty(CC_VERSION:Mgcc*) |
48 | PLIST_SUBST+= MH_NAME=mh-alpha-linux-gcc | | 48 | PLIST_SUBST+= MH_NAME=mh-alpha-linux-gcc |
49 | . else | | 49 | . else |
50 | PLIST_SUBST+= MH_NAME=mh-alpha-linux-cc | | 50 | PLIST_SUBST+= MH_NAME=mh-alpha-linux-cc |
51 | . endif | | 51 | . endif |
52 | .elif !empty(MACHINE_PLATFORM:MLinux-*-powerpc*) | | 52 | .elif !empty(MACHINE_PLATFORM:MLinux-*-powerpc*) |
53 | . if !empty(CC_VERSION:Mgcc*) | | 53 | . if !empty(CC_VERSION:Mgcc*) |
54 | PLIST_SUBST+= MH_NAME=mh-linux | | 54 | PLIST_SUBST+= MH_NAME=mh-linux |
55 | . else | | 55 | . else |
56 | PLIST_SUBST+= MH_NAME=mh-linux-va | | 56 | PLIST_SUBST+= MH_NAME=mh-linux-va |
57 | . endif | | 57 | . endif |
58 | .elif ${OPSYS} == "Linux" || ${OPSYS} == "GNUkFreeBSD" | | 58 | .elif ${OPSYS} == "Linux" || ${OPSYS} == "GNUkFreeBSD" |
59 | PLIST_SUBST+= MH_NAME=mh-linux | | 59 | PLIST_SUBST+= MH_NAME=mh-linux |
60 | .elif ${OPSYS} == "Cygwin" | | 60 | .elif ${OPSYS} == "Cygwin" |
61 | PLIST_SUBST+= MH_NAME=mh-cygwin | | 61 | PLIST_SUBST+= MH_NAME=mh-cygwin |
62 | .elif !empty(OPSYS:M*BSD*) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Bitrig" | | 62 | .elif !empty(OPSYS:M*BSD*) || ${OPSYS} == "DragonFly" || ${OPSYS} == "Bitrig" |
63 | PLIST_SUBST+= MH_NAME=mh-bsd-gcc | | 63 | PLIST_SUBST+= MH_NAME=mh-bsd-gcc |
64 | .elif ${OPSYS} == "AIX" | | 64 | .elif ${OPSYS} == "AIX" |
65 | . if !empty(CC_VERSION:Mgcc*) | | 65 | . if !empty(CC_VERSION:Mgcc*) |
66 | PLIST_SUBST+= MH_NAME=mh-aix-gcc | | 66 | PLIST_SUBST+= MH_NAME=mh-aix-gcc |
67 | . else | | 67 | . else |
68 | PLIST_SUBST+= MH_NAME=mh-aix-va | | 68 | PLIST_SUBST+= MH_NAME=mh-aix-va |
69 | . endif | | 69 | . endif |
70 | .elif ${OPSYS} == "HPUX" | | 70 | .elif ${OPSYS} == "HPUX" |
71 | . if !empty(CC_VERSION:Mgcc*) | | 71 | . if !empty(CC_VERSION:Mgcc*) |
72 | PLIST_SUBST+= MH_NAME=mh-hpux-gcc | | 72 | PLIST_SUBST+= MH_NAME=mh-hpux-gcc |
73 | . else | | 73 | . else |
74 | PLIST_SUBST+= MH_NAME=mh-hpux-acc | | 74 | PLIST_SUBST+= MH_NAME=mh-hpux-acc |
75 | . endif | | 75 | . endif |
76 | .elif ${OPSYS} == "Darwin" | | 76 | .elif ${OPSYS} == "Darwin" |
77 | PLIST_SUBST+= MH_NAME=mh-darwin | | 77 | PLIST_SUBST+= MH_NAME=mh-darwin |
78 | .elif ${OPSYS} == "Haiku" | | 78 | .elif ${OPSYS} == "Haiku" |
79 | PLIST_SUBST+= MH_NAME=mh-haiku | | 79 | PLIST_SUBST+= MH_NAME=mh-haiku |
80 | .elif ${OPSYS} == "IRIX" | | 80 | .elif ${OPSYS} == "IRIX" |
81 | PLIST_SUBST+= MH_NAME=mh-irix | | 81 | PLIST_SUBST+= MH_NAME=mh-irix |
82 | .elif ${OPSYS} == "Cygwin" | | 82 | .elif ${OPSYS} == "Cygwin" |
83 | PLIST_SUBST+= MH_NAME=mh-cygwin | | 83 | PLIST_SUBST+= MH_NAME=mh-cygwin |
84 | .elif ${OS_VARIANT} == "SCOOSR5" | | 84 | .elif ${OS_VARIANT} == "SCOOSR5" |
85 | PLIST_SUBST+= MH_NAME=mh-scoosr5 | | 85 | PLIST_SUBST+= MH_NAME=mh-scoosr5 |
86 | .elif ${OPSYS} == "OSF1" | | 86 | .elif ${OPSYS} == "OSF1" |
87 | PLIST_SUBST+= MH_NAME=mh-alpha-osf | | 87 | PLIST_SUBST+= MH_NAME=mh-alpha-osf |
88 | .elif ${OPSYS} == "QNX" | | 88 | .elif ${OPSYS} == "QNX" |
89 | PLIST_SUBST+= MH_NAME=mh-qnx | | 89 | PLIST_SUBST+= MH_NAME=mh-qnx |
90 | .else | | 90 | .else |
91 | # For unknown systems, set the filename to mh-unknown so that the user | | 91 | # For unknown systems, set the filename to mh-unknown so that the user |
92 | # gets a warning about missing files. | | 92 | # gets a warning about missing files. |
93 | PLIST_SUBST+= MH_NAME=mh-unknown | | 93 | PLIST_SUBST+= MH_NAME=mh-unknown |
94 | .endif | | 94 | .endif |
95 | | | 95 | |
96 | PKGCONFIG_OVERRIDE+= config/icu-i18n.pc | | 96 | PKGCONFIG_OVERRIDE+= config/icu-i18n.pc |
97 | PKGCONFIG_OVERRIDE+= config/icu-io.pc | | 97 | PKGCONFIG_OVERRIDE+= config/icu-io.pc |
98 | PKGCONFIG_OVERRIDE+= config/icu-le.pc | | 98 | PKGCONFIG_OVERRIDE+= config/icu-le.pc |
99 | PKGCONFIG_OVERRIDE+= config/icu-lx.pc | | 99 | PKGCONFIG_OVERRIDE+= config/icu-lx.pc |
100 | PKGCONFIG_OVERRIDE+= config/icu-uc.pc | | 100 | PKGCONFIG_OVERRIDE+= config/icu-uc.pc |
101 | PKGCONFIG_OVERRIDE+= config/icu.pc | | 101 | PKGCONFIG_OVERRIDE+= config/icu.pc |
102 | PKGCONFIG_OVERRIDE_STAGE= post-build | | 102 | PKGCONFIG_OVERRIDE_STAGE= post-build |
103 | | | 103 | |
| | | 104 | # work around ICU-20533 (build failure on big endian machines) |
| | | 105 | post-configure: |
| | | 106 | ${MKDIR} ${WRKSRC}/data/out |
| | | 107 | |
104 | # expect builtin gcc atomic functions for gcc>=4.1 | | 108 | # expect builtin gcc atomic functions for gcc>=4.1 |
105 | # (source/common/putilimp.h) | | 109 | # (source/common/putilimp.h) |
106 | .if !empty(CC_VERSION:Mgcc-*) && \ | | 110 | .if !empty(CC_VERSION:Mgcc-*) && \ |
107 | (empty(CC_VERSION:Mgcc-4.0*) && empty(CC_VERSION:Mgcc-[0-3].*)) | | 111 | (empty(CC_VERSION:Mgcc-4.0*) && empty(CC_VERSION:Mgcc-[0-3].*)) |
108 | . if ${MACHINE_ARCH} == "i386" | | 112 | . if ${MACHINE_ARCH} == "i386" |
109 | CFLAGS+= -march=i486 | | 113 | CFLAGS+= -march=i486 |
110 | . endif | | 114 | . endif |
111 | .endif | | 115 | .endif |
112 | | | 116 | |
113 | .if ${OPSYS} == "Cygwin" | | 117 | .if ${OPSYS} == "Cygwin" |
114 | INSTALL_UNSTRIPPED= yes | | 118 | INSTALL_UNSTRIPPED= yes |
115 | SO_MAJOR= ${PKGVERSION_NOREV:R} | | 119 | SO_MAJOR= ${PKGVERSION_NOREV:R} |
116 | . for l in data i18n io le lx test tu uc | | 120 | . for l in data i18n io le lx test tu uc |
117 | GENERATE_PLIST+= ${ECHO} bin/cygicu${l}${SO_MAJOR}.dll; | | 121 | GENERATE_PLIST+= ${ECHO} bin/cygicu${l}${SO_MAJOR}.dll; |
118 | GENERATE_PLIST+= ${ECHO} lib/libicu${l}${SO_MAJOR}.dll.a; | | 122 | GENERATE_PLIST+= ${ECHO} lib/libicu${l}${SO_MAJOR}.dll.a; |
119 | . endfor | | 123 | . endfor |
120 | | | 124 | |
121 | post-install: | | 125 | post-install: |
122 | mv ${DESTDIR}${PREFIX}/lib/cygicu*.dll ${DESTDIR}${PREFIX}/bin/ | | 126 | mv ${DESTDIR}${PREFIX}/lib/cygicu*.dll ${DESTDIR}${PREFIX}/bin/ |
123 | . for l in data i18n io le lx test tu uc | | 127 | . for l in data i18n io le lx test tu uc |
124 | ${LN} -s libicu${l}${SO_MAJOR}.dll.a ${DESTDIR}${PREFIX}/lib/libicu${l}.dll.a | | 128 | ${LN} -s libicu${l}${SO_MAJOR}.dll.a ${DESTDIR}${PREFIX}/lib/libicu${l}.dll.a |
125 | . endfor | | 129 | . endfor |
126 | | | 130 | |
127 | SUBST_CLASSES+= icu-config | | 131 | SUBST_CLASSES+= icu-config |
128 | SUBST_STAGE.icu-config= post-install | | 132 | SUBST_STAGE.icu-config= post-install |
129 | SUBST_FILES.icu-config= ${DESTDIR}${PREFIX}/bin/icu-config | | 133 | SUBST_FILES.icu-config= ${DESTDIR}${PREFIX}/bin/icu-config |
130 | SUBST_SED.icu-config+= -e '/^ICUUC_FILE=/ s/libdir/bindir/' | | 134 | SUBST_SED.icu-config+= -e '/^ICUUC_FILE=/ s/libdir/bindir/' |
131 | SUBST_SED.icu-config+= -e 's/l$${LIBICU}/l$${ICUPREFIX}/g' | | 135 | SUBST_SED.icu-config+= -e 's/l$${LIBICU}/l$${ICUPREFIX}/g' |
132 | SUBST_SED.icu-config+= -e '/l$${ICUPREFIX}/ s/$${ICULIBSUFFIX_VERSION}//g' | | 136 | SUBST_SED.icu-config+= -e '/l$${ICUPREFIX}/ s/$${ICULIBSUFFIX_VERSION}//g' |
133 | .endif | | 137 | .endif |
134 | | | 138 | |
135 | .include "../../lang/python/tool.mk" | | 139 | .include "../../lang/python/tool.mk" |
136 | .include "../../mk/bsd.pkg.mk" | | 140 | .include "../../mk/bsd.pkg.mk" |