summaryrefslogtreecommitdiff
path: root/community/java-oracle/PKGBUILD
blob: ac8e89a765ad4beeae1fde0dc3c231146b3fb349 (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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Maintainer: Thomas Dziedzic < gostrc at gmail >
# Contributor: kfgz <kfgz at interia dot pl>
# Contributor: Army <gmail.com: uli[dot]armbruster>
# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
# Contributor: Jason Chu <jason@archlinux.org>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Contributor: Guillaume ALAUX <Guillaume at alaux dot net>
# Contributor: Charles Ghislain <charlyghislain at gmail dot com>

pkgbase=java-oracle
pkgname=('jre' 'jdk')
pkgver=7
pkgrel=3
arch=('i686' 'x86_64')
  [ "${CARCH}" = 'i686' ]   && _arch='i586'
  [ "${CARCH}" = 'x86_64' ] && _arch='x64'
url='http://jdk7.java.net/'
license=('custom')
source=("http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-${_arch}.tar.gz"
        'java-monitoring-and-management-console.desktop'
        'java-policy-settings.desktop'
        'java-visualvm.desktop'
        'jre.profile'
        'jre.profile.csh'
        'jdk.profile'
        'jdk.profile.csh'
        'derby-network-server'
        'derby-network-server.conf'
        'javaws-launcher')
[ "${CARCH}" = 'i686' ] && md5sums=('f97244a104f03731e5ff69f0dd5a9927')
[ "${CARCH}" = 'x86_64' ] && md5sums=('b3c1ef5faea7b180469c129a49762b64')
md5sums+=('81cf9b716263ba85f0528d3357dccb75'
         '6614b04176b9b7dfe26f22e9ce846801'
         'ef27c6d4062f2f97c532a9e893b6adbe'
         '7cd3dc10e7a37468cad4053a067dcd01'
         'cc90df2df6fe80fab885a80036d420a1'
         'b83ab5742651b4234b7d2e20785c6693'
         '6f4cbf332816d2c4e9578ecd1d0dce7f'
         'a279e195e249000646895d93e199860d'
         '4bdff6982c66d24a879c424aaac3d04d'
         '45c15a6b4767288f2f745598455ea2bf')

package_jre() {
  pkgdesc="Oracle's Java Runtime Environment"
  depends=('libxtst' 'desktop-file-utils' 'xdg-utils' 'shared-mime-info')
  provides=('java-runtime=7')
  conflicts=('java-runtime')
  install='jre.install'

  # main files
  mkdir -p ${pkgdir}/opt/java
  cp -r jdk1.7.0/jre ${pkgdir}/opt/java

  # move icons to appropriate location
  install -d ${pkgdir}/usr/share
  mv ${pkgdir}/opt/java/jre/lib/desktop/icons ${pkgdir}/usr/share

  # install .desktop entries
  mv ${pkgdir}/opt/java/jre/lib/desktop/applications ${pkgdir}/usr/share
  # desktop entries
  install -d ${pkgdir}/usr/share/applications
  install -m644 \
    ${srcdir}/java-policy-settings.desktop \
    ${pkgdir}/usr/share/applications

  # move mime files
  mv ${pkgdir}/opt/java/jre/lib/desktop/mime ${pkgdir}/usr/share

  # get rid of already installed files
  rm -r ${pkgdir}/opt/java/jre/plugin/desktop
  rm -r ${pkgdir}/opt/java/jre/lib/desktop

  # TODO: find out the purpose of ./jre/lib/images/icons

  # profiles
  install -D ${srcdir}/jre.profile \
    ${pkgdir}/etc/profile.d/jre.sh
  install -D ${srcdir}/jre.profile.csh \
    ${pkgdir}/etc/profile.d/jre.csh

  # java browser plugin
  mkdir -p ${pkgdir}/usr/lib/mozilla/plugins
  if [ "$CARCH" = "i686" ]; then
    ln -s /opt/java/jre/lib/i386/libnpjp2.so \
      ${pkgdir}/usr/lib/mozilla/plugins
  else
    ln -s /opt/java/jre/lib/amd64/libnpjp2.so \
      ${pkgdir}/usr/lib/mozilla/plugins
  fi

  # licenses
  install -d ${pkgdir}/usr/share/licenses/jre
  install -m644 \
    ${pkgdir}/opt/java/jre/{COPYRIGHT,LICENSE,THIRDPARTYLICENSEREADME.txt} \
    ${pkgdir}/usr/share/licenses/jre

  # Clicking a .jnlp file does not launch that file but launch javaws -viewer instead FS#22509
  install ${srcdir}/javaws-launcher \
    ${pkgdir}/opt/java/jre/bin
  sed \
    -e 's/Exec=javaws/&-launcher %f/' \
    -e '/NoDisplay=true/d' \
    -i ${pkgdir}/usr/share/applications/sun-javaws.desktop

  # Fix system prefs folder FS#18872
  install -d ${pkgdir}/etc/.java/.systemPrefs
}

package_jdk() {
  pkgdesc="Oracle's Java Development Kit"
  depends=('jre')
  provides=('java-environment=7')
  conflicts=('java-environment')
  install='jdk.install'

  #copy icon
  install -D -m644 ${srcdir}/jdk1.7.0/jre/lib/desktop/icons/hicolor/48x48/apps/sun-java.png \
    ${pkgdir}/usr/share/pixmaps/java.png

  # main files
  install -d ${pkgdir}/opt
  cp -r jdk1.7.0 ${pkgdir}/opt/java

  # remove jre folder provided by the jre package
  rm -r ${pkgdir}/opt/java/jre
  # can not package src.zip due to international use restrictions for certain countries
  rm ${pkgdir}/opt/java/src.zip
  # remove windows specific batch files
  find ${pkgdir}/opt/java -name '*\.bat' -delete
  # remove already installed icons, mime and .desktop files provided by jre
  rm -r ${pkgdir}/opt/java/lib/desktop

  # profiles
  install -D ${srcdir}/jdk.profile \
    ${pkgdir}/etc/profile.d/jdk.sh
  install -D ${srcdir}/jdk.profile.csh \
    ${pkgdir}/etc/profile.d/jdk.csh

  # licenses
  install -d ${pkgdir}/usr/share/licenses/jdk
  install -m644 \
    ${pkgdir}/opt/java/{COPYRIGHT,LICENSE,THIRDPARTYLICENSEREADME.txt} \
    ${pkgdir}/usr/share/licenses/jdk

  # desktop entries
  install -d ${pkgdir}/usr/share/applications
  install -m644 \
    ${srcdir}/java-{monitoring-and-management-console,visualvm}.desktop \
    ${pkgdir}/usr/share/applications

  # javadb (apache derby) daemon files FS#21186
  install -D ${srcdir}/derby-network-server \
    ${pkgdir}/etc/rc.d/derby-network-server
  install -D -m644 ${srcdir}/derby-network-server.conf \
    ${pkgdir}/etc/conf.d/derby-network-server
}