/[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.20 Revision 1.21
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.20 2008/03/03 17:20:41 betelgeuse Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/java-vm-2.eclass,v 1.21 2008/07/07 16:48:45 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 pkg_postinst pkg_prerm pkg_postrm 29EXPORT_FUNCTIONS pkg_setup src_install 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
37} 116}
38 117
39java-vm-2_pkg_postinst() { 118java-vm-2_pkg_postinst() {
40 # Set the generation-2 system VM, if it isn't set 119 # Set the generation-2 system VM, if it isn't set
41 if [[ -z "$(java-config-2 -f)" ]]; then 120 if [[ -z "$(java-config-2 -f)" ]]; then
118 fi 197 fi
119 eselect java-nsplugin set ${extra_args} ${VMHANDLE} 198 eselect java-nsplugin set ${extra_args} ${VMHANDLE}
120} 199}
121 200
122java-vm-2_pkg_prerm() { 201java-vm-2_pkg_prerm() {
123 if [[ "$(java-config -f 2>/dev/null)" == "${VMHANDLE}" ]]; then 202 true # used to have the system vm removing here but can't remove to keep API
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
128} 203}
129 204
130java-vm-2_pkg_postrm() { 205java-vm-2_pkg_postrm() {
206 debug-print-function ${FUNCNAME} "${@}"
131 fdo-mime_desktop_database_update 207 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
132} 222}
133 223
134java_set_default_vm_() { 224java_set_default_vm_() {
135 java-config-2 --set-system-vm="${VMHANDLE}" 225 java-config-2 --set-system-vm="${VMHANDLE}"
136 226

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

  ViewVC Help
Powered by ViewVC 1.1.20