diff options
author | Muflone | 2019-01-19 16:02:17 +0100 |
---|---|---|
committer | Muflone | 2019-01-19 16:02:17 +0100 |
commit | 9f752084197ca9f5fcef2aa1e95e151def38caea (patch) | |
tree | 9f834b012701356eff2d819d01b5c338e7dcff03 | |
download | aur-jre10.tar.gz |
New package jre10 10.0.2-1
-rw-r--r-- | .SRCINFO | 37 | ||||
-rw-r--r-- | PKGBUILD | 108 | ||||
-rw-r--r-- | jre10.install | 74 |
3 files changed, 219 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..4e4f04f91322 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +pkgbase = jre10 + pkgdesc = Oracle Java Runtime Environment (public release - end of support) + pkgver = 10.0.2 + pkgrel = 1 + url = http://www.oracle.com/technetwork/java/javase/downloads/index.html + install = jre10.install + arch = x86_64 + license = custom:Oracle + depends = ca-certificates-java + depends = hicolor-icon-theme + depends = java-runtime-common + depends = nss + depends = xdg-utils + optdepends = alsa-lib: for basic sound support + optdepends = gtk2: for Gtk+ look and feel (desktop) + provides = java-runtime=10 + provides = java-runtime-headless=10 + provides = java-web-start=10 + provides = java-runtime-jre=10 + provides = java-runtime-headless-jre=10 + provides = java-web-start-jre=10 + provides = java-openjfx=10 + provides = jre + conflicts = java-runtime-jre=10 + backup = etc/java-jre10/management/jmxremote.access + backup = etc/java-jre10/management/management.properties + backup = etc/java-jre10/security/java.policy + backup = etc/java-jre10/security/java.security + backup = etc/java-jre10/security/javaws.policy + backup = etc/java-jre10/logging.properties + backup = etc/java-jre10/net.properties + backup = etc/java-jre10/sound.properties + source = http://url.muflone.com/jre-10.0.2_linux-x64_bin.tar.gz + sha256sums = 7d2909a597574f1821903790bb0f31aaa57ab7348e3ae53639c850371450845d + +pkgname = jre10 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..05e0bf9e147b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,108 @@ +# Maintainer: Muflone http://www.muflone.com/contacts/english/ +# Contributor: Det <nimetonmaili g-mail> + +pkgname=jre10 +pkgver=10.0.2 +_major=${pkgver/.*} +pkgrel=1 +pkgdesc="Oracle Java Runtime Environment (public release - end of support)" +arch=('x86_64') +url="http://www.oracle.com/technetwork/java/javase/downloads/index.html" +license=('custom:Oracle') +depends=('ca-certificates-java' 'hicolor-icon-theme' 'java-runtime-common' 'nss' 'xdg-utils') +optdepends=('alsa-lib: for basic sound support' + 'gtk2: for Gtk+ look and feel (desktop)') +provides=("java-runtime=${_major}" "java-runtime-headless=${_major}" "java-web-start=${_major}" + "java-runtime-jre=${_major}" "java-runtime-headless-jre=${_major}" "java-web-start-jre=${_major}" + "java-openjfx=${_major}" "jre") +conflicts=("java-runtime-jre=${_major}") +backup=("etc/java-${pkgname}/management/jmxremote.access" + "etc/java-${pkgname}/management/management.properties" + "etc/java-${pkgname}/security/java.policy" + "etc/java-${pkgname}/security/java.security" + "etc/java-${pkgname}/security/javaws.policy" + "etc/java-${pkgname}/logging.properties" + "etc/java-${pkgname}/net.properties" + "etc/java-${pkgname}/sound.properties") +install=${pkgname}.install +source=("http://url.muflone.com/jre-${pkgver}_linux-x64_bin.tar.gz") +sha256sums=('7d2909a597574f1821903790bb0f31aaa57ab7348e3ae53639c850371450845d') +_jvmdir="/usr/lib/jvm/java-${_major}-jre/jre" + +package() { + cd "jre-${pkgver}" + + echo "Creating directory structure..." + install -d "${pkgdir}/etc/.java/.systemPrefs" + install -d "${pkgdir}/usr/lib/jvm/java-${_major}-jre/jre/bin" + install -d "${pkgdir}/usr/lib/mozilla/plugins" + install -d "${pkgdir}/usr/share/licenses/java${_major}-jre" + + echo "Removing redundancies..." + rm -r "lib/desktop/icons/HighContrast" + rm -r "lib/desktop/icons/HighContrastInverse" + rm -r "lib/desktop/icons/LowContrast" + rm lib/fontconfig.*.bfc + rm lib/fontconfig.*.properties.src + + echo "Moving contents..." + mv * "${pkgdir}/${_jvmdir}" + + # Cd to the new playground + cd "${pkgdir}/${_jvmdir}" + + echo "Fixing directory structure..." + # Fix bundled .desktops + sed -e "s|Exec=|Exec=${_jvmdir}/bin/|" \ + -e "s|.png|-${pkgname}.png|" \ + -i lib/desktop/applications/* + + # Move .desktops + icons to /usr/share + mv lib/desktop/* "${pkgdir}/usr/share/" + + # Suffix .desktops + icon (sun-jcontrol.png -> sun-jcontrol-${pkgname}.png) + for i in $(find "${pkgdir}"/usr/share/ -type f) + do + rename -- "." "-${pkgname}." $i + done + + # Link missing icons + for i in $(find "${pkgdir}/usr/share/icons/" -name "sun-jcontrol-${pkgname}.png" -type f) + do + ln -s "sun-jcontrol-${pkgname}.png" "${i/jcontrol/java}" + ln -s "sun-jcontrol-${pkgname}.png" "${i/jcontrol/javaws}" + done + + # Move confs to /etc and link back to /usr: /usr/lib/jvm/java-${pkgname}/conf -> /etc + for sub_path in $(find conf/ -type f) + do + # New location + new_etc_path="/etc/java-${pkgname}/${sub_path/conf\/}" + + # Move & link + install -Dm644 "${sub_path}" "${pkgdir}/${new_etc_path}" + ln -sf "${new_etc_path}" "${sub_path}" + done + + # Link NPAPI plugin + ln -sf "${_jvmdir}/lib/libnpjp2.so" "${pkgdir}/usr/lib/mozilla/plugins/libnpjp2-${pkgname}.so" + + # Replace JKS keystore with 'ca-certificates-java' + ln -sf "/etc/ssl/certs/java/cacerts" "lib/security/cacerts" + + # Move & link licenses + mv legal/ "${pkgdir}/usr/share/licenses/java${_major}-jre/" + ln -sf "/usr/share/licenses/java${_major}-jre/" "${pkgdir}/usr/share/licenses/${pkgname}" + + echo "Enabling copy+paste in unsigned applets..." + # Copy/paste from system clipboard to unsigned Java applets has been disabled since 6u24: + # - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java + # - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html + _line=$(awk '/permission/{a=NR}; END{print a}' "${pkgdir}"/etc/java-${pkgname}/security/java.policy) + sed "${_line} a\\\\n \ + // (AUR) Allow unsigned applets to read system clipboard, see:\n \ + // - https://blogs.oracle.com/kyle/entry/copy_and_paste_in_java\n \ + // - http://slightlyrandombrokenthoughts.blogspot.com/2011/03/oracle-java-applet-clipboard-injection.html\n \ + permission java.awt.AWTPermission \"accessClipboard\";" \ + -i "${pkgdir}/etc/java-${pkgname}/security/java.policy" +} diff --git a/jre10.install b/jre10.install new file mode 100644 index 000000000000..0ba16896f612 --- /dev/null +++ b/jre10.install @@ -0,0 +1,74 @@ +VERSION='10' +THIS_JAVA='java-${VERSION}-jre/jre' +NAME='JRE' + +all_off="$(tput sgr0)" +bold="${all_off}$(tput bold)" +blue="${bold}$(tput setaf 4)" +yellow="${bold}$(tput setaf 3)" + +note() { + printf "${blue}::${yellow} archlinux-java:${bold} $1${all_off}\n" +} + +note2() { + printf "${blue}==>${yellow} NOTE:${bold} $1${all_off}\n" +} + +post_install() { + default=$(archlinux-java get) + case ${default} in + "") + archlinux-java set ${THIS_JAVA} + note "${NAME} ('${THIS_JAVA}') set as default Java environment." + ;; + ${THIS_JAVA}) + note "${NAME} ('${THIS_JAVA}') set as default Java environment." + ;; + *) + note "Default Java environment already set to '${default}'. + To use ${NAME} ('${THIS_JAVA}'), run: + # archlinux-java set ${THIS_JAVA} + For status, use: + $ archlinux-java status" + ;; + esac + + if [[ ! -f /etc/ssl/certs/java/cacerts ]]; then + update-ca-trust + fi + + note2 "Since Oracle Java 9, some Qt 5 applications (such as the reader apps Zeal and + GoldenDict) will crash due to the existance of the Java NPAPI plugin symlink + (/usr/lib/mozilla/plugins/libnpjp2-jre${VERSION}.so). + + See: + - https://github.com/zealdocs/zeal/issues/802 + - https://bbs.archlinux.org/viewtopic.php?id=231222" +} + +post_upgrade() { + post_install +} + +pre_remove() { + default=$(archlinux-java get) + if [[ ${default} = ${THIS_JAVA} ]]; then + archlinux-java unset + fi +} + +post_remove() { + default=$(archlinux-java get) # reassign + if [[ ${default} ]]; then + note "Default Java environment is '${default}'." + else + archlinux-java fix + default=$(archlinux-java get) # re-reassign + if [[ ${default} ]]; then + note "Default Java environment left as '${default}'." + else + note "Java environment unset." + fi + fi +} |