diff options
Diffstat (limited to 'dev-java/sun-jdk/sun-jdk-1.4.2.15.ebuild')
-rw-r--r-- | dev-java/sun-jdk/sun-jdk-1.4.2.15.ebuild | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/dev-java/sun-jdk/sun-jdk-1.4.2.15.ebuild b/dev-java/sun-jdk/sun-jdk-1.4.2.15.ebuild new file mode 100644 index 000000000000..c15d1565a909 --- /dev/null +++ b/dev-java/sun-jdk/sun-jdk-1.4.2.15.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/sun-jdk-1.4.2.15.ebuild,v 1.1 2007/06/28 20:23:42 betelgeuse Exp $ + +JAVA_SUPPORTS_GENERATION_1="true" +inherit pax-utils java-vm-2 eutils + +MY_PV=${PV%.*}_${PV##*.} +MY_P=j2sdk${MY_PV} +MY_PVB=${PV%.*} + +At="j2sdk-${PV//./_}-linux-i586.bin" +jce_policy="jce_policy-${MY_PVB//./_}.zip" + +S="${WORKDIR}/${MY_P}" +DESCRIPTION="Sun's J2SE Development Kit" +HOMEPAGE="http://java.sun.com/j2se/1.4.2/" +SRC_URI="x86? ( ${At} ) + jce? ( ${jce_policy} )" +SLOT="1.4" +LICENSE="sun-bcla-java-vm" +KEYWORDS="~x86" +# files are prestripped +RESTRICT="fetch strip" +IUSE="X alsa doc examples nsplugin jce" + +DEPEND="sys-apps/sed + app-arch/unzip" + +RDEPEND="alsa? ( media-libs/alsa-lib ) + doc? ( =dev-java/java-sdk-docs-1.4.2* ) + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + x11-libs/libXi + x11-libs/libXp + x11-libs/libXt + x11-libs/libXtst + )" + +JAVA_PROVIDE="jdbc-stdext" + +DOWNLOAD_URL="http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2sdk-${MY_PV}-oth-JPR&SiteId=JSC&TransactionId=noreg" +DOWNLOAD_URL_JCE="http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7503-jce-${MY_PVB}-oth-JPR&SiteId=JSC&TransactionId=noreg" + +QA_TEXTRELS_x86="opt/${P}/jre/lib/i386/libawt.so + opt/${P}/jre/plugin/i386/ns4/libjavaplugin.so + opt/${P}/jre/plugin/i386/ns610/libjavaplugin_oji.so + opt/${P}/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so" + +pkg_nofetch() { + einfo "Please download ${At} from:" + einfo ${DOWNLOAD_URL} + einfo "(first select 'Accept License', then click on 'self-extracting file'" + einfo "under 'Linux Platform - Java(TM) 2 SDK, Standard Edition')" + einfo "and move it to ${DISTDIR}" + if use jce; then + echo + einfo "Also download ${jce_policy} from:" + einfo ${DOWNLOAD_URL_JCE} + einfo "Java(TM) Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files" + einfo "and move it to ${DISTDIR}" + fi +} + +src_unpack() { + if [ ! -r ${DISTDIR}/${At} ]; then + die "cannot read ${At}.bin. Please check the permission and try again." + fi + if use jce; then + if [ ! -r ${DISTDIR}/${jce_policy} ]; then + die "cannot read ${jce_policy}. Please check the permission and try again." + fi + fi + #Search for the ELF Header + testExp=$(echo -e '\0177\0105\0114\0106\0001\0001\0001') + startAt=`grep -aonm 1 ${testExp} ${DISTDIR}/${At} | cut -d: -f1` + tail -n +${startAt} ${DISTDIR}/${At} > install.sfx + chmod +x install.sfx + ./install.sfx || die + rm install.sfx + + if [ -f ${S}/lib/unpack ]; then + UNPACK_CMD=${S}/lib/unpack + chmod +x $UNPACK_CMD + sed -i 's#/tmp/unpack.log#/dev/null\x00\x00\x00\x00\x00\x00#g' $UNPACK_CMD + 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" + for i in $PACKED_JARS; do + PACK_FILE=${S}/`dirname $i`/`basename $i .jar`.pack + if [ -f ${PACK_FILE} ]; then + echo " unpacking: $i" + $UNPACK_CMD ${PACK_FILE} ${S}/$i + rm -f ${PACK_FILE} + fi + done + fi +} + +src_install() { + local dirs="bin include jre lib man" + dodir /opt/${P} + + cp -dPR ${dirs} "${D}/opt/${P}/" + + # Set PaX markings on all JDK/JRE executables to allow code-generation on + # the heap by the JIT compiler. + pax-mark srpm $(list-paxables "${D}"/opt/${P}/{,/jre}/bin/*) + + dodoc COPYRIGHT README LICENSE THIRDPARTYLICENSEREADME.txt || die + dohtml README.html || die + if use examples; then + cp -pPR demo ${D}/opt/${P}/ || die + fi + + cp -pPR src.zip "${D}/opt/${P}/" || die + + if use jce ; then + # Using unlimited jce while still retaining the strong jce + # May have repercussions when you find you cannot symlink libraries + # in classpaths. + cd ${D}/opt/${P}/jre/lib/security + unzip ${DISTDIR}/${jce_policy} + mv jce unlimited-jce + dodir /opt/${P}/jre/lib/security/strong-jce + mv ${D}/opt/${P}/jre/lib/security/US_export_policy.jar ${D}/opt/${P}/jre/lib/security/strong-jce + mv ${D}/opt/${P}/jre/lib/security/local_policy.jar ${D}/opt/${P}/jre/lib/security/strong-jce + dosym /opt/${P}/jre/lib/security/unlimited-jce/US_export_policy.jar /opt/${P}/jre/lib/security/ + dosym /opt/${P}/jre/lib/security/unlimited-jce/local_policy.jar /opt/${P}/jre/lib/security/ + fi + + if use nsplugin; then + local plugin_dir="ns610" + if has_version '>=sys-devel/gcc-3.2' ; then + plugin_dir="ns610-gcc32" + fi + + install_mozilla_plugin /opt/${P}/jre/plugin/i386/${plugin_dir}/libjavaplugin_oji.so + fi + + # bug #147259 + dosym ../jre/javaws/javaws /opt/${P}/bin/javaws + dosym ../javaws/javaws /opt/${P}/jre/bin/javaws + + # create dir for system preferences + dodir /opt/${P}/.systemPrefs + # Create files used as storage for system preferences. + touch ${D}/opt/${P}/.systemPrefs/.system.lock + chmod 644 ${D}/opt/${P}/.systemPrefs/.system.lock + touch ${D}/opt/${P}/.systemPrefs/.systemRootModFile + chmod 644 ${D}/opt/${P}/.systemPrefs/.systemRootModFile + + # install control panel for Gnome/KDE + sed -e "s/INSTALL_DIR\/JRE_NAME_VERSION/\/opt\/${P}\/jre/" \ + -e "s/\(Name=Java\)/\1 Control Panel ${SLOT}/" \ + ${D}/opt/${P}/jre/plugin/desktop/sun_java.desktop > \ + ${T}/sun_java-${SLOT}.desktop + + domenu ${T}/sun_java-${SLOT}.desktop + + set_java_env +} + +pkg_postinst() { + # Set as default VM if none exists + java-vm-2_pkg_postinst + + if ! use X; then + ewarn "Some parts of Sun's JDK require virtual/x11 to be installed." + ewarn "Be careful which Java libraries you attempt to use." + fi + elog "Starting with 1.4.2.14 the src.zip is installed to the standard" + elog "location only (/opt/${P}/) and not /opt/${P}/share/" + elog "as we used to. See https://bugs.gentoo.org/show_bug.cgi?id=2241 and" + elog "http://java.sun.com/j2se/1.4.2/docs/tooldocs/linux/jdkfiles.html" + elog "for more details." +} |