/[gentoo-x86]/eclass/java-vm-2.eclass
Gentoo

Diff of /eclass/java-vm-2.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.21 Revision 1.22
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/java-vm-2.eclass,v 1.21 2008/07/07 16:48:45 betelgeuse Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/java-vm-2.eclass,v 1.22 2008/07/07 16:54:56 betelgeuse Exp $
4 4
5# ----------------------------------------------------------------------------- 5# -----------------------------------------------------------------------------
6# @eclass-begin 6# @eclass-begin
7# @eclass-shortdesc Java Virtual Machine eclass 7# @eclass-shortdesc Java Virtual Machine eclass
8# @eclass-maintainer java@gentoo.org 8# @eclass-maintainer java@gentoo.org
24export WANT_JAVA_CONFIG=2 24export WANT_JAVA_CONFIG=2
25 25
26JAVA_VM_CONFIG_DIR="/usr/share/java-config-2/vm" 26JAVA_VM_CONFIG_DIR="/usr/share/java-config-2/vm"
27JAVA_VM_DIR="/usr/lib/jvm" 27JAVA_VM_DIR="/usr/lib/jvm"
28 28
29EXPORT_FUNCTIONS pkg_setup src_install pkg_postinst pkg_prerm pkg_postrm 29EXPORT_FUNCTIONS pkg_setup pkg_postinst pkg_prerm pkg_postrm
30 30
31java-vm-2_pkg_setup() { 31java-vm-2_pkg_setup() {
32 if [[ "${SLOT}" != "0" ]]; then 32 if [[ "${SLOT}" != "0" ]]; then
33 VMHANDLE=${PN}-${SLOT} 33 VMHANDLE=${PN}-${SLOT}
34 else 34 else
35 VMHANDLE=${PN} 35 VMHANDLE=${PN}
36 fi 36 fi
37 debug-print "set VMHANDLE to ${VMHANDLE}"
38}
39
40java-vm_2_src_install() {
41 local dirs="${JAVA_VM_SUBDIRS:-bin include jre lib man}"
42 local dest="/opt/${P}"
43 local ddest="${D}/opt/${P}"
44
45 # Set PaX markings on all JDK/JRE executables to allow code-generation on
46 # the heap by the JIT compiler.
47 if hasq hardened $IUSE; then
48 use hardeded && pax-mark m $(list-paxables ${S}{,/jre}/bin/*)
49 fi
50
51 cp -pPR $i "${ddest}" || die "failed to copy"
52
53 if [[ -e COPYRIGHT ]]; then
54 dodoc COPYRIGHT || die
55 fi
56
57 if [[ -e README.html ]]; then
58 dohtml README.html || die
59 fi
60
61 cp -pP src.zip "${D}/opt/${P}/" || die "src.zip doesn't exist"
62
63 if use examples; then
64 local edest="${ddest}/share"
65 dodir "${edest}"
66 cp -pPR demo sample "${edest}" || die
67 fi
68
69 if hasq jce $IUSE && use jce; then
70 cd "${ddest}/jre/lib/security"
71 dodir ${dest}/jre/lib/security/strong-jce
72 mv "${ddest}/jre/lib/security/US_export_policy.jar" "${ddest}"/jre/lib/security/strong-jce
73 mv "${ddest}"/jre/lib/security/local_policy.jar \
74 "${ddest}/jre/lib/security/strong-jce"
75 local jcedir=/opt/sun-jce-bin-${JAVA_VM_JCE_VERSION}/jre/lib/security/unlimited-jce
76 dosym ${jcedir}/US_export_policy.jar ${dest}/jre/lib/security/ || die
77 dosym ${jcedir}/local_policy.jar ${dest}/jre/lib/security/ || die
78 fi
79
80 if use nsplugin; then
81 local plugin_dir="ns7-gcc29"
82
83 if use x86 ; then
84 install_mozilla_plugin ${dest}/jre/plugin/i386/${plugin_dir}/libjavaplugin_oji.so
85 else
86 eerror "No plugin available for amd64 arch"
87 fi
88 fi
89
90 # create dir for system preferences
91 dodir /opt/${P}/jre/.systemPrefs
92 # Create files used as storage for system preferences.
93 touch ${D}/opt/${P}/jre/.systemPrefs/.system.lock
94 chmod 644 ${D}/opt/${P}/jre/.systemPrefs/.system.lock
95 touch ${D}/opt/${P}/jre/.systemPrefs/.systemRootModFile
96 chmod 644 ${D}/opt/${P}/jre/.systemPrefs/.systemRootModFile
97
98 if [[ -f ${D}/opt/${P}/jre/plugin/desktop/sun_java.desktop ]]; then
99 # install control panel for Gnome/KDE
100 # The jre also installs these so make sure that they do not have the same
101 # Name
102 sed -e "s/\(Name=\)Java/\1 Java Control Panel for Sun JDK ${SLOT}/" \
103 -e "s#Exec=.*#Exec=/opt/${P}/jre/bin/ControlPanel#" \
104 -e "s#Icon=.*#Icon=/opt/${P}/jre/plugin/desktop/sun_java.png#" \
105 ${D}/opt/${P}/jre/plugin/desktop/sun_java.desktop > \
106 ${T}/sun_jdk-${SLOT}.desktop
107
108 domenu ${T}/sun_jdk-${SLOT}.desktop
109 fi
110
111 # bug #56444
112 insinto /opt/${P}/jre/lib/
113 newins "${FILESDIR}"/fontconfig.Gentoo.properties fontconfig.properties
114
115 set_java_env
116} 37}
117 38
118java-vm-2_pkg_postinst() { 39java-vm-2_pkg_postinst() {
119 # Set the generation-2 system VM, if it isn't set 40 # Set the generation-2 system VM, if it isn't set
120 if [[ -z "$(java-config-2 -f)" ]]; then 41 if [[ -z "$(java-config-2 -f)" ]]; then
197 fi 118 fi
198 eselect java-nsplugin set ${extra_args} ${VMHANDLE} 119 eselect java-nsplugin set ${extra_args} ${VMHANDLE}
199} 120}
200 121
201java-vm-2_pkg_prerm() { 122java-vm-2_pkg_prerm() {
202 true # used to have the system vm removing here but can't remove to keep API 123 if [[ "$(java-config -f 2>/dev/null)" == "${VMHANDLE}" ]]; then
124 ewarn "It appears you are removing your system-vm!"
125 ewarn "Please run java-config -L to list available VMs,"
126 ewarn "then use java-config -S to set a new system-vm!"
127 fi
203} 128}
204 129
205java-vm-2_pkg_postrm() { 130java-vm-2_pkg_postrm() {
206 debug-print-function ${FUNCNAME} "${@}"
207 fdo-mime_desktop_database_update 131 fdo-mime_desktop_database_update
208
209 atom=${CATEGORY}/${PN}
210 [[ ${SLOT} != 0 ]] && atom="=${atom}-${SLOT}*"
211
212 if ! has_version ${atom}; then
213 debug-print "We don't have ${atom} installed so this is not an upgrade."
214 if [[ "$(java-config -f 2>/dev/null)" == "${VMHANDLE}" ]]; then
215 ewarn "It appears you are removing your system-vm!"
216 ewarn "Please run java-config -L to list available VMs,"
217 ewarn "then use java-config -S to set a new system-vm!"
218 fi
219 else
220 elog "We have ${atom} installed."
221 fi
222} 132}
223 133
224java_set_default_vm_() { 134java_set_default_vm_() {
225 java-config-2 --set-system-vm="${VMHANDLE}" 135 java-config-2 --set-system-vm="${VMHANDLE}"
226 136

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.20