2003-03-07 00:18:24 +01:00
|
|
|
# New ports collection makefile for: jdk14
|
|
|
|
# Date created: 6 March 2003
|
|
|
|
# Whom: Alexey Zelkin <phantom@FreeBSD.org>
|
2000-10-13 14:41:25 +02:00
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
|
|
|
|
PORTNAME= jdk
|
2001-08-27 20:58:46 +02:00
|
|
|
PORTVERSION= ${JDK_VERSION}p${JDK_PATCHSET_VERSION}
|
2004-01-17 08:11:12 +01:00
|
|
|
PORTREVISION= 1
|
2000-10-13 14:41:25 +02:00
|
|
|
CATEGORIES= java devel
|
2001-05-03 16:25:51 +02:00
|
|
|
MASTER_SITES= # http://www.sun.com/software/java2/download.html
|
2003-03-07 00:18:24 +01:00
|
|
|
# http://www.eyesbeyond.com/freebsddom/java/jdk14.html
|
2003-11-11 17:16:20 +01:00
|
|
|
SCSL_SRCFILE= j2sdk-${JDK_VERSION:S/./_/g}-src-scsl.zip
|
|
|
|
SCSL_BINFILE= j2sdk-${JDK_VERSION:S/./_/g}-bin-scsl.zip
|
2003-03-07 00:18:24 +01:00
|
|
|
PATCHSETFILE= bsd-jdk14-patches-${JDK_PATCHSET_VERSION}.tar.gz
|
2003-11-11 17:16:20 +01:00
|
|
|
DISTFILES= ${SCSL_SRCFILE} ${SCSL_BINFILE} ${PATCHSETFILE}
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-03-07 00:18:24 +01:00
|
|
|
MAINTAINER= phantom@FreeBSD.org
|
2003-11-11 17:16:20 +01:00
|
|
|
COMMENT= Java Development Kit 1.4.2
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
# XXX: (native bootstrap, no plugin/javaws, x11)
|
|
|
|
EXTRACT_DEPENDS=zip:${PORTSDIR}/archivers/zip
|
2000-10-13 14:41:25 +02:00
|
|
|
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
|
|
|
|
zip:${PORTSDIR}/archivers/zip \
|
2003-10-13 22:57:50 +02:00
|
|
|
${X11BASE}/lib/libXm.so:${PORTSDIR}/x11-toolkits/open-motif \
|
|
|
|
${LOCALBASE}/include/nspr/prtypes.h:${PORTSDIR}/devel/nspr
|
2002-03-06 11:26:47 +01:00
|
|
|
RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \
|
2002-10-29 06:17:59 +01:00
|
|
|
${X11BASE}/lib/libXm.so:${PORTSDIR}/x11-toolkits/open-motif \
|
2002-03-06 11:26:47 +01:00
|
|
|
${X11BASE}/lib/X11/fonts/URW/fonts.dir:${PORTSDIR}/x11-fonts/urwfonts
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-03-07 00:18:24 +01:00
|
|
|
WRKSRC= ${WRKDIR}/control/make
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
JDK_VERSION= 1.4.2
|
2004-01-14 22:21:53 +01:00
|
|
|
JDK_PATCHSET_VERSION= 6
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-12-16 07:50:59 +01:00
|
|
|
SUN_LINUX_JDK_VERSION= 1.4.2
|
2003-11-12 13:38:03 +01:00
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
.if !defined(WITH_LINUX_BOOTSTRAP)
|
|
|
|
NATIVE_BOOTSTRAP_JDKS= ${LOCALBASE}/jdk1.4.2 \
|
|
|
|
${LOCALBASE}/jdk1.4.1
|
|
|
|
.endif
|
2003-07-21 09:31:05 +02:00
|
|
|
|
2003-12-16 07:50:59 +01:00
|
|
|
LINUX_BOOTSTRAP_JDKS= ${LOCALBASE}/linux-sun-jdk1.4.2_03 \
|
|
|
|
${LOCALBASE}/linux-sun-jdk1.4.2_02 \
|
2003-11-11 17:16:20 +01:00
|
|
|
${LOCALBASE}/linux-sun-jdk1.4.2_01 \
|
|
|
|
${LOCALBASE}/linux-sun-jdk1.4.2 \
|
2003-11-12 13:38:03 +01:00
|
|
|
${LOCALBASE}/linux-sun-jdk1.4.1_02 \
|
|
|
|
${LOCALBASE}/linux-sun-jdk1.4.1_01 \
|
2003-11-11 17:16:20 +01:00
|
|
|
${LOCALBASE}/linux-sun-jdk1.4.1
|
|
|
|
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
|
2003-11-12 13:38:03 +01:00
|
|
|
# do we have valid native jdk installed?
|
2003-11-11 17:16:20 +01:00
|
|
|
.if !defined(WITH_LINUX_BOOTSTRAP)
|
|
|
|
.for CJDK in ${NATIVE_BOOTSTRAP_JDKS}
|
|
|
|
. if !defined(JDK14DIR) && exists(${CJDK}/bin/javac)
|
|
|
|
JDK14DIR= ${CJDK}
|
|
|
|
. endif
|
|
|
|
.endfor
|
|
|
|
.endif
|
|
|
|
|
2003-11-12 13:38:03 +01:00
|
|
|
# do we have valid linux jdk installed?
|
2003-11-11 17:16:20 +01:00
|
|
|
.if !defined(JDK14DIR)
|
|
|
|
.for CJDK in ${LINUX_BOOTSTRAP_JDKS}
|
|
|
|
. if !defined(JDK14DIR) && exists(${CJDK}/bin/javac)
|
|
|
|
JDK14DIR= ${CJDK}
|
|
|
|
WITH_LINUX_BOOTSTRAP= YES
|
|
|
|
. endif
|
|
|
|
.endfor
|
|
|
|
.endif
|
|
|
|
|
2003-11-12 13:38:03 +01:00
|
|
|
# if no valid jdk found, set dependency
|
|
|
|
.if !defined(JDK14DIR)
|
|
|
|
JDK14DIR?= ${LOCALBASE}/linux-sun-jdk${SUN_LINUX_JDK_VERSION}
|
2002-05-03 07:36:11 +02:00
|
|
|
.endif
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-11-12 13:38:03 +01:00
|
|
|
BUILD_DEPENDS+= ${JDK14DIR}/bin/javac:${PORTSDIR}/java/linux-sun-jdk14
|
|
|
|
|
2003-03-07 00:18:24 +01:00
|
|
|
# workaround to handle both 'zip' and 'tar.gz' distfiles
|
|
|
|
USE_ZIP= YES
|
2003-11-11 17:16:20 +01:00
|
|
|
EXTRACT_ONLY= ${SCSL_SRCFILE} ${SCSL_BINFILE}
|
2003-03-07 00:18:24 +01:00
|
|
|
|
2000-10-14 13:58:04 +02:00
|
|
|
ONLY_FOR_ARCHS= i386
|
2003-03-07 00:18:24 +01:00
|
|
|
USE_GMAKE= YES
|
2002-10-10 10:38:39 +02:00
|
|
|
RESTRICTED= "Redistribution of pre-compiled binaries is not permitted"
|
|
|
|
NO_CDROM= "Redistribution of pre-compiled binaries is not permitted"
|
2003-03-07 00:18:24 +01:00
|
|
|
MAKE_ENV= ALT_BOOTDIR="${JDK14DIR}" \
|
2000-10-13 14:41:25 +02:00
|
|
|
ALT_MOTIF_DIR="${X11BASE}" \
|
2000-11-03 17:06:41 +01:00
|
|
|
SYS_CFLAGS="${CFLAGS}" \
|
2003-11-11 17:16:20 +01:00
|
|
|
DEV_ONLY="YES" \
|
2003-03-07 00:18:24 +01:00
|
|
|
LANG="C" \
|
|
|
|
JAVA_HOME="" \
|
2000-11-03 17:06:41 +01:00
|
|
|
CLASSPATH="" \
|
2003-03-07 00:18:24 +01:00
|
|
|
LD_LIBRARY_PATH=""
|
|
|
|
ALL_TARGET= all
|
2000-10-13 14:41:25 +02:00
|
|
|
PLIST_SUB+= JDK_VERSION=${JDK_VERSION}
|
2003-10-13 05:31:42 +02:00
|
|
|
PKGINSTALL= ${WRKDIR}/pkg-install
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-03-07 00:18:24 +01:00
|
|
|
JDKIMAGEDIR= ${WRKSRC}/../build/bsd-i586/j2sdk-image
|
|
|
|
JDKIMAGEDIR_G= ${WRKSRC}/../build/bsd-i586/j2sdk-debug-image
|
2000-10-13 14:41:25 +02:00
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
.if defined(WITH_DEBUG)
|
2000-10-13 14:41:25 +02:00
|
|
|
PLIST_SUB+= DEBUG:=""
|
2003-11-11 17:16:20 +01:00
|
|
|
PKGNAMESUFFIX= -debug
|
|
|
|
.else
|
|
|
|
PLIST_SUB+= DEBUG:="@comment "
|
2000-10-13 14:41:25 +02:00
|
|
|
.endif
|
|
|
|
|
2002-10-17 18:30:53 +02:00
|
|
|
# Check for JDK sources
|
2003-11-11 17:16:20 +01:00
|
|
|
.if !exists(${DISTDIR}/${SCSL_SRCFILE}) && !defined(PACKAGE_BUILDING)
|
2002-10-17 18:30:53 +02:00
|
|
|
ECHO_MSG=/usr/bin/printf
|
|
|
|
IGNORE= :\n\
|
|
|
|
Because of licensing restrictions, you must fetch the source distribution\n\
|
|
|
|
manually. Please access http://www.sun.com/software/java2/download.html\n\
|
|
|
|
with a web browser and follow the \"Download\" link for the\n\
|
|
|
|
\"Java(TM) SDK ${JDK_VERSION}\". You will be required to log in and register,\n\
|
|
|
|
but you can create an account on this page. After registration and\n\
|
|
|
|
accepting the Sun Community Source License, select \"J2SESDK\" and\n\
|
2003-11-11 17:16:20 +01:00
|
|
|
download the source file, ${SCSL_SRCFILE}. Please place this file in\n\
|
|
|
|
${DISTDIR}.\n
|
|
|
|
.endif
|
|
|
|
.if !exists(${DISTDIR}/${SCSL_BINFILE}) && !defined(PACKAGE_BUILDING)
|
|
|
|
ECHO_MSG=/usr/bin/printf
|
|
|
|
IGNORE= :\n\
|
|
|
|
Because of licensing restrictions, you must fetch the source distribution\n\
|
|
|
|
manually. Please access http://www.sun.com/software/java2/download.html\n\
|
|
|
|
with a web browser and follow the \"Download\" link for the\n\
|
|
|
|
\"Java(TM) SDK ${JDK_VERSION}\". You will be required to log in and register,\n\
|
|
|
|
but you can create an account on this page. After registration and\n\
|
|
|
|
accepting the Sun Community Source License, select \"J2SESDK\" and\n\
|
|
|
|
download the source file, ${SCSL_BINFILE}. Please place this file in\n\
|
2002-10-29 06:16:16 +01:00
|
|
|
${DISTDIR}.\n
|
2002-10-17 18:30:53 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Check for patchset
|
2003-03-04 04:07:17 +01:00
|
|
|
.if !exists(${DISTDIR}/${PATCHSETFILE}) && !defined(PACKAGE_BUILDING)
|
2002-10-17 18:30:53 +02:00
|
|
|
ECHO_MSG=/usr/bin/printf
|
|
|
|
IGNORE= :\n\
|
|
|
|
The source distribution exists on your system, but due to\n\
|
|
|
|
licensing restrictions you still need to download the\n\
|
|
|
|
patchset, ${PATCHSETFILE}, from\n\
|
2003-03-07 00:18:24 +01:00
|
|
|
http://www.eyesbeyond.com/freebsddom/java/jdk14.html.\n\
|
2002-10-29 06:16:16 +01:00
|
|
|
Please place the patchset in ${DISTDIR}.\n
|
2000-10-13 14:41:25 +02:00
|
|
|
.endif
|
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
# JDK 1.4.2 require recent version of FreeBSD due to recent libc_r updates.
|
2003-03-15 10:57:58 +01:00
|
|
|
# Make check for reqiuired primities as early as possible
|
|
|
|
|
|
|
|
TESTPROG=testos
|
|
|
|
|
2003-03-13 22:43:36 +01:00
|
|
|
.if ${OSVERSION} > 500000
|
|
|
|
LINKIT= -lc_r
|
|
|
|
.else
|
|
|
|
LINKIT= -pthread
|
|
|
|
.endif
|
|
|
|
|
|
|
|
check-os:
|
|
|
|
.if !defined(SKIP_OS_TEST)
|
2003-03-15 10:57:58 +01:00
|
|
|
-@mkdir -p ${WRKDIR} ; \
|
|
|
|
rm -f ${WRKDIR}/${TESTPROG} ; \
|
|
|
|
gcc ${LINKIT} -o ${WRKDIR}/${TESTPROG} \
|
|
|
|
${FILESDIR}/${TESTPROG}.c > /dev/null 2>&1
|
|
|
|
@if [ ! -f ${WRKDIR}/${TESTPROG} ] ; \
|
|
|
|
then \
|
|
|
|
/usr/bin/printf "\n\
|
|
|
|
You must have a version of FreeBSD later than 4.7-STABLE\n\
|
|
|
|
February 2003 or 5-CURRENT February 2003 to compile and\n\
|
2003-11-11 17:16:20 +01:00
|
|
|
use JDK 1.4.2.\n\n" ; \
|
2003-03-15 10:57:58 +01:00
|
|
|
exit 1 ; \
|
|
|
|
fi
|
|
|
|
@${WRKDIR}/${TESTPROG} 2>/dev/null
|
2003-02-28 18:54:40 +01:00
|
|
|
.endif
|
|
|
|
|
2003-03-13 22:43:36 +01:00
|
|
|
pre-fetch: check-os
|
2003-03-15 10:57:58 +01:00
|
|
|
@${ECHO_MSG}
|
|
|
|
@${ECHO_MSG} "NOTICES:"
|
2003-03-13 12:24:42 +01:00
|
|
|
@${ECHO_MSG}
|
2003-11-11 17:16:20 +01:00
|
|
|
@${ECHO_MSG} "To build JDK 1.4.2 port, you should have at least"
|
|
|
|
@${ECHO_MSG} "1.7Gb of free disk space in build area!"
|
2003-03-13 12:24:42 +01:00
|
|
|
@${ECHO_MSG}
|
2003-11-11 17:16:20 +01:00
|
|
|
.if defined(WITH_LINUX_BOOTSTRAP)
|
|
|
|
@${ECHO_MSG} "To build JDK 1.4.2 port, you should have linux emulation"
|
2003-08-04 10:53:42 +02:00
|
|
|
@${ECHO_MSG} "enabled in the kernel and linux procfs (linprocfs) filesystem"
|
|
|
|
@${ECHO_MSG} "mounted."
|
|
|
|
@${ECHO_MSG}
|
2003-11-11 17:16:20 +01:00
|
|
|
.endif
|
|
|
|
@${ECHO_MSG} "NOTE: Please use \`make -DWITH_DEBUG' if you want to"
|
2003-03-13 12:24:42 +01:00
|
|
|
@${ECHO_MSG} "install libraries and binaries with debugging support."
|
|
|
|
@${ECHO_MSG}
|
|
|
|
|
2000-10-13 14:41:25 +02:00
|
|
|
pre-patch:
|
2001-10-16 14:43:07 +02:00
|
|
|
@cd ${WRKDIR} && \
|
2003-03-07 00:18:24 +01:00
|
|
|
${GZIP_CMD} -dc ${DISTDIR}/${PATCHSETFILE} | ${TAR} -xf - && \
|
2002-02-14 17:01:23 +01:00
|
|
|
${CHMOD} -R u+w * && \
|
2003-03-07 00:18:24 +01:00
|
|
|
${PATCH} -p0 < ${WRKDIR}/jdk14.patches
|
2003-02-28 18:54:40 +01:00
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
.if defined(WITH_LINUX_BOOTSTRAP)
|
2002-06-27 07:34:39 +02:00
|
|
|
pre-build:
|
|
|
|
@if [ "$${WRKDIRPREFIX}" -a \
|
|
|
|
-L "/compat/linux/$${WRKDIRPREFIX}" -a \
|
2004-01-23 06:28:50 +01:00
|
|
|
x`${LS} -ld "/compat/linux/$${WRKDIRPREFIX}" 2>/dev/null | awk '/->/{print $$NF;exit 0}END{exit 1}'` = x"$${WRKDIRPREFIX}" ]; \
|
2002-06-27 07:34:39 +02:00
|
|
|
then \
|
2002-10-25 07:54:09 +02:00
|
|
|
${ECHO_MSG} "Please set WRKDIRPREFIX to something which doesn't"; \
|
|
|
|
${ECHO_MSG} "have a matching symbolic link in /compat/linux."; \
|
|
|
|
${ECHO_MSG} "This is known to cause problems during bootstrapping."; \
|
2002-06-27 07:34:39 +02:00
|
|
|
exit 1; \
|
|
|
|
fi
|
2003-01-30 09:23:53 +01:00
|
|
|
@if [ `/sbin/sysctl -n compat.linux.osname` != "Linux" ]; \
|
2002-08-06 18:36:21 +02:00
|
|
|
then \
|
2002-10-25 07:54:09 +02:00
|
|
|
${ECHO_MSG} "Please set the value of the sysctl compat.linux.osname"; \
|
|
|
|
${ECHO_MSG} "to 'Linux' with the command:"; \
|
2003-01-30 12:10:10 +01:00
|
|
|
${ECHO_MSG} " /sbin/sysctl compat.linux.osname=Linux"; \
|
2002-10-25 07:54:09 +02:00
|
|
|
${ECHO_MSG} "Having it set to other values, such as 'FreeBSD',"; \
|
|
|
|
${ECHO_MSG} "is known to cause problems during bootstrapping."; \
|
2002-08-06 18:36:21 +02:00
|
|
|
exit 1; \
|
|
|
|
fi
|
2003-08-04 10:53:42 +02:00
|
|
|
@if [ "`/sbin/mount | grep ^linprocfs`" = "" ]; \
|
|
|
|
then \
|
|
|
|
${ECHO_MSG} "ERROR: You have to have LINPROCFS mounted before" ; \
|
2003-11-11 17:16:20 +01:00
|
|
|
${ECHO_MSG} "starting to build of native JDK 1.4.2." ; \
|
2003-08-04 10:53:42 +02:00
|
|
|
${ECHO_MSG} "" ; \
|
|
|
|
${ECHO_MSG} "You may do it by following set of commands:" ; \
|
|
|
|
${ECHO_MSG} "" ; \
|
|
|
|
${ECHO_MSG} "# kldload linprocfs" ; \
|
|
|
|
${ECHO_MSG} "" ; \
|
|
|
|
${ECHO_MSG} "and" ; \
|
|
|
|
${ECHO_MSG} "" ; \
|
|
|
|
${ECHO_MSG} "# mount -t linprocfs linprocfs /compat/linux/proc" ; \
|
|
|
|
${ECHO_MSG} "" ; \
|
|
|
|
exit 1 ; \
|
|
|
|
fi
|
2002-06-27 07:34:39 +02:00
|
|
|
.endif
|
|
|
|
|
2003-02-28 18:54:40 +01:00
|
|
|
do-build:
|
|
|
|
# Start of jdk build
|
|
|
|
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
|
|
|
|
|
2002-03-13 16:06:16 +01:00
|
|
|
post-build:
|
2003-11-11 17:16:20 +01:00
|
|
|
@# make sure that SwingSet2/resources does not exists
|
2003-03-13 12:15:24 +01:00
|
|
|
@${RM} -rf ${JDKIMAGEDIR}/demo/jfc/SwingSet2/resources
|
2003-10-11 07:16:50 +02:00
|
|
|
@${RM} -rf ${JDKIMAGEDIR}/demo/plugin/jfc/SwingSet2/resources
|
2003-11-11 17:16:20 +01:00
|
|
|
@# XXX don't install japanese manpages
|
|
|
|
@${RM} -rf ${JDKIMAGEDIR}/man/ja
|
|
|
|
@${RM} -rf ${JDKIMAGEDIR}/man/ja_JP.eucJP
|
2002-03-13 16:06:16 +01:00
|
|
|
|
2003-11-11 17:16:20 +01:00
|
|
|
.if !defined(WITH_DEBUG)
|
2000-10-13 14:41:25 +02:00
|
|
|
pre-install:
|
|
|
|
@${ECHO_MSG}
|
2003-11-11 17:16:20 +01:00
|
|
|
@${ECHO_MSG} "Please use \`make -DWITH_DEBUG' if you want to install libraries and binaries"
|
2000-10-13 14:41:25 +02:00
|
|
|
@${ECHO_MSG} "with debugging support."
|
|
|
|
@${ECHO_MSG}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
do-install:
|
|
|
|
${MKDIR} ${PREFIX}/jdk${JDK_VERSION}
|
2002-06-13 18:01:25 +02:00
|
|
|
cd ${JDKIMAGEDIR} && ${FIND} . \
|
|
|
|
| ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
|
2003-11-11 17:16:20 +01:00
|
|
|
.if defined(WITH_DEBUG)
|
2002-06-13 18:01:25 +02:00
|
|
|
cd ${JDKIMAGEDIR_G} && ${FIND} . \
|
|
|
|
| ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
|
2000-10-13 14:41:25 +02:00
|
|
|
.endif
|
2004-01-14 22:21:53 +01:00
|
|
|
${INSTALL_DATA} ${FILESDIR}/cacerts \
|
|
|
|
${PREFIX}/jdk${JDK_VERSION}/jre/lib/security/cacerts
|
|
|
|
${INSTALL_DATA} ${FILESDIR}/cacerts \
|
|
|
|
${PREFIX}/jdk${JDK_VERSION}/jre/javaws/cacerts
|
2000-10-13 14:41:25 +02:00
|
|
|
|
|
|
|
post-install:
|
2002-03-13 16:06:16 +01:00
|
|
|
@${LOCALBASE}/bin/registervm "${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}"
|
2003-10-11 07:16:50 +02:00
|
|
|
@${SED} -e "s:%%JRE_HOME%%:${PREFIX}/jdk${JDK_VERSION}/jre:g" \
|
|
|
|
< ${FILESDIR}/pkg-install.in > ${PKGINSTALL}
|
|
|
|
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
2000-10-13 14:41:25 +02:00
|
|
|
|
|
|
|
.include <bsd.port.post.mk>
|