Mon Apr 24 21:20:10 2017 UTC ()
icu: require at least GCC 4.8
we need some c++11 (uchar16_t)
It's possible that lower will suffice

fixes build under netbsd 6.0 (gcc 4.5.3)


(maya)
diff -r1.108 -r1.109 pkgsrc/textproc/icu/Makefile

cvs diff -r1.108 -r1.109 pkgsrc/textproc/icu/Makefile (switch to unified diff)

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