blob: 3b54b93cd9eddab28af60fc5aa9ba12d5d4302c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/icedtea-web/icedtea-web-1.1.2.ebuild,v 1.1 2011/09/06 09:57:09 caster Exp $
# Build written by Andrew John Hughes (ahughes@redhat.com)
EAPI="2"
inherit autotools eutils java-pkg-2 java-vm-2
LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2"
SLOT="6"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
DESCRIPTION="FOSS Java browser plugin and Web Start implementation"
SRC_URI="http://icedtea.classpath.org/download/source/${P}.tar.gz"
HOMEPAGE="http://icedtea.classpath.org"
IUSE="build doc +nsplugin"
RDEPEND="dev-java/icedtea:${SLOT}"
DEPEND="${RDEPEND}
nsplugin? (
|| ( net-misc/npapi-sdk
>=net-libs/xulrunner-1.9.1 ) )"
# a bit of hack so the VM switching is triggered without causing dependency troubles
JAVA_PKG_NV_DEPEND=">=virtual/jdk-1.6"
JAVA_PKG_WANT_SOURCE="1.6"
JAVA_PKG_WANT_TARGET="1.6"
pkg_setup() {
# quite a hack since java-config does not provide a way for a package
# to limit supported VM's for building and their preferred order
if [[ -n "${JAVA_PKG_FORCE_VM}" ]]; then
einfo "Honoring user-set JAVA_PKG_FORCE_VM"
elif has_version dev-java/icedtea:${SLOT}; then
JAVA_PKG_FORCE_VM="icedtea${SLOT}"
else
JAVA_PKG_FORCE_VM=""
# don't die just yet if merging a binpkg - bug #258423
DIE_IF_NOT_BINPKG=true
fi
# if the previous failed, don't even run java eclasses pkg_setup
# as it might also die when no VM is present
if [[ -n "${JAVA_PKG_FORCE_VM}" ]]; then
einfo "Forced vm ${JAVA_PKG_FORCE_VM}"
java-vm-2_pkg_setup
java-pkg-2_pkg_setup
fi
}
unset_vars() {
unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
}
src_unpack() {
if [[ -n ${DIE_IF_NOT_BINPKG} ]]; then
die "Unable to find a supported VM for building"
fi
default
}
src_prepare() {
epatch "${FILESDIR}"/0001-Support-using-NPAPI-SDK-headers-instead-of-whole-xul.patch
eautoreconf
}
src_configure() {
local vmhome=$(java-config -O)
if use build; then
icedteadir="${ICEDTEA_BIN_DIR}"
installdir="/opt/icedtea${SLOT}-web-bin"
else
icedteadir="/usr/$(get_libdir)/icedtea${SLOT}"
installdir="/usr/$(get_libdir)/icedtea${SLOT}-web"
fi
unset_vars
if use build || [[ ${vmhome} == ${icedteadir} ]] ; then
VMHANDLE="icedtea${SLOT}"
else
die "Unexpected install location of IcedTea${SLOT}"
fi
einfo "Installing IcedTea-Web in ${installdir}"
einfo "Installing IcedTea-Web for Icedtea${SLOT} in ${icedteadir}"
if [ ! -e ${vmhome} ] ; then
eerror "Could not find JDK install directory ${vmhome}."
die
fi
# we need to override all *dir variables that econf sets
# man page (javaws) is installed directly to icedteadir because it's easier than symlinking, as we don't know
# the suffix the man page will end up compressed with, anyway
econf \
--prefix=${installdir} --mandir=${icedteadir}/man --infodir=${installdir}/share/info --datadir=${installdir}/share \
--with-jdk-home=${icedteadir} \
$(use_enable doc docs) \
$(use_enable nsplugin plugin) \
|| die "configure failed"
}
src_compile() {
# we need this to override the src_compile from java-pkg-2
default
}
src_install() {
# parallel make problem bug #372235
emake -j1 DESTDIR="${D}" install || die "Install failed"
dodoc AUTHORS README NEWS || die
if use nsplugin; then
local arch=${ARCH};
use x86 && arch=i386;
install_mozilla_plugin "${installdir}/$(get_libdir)/IcedTeaPlugin.so";
fi
for binary in javaws itweb-settings; do
dosym ${installdir}/bin/${binary} ${icedteadir}/bin/${binary}
dosym ${installdir}/bin/${binary} ${icedteadir}/jre/bin/${binary}
done
}
pkg_postinst() {
java-vm_check-nsplugin
java_mozilla_clean_
if use nsplugin; then
elog "The icedtea browser plugin (NPPlugin) can be enabled using eselect java-nsplugin"
elog "Note that the plugin works only in browsers based on xulrunner-1.9.1 or later"
elog "such as Firefox 3.5+, Chromium and perhaps some others too."
fi
}
pkg_prerm() {
# override the java-vm-2 eclass check for removing a system VM, as it doesn't make sense here
:;
}
|