| 1 |
# Copyright 1999-2012 Gentoo Foundation |
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
# $Header: /var/cvsroot/gentoo-x86/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.7.0.5-r1.ebuild,v 1.2 2012/07/14 21:05:47 jdhore Exp $ |
| 4 |
|
| 5 |
EAPI="4" |
| 6 |
|
| 7 |
inherit java-vm-2 eutils prefix versionator |
| 8 |
|
| 9 |
# This URIs need to be updated when bumping! |
| 10 |
JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html" |
| 11 |
JCE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html" |
| 12 |
|
| 13 |
UPDATE="$(get_version_component_range 4)" |
| 14 |
MY_PV="$(get_version_component_range 2)u${UPDATE}" |
| 15 |
S_PV="$(get_version_component_range 1-3)_0${UPDATE}" |
| 16 |
|
| 17 |
X86_AT="jdk-${MY_PV}-linux-i586.tar.gz" |
| 18 |
AMD64_AT="jdk-${MY_PV}-linux-x64.tar.gz" |
| 19 |
SOL_X86_AT="jdk-${MY_PV}-solaris-i586.tar.gz" |
| 20 |
SOL_AMD64_AT="jdk-${MY_PV}-solaris-x64.tar.gz" |
| 21 |
SOL_SPARC_AT="jdk-${MY_PV}-solaris-sparc.tar.gz" |
| 22 |
SOL_SPARCv9_AT="jdk-${MY_PV}-solaris-sparcv9.tar.gz" |
| 23 |
|
| 24 |
X86_DEMOS="jdk-${MY_PV}-linux-i586-demos.tar.gz" |
| 25 |
AMD64_DEMOS="jdk-${MY_PV}-linux-x64-demos.tar.gz" |
| 26 |
SOL_X86_DEMOS="jdk-${MY_PV}-solaris-i586-demos.tar.gz" |
| 27 |
SOL_AMD64_DEMOS="jdk-${MY_PV}-solaris-x64-demos.tar.gz" |
| 28 |
SOL_SPARC_DEMOS="jdk-${MY_PV}-solaris-sparc-demos.tar.gz" |
| 29 |
SOL_SPARCv9_DEMOS="jdk-${MY_PV}-solaris-sparcv9-demos.tar.gz" |
| 30 |
|
| 31 |
JCE_DIR="UnlimitedJCEPolicy" |
| 32 |
JCE_FILE="${JCE_DIR}JDK7.zip" |
| 33 |
|
| 34 |
DESCRIPTION="Oracle's Java SE Development Kit" |
| 35 |
HOMEPAGE="http://www.oracle.com/technetwork/java/javase/" |
| 36 |
SRC_URI=" |
| 37 |
x86? ( ${X86_AT} |
| 38 |
examples? ( ${X86_DEMOS} ) ) |
| 39 |
amd64? ( ${AMD64_AT} |
| 40 |
examples? ( ${AMD64_DEMOS} ) ) |
| 41 |
x86-solaris? ( ${SOL_X86_AT} |
| 42 |
examples? ( ${SOL_X86_DEMOS} ) ) |
| 43 |
x64-solaris? ( ${SOL_X86_AT} ${SOL_AMD64_AT} |
| 44 |
examples? ( ${SOL_X86_DEMOS} ${SOL_AMD64_DEMOS} ) ) |
| 45 |
sparc-solaris? ( ${SOL_SPARC_AT} |
| 46 |
examples? ( ${SOL_SPARC_DEMOS} ) ) |
| 47 |
sparc64-solaris? ( ${SOL_SPARC_AT} ${SOL_SPARCv9_AT} |
| 48 |
examples? ( ${SOL_SPARC_DEMOS} ${SOL_SPARCv9_DEMOS} ) ) |
| 49 |
jce? ( ${JCE_FILE} )" |
| 50 |
|
| 51 |
LICENSE="Oracle-BCLA-JavaSE" |
| 52 |
SLOT="1.7" |
| 53 |
KEYWORDS="~amd64 x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
| 54 |
|
| 55 |
IUSE="X alsa derby doc examples jce nsplugin +source" |
| 56 |
RESTRICT="fetch strip" |
| 57 |
|
| 58 |
RDEPEND=" |
| 59 |
X? ( |
| 60 |
x11-libs/libXext |
| 61 |
x11-libs/libXi |
| 62 |
x11-libs/libXrender |
| 63 |
x11-libs/libXtst |
| 64 |
x11-libs/libX11 |
| 65 |
) |
| 66 |
alsa? ( media-libs/alsa-lib ) |
| 67 |
doc? ( dev-java/java-sdk-docs:1.7 ) |
| 68 |
!prefix? ( sys-libs/glibc )" |
| 69 |
DEPEND=" |
| 70 |
jce? ( app-arch/unzip )" |
| 71 |
|
| 72 |
S="${WORKDIR}/jdk${S_PV}" |
| 73 |
|
| 74 |
pkg_nofetch() { |
| 75 |
if use x86; then |
| 76 |
AT=${X86_AT} |
| 77 |
elif use amd64; then |
| 78 |
AT=${AMD64_AT} |
| 79 |
elif use x86-solaris; then |
| 80 |
AT=${SOL_X86_AT} |
| 81 |
elif use x64-solaris; then |
| 82 |
AT="${SOL_X86_AT} and ${SOL_AMD64_AT}" |
| 83 |
elif use sparc-solaris; then |
| 84 |
AT=${SOL_SPARC_AT} |
| 85 |
elif use sparc64-solaris; then |
| 86 |
AT="${SOL_SPARC_AT} and ${SOL_SPARCv9_AT}" |
| 87 |
fi |
| 88 |
|
| 89 |
if use x86; then |
| 90 |
DEMOS=${X86_DEMOS} |
| 91 |
elif use amd64; then |
| 92 |
DEMOS=${AMD64_DEMOS} |
| 93 |
elif use x86-solaris; then |
| 94 |
DEMOS=${SOL_X86_DEMOS} |
| 95 |
elif use x64-solaris; then |
| 96 |
DEMOS="${SOL_X86_DEMOS} and ${SOL_AMD64_DEMOS}" |
| 97 |
elif use sparc-solaris; then |
| 98 |
DEMOS=${SOL_SPARC_AT} |
| 99 |
elif use sparc64-solaris; then |
| 100 |
DEMOS="${SOL_SPARC_AT_DEMOS} and ${SOL_SPARCv9_DEMOS}" |
| 101 |
fi |
| 102 |
|
| 103 |
einfo "Please download ${AT} from:" |
| 104 |
einfo "${JDK_URI}" |
| 105 |
einfo "and move it to ${DISTDIR}" |
| 106 |
|
| 107 |
if use examples; then |
| 108 |
einfo "Also download ${DEMOS} from:" |
| 109 |
einfo "${JDK_URI}" |
| 110 |
einfo "and move it to ${DISTDIR}" |
| 111 |
fi |
| 112 |
|
| 113 |
if use jce; then |
| 114 |
einfo "Also download ${JCE_FILE} from:" |
| 115 |
einfo "${JCE_URI}" |
| 116 |
einfo "and move it to ${DISTDIR}" |
| 117 |
fi |
| 118 |
} |
| 119 |
|
| 120 |
src_prepare() { |
| 121 |
if use jce; then |
| 122 |
mv "${WORKDIR}"/${JCE_DIR} "${S}"/jre/lib/security/ || die |
| 123 |
fi |
| 124 |
} |
| 125 |
|
| 126 |
src_compile() { |
| 127 |
# This needs to be done before CDS - #215225 |
| 128 |
java-vm_set-pax-markings "${S}" |
| 129 |
|
| 130 |
# see bug #207282 |
| 131 |
einfo "Creating the Class Data Sharing archives" |
| 132 |
if use x86; then |
| 133 |
bin/java -client -Xshare:dump || die |
| 134 |
fi |
| 135 |
bin/java -server -Xshare:dump || die |
| 136 |
|
| 137 |
# Create files used as storage for system preferences. |
| 138 |
mkdir jre/.systemPrefs || die |
| 139 |
touch jre/.systemPrefs/.system.lock || die |
| 140 |
touch jre/.systemPrefs/.systemRootModFile || die |
| 141 |
} |
| 142 |
|
| 143 |
src_install() { |
| 144 |
# We should not need the ancient plugin for Firefox 2 anymore, plus it has |
| 145 |
# writable executable segments |
| 146 |
if use x86; then |
| 147 |
rm -vf {,jre/}lib/i386/libjavaplugin_oji.so \ |
| 148 |
{,jre/}lib/i386/libjavaplugin_nscp*.so |
| 149 |
rm -vrf jre/plugin/i386 |
| 150 |
fi |
| 151 |
# Without nsplugin flag, also remove the new plugin |
| 152 |
local arch=${ARCH}; |
| 153 |
use x86 && arch=i386; |
| 154 |
if ! use nsplugin; then |
| 155 |
rm -vf {,jre/}lib/${arch}/libnpjp2.so \ |
| 156 |
{,jre/}lib/${arch}/libjavaplugin_jni.so |
| 157 |
fi |
| 158 |
|
| 159 |
dodir /opt/${P} |
| 160 |
cp -pPR bin include jre lib man "${ED}"/opt/${P} || die |
| 161 |
|
| 162 |
if use derby; then |
| 163 |
cp -pPR db "${ED}"/opt/${P} || die |
| 164 |
fi |
| 165 |
|
| 166 |
if use examples; then |
| 167 |
cp -pPR demo sample "${ED}"/opt/${P} || die |
| 168 |
fi |
| 169 |
|
| 170 |
# Remove empty dirs we might have copied |
| 171 |
find "${D}" -type d -empty -exec rmdir {} + || die |
| 172 |
|
| 173 |
dodoc COPYRIGHT |
| 174 |
dohtml README.html |
| 175 |
|
| 176 |
if use jce; then |
| 177 |
dodir /opt/${P}/jre/lib/security/strong-jce |
| 178 |
mv "${ED}"/opt/${P}/jre/lib/security/US_export_policy.jar \ |
| 179 |
"${ED}"/opt/${P}/jre/lib/security/strong-jce || die |
| 180 |
mv "${ED}"/opt/${P}/jre/lib/security/local_policy.jar \ |
| 181 |
"${ED}"/opt/${P}/jre/lib/security/strong-jce || die |
| 182 |
dosym /opt/${P}/jre/lib/security/${JCE_DIR}/US_export_policy.jar \ |
| 183 |
/opt/${P}/jre/lib/security/US_export_policy.jar |
| 184 |
dosym /opt/${P}/jre/lib/security/${JCE_DIR}/local_policy.jar \ |
| 185 |
/opt/${P}/jre/lib/security/local_policy.jar |
| 186 |
fi |
| 187 |
|
| 188 |
if use nsplugin; then |
| 189 |
install_mozilla_plugin /opt/${P}/jre/lib/${arch}/libnpjp2.so |
| 190 |
fi |
| 191 |
|
| 192 |
if use source; then |
| 193 |
cp src.zip "${ED}"/opt/${P} || die |
| 194 |
fi |
| 195 |
|
| 196 |
# Install desktop file for the Java Control Panel. |
| 197 |
# Using ${PN}-${SLOT} to prevent file collision with jre and or other slots. |
| 198 |
# make_desktop_entry can't be used as ${P} would end up in filename. |
| 199 |
newicon jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png \ |
| 200 |
sun-jcontrol-${PN}-${SLOT}.png || die |
| 201 |
sed -e "s#Name=.*#Name=Java Control Panel for Oracle JDK ${SLOT}#" \ |
| 202 |
-e "s#Exec=.*#Exec=/opt/${P}/jre/bin/jcontrol#" \ |
| 203 |
-e "s#Icon=.*#Icon=sun-jcontrol-${PN}-${SLOT}.png#" \ |
| 204 |
jre/lib/desktop/applications/sun_java.desktop > \ |
| 205 |
"${T}"/jcontrol-${PN}-${SLOT}.desktop || die |
| 206 |
domenu "${T}"/jcontrol-${PN}-${SLOT}.desktop |
| 207 |
|
| 208 |
# bug #56444 |
| 209 |
cp "${FILESDIR}"/fontconfig.Gentoo.properties "${T}"/fontconfig.properties || die |
| 210 |
eprefixify "${T}"/fontconfig.properties |
| 211 |
insinto /opt/${P}/jre/lib/ |
| 212 |
doins "${T}"/fontconfig.properties |
| 213 |
|
| 214 |
set_java_env |
| 215 |
java-vm_revdep-mask |
| 216 |
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter |
| 217 |
} |
| 218 |
|
| 219 |
QA_TEXTRELS_x86=" |
| 220 |
opt/${P}/jre/lib/i386/client/libjvm.so |
| 221 |
opt/${P}/jre/lib/i386/server/libjvm.so" |
| 222 |
QA_FLAGS_IGNORED=" |
| 223 |
/opt/${P}/bin/appletviewer |
| 224 |
/opt/${P}/bin/apt |
| 225 |
/opt/${P}/bin/extcheck |
| 226 |
/opt/${P}/bin/idlj |
| 227 |
/opt/${P}/bin/jar |
| 228 |
/opt/${P}/bin/jarsigner |
| 229 |
/opt/${P}/bin/java |
| 230 |
/opt/${P}/bin/javac |
| 231 |
/opt/${P}/bin/javadoc |
| 232 |
/opt/${P}/bin/javah |
| 233 |
/opt/${P}/bin/javap |
| 234 |
/opt/${P}/bin/javaws |
| 235 |
/opt/${P}/bin/jcmd |
| 236 |
/opt/${P}/bin/jconsole |
| 237 |
/opt/${P}/bin/jdb |
| 238 |
/opt/${P}/bin/jhat |
| 239 |
/opt/${P}/bin/jinfo |
| 240 |
/opt/${P}/bin/jmap |
| 241 |
/opt/${P}/bin/jps |
| 242 |
/opt/${P}/bin/jrunscript |
| 243 |
/opt/${P}/bin/jsadebugd |
| 244 |
/opt/${P}/bin/jstack |
| 245 |
/opt/${P}/bin/jstat |
| 246 |
/opt/${P}/bin/jstatd |
| 247 |
/opt/${P}/bin/keytool |
| 248 |
/opt/${P}/bin/native2ascii |
| 249 |
/opt/${P}/bin/orbd |
| 250 |
/opt/${P}/bin/pack200 |
| 251 |
/opt/${P}/bin/policytool |
| 252 |
/opt/${P}/bin/rmic |
| 253 |
/opt/${P}/bin/rmid |
| 254 |
/opt/${P}/bin/rmiregistry |
| 255 |
/opt/${P}/bin/schemagen |
| 256 |
/opt/${P}/bin/serialver |
| 257 |
/opt/${P}/bin/servertool |
| 258 |
/opt/${P}/bin/tnameserv |
| 259 |
/opt/${P}/bin/unpack200 |
| 260 |
/opt/${P}/bin/wsgen |
| 261 |
/opt/${P}/bin/wsimport |
| 262 |
/opt/${P}/bin/xjc |
| 263 |
/opt/${P}/demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so |
| 264 |
/opt/${P}/demo/jvmti/gctest/lib/libgctest.so |
| 265 |
/opt/${P}/demo/jvmti/heapTracker/lib/libheapTracker.so |
| 266 |
/opt/${P}/demo/jvmti/heapViewer/lib/libheapViewer.so |
| 267 |
/opt/${P}/demo/jvmti/hprof/lib/libhprof.so |
| 268 |
/opt/${P}/demo/jvmti/minst/lib/libminst.so |
| 269 |
/opt/${P}/demo/jvmti/mtrace/lib/libmtrace.so |
| 270 |
/opt/${P}/demo/jvmti/versionCheck/lib/libversionCheck.so |
| 271 |
/opt/${P}/demo/jvmti/waiters/lib/libwaiters.so |
| 272 |
/opt/${P}/jre/bin/java |
| 273 |
/opt/${P}/jre/bin/java_vm |
| 274 |
/opt/${P}/jre/bin/javaws |
| 275 |
/opt/${P}/jre/bin/keytool |
| 276 |
/opt/${P}/jre/bin/orbd |
| 277 |
/opt/${P}/jre/bin/pack200 |
| 278 |
/opt/${P}/jre/bin/policytool |
| 279 |
/opt/${P}/jre/bin/rmid |
| 280 |
/opt/${P}/jre/bin/rmiregistry |
| 281 |
/opt/${P}/jre/bin/servertool |
| 282 |
/opt/${P}/jre/bin/tnameserv |
| 283 |
/opt/${P}/jre/bin/unpack200 |
| 284 |
/opt/${P}/jre/lib/jexec |
| 285 |
/opt/${P}/lib/jexec |
| 286 |
/opt/${P}/lib/visualvm/profiler/lib/deployed/jdk15/linux-amd64/libprofilerinterface.so |
| 287 |
/opt/${P}/lib/visualvm/profiler/lib/deployed/jdk16/linux-amd64/libprofilerinterface.so" |
| 288 |
for java_system_arch in amd64 i386; do |
| 289 |
QA_FLAGS_IGNORED+=" |
| 290 |
/opt/${P}/jre/lib/${java_system_arch}/headless/libmawt.so |
| 291 |
/opt/${P}/jre/lib/${java_system_arch}/jli/libjli.so |
| 292 |
/opt/${P}/jre/lib/${java_system_arch}/libattach.so |
| 293 |
/opt/${P}/jre/lib/${java_system_arch}/libawt.so |
| 294 |
/opt/${P}/jre/lib/${java_system_arch}/libcmm.so |
| 295 |
/opt/${P}/jre/lib/${java_system_arch}/libdcpr.so |
| 296 |
/opt/${P}/jre/lib/${java_system_arch}/libdeploy.so |
| 297 |
/opt/${P}/jre/lib/${java_system_arch}/libdt_socket.so |
| 298 |
/opt/${P}/jre/lib/${java_system_arch}/libfontmanager.so |
| 299 |
/opt/${P}/jre/lib/${java_system_arch}/libhprof.so |
| 300 |
/opt/${P}/jre/lib/${java_system_arch}/libinstrument.so |
| 301 |
/opt/${P}/jre/lib/${java_system_arch}/libioser12.so |
| 302 |
/opt/${P}/jre/lib/${java_system_arch}/libj2gss.so |
| 303 |
/opt/${P}/jre/lib/${java_system_arch}/libj2pcsc.so |
| 304 |
/opt/${P}/jre/lib/${java_system_arch}/libj2pkcs11.so |
| 305 |
/opt/${P}/jre/lib/${java_system_arch}/libjaas_unix.so |
| 306 |
/opt/${P}/jre/lib/${java_system_arch}/libjava_crw_demo.so |
| 307 |
/opt/${P}/jre/lib/${java_system_arch}/libjavaplugin_jni.so |
| 308 |
/opt/${P}/jre/lib/${java_system_arch}/libjava.so |
| 309 |
/opt/${P}/jre/lib/${java_system_arch}/libjawt.so |
| 310 |
/opt/${P}/jre/lib/${java_system_arch}/libJdbcOdbc.so |
| 311 |
/opt/${P}/jre/lib/${java_system_arch}/libjdwp.so |
| 312 |
/opt/${P}/jre/lib/${java_system_arch}/libjfr.so |
| 313 |
/opt/${P}/jre/lib/${java_system_arch}/libjpeg.so |
| 314 |
/opt/${P}/jre/lib/${java_system_arch}/libjsdt.so |
| 315 |
/opt/${P}/jre/lib/${java_system_arch}/libjsig.so |
| 316 |
/opt/${P}/jre/lib/${java_system_arch}/libjsoundalsa.so |
| 317 |
/opt/${P}/jre/lib/${java_system_arch}/libjsound.so |
| 318 |
/opt/${P}/jre/lib/${java_system_arch}/libkcms.so |
| 319 |
/opt/${P}/jre/lib/${java_system_arch}/libmanagement.so |
| 320 |
/opt/${P}/jre/lib/${java_system_arch}/libmlib_image.so |
| 321 |
/opt/${P}/jre/lib/${java_system_arch}/libnative_chmod_g.so |
| 322 |
/opt/${P}/jre/lib/${java_system_arch}/libnative_chmod.so |
| 323 |
/opt/${P}/jre/lib/${java_system_arch}/libnet.so |
| 324 |
/opt/${P}/jre/lib/${java_system_arch}/libnio.so |
| 325 |
/opt/${P}/jre/lib/${java_system_arch}/libnpjp2.so |
| 326 |
/opt/${P}/jre/lib/${java_system_arch}/libnpt.so |
| 327 |
/opt/${P}/jre/lib/${java_system_arch}/librmi.so |
| 328 |
/opt/${P}/jre/lib/${java_system_arch}/libsaproc.so |
| 329 |
/opt/${P}/jre/lib/${java_system_arch}/libsctp.so |
| 330 |
/opt/${P}/jre/lib/${java_system_arch}/libsplashscreen.so |
| 331 |
/opt/${P}/jre/lib/${java_system_arch}/libsunec.so |
| 332 |
/opt/${P}/jre/lib/${java_system_arch}/libt2k.so |
| 333 |
/opt/${P}/jre/lib/${java_system_arch}/libunpack.so |
| 334 |
/opt/${P}/jre/lib/${java_system_arch}/libverify.so |
| 335 |
/opt/${P}/jre/lib/${java_system_arch}/libzip.so |
| 336 |
/opt/${P}/jre/lib/${java_system_arch}/motif21/libmawt.so |
| 337 |
/opt/${P}/jre/lib/${java_system_arch}/native_threads/libhpi.so |
| 338 |
/opt/${P}/jre/lib/${java_system_arch}/server/libjvm.so |
| 339 |
/opt/${P}/jre/lib/${java_system_arch}/xawt/libmawt.so" |
| 340 |
done |