summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Pawlik <nelchael@gentoo.org>2006-07-06 12:25:05 +0000
committerKrzysztof Pawlik <nelchael@gentoo.org>2006-07-06 12:25:05 +0000
commit744e1552ea2929a56d14ee581ea27d22586f5381 (patch)
tree75723fb2a4c4aeceb045521167794ea02eee34c2 /eclass/java-wsdp.eclass
parentInitial version. (diff)
downloadgentoo-2-744e1552ea2929a56d14ee581ea27d22586f5381.tar.gz
gentoo-2-744e1552ea2929a56d14ee581ea27d22586f5381.tar.bz2
gentoo-2-744e1552ea2929a56d14ee581ea27d22586f5381.zip
New eclass for Sun's JWSDP.
Diffstat (limited to 'eclass/java-wsdp.eclass')
-rw-r--r--eclass/java-wsdp.eclass103
1 files changed, 103 insertions, 0 deletions
diff --git a/eclass/java-wsdp.eclass b/eclass/java-wsdp.eclass
new file mode 100644
index 000000000000..c1f2f85e7416
--- /dev/null
+++ b/eclass/java-wsdp.eclass
@@ -0,0 +1,103 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/java-wsdp.eclass,v 1.1 2006/07/06 12:25:05 nelchael Exp $
+
+#
+# Original Author: Krzysiek Pawlik <nelchael@gentoo.org>
+# Purpose: Automate installation of Sun's JWSDP components
+#
+
+inherit java-pkg-2
+
+ECLASS="java-wsdp"
+INHERITED="$INHERITED $ECLASS"
+
+EXPORT_FUNCTIONS src_unpack src_install pkg_nofetch pkg_setup
+
+JWSDP_VERSION="${JWSDP_VERSION/./_}"
+JWSDP_PKG="${PN/sun-/}"
+JWSDP_PKG="${JWSDP_PKG/-bin/}"
+
+DESCRIPTION="Sun's Java Web Services Developer Pack - ${JWSDP_DESC} (${JWSDP_PKG})"
+HOMEPAGE="http://java.sun.com/webservices/jwsdp/"
+SRC_URI="jwsdp-${JWSDP_VERSION}-unix.sh"
+LICENSE="sun-jwsdp"
+SLOT="0"
+RESTRICT="fetch nostrip"
+
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ dev-java/sax
+ dev-java/xalan
+ dev-java/xerces"
+RDEPEND=">=virtual/jre-1.5
+ ${RDEPEND}"
+
+java-wsdp_pkg_nofetch() {
+
+ einfo "Please go to following URL:"
+ einfo " ${HOMEPAGE}"
+ einfo "download file named jwsdp-${JWSDP_VERSION}-unix.sh and place it in:"
+ einfo " ${DISTDIR}"
+
+}
+
+java-wsdp_pkg_setup() {
+
+ # JWSDP version is a version for *whole* pack! Each component has it's own
+ # version, so we have to know also the JWSDP version:
+ [[ -z "${JWSDP_VERSION}" ]] && die "No JWSDP version given."
+
+}
+
+# The file downloaded from Sun is self-extracting archive, it uses obsolete
+# `tail +<number>` syntax, and... breaks, so:
+java-wsdp_src_unpack() {
+
+ ebegin "Extracting zip file"
+ mkdir "${T}/unpacked" || die "mkdir failed"
+
+ # This tries to figure out right offset from `tail +<number>`:
+ offset="`grep -a '^tail +' ${DISTDIR}/${A} | sed -e 's/.*+\([0-9]\+\).*/\1/'`"
+
+ # Get the archive from .sh file:
+ tail -n +${offset} "${DISTDIR}/${A}" > "${T}/unpacked/packed.zip" || \
+ die "tail failed"
+
+ # And finally unpack it:
+ cd "${T}/unpacked/"
+ unzip -qq "packed.zip" || die "unzip failed"
+ eend 0
+
+ # Now the Sun's installer is run to get the files:
+ ebegin "Installing using Sun's installer, please wait"
+ cd "${T}/unpacked/"
+ java JWSDP -silent -P installLocation="${WORKDIR}/base" || die "java failed"
+ eend 0
+
+ # A little cleanup (remove unneeded files like uninstaller, images for it,
+ # bundled ant:
+ cd "${WORKDIR}/base"
+ rm -fr _uninst uninstall.sh images apache-ant
+
+}
+
+java-wsdp_src_install() {
+
+ cd "${WORKDIR}/base/${JWSDP_PKG}"
+
+ # Remove existing compiled jars that belong to other packages (ebuild has to
+ # define REMOVE_JARS="jar 1 jar2" without ".jar" extension. All jars in
+ # lib/endorsed/ are ignored:
+ for i in ${REMOVE_JARS}; do
+ rm -f lib/${i}.jar
+ done
+
+ java-pkg_dojar lib/*.jar
+
+ if use doc; then
+ [[ -d docs ]] && java-pkg_dohtml -r docs/*
+ fi
+
+}