summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/blackdown-jdk/blackdown-jdk-1.4.2.02.ebuild')
-rw-r--r--dev-java/blackdown-jdk/blackdown-jdk-1.4.2.02.ebuild154
1 files changed, 154 insertions, 0 deletions
diff --git a/dev-java/blackdown-jdk/blackdown-jdk-1.4.2.02.ebuild b/dev-java/blackdown-jdk/blackdown-jdk-1.4.2.02.ebuild
new file mode 100644
index 000000000000..d29732ef82fd
--- /dev/null
+++ b/dev-java/blackdown-jdk/blackdown-jdk-1.4.2.02.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/blackdown-jdk/blackdown-jdk-1.4.2.02.ebuild,v 1.1 2005/06/16 09:37:33 axxo Exp $
+
+inherit java versionator
+
+JREV="02"
+JV=${PV%_*}
+JV=$(get_version_component_range 1-3 ${JV})
+J_URI="mirror://blackdown.org/JDK-${JV}"
+
+DESCRIPTION="Blackdown Java Development Kit"
+SRC_URI="amd64? ( ${J_URI}/amd64/${JREV}/j2sdk-${JV}-${JREV}-linux-amd64.bin )
+ x86? ( ${J_URI}/i386/${JREV}/j2sdk-${JV}-${JREV}-linux-i586.bin )"
+
+HOMEPAGE="http://www.blackdown.org"
+
+SLOT="1.4.2"
+LICENSE="sun-bcla-java-vm"
+KEYWORDS="-* ~x86 ~amd64"
+IUSE="doc mozilla"
+
+DEPEND="virtual/libc
+ >=dev-java/java-config-1.2.11
+ doc? ( =dev-java/java-sdk-docs-1.4.2* )"
+
+PROVIDE="virtual/jdk
+ virtual/jre"
+
+S="${WORKDIR}/j2sdk${JV}"
+
+# Extract the 'skip' value (offset of tarball) we should pass to tail
+get_offset() {
+ [ ! -f "$1" ] && return
+
+ local offset=$(gawk '
+ /^[[:space:]]*skip[[:space:]]*=/ {
+ sub(/^[[:space:]]*skip[[:space:]]*=/, "")
+ SKIP = $0
+ }
+ END { print SKIP }' $1)
+
+ echo $offset
+}
+
+src_unpack() {
+ local offset=$(get_offset ${DISTDIR}/${A})
+
+ if [ -z "${offset}" ] ; then
+ die "Failed to get offset of tarball!"
+ fi
+
+ echo ">>> Unpacking ${A}..."
+ tail -n +${offset} ${DISTDIR}/${A} | tar --no-same-owner -jxpf - || die
+}
+
+unpack_jars() {
+ # New to 1.4.2
+ local PACKED_JARS="lib/tools.jar jre/lib/rt.jar jre/lib/jsse.jar jre/lib/charsets.jar jre/lib/ext/localedata.jar jre/lib/plugin.jar jre/javaws/javaws.jar"
+ local JAVAHOME="${D}/opt/${P}"
+ local UNPACK_CMD=""
+ if [ -f "$JAVAHOME/lib/unpack" ]; then
+ UNPACK_CMD="$JAVAHOME/lib/unpack"
+ chmod +x "$UNPACK_CMD"
+ packerror=""
+ sed -i 's#/tmp/unpack.log#/dev/null\x00\x00\x00\x00\x00\x00#g' $UNPACK_CMD
+ for i in $PACKED_JARS; do
+ if [ -f "$JAVAHOME/`dirname $i`/`basename $i .jar`.pack" ]; then
+ einfo "Creating ${JAVAHOME}/${i}\n"
+ "$UNPACK_CMD" "$JAVAHOME/`dirname $i`/`basename $i .jar`.pack" "$JAVAHOME/$i"
+ if [ ! -f "$JAVAHOME/$i" ]; then
+ ewarn "Failed to unpack jar files ${i}. Please refer\n"
+ ewarn "to the Troubleshooting section of the Installation\n"
+ ewarn "Instructions on the download page for more information.n"
+ packerror="1"
+ fi
+ rm -f "$JAVAHOME/`dirname $i`/`basename $i .jar`.pack"
+ fi
+ done
+ fi
+ rm -f "$UNPACK_CMD"
+}
+
+src_install() {
+ typeset platform
+
+ dodir /opt/${P}
+
+ cp -a ${S}/{bin,jre,lib,man,include} ${D}/opt/${P} || die "failed to copy"
+
+ dodir /opt/${P}/share/java
+ cp -a ${S}/{demo,src.zip} ${D}/opt/${P}/share || die "failed to copy"
+
+ dodoc COPYRIGHT LICENSE README INSTALL
+ dohtml README.html
+
+ # Install mozilla plugin if mozilla use flag is set
+ if use mozilla; then
+ case ${ARCH} in
+ amd64) platform="amd64" ;;
+ x86) platform="i386" ;;
+ ppc) platform="ppc" ;;
+ sparc*) platform="sparc" ;;
+ esac
+
+ install_mozilla_plugin /opt/${P}/jre/plugin/${platform}/mozilla/libjavaplugin_oji.so
+ else
+ rm -f ${D}/opt/${P}/jre/plugin/${platform}/mozilla/libjavaplugin_oji.so
+ fi
+
+ find ${D}/opt/${P} -type f -name "*.so" -exec chmod +x \{\} \;
+
+ sed -i "s/standard symbols l/symbol/g" ${D}/opt/${P}/jre/lib/font.properties
+
+ # install env into /etc/env.d
+ set_java_env ${FILESDIR}/${VMHANDLE} || die
+
+ # Fix for bug 26629
+ if [[ "${PROFILE_ARCH}" == "sparc64" ]]; then
+ dosym /opt/${P}/jre/lib/sparc /opt/${P}/jre/lib/sparc64
+ fi
+
+ unpack_jars
+}
+
+pkg_postinst() {
+ # Set as default system VM if none exists
+ java_pkg_postinst
+
+ # if chpax is on the target system, set the appropriate PaX flags
+ # this will not hurt the binary, it modifies only unused ELF bits
+ # but may confuse things like AV scanners and automatic tripwire
+ if has_version "sys-apps/chpax"
+ then
+ echo
+ einfo "setting up conservative PaX flags for jar and javac"
+
+ CHPAX_CONSERVATIVE_FLAGS="pemrxs"
+
+ for paxkills in "jar" "javac" "java" "javah" "javadoc"
+ do
+ chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${PN}-${PV}/bin/$paxkills
+ done
+
+ # /opt/blackdown-jdk-1.4.1/jre/bin/java_vm
+ chpax -${CHPAX_CONSERVATIVE_FLAGS} /opt/${PN}-${PV}/jre/bin/java_vm
+
+ einfo "you should have seen lots of chpax output above now"
+ ewarn "make sure the grsec ACL contains those entries also"
+ ewarn "because enabling it will override the chpax setting"
+ ewarn "on the physical files - help for PaX and grsecurity"
+ ewarn "can be given by #gentoo-hardened + pappy@gentoo.org"
+ fi
+}