# $MidnightBSD: trunk/java/linux-sun-jdk16/Makefile 18563 2015-04-04 12:42:13Z laffer1 $

PORTNAME=	jdk
PORTVERSION=	${DL_JDK_VERSION:S/_/./g}
CATEGORIES=	java devel
MASTER_SITES=	#
PKGNAMEPREFIX=	linux-sun-
DISTNAME=	jdk-6u${JDK_REVISION:S/^0//}-linux-i586
EXTRACT_SUFX=	.bin

MAINTAINER=	luke@MidnightBSD.org
COMMENT=	Sun Java Development Kit 1.6 for Linux
LICENSE=	restricted

# must fetch yourself
IS_INTERACTIVE=	yes

EXTRACT_DEPENDS=${LINUX_BASE_PORT}
BUILD_DEPENDS=	javavm:${PORTSDIR}/java/javavmwrapper

OPTIONS_DEFINE=	DEMO
DEMO_DESC=	Install demos and samples
OPTIONS_DEFAULT=DEMO

NO_CDROM=	License does not allow distribution with fee
RESTRICTED=	Redistribution of repackaged binaries not permitted
LATEST_LINK=	linux-sun-jdk16

WRKSRC=		${WRKDIR}/jdk${DL_JDK_VERSION}
PLIST_SUB+=	T=${APP_HOME:S/^${PREFIX}\///} PORTVERSION=${PORTVERSION}
PKGINSTALL=	${WRKDIR}/pkg-install

NO_BUILD=	yes
USE_LINUX=	yes
USE_LINUX_APPS=	xorglibs
JDK_VERSION=	1.6.0
JDK_REVISION=	45
DL_JDK_VERSION=	${JDK_VERSION}_${JDK_REVISION}
DOWNLOAD_URL?=	http://www.oracle.com/technetwork/java/javase/downloads/index.html
APP_HOME=	${PREFIX}/${PKGNAMEPREFIX}${PORTNAME}${JDK_VERSION}
PACKED_JARS=	jre/lib/charsets jre/lib/deploy jre/lib/ext/localedata jre/lib/javaws jre/lib/jsse jre/lib/plugin jre/lib/rt lib/tools
UNPACK_CMD=	${WRKSRC}/bin/unpack200

.include <bsd.port.pre.mk>

.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}) && !defined(PACKAGE_BUILDING)
IGNORE?=You must manually fetch the J2SE SDK self-extracting file for the Linux platform (${DISTNAME}${EXTRACT_SUFX}) from ${DOWNLOAD_URL}, place it in ${DISTDIR} and then run make again
.endif

.include <bsd.mport.options.mk>

.if ${PORT_OPTIONS:MDEMO}
DEMO_UPDATE_VERSION=  ${JDK_REVISION}
.if ${DEMO_UPDATE_VERSION} != ${JDK_REVISION}
DEMO_DISTNAME= jdk-6u${DEMO_UPDATE_VERSION}-linux-i586-demos
DEMO_WRKSRC=   ${WRKDIR}/jdk${JDK_VERSION}_${DEMO_UPDATE_VERSION}
.else
DEMO_DISTNAME=        ${DISTNAME}-demos
DEMO_WRKSRC=  ${WRKSRC}
.endif
.if !exists(${DISTDIR}/${DEMO_DISTNAME}.tar.gz) && !defined(PACKAGE_BUILDING)
IGNORE?=You must manually fetch the J2SE demos and samples for the Linux platform (${DEMO_DISTNAME}.tar.gz) from ${DOWNLOAD_URL}, place it in ${DISTDIR} and then run make again
.endif
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} ${DEMO_DISTNAME}.tar.gz
PLIST_SUB+=	DEMO=""
.else
PLIST_SUB+=	DEMO="@comment "
.endif

pre-everything::
	@${CAT} ${PKGMESSAGE}

do-extract:
	@${MKDIR} ${WRKDIR}
	@cd ${WRKDIR} \
	&& ${TAIL} -n +146 ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} > ${WRKDIR}/install.sfx \
	&& ${CHMOD} +x ${WRKDIR}/install.sfx \
	&& ${WRKDIR}/install.sfx -o > /dev/null
.for i in ${PACKED_JARS}
	@${UNPACK_CMD} -r ${WRKSRC}/${i}.pack ${WRKSRC}/${i}.jar
.endfor
.if ${PORT_OPTIONS:MDEMO}
	@${TAR} -x -f ${DISTDIR}/${DEMO_DISTNAME}.tar.gz -C ${WRKDIR}
.endif

.if ${PORT_OPTIONS:MDEMO} && ${DEMO_WRKSRC} != ${WRKSRC}
post-extract:
	@${MV} ${DEMO_WRKSRC}/demo ${WRKSRC}/
	@${MV} ${DEMO_WRKSRC}/sample ${WRKSRC}/
.endif

post-patch:
	${REINPLACE_CMD} -i.orig -e 's:^#!/bin/bash:#!/bin/sh:' ${WRKSRC}/bin/jcontrol
	@${FIND} ${WRKSRC} -name '*.orig' -delete
	@(cd ${WRKSRC}/include; ${LN} -s linux freebsd)

# XXX: This is missing a "${BRANDELF} -t Linux <executables>".

do-install:
	${MKDIR} ${APP_HOME}
	cd ${WRKSRC} && ${FIND} . -print \
	  | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${APP_HOME}

post-install:
	${SED} -e "s:%%JRE_HOME%%:${APP_HOME}/jre:g" \
	  < ${FILESDIR}/pkg-install.in > ${PKGINSTALL}

.include <bsd.port.post.mk>
