284 lines
9.6 KiB
Bash
284 lines
9.6 KiB
Bash
# Copyright 1999-2014 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/dev-java/ibm-jdk-bin/ibm-jdk-bin-1.6.0.9_p2-r1.ebuild,v 1.5 2014/11/02 08:18:25 swift Exp $
|
|
|
|
EAPI="4"
|
|
|
|
inherit java-vm-2 versionator eutils
|
|
|
|
JDK_RELEASE=$(get_version_component_range 2-3)
|
|
JAVACOMM_RELEASE=$(get_version_component_range 3)
|
|
SERVICE_RELEASE=$(get_version_component_range 4)
|
|
SERVICE_RELEASE_LINK="${SERVICE_RELEASE}"
|
|
|
|
# versions ending with _pX translate to .X in distfile and fpX in SRC_URI
|
|
if [[ $(get_version_component_count) == 5 ]]; then
|
|
FP_VERSION="$(get_version_component_range 5)"
|
|
FP_VERSION="${FP_VERSION#p}"
|
|
FP_WEB="-FP${FP_VERSION}"
|
|
FP_LINK="fp${FP_VERSION}"
|
|
TGZ_PV="${JDK_RELEASE}-${SERVICE_RELEASE}.${FP_VERSION}"
|
|
else
|
|
FP_WEB=""
|
|
FP_LINK=""
|
|
TGZ_PV="${JDK_RELEASE}-${SERVICE_RELEASE}.0"
|
|
fi
|
|
|
|
#JAVACOMM_PV="3.${JAVACOMM_RELEASE}-${SERVICE_RELEASE}.0"
|
|
# looks like they don't bump javacomm in service releases anymore
|
|
JAVACOMM_PV_ORIG="3.${JAVACOMM_RELEASE}-0.0"
|
|
JAVACOMM_PV="${JDK_RELEASE}-${SERVICE_RELEASE}.0"
|
|
|
|
JDK_DIST_PREFIX="ibm-java-sdk-${TGZ_PV}-linux"
|
|
JAVACOMM_DIST_PREFIX="ibm-java-javacomm-${JAVACOMM_PV}-linux"
|
|
JAVACOMM_DIST_PREFIX_ORIG="ibm-java-javacomm-${JAVACOMM_PV_ORIG}-linux"
|
|
|
|
X86_JDK_DIST="${JDK_DIST_PREFIX}-i386.tgz"
|
|
X86_JAVACOMM_DIST="${JAVACOMM_DIST_PREFIX}-i386.tgz"
|
|
X86_JAVACOMM_DIST_ORIG="${JAVACOMM_DIST_PREFIX_ORIG}-i386.tgz"
|
|
|
|
AMD64_JDK_DIST="${JDK_DIST_PREFIX}-x86_64.tgz"
|
|
AMD64_JAVACOMM_DIST="${JAVACOMM_DIST_PREFIX}-x86_64.tgz"
|
|
AMD64_JAVACOMM_DIST_ORIG="${JAVACOMM_DIST_PREFIX_ORIG}-x86_64.tgz"
|
|
|
|
PPC_JDK_DIST="${JDK_DIST_PREFIX}-ppc.tgz"
|
|
PPC_JAVACOMM_DIST="${JAVACOMM_DIST_PREFIX}-ppc.tgz"
|
|
PPC_JAVACOMM_DIST_ORIG="${JAVACOMM_DIST_PREFIX_ORIG}-ppc.tgz"
|
|
|
|
PPC64_JDK_DIST="${JDK_DIST_PREFIX}-ppc64.tgz"
|
|
PPC64_JAVACOMM_DIST="${JAVACOMM_DIST_PREFIX}-ppc64.tgz"
|
|
PPC64_JAVACOMM_DIST_ORIG="${JAVACOMM_DIST_PREFIX_ORIG}-ppc64.tgz"
|
|
|
|
DESCRIPTION="IBM Java SE Development Kit"
|
|
HOMEPAGE="http://www.ibm.com/developerworks/java/jdk/"
|
|
SRC_URI="
|
|
x86? ( ${X86_JDK_DIST} )
|
|
amd64? ( ${AMD64_JDK_DIST} )
|
|
ppc? ( ${PPC_JDK_DIST} )
|
|
ppc64? ( ${PPC64_JDK_DIST} )
|
|
javacomm? (
|
|
x86? ( ${X86_JAVACOMM_DIST} )
|
|
amd64? ( ${AMD64_JAVACOMM_DIST} )
|
|
ppc? ( ${PPC_JAVACOMM_DIST} )
|
|
ppc64? ( ${PPC64_JAVACOMM_DIST} )
|
|
)"
|
|
|
|
LICENSE="IBM-J1.6"
|
|
SLOT="1.6"
|
|
KEYWORDS="-* ~amd64 ppc ~ppc64 ~x86"
|
|
RESTRICT="fetch"
|
|
IUSE="X alsa doc examples javacomm nsplugin odbc selinux"
|
|
|
|
RDEPEND="
|
|
ppc? ( =virtual/libstdc++-3.3 )
|
|
ppc64? ( =virtual/libstdc++-3.3 )
|
|
X? (
|
|
x11-libs/libXext
|
|
x11-libs/libXft
|
|
x11-libs/libXi
|
|
x11-libs/libXp
|
|
x11-libs/libXtst
|
|
x11-libs/libX11
|
|
x11-libs/libXt
|
|
)
|
|
alsa? ( media-libs/alsa-lib )
|
|
doc? ( =dev-java/java-sdk-docs-1.6.0* )
|
|
odbc? ( dev-db/unixODBC )
|
|
selinux? ( sec-policy/selinux-java )"
|
|
|
|
DEPEND=""
|
|
|
|
QA_TEXTRELS_x86="opt/${P}/jre/lib/i386/libj9jvmti24.so
|
|
opt/${P}/jre/lib/i386/libj9vm24.so
|
|
opt/${P}/jre/lib/i386/libjclscar_24.so
|
|
opt/${P}/jre/lib/i386/motif21/libmawt.so
|
|
opt/${P}/jre/lib/i386/libj9thr24.so
|
|
opt/${P}/jre/lib/i386/libj9jit24.so
|
|
opt/${P}/jre/lib/i386/libj9dbg24.so
|
|
opt/${P}/jre/lib/i386/libj9gc24.so"
|
|
|
|
QA_EXECSTACK_x86="opt/${P}/jre/bin/classic/libjvm.so
|
|
opt/${P}/jre/lib/i386/j9vm/libjvm.so
|
|
opt/${P}/jre/lib/i386/libj9jvmti24.so
|
|
opt/${P}/jre/lib/i386/libj9hookable24.so
|
|
opt/${P}/jre/lib/i386/libj9vm24.so
|
|
opt/${P}/jre/lib/i386/libjclscar_24.so
|
|
opt/${P}/jre/lib/i386/libj9thr24.so
|
|
opt/${P}/jre/lib/i386/libj9dmp24.so
|
|
opt/${P}/jre/lib/i386/libj9prt24.so
|
|
opt/${P}/jre/lib/i386/libj9jit24.so
|
|
opt/${P}/jre/lib/i386/libiverel24.so
|
|
opt/${P}/jre/lib/i386/libj9trc24.so
|
|
opt/${P}/jre/lib/i386/libj9dbg24.so
|
|
opt/${P}/jre/lib/i386/libj9shr24.so
|
|
opt/${P}/jre/lib/i386/libj9gc24.so
|
|
opt/${P}/jre/lib/i386/libj9bcv24.so
|
|
opt/${P}/jre/lib/i386/classic/libjvm.so"
|
|
|
|
QA_EXECSTACK_amd64="opt/${P}/jre/lib/amd64/default/libjvm.so
|
|
opt/${P}/jre/lib/amd64/default/libj9jvmti24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9hookable24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9vm24.so
|
|
opt/${P}/jre/lib/amd64/default/libjclscar_24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9jpi24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9thr24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9dmp24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9prt24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9jit24.so
|
|
opt/${P}/jre/lib/amd64/default/libiverel24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9trc24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9dbg24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9shr24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9gc24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9bcv24.so
|
|
opt/${P}/jre/lib/amd64/default/libj9ute24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libjvm.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9jvmti24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9hookable24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9vm24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libjclscar_24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9jpi24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9thr24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9dmp24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9prt24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9jit24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libiverel24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9trc24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9dbg24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9shr24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9gc24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9bcv24.so
|
|
opt/${P}/jre/lib/amd64/compressedrefs/libj9ute24.so"
|
|
|
|
_init_at_vars() {
|
|
if use x86; then
|
|
JDK_DIST=${X86_JDK_DIST}
|
|
JAVACOMM_DIST=${X86_JAVACOMM_DIST}
|
|
JAVACOMM_DIST_ORIG=${X86_JAVACOMM_DIST_ORIG}
|
|
S="${WORKDIR}/ibm-java-i386-60"
|
|
LINK_ARCH="intel"
|
|
elif use amd64; then
|
|
JDK_DIST=${AMD64_JDK_DIST}
|
|
JAVACOMM_DIST=${AMD64_JAVACOMM_DIST}
|
|
JAVACOMM_DIST_ORIG=${AMD64_JAVACOMM_DIST_ORIG}
|
|
S="${WORKDIR}/ibm-java-x86_64-60"
|
|
LINK_ARCH="amd64"
|
|
elif use ppc; then
|
|
JDK_DIST=${PPC_JDK_DIST}
|
|
JAVACOMM_DIST=${PPC_JAVACOMM_DIST}
|
|
JAVACOMM_DIST_ORIG=${PPC_JAVACOMM_DIST_ORIG}
|
|
S="${WORKDIR}/ibm-java-ppc-60"
|
|
LINK_ARCH="ipseries32"
|
|
elif use ppc64; then
|
|
JDK_DIST=${PPC64_JDK_DIST}
|
|
JAVACOMM_DIST=${PPC64_JAVACOMM_DIST}
|
|
JAVACOMM_DIST_ORIG=${PPC64_JAVACOMM_DIST_ORIG}
|
|
S="${WORKDIR}/ibm-java-ppc64-60"
|
|
LINK_ARCH="ipseries64"
|
|
fi
|
|
}
|
|
|
|
pkg_nofetch() {
|
|
_init_at_vars
|
|
|
|
DIRECT_DOWNLOAD="https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-sdk6"
|
|
DIRECT_DOWNLOAD+="&S_PKG=${LINK_ARCH}_6sr${SERVICE_RELEASE}${FP_LINK}&S_TACT=105AGX05&S_CMP=JDK"
|
|
DOWNLOADPAGE="${HOMEPAGE}linux/download.html"
|
|
# bug #125178
|
|
ALT_DOWNLOADPAGE="${HOMEPAGE}linux/older_download.html"
|
|
|
|
einfo "Due to license restrictions, we cannot redistribute or fetch the distfiles"
|
|
einfo "Please visit: ${DOWNLOADPAGE}"
|
|
|
|
einfo "Under Java SE 6, download SR${SERVICE_RELEASE}${FP_WEB} for your arch:"
|
|
einfo "${JDK_DIST}"
|
|
if use javacomm ; then
|
|
einfo "Also download ${JAVACOMM_DIST_ORIG}"
|
|
ewarn "and save it as ${JAVACOMM_DIST}"
|
|
ewarn "Renaming is needed because javacomm changes content without changing filename."
|
|
fi
|
|
|
|
einfo "You can also use a direct link to your arch download page:"
|
|
einfo "${DIRECT_DOWNLOAD}"
|
|
einfo "Place the file(s) in: ${DISTDIR}"
|
|
einfo "Then restart emerge: 'emerge --resume'"
|
|
|
|
einfo "Note: if SR${SERVICE_RELEASE}${FP_WEB} is not available at ${DOWNLOADPAGE}"
|
|
einfo "it may have been moved to ${ALT_DOWNLOADPAGE}. Lately that page"
|
|
einfo "isn't updated, but the files should still available through the"
|
|
einfo "direct link to arch download page. If it doesn't work, file a bug."
|
|
}
|
|
|
|
src_unpack() {
|
|
_init_at_vars
|
|
|
|
unpack ${JDK_DIST}
|
|
if use javacomm; then
|
|
mkdir "${WORKDIR}/javacomm/" || die
|
|
cd "${WORKDIR}/javacomm/"
|
|
unpack ${JAVACOMM_DIST}
|
|
fi
|
|
}
|
|
|
|
src_prepare() {
|
|
# bug #126105
|
|
epatch "${FILESDIR}/${PN}-jawt.h.patch"
|
|
}
|
|
|
|
src_compile() { :; }
|
|
|
|
src_install() {
|
|
# Copy all the files to the designated directory
|
|
dodir /opt/${P}
|
|
cp -pPR bin jre lib include src.zip "${ED}/opt/${P}" || die
|
|
|
|
if use examples; then
|
|
cp -pPR demo "${ED}"/opt/${P} || die
|
|
fi
|
|
if use javacomm; then
|
|
chmod -x "${WORKDIR}"/javacomm/*/jar/*.jar "${WORKDIR}"/javacomm/*/lib/*.properties || die
|
|
cp -pR "${WORKDIR}"/javacomm/*/jar/*.jar "${ED}"/opt/${P}/jre/lib/ext/ || die
|
|
cp -pR "${WORKDIR}"/javacomm/*/lib/*.properties "${ED}"/opt/${P}/jre/lib/ || die
|
|
cp -pR "${WORKDIR}"/javacomm/*/lib/*.so "${ED}"/opt/${P}/jre/lib/$(get_system_arch)/ || die
|
|
if use examples; then
|
|
cp -pPR "${WORKDIR}"/javacomm/*/examples "${ED}"/opt/${P}/ || die
|
|
fi
|
|
fi
|
|
|
|
if use x86 || use ppc; then
|
|
local plugin="/opt/${P}/jre/plugin/$(get_system_arch)/ns7/libjavaplugin_oji.so"
|
|
if use nsplugin; then
|
|
install_mozilla_plugin "${plugin}"
|
|
else
|
|
rm "${ED}${plugin}" || die
|
|
fi
|
|
fi
|
|
|
|
# Install desktop file for the Java Control Panel. Using VMHANDLE as file
|
|
# name to prevent file collision with jre and or other slots.
|
|
sed -e "s/\(Name=\)Java/\1 Java Control Panel for IBM JDK ${SLOT}/" \
|
|
-e "s#Exec=.*#Exec=${EPREFIX}/opt/${P}/jre/bin/jcontrol#" \
|
|
-e "s#Icon=.*#Icon=${EPREFIX}/opt/${P}/jre/plugin/desktop/sun_java.png#" \
|
|
"${ED}"/opt/${P}/jre/plugin/desktop/sun_java.desktop \
|
|
> "${T}"/${VMHANDLE}.desktop || die
|
|
domenu "${T}"/${VMHANDLE}.desktop || die
|
|
|
|
dohtml -a html,htm,HTML -r docs
|
|
dodoc copyright notices.txt readmefirst.lnx.txt
|
|
|
|
set_java_env
|
|
|
|
# a workaround to fix the BOOTCLASSPATH in our env file
|
|
# this is not optimal, using -Xcompressedrefs would probably make it
|
|
# expect the compressedrefs version...
|
|
if use amd64; then
|
|
sed -i -e "s|vm.jar|amd64/default/jclSC160/vm.jar|g" "${ED}${JAVA_VM_CONFIG_DIR}/${VMHANDLE}" || die "sed failed"
|
|
fi
|
|
if use ppc64; then
|
|
sed -i -e "s|vm.jar|ppc64/default/jclSC160/vm.jar|g" "${ED}${JAVA_VM_CONFIG_DIR}/${VMHANDLE}" || die "sed failed"
|
|
fi
|
|
|
|
java-vm_set-pax-markings "${ED}"/opt/${P}
|
|
java-vm_revdep-mask
|
|
java-vm_sandbox-predict /proc/cpuinfo /proc/self/coredump_filter /proc/self/maps
|
|
}
|