diff options
Diffstat (limited to 'dev-java/sun-j2sdk/sun-j2sdk-1.4.0-r3.ebuild')
-rw-r--r-- | dev-java/sun-j2sdk/sun-j2sdk-1.4.0-r3.ebuild | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/dev-java/sun-j2sdk/sun-j2sdk-1.4.0-r3.ebuild b/dev-java/sun-j2sdk/sun-j2sdk-1.4.0-r3.ebuild new file mode 100644 index 000000000000..1b519fb71cc3 --- /dev/null +++ b/dev-java/sun-j2sdk/sun-j2sdk-1.4.0-r3.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-j2sdk/sun-j2sdk-1.4.0-r3.ebuild,v 1.1 2002/11/21 19:45:44 phoenix Exp $ + +# Maintainer: Stefan Jones <cretin@gentoo.org> +# Author: Stefan Jones <cretin@gentoo.org> + +# Based on http://tushar.lfsforum.org/javafromscratch.txt (LFS) +# By Tushar Teredesai <Tush@Yahoo.Com> + +IUSE="" + +inherit java nsplugins + +ZLIB_VERSION=1.1.4 + +JAVA_PATCHES="j2sdk-1.4.0-disable-sanity-check.patch.bz2 + j2sdk-1.4.0-fix-intl-files.patch.bz2 + j2sdk-1.4.0-gcc3-syntax.patch.bz2 + j2sdk-1.4.0-glibc-2.3.1-fixes.patch.bz2 + j2sdk-1.4.0-link-jpda-2-libjvm.patch.bz2 + j2sdk-1.4.0-remove-fixed-paths.patch.bz2" + +S=${WORKDIR}/j2sdk + +SRC_JAVA="j2sdk-1_4_0-src-scsl.zip" +SRC_MOZHEADERS="j2sdk-1_4_0-mozilla_headers-unix.zip" +SRC_SUNMOTIF="j2sdk-1_4_0-motif-linux-i386.zip" + +SRC_URI="http://www.gzip.org/zlib/zlib-${ZLIB_VERSION}.tar.bz2" + +DESCRIPTION="Sun's J2SE Development Kit, version 1.4.0" +HOMEPAGE="http://wwws.sun.com/software/java2/download.html" + +SLOT="0" +KEYWORDS="x86 -ppc -alpha -sparc -sparc64" +LICENSE="sun-csl" + +RDEPEND="virtual/glibc + virtual/x11 + >=dev-java/java-config-0.1.3" +DEPEND="${RDEPEND} + app-arch/zip + app-arch/unzip + >=virtual/jdk-1.4 + !x11-libs/lesstif + !x11-libs/openmotif" + +PROVIDE="virtual/jre-1.4.0 + virtual/jdk-1.4.0 + virtual/java-scheme-2" + +pkg_setup() { + #Check if we have enough space + if [ `df ${PORTAGE_TMPDIR}/portage/ | tail -n 1 | awk '{ print $4 }'` -le 2097152 ] ; then + eerror "You need about 2G of disk space to compile this at ${PORTAGE_TMPDIR}/portage," + eerror "it seems you don't have that much, quiting, sorry!" + die "Not enough disk space" + fi + + #Check the Current java-version ~ 1.4 and is jdk + JAVAC=`java-config --javac` + if [ -z $JAVAC ] ; then + eerror "Set java-config to use a jdk not a jre" + die "The version of java set by java-config doesn't contain javac" + fi + + if [ `java-config --java-version 2>&1 | grep "1\.4\." | wc -l` -lt 1 ] ; then + eerror "JDK is too old, >= 1.4 is required" + die "The version of jdk pointed to by java-config is not >=1.4" + fi + +} + +src_unpack() { + die_flag="" + if [ ! -f ${DISTDIR}/${SRC_MOZHEADERS} ] ; then + eerror "Please download ${SRC_MOZHEADERS} from ${HOMEPAGE} to ${DISTDIR}" + die_flag=1 + fi + + if [ ! -f ${DISTDIR}/${SRC_JAVA} ] ; then + eerror "Please download ${SRC_JAVA} from ${HOMEPAGE} to ${DISTDIR}" + die_flag=1 + fi + + if [ ! -f ${DISTDIR}/${SRC_SUNMOTIF} ] ; then + eerror "Please download ${SRC_SUNMOTIF} from ${HOMEPAGE} to ${DISTDIR}" + die_flag=1 + fi + + [ ! -z ${die_flag} ] && die "Some source files were not found" + + mkdir ${S} + cd ${S} + unpack ${SRC_JAVA} + + mkdir mozilla + cd mozilla + unpack ${SRC_MOZHEADERS} + + cd ${S} + for patch in $JAVA_PATCHES ; do + bzip2 -dc ${FILESDIR}/patches/${patch} | patch -p1 || die "Failed to apply ${patch}" + done + + # Update zlib to avoid security problem with zlib-1.1.3 + cd ${S}/j2se/src/share/native/java/util/zip + rm -rf zlib-1.1.3 + unpack zlib-${ZLIB_VERSION}.tar.bz2 + cd zlib-${ZLIB_VERSION} + mv adler32.c zadler32.c + mv crc32.c zcrc32.c + cd ${S}/j2se/make/java/zip/ + cp Makefile Makefile.orig + chmod +w Makefile + sed -e "s:1.1.3:${ZLIB_VERSION}:" Makefile.orig > Makefile + + mkdir -p ${S}/motif + cd ${S}/motif + unpack ${SRC_SUNMOTIF} +} + +src_compile () { + cd ${S} + unset CLASSPATH JAVA_HOME JAVAC + + # Otherwise the command: + # (cd /var/tmp/portage/sun-j2sdk-1.4.0-r1/work/j2sdk/control/build/linux-i386/j2re-image; tar cf - .) | \ + # (cd /var/tmp/portage/sun-j2sdk-1.4.0-r1/work/j2sdk/control/build/linux-i386/j2sdk-image/jre; tar xf -) + # Will fail, you have been warned!!!! There are NO sandbox violations anyway + LD_PRELOAD_SAVE=$LD_PRELOAD + unset LD_PRELOAD + + # Any CFLAGS will cause the build to fail! + # If you don't believe me ... + #export OTHER_CFLAGS=${CFLAGS} + #export OTHER_CXXFLAGS=${CXXFLAGS} + unset CFLAGS CXXFLAGS + + export ALT_MOZILLA_PATH="${S}/mozilla" + export ALT_BOOTDIR=`java-config --jdk-home` + export ALT_MOTIF_DIR="${S}/motif" + export ALT_DEVTOOLS_PATH="/usr/bin" + export MILESTONE="gentoo" + export BUILD_NUMBER=`date +%s` + export INSANE=true + export MAKE_VERBOSE=true + export OTHER_LDFLAGS="-lpthread" + export DEV_ONLY=true + + cd ${S}/control/make + # MUST use make, we DONT want any -j options! + JOBS=`echo "${MAKEOPTS}" | sed -e "s/.*-j\([0-9]\+\).*/\1/"` + if [ -z "$JOBS" ]; then + JOBS=1 + fi + make HOTSPOT_BUILD_JOBS=${JOBS} || die + + export LD_PRELOAD=$LD_PRELOAD_SAVE +} + +src_install () { + dodir /opt/${P} + + cd ${S}/control/build/linux-*/j2sdk-image + local dirs="bin include jre lib" + dodir /opt/${P} + + for i in $dirs ; do + cp -a $i ${D}/opt/${P}/ + done + + dodoc COPYRIGHT README LICENSE + dohtml README.html + + doman man/man1/*.1 + + dodir /opt/${P}/share/ + cp -a demo src.zip ${D}/opt/${P}/share/ + + if [ "`use mozilla`" ] ; then + dodir /usr/lib/mozilla/plugins + dosym /opt/${P}/jre/plugin/i386/ns610/libjavaplugin_oji140.so /usr/lib/mozilla/plugins/ + fi + + set_java_env ${FILESDIR}/${VMHANDLE} + +} + +pkg_postinst () { + # Set as default VM if none exists + java_pkg_postinst + inst_plugin /opt/${P}/jre/plugin/i386/ns610/libjavaplugin_oji140.so +} |