update Sat Nov 7 12:37:00 PST 2009
[pkgsrc.git] / lang / openjdk7 / Makefile
CommitLineData
4ceab3c0 1# $NetBSD: Makefile,v 1.8 2009/11/07 14:48:49 tnn Exp $
28a69e4d 2
4ceab3c0
C
3DISTNAME= openjdk-7-ea-src-b75-30_oct_2009
4PKGNAME= openjdk7-1.7.0.75.20091106
28a69e4d 5CATEGORIES= lang
e6390384 6MASTER_SITES= ${MASTER_SITE_LOCAL:=openjdk7/}
e6390384 7EXTRACT_SUFX= .tar.bz2
28a69e4d
C
8
9MAINTAINER= tnn@NetBSD.org
10HOMEPAGE= http://openjdk.java.net/
47351e82 11COMMENT= Open-source implementation of the Java Platform, Standard Edition
28a69e4d
C
12
13PKG_DESTDIR_SUPPORT= user-destdir
14
15DISTFILES= ${DEFAULT_DISTFILES}
16EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
17
6c96f102 18# diff between distfile and bsd-port branch. To check out, use:
28a69e4d 19# "hg fclone http://hg.openjdk.java.net/bsd-port/bsd-port/"
4ceab3c0 20PATCHFILES+= jdk-7-bsd-port-75.20091106.diff.bz2
00a7625b 21PATCH_SITES+= ${MASTER_SITE_LOCAL:=openjdk7/}
e6390384
C
22
23CACERTS= cacerts-20091013.tar.bz2
24DISTFILES+= ${CACERTS}
25EXTRACT_ONLY+= ${CACERTS}
28a69e4d 26
6c96f102
C
27JAVA_NAME= openjdk7
28JAVA_HOME= ${PREFIX}/java/${JAVA_NAME}
29JAVA_WRAPPERS= jar java javac javadoc javah javap keytool orbd \
30 policytool rmid rmiregistry servertool tnameserv
31
28a69e4d
C
32BUILD_DEPENDS+= zip-[0-9]*:../../archivers/zip
33BUILD_DEPENDS+= unzip-[0-9]*:../../archivers/unzip
34MAKE_ENV+= PKGSRC_ZIPEXE=${PREFIX}/bin/zip
35MAKE_ENV+= PKGSRC_UNZIP=${PREFIX}/bin/unzip
36MAKE_ENV+= PKGSRC_UNZIPSFX=${PREFIX}/bin/unzipsfv
37
1a07de42
C
38DEPENDS+= dejavu-ttf-[0-9]*:../../fonts/dejavu-ttf
39#DEPENDS+= ja-sazanami-ttf-[0-9]*:../../fonts/ja-sazanami-ttf
40#DEPENDS+= baekmuk-ttf-[0-9]*:../../fonts/baekmuk-ttf
41
28a69e4d
C
42NO_CONFIGURE= yes
43USE_LANGUAGES= c c++
44USE_TOOLS+= gmake pax
45UNLIMIT_RESOURCES= datasize stacksize
46WRKSRC= ${WRKDIR}/openjdk
47
48BUILDLINK_PASSTHRU_DIRS+= ${ALT_BOOTDIR}
49PREPEND_PATH+= ${ALT_BOOTDIR}/bin
50
51MAKE_ENV+= ALT_BOOTDIR=${ALT_BOOTDIR}
52MAKE_ENV+= ALT_FREETYPE_LIB_PATH=${BUILDLINK_PREFIX.freetype2}/lib
53MAKE_ENV+= ALT_FREETYPE_HEADERS_PATH=${BUILDLINK_PREFIX.freetype2}/include
54MAKE_ENV+= ALT_CUPS_HEADERS_PATH=${BUILDLINK_PREFIX.cups}/include
55MAKE_ENV+= ALT_COMPILER_PATH=${WRAPPER_DIR}/bin
c71459cd 56MAKE_ENV+= ALT_PACKAGE_PATH=${PREFIX}
28a69e4d
C
57MAKE_ENV+= ALT_X11_PATH=${X11BASE}
58
59MAKE_ENV+= ALT_PARALLEL_COMPILE_JOBS=${MAKE_JOBS:U1}
60
61MAKE_ENV+= HOTSPOT_BUILD_USER=pkgsrc
62MAKE_ENV+= NO_DOCS=true
63MAKE_ENV+= SKIP_COMPARE_IMAGES=true
64MAKE_ENV+= SKIP_FASTDEBUG_BUILD=yes
65MAKE_ENV+= SKIP_DEBUG_BUILD=yes
66
52a921bd 67BUILDDIR= ${WRKSRC}/build/${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/}-${MACHINE_ARCH:S/i386/i586/:S/x86_64/amd64/}
28a69e4d
C
68PLIST_SUBST+= ARCH=${MACHINE_ARCH:S/x86_64/amd64/}
69PLIST_SUBST+= LOWER_OPSYS=${LOWER_OPSYS}
70
71.include "../../mk/bsd.prefs.mk"
72.include "bootstrap.mk"
47351e82 73.include "icedtea-extras.mk"
28a69e4d
C
74
75SUBST_CLASSES+= add-rpaths
76SUBST_STAGE.add-rpaths= pre-build
77SUBST_MESSAGE.add-rpaths= adding X11 run path flags to Makefiles
78SUBST_FILES.add-rpaths= jdk/make/sun/awt/Makefile \
79 jdk/make/sun/awt/mawt.gmk \
80 jdk/make/sun/jawt/Makefile \
81 jdk/make/sun/jdga/Makefile \
82 jdk/make/sun/splashscreen/Makefile \
83 jdk/make/sun/xawt/Makefile
84SUBST_SED.add-rpaths= -e 's|-L$$(OPENWIN_LIB)|-L$$(OPENWIN_LIB) -Wl,-R$$(OPENWIN_LIB)|g'
85
1a07de42
C
86SUBST_CLASSES+= fontpaths
87SUBST_STAGE.fontpaths= pre-build
88SUBST_MESSAGE.fontpaths= fixing font paths
89SUBST_FILES.fontpaths= jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
90SUBST_FILES.fontpaths+= jdk/src/solaris/native/sun/awt/fontpath.c
91SUBST_SED.fontpaths= -e 's|%%PREFIX%%|${PREFIX}|'
92
d4e30c4c
C
93PLIST_VARS+= i386
94.if ${MACHINE_ARCH} == "i386"
95PLIST.i386= yes
96.endif
97
165ccfe1
C
98post-extract:
99 chmod +x ${ANT_BIN}/ant
47351e82
C
100 cd ${WRKDIR}/${ICEDTEA}/plugin/icedteanp/java && pax -rw . \
101 ${WRKSRC}/jdk/src/share/classes
102 cd ${WRKDIR}/${ICEDTEA}/netx && pax -rw . \
103 ${WRKSRC}/jdk/src/share/classes
165ccfe1 104
1268923a 105do-build: ${WRKDIR}/stage3-done
165ccfe1 106
1268923a 107# stage 1 builds a native JDK using the bootstrap binaries
165ccfe1 108${WRKDIR}/stage1-done:
f2752abb 109 ${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
165ccfe1
C
110 rm -rf ${WRKDIR}/bootstrap
111 cd ${BUILDDIR} && mv j2sdk-image ${WRKDIR}/bootstrap
112 rm -rf ${BUILDDIR}
113 touch ${WRKDIR}/stage1-done
114
1268923a
C
115# stage 2 rebuilds the JDK using native tools
116${WRKDIR}/stage2-done: ${WRKDIR}/stage1-done
f2752abb 117 ${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
8ab72989 118 touch ${BUILDDIR}/j2sdk-image/jre/lib/applet/.keep
165ccfe1
C
119 touch ${WRKDIR}/stage2-done
120
1268923a 121# stage 3 builds third party add-ons
e6390384 122${WRKDIR}/stage3-done: ${WRKDIR}/stage2-done ${WRKDIR}/cacerts.out
1268923a
C
123 touch ${WRKDIR}/stage3-done
124
e6390384
C
125${WRKDIR}/cacerts.out:
126 for cert in ${WRKDIR}/cacerts/*.crt; do \
e121f8e6 127 ${ECHO} yes | LC_ALL=C ${BUILDDIR}/bin/keytool \
8ab72989
C
128 -importcert \
129 -keystore ${.TARGET} \
130 -alias `${ECHO} $$cert | sed 's,.*/\\([^/]*\\)\\.crt,\\1,'` \
131 -file $$cert \
132 -storepass pkgsrc; \
133 done
134
28a69e4d 135do-install:
dbd72d9d 136 ${INSTALL_DATA_DIR} ${DESTDIR}${JAVA_HOME}
8ab72989 137 cd ${BUILDDIR}/j2sdk-image && pax -rwpp . \
dbd72d9d 138 ${DESTDIR}${JAVA_HOME}/.
e6390384 139 ${INSTALL_DATA} ${WRKDIR}/cacerts.out \
dbd72d9d 140 ${DESTDIR}${JAVA_HOME}/jre/lib/security/cacerts
28a69e4d
C
141
142.include "../../graphics/freetype2/buildlink3.mk"
143BUILDLINK_DEPMETHOD.cups?= build
144.include "../../print/cups/buildlink3.mk"
145.include "../../x11/libXext/buildlink3.mk"
146.include "../../x11/libXi/buildlink3.mk"
47351e82 147BUILDLINK_DEPMETHOD.libXp?= build
28a69e4d 148.include "../../x11/libXp/buildlink3.mk"
47351e82 149BUILDLINK_DEPMETHOD.libXt?= build
28a69e4d
C
150.include "../../x11/libXt/buildlink3.mk"
151.include "../../x11/libXtst/buildlink3.mk"
165ccfe1 152.include "../../x11/libXrender/buildlink3.mk"
28a69e4d 153.include "../../x11/xextproto/buildlink3.mk"
dbd72d9d 154.include "../../mk/java-env.mk"
28a69e4d 155.include "../../mk/bsd.pkg.mk"