pkgsrc-wip/jdk14/Makefile
Marc Recht 25f7e62543 Initial import of the native JDK 1.4.2.
This is Sun's Java[tm] Development Kit, version 1.4.2, made buildable
and usable natively on NetBSD/i386 by Greg Lewis and a host of others.

===== From the patchset README:

This is a set of source code patches for the JDK 1.4.2 SCSL source.
The resulting JDK should be suitable for most uses, although using it in
a production environment is at your own risk.  Please note that this
patchset only provides support for recent versions of FreeBSD and NetBSD.
The patchset is available at
http://www.eyesbeyond.com/freebsddom/java/jdk14.html

Please read the file THANKS for attributions.

Instructions to build the JDK are contained in the file BUILD.

You should also examine the ChangeLog for the changes that have been
made so far, and notes on them.
2004-04-28 01:00:17 +00:00

148 lines
4.6 KiB
Makefile

# $NetBSD: Makefile,v 1.1.1.1 2004/04/28 01:00:17 marc Exp $
DISTNAME= j2sdk-1_4_2-src-scsl
PKGNAME= jdk14-${JDK_VERSION}.${JDK_PATCHSET_VERSION}
CATEGORIES= lang java
MASTER_SITES= # http://www.sun.com/software/java2/download.html
# http://www.eyesbeyond.com/freebsddom/java/jdk14.html
EXTRACT_SUFX= .zip
DISTFILES= ${SCSL_SRCFILE} ${SCSL_BINFILE} ${PATCHSETFILE}
MAINTAINER= recht@NetBSD.org
HOMEPAGE= http://www.eyesbeyond.com/freebsddom/java/
COMMENT= Java Development Kit 1.4.2
LICENSE= scsl-2.3-license
BUILD_DEPENDS+= unzip-[0-9]*:../../archivers/unzip
BUILD_DEPENDS+= zip-[0-9]*:../../archivers/zip
RESTRICTED= "Redistribution of source or binaries permitted only by license terms"
NO_SRC_ON_CDROM=${RESTRICTED}
NO_SRC_ON_FTP= ${RESTRICTED}
NO_BIN_ON_CDROM=${RESTRICTED}
NO_BIN_ON_FTP= ${RESTRICTED}
USE_X11= yes
USE_BUILDLINK3= yes
USE_PKGINSTALL= yes
USE_GNU_TOOLS+= make m4
USE_LANGUAGES= c c++
UNLIMIT_RESOURCES+= datasize
EXTRACT_CMD_OPTS.zip= -q
WRKSRC= ${WRKDIR}
JVM_HOME= ${LOCALBASE}/java/jdk-1.4.2
ONLY_FOR_PLATFORM= NetBSD-[2-9]*-i386
ALL_TARGET= all # added to below
BUILD_DIRS= ${WRKSRC}/control/make
CHECK_SHLIBS= no # scripts set LD_LIBRARY_PATH
NO_MTREE= yes # since we change PREFIX below
.include "../../mk/bsd.prefs.mk"
# Let an installed version of this package bootstrap a later version
# (skips having to reinstall sun-jdk14 again)
#
#.if exists(${JVM_HOME}/LICENSE)
#BUILD_DEPENDS+= jdk14>=1
#MAKE_ENV+= ALT_BOOTDIR=${JVM_HOME}
#.else
#BUILD_DEPENDS+= sun-jdk14>=1:../../lang/sun-jdk14
#MAKE_ENV+= ALT_BOOTDIR=${LOCALBASE}/java/sun-1.4
#.endif
BUILD_DEPENDS+= sun-jdk14>=1:../../lang/sun-jdk14
MAKE_ENV+= ALT_BOOTDIR=${LOCALBASE}/java/sun-1.4
MOTIF_TYPE= openmotif
# used to find "zip" and "unzipsfx"
MAKE_FLAGS+= M4=${M4}
MAKE_FLAGS+= ALT_DEVTOOLS_PATH=${LOCALBASE}/bin
MAKE_FLAGS+= ALT_COMPILER_PATH=${BUILDLINK_DIR}/bin
MAKE_ENV+= LANG=C
MAKE_ENV+= JAVA_HOME=
MAKE_ENV+= CLASSPATH=
MAKE_ENV+= ALT_MOTIF_DIR=${MOTIFBASE}
MAKE_ENV+= DEV_ONLY=YES
MAKE_ENV+= SYS_CFLAGS=${CFLAGS:Q}
MAKE_ENV+= LD_LIBRARY_PATH=
MAKE_ENV+= NO_PLUGIN=YES
BUILDLINK_PASSTHRU_DIRS+= ${JVM_HOME}
JDK_VERSION= 1.4.2
JDK_PATCHSET_VERSION= 6
SUN_LINUX_JDK_VERSION= 1.4.2
SCSL_SRCFILE= j2sdk-${JDK_VERSION:S/./_/g}-src-scsl.zip
SCSL_BINFILE= j2sdk-${JDK_VERSION:S/./_/g}-bin-scsl.zip
PATCHSETFILE= bsd-jdk14-patches-${JDK_PATCHSET_VERSION}.tar.gz
SCSL_DOWNLOAD= http://wwws.sun.com/software/java2/download.html
PATCH_DOWNLOAD= http://www.eyesbeyond.com/freebsddom/java/JDK14SCSLConfirm.html
JDKIMAGEDIR= ${BUILD_DIRS}/../build/bsd-i586/j2sdk-image
JDKIMAGEDIR_G= ${BUILD_DIRS}/../build/bsd-i586/j2sdk-debug-image
.if !exists(${DISTDIR}/${SCSL_SRCFILE}) || \
!exists(${DISTDIR}/${SCSL_BINFILE}) || \
!exists(${DISTDIR}/${PATCHSETFILE})
INTERACTIVE_STAGE= fetch
_FETCH_MESSAGE= \
${ECHO} "======================================================================"; \
${ECHO} ; \
${ECHO} " The files ${SCSL_SRCFILE} and ${SCSL_BINFILE}"; \
${ECHO} " containing the Java(tm) 2 SDK, Standard Edition must be fetched"; \
${ECHO} " into:"; \
${ECHO} " ${DISTDIR}/${SCSL_SRCFILE}"; \
${ECHO} " and:"; \
${ECHO} " ${DISTDIR}/${SCSL_BINFILE}"; \
${ECHO} " from (choose the Download link for Java[tm] 2 SDK 1.4.2):"; \
${ECHO} " ${SCSL_DOWNLOAD}"; \
${ECHO} ; \
${ECHO} " This requires a Sun Community Source Licensing account."; \
${ECHO} ; \
${ECHO} " Also, the file ${PATCHSETFILE} must be fetched into:"; \
${ECHO} " ${DISTDIR}/${PATCHSETFILE}"; \
${ECHO} " from:"; \
${ECHO} " ${PATCH_DOWNLOAD}"; \
${ECHO} ; \
${ECHO} "======================================================================"
.endif
SUBST_CLASSES+= lbase jvm-home
SUBST_STAGE.lbase= pre-configure
SUBST_FILES.lbase= hotspot/src/os/bsd/vm/os_bsd.cpp
SUBST_SED.lbase= -e 's,%%LOCALBASE%%,${LOCALBASE},g'
SUBST_STAGE.jvm-home= pre-configure
SUBST_FILES.jvm-home= j2se/make/common/Defs-bsd.gmk
SUBST_SED.jvm-home= -e 's,%%JVM_HOME%%,${JVM_HOME},g'
post-extract:
${CHMOD} -R u+w ${WRKSRC}
pre-patch:
cd ${WRKSRC} && ${PATCH} -p0 -E -s <jdk14.patches
@${FIND} ${WRKSRC} -name '*.orig' -print | ${XARGS} ${RM} -f
post-patch:
${MKDIR} ${WRKSRC}/control/build/bsd-i586/lib/i386/server
do-install:
${INSTALL_PROGRAM_DIR} ${PREFIX}
cd ${JDKIMAGEDIR} && ${PAX} -rwppm . ${PREFIX}
${INSTALL_DATA_DIR} ${JVM_HOME}/jre/.systemPrefs
${TOUCH} ${JVM_HOME}/jre/.systemPrefs/.system.lock
${CHMOD} 644 ${JVM_HOME}/jre/.systemPrefs/.system.lock
${TOUCH} ${JVM_HOME}/jre/.systemPrefs/.systemRootModFile
${CHMOD} 644 ${JVM_HOME}/jre/.systemPrefs/.systemRootModFile
.include "../../mk/motif.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
# This needs to be after bsd.pkg.mk
PREFIX= ${JVM_HOME}