summaryrefslogtreecommitdiff
path: root/extra/openjdk6/PKGBUILD
blob: f16ac06793e76291679165d4099d3922efdefdc1 (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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# $Id: PKGBUILD 158936 2012-05-13 13:26:46Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>

pkgname=('openjdk6' 'openjdk6-src')
pkgbase="openjdk6"
_javaver=6
_icedteaver=1.11.2
_openjdk_version=b24
_openjdk_date=14_nov_2011
pkgver=${_javaver}.${_openjdk_version}_${_icedteaver}
pkgrel=1
url='http://icedtea.classpath.org'
arch=('i686' 'x86_64')
license=('custom')
makedepends=('gcc-libs' 'xdg-utils' 'hicolor-icon-theme' 'ca-certificates-java' 'libxtst' 'alsa-lib' 'giflib' 'libxp' 'gtk2'
	     'nspr' 'zlib' 'freetype2' 'libjpeg>=8' 'libx11' 'libcups' 'patch' 'libxt' 'nss' 'libxslt' #'xalan-java' 
	     'apache-ant' 'autoconf' 'unzip' 'rhino' 'mercurial' 'zip' 'cpio' 'openjdk6' 'inetutils')
options=('!emptydirs') # 'force') # force needed for hg shots
source=(http://icedtea.classpath.org/download/source/icedtea6-${_icedteaver}.tar.gz{,.sig}
	http://download.java.net/openjdk/jdk6/promoted/${_openjdk_version}/openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz
	http://icedtea.classpath.org/download/drops/jaxp144_03.zip
	http://icedtea.classpath.org/download/drops/jdk6-jaxws2_1_6-2011_06_13.zip
	http://icedtea.classpath.org/download/drops/jdk6-jaf-b20.zip
	fix_jdk_cmds_path.diff
	fix_corba_cmds_path.diff
	fontconfig-paths.diff
	nonreparenting-wm.diff
	openjdk6.profile
	openjdk6.profile.csh)
noextract=(openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz
	jaxp144_03.zip
	jdk6-jaxws2_1_6-2011_06_13.zip
	jdk6-jaf-b20.zip)
sha256sums=('078637dc8323951b18cbb2aac56fd2f24baaa81f0757391aaa17e1b7577e9ce5'
            '1c4b7ae37498c61b18ac5fcf04b3322b4b82afe7e959e5949f05bf252cdf73c7'
            'f84e7f0938f4939660ff8f9c2aa164d301faa8a519f2324ceb05ad34b2e09227'
            'c1a5348e17b330a7e4b18431e61a40efd2ba99a7da71102cf2c604478ef96012'
            '229040544e791f44906e8e7b6f6faf503c730a5d854275135f3925490d5c3be3'
            '78c7b5c9d6271e88ee46abadd018a61f1e9645f8936cc8df1617e5f4f5074012'
            'f5f59e121f7645ebc449bb13569fd924cbab3194e41db901f4fbe9dbd45720c5'
            '7b2db65bfb9d5014e1522178d65cabf05dfa85e0926cde5648b5a338db376479'
            '9ad943ceb3dbcdf45d72974fc3667886a7ed65c69ab9abc17be5412827551a7f'
            '9c3c55c30729ec44fab14c3f3f841c273730c7467d8908a72f018bc9e9f65bd9'
            '26e2cd5a6034f08a685129c9412f487b9931fb0d556f1ccceab17bdb75a372cd'
            '0c2d9116d6e550021994d6713a93621a9df685d2182996be3249ad812712b007')

build() {

  unset JAVA_HOME
  unset CLASSPATH
  
    [ -z "${ANT_HOME}" ] && . /etc/profile.d/apache-ant.sh

  _javaver=6
  _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk

  cd ${srcdir}/icedtea6-${_icedteaver}

  ln -s ${srcdir}/openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz .

  cp ${srcdir}/*.diff ${srcdir}/icedtea6-${_icedteaver}/patches/

  autoreconf -i

  export DISTRIBUTION_PATCHES="patches/fix_jdk_cmds_path.diff patches/fontconfig-paths.diff patches/fix_corba_cmds_path.diff patches/nonreparenting-wm.diff"
#  export DISTRIBUTION_PATCHES="patches/fontconfig-paths.diff patches/nonreparenting-wm.diff"

  export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}"
  export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}"
  unset MAKEFLAGS

  ./configure --with-parallel-jobs=${HOTSPOT_BUILD_JOBS} \
	--with-ant-home=/usr/share/java/apache-ant \
	--with-pkgversion=ArchLinux-${pkgver}-${pkgrel}-$CARCH \
	--with-jaxp-drop-zip=${srcdir}/jaxp144_03.zip \
  	--with-jaxws-drop-zip=${srcdir}/jdk6-jaxws2_1_6-2011_06_13.zip \
	--with-jaf-drop-zip=${srcdir}/jdk6-jaf-b20.zip \
	--disable-bootstrap \
	--with-abs-install-dir=${_jvmdir}
  LD_PRELOAD="" make 
}

package_openjdk6() {
 pkgdesc='Free Java environment based on OpenJDK 6.0 with IcedTea6 replacing binary plugs.'
 backup=(etc/profile.d/openjdk6.sh)
 depends=('gcc-libs' 'xdg-utils' 'hicolor-icon-theme' 'ca-certificates-java' 'libxtst' 'libxt' 'nss' 'libjpeg' 'freetype2' 'libxrender' 'libpng>=1.5.7')
 optdepends=('icedtea-web: web browser plugin + Java Web Start'
            'alsa-lib: for sound'
            'giflib: for gif format support')
 conflicts=('java-environment' 'java-runtime')
 provides=('java-environment=6' 'java-runtime=6' 'java-runtime-headless=6')
 install=openjdk6.install

  if [ "${CARCH}" = "x86_64" ]; then
    _arch=amd64
  else
    _arch=i586
  fi

  _javaver=6
  _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk

  cd ${srcdir}/icedtea6-${_icedteaver}
  install -m755 -d ${pkgdir}/${_jvmdir}/jre

  pushd ${srcdir}/icedtea6-${_icedteaver}/openjdk.build/j2sdk-image

   # Install main files.
  cp -a bin include lib ${pkgdir}/${_jvmdir}/ 
  cp -a jre/bin jre/lib ${pkgdir}/${_jvmdir}/jre/ 

  mv ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.Ubuntu.properties.src \
     ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.properties.src 
  mv ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.Ubuntu.bfc \
     ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.bfc 
  rm -f ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.*.bfc
  rm -f ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.*.properties.src

   # Install man pages.
  install -m755 -d ${pkgdir}/usr/share/man/man1
  install -m644 man/man1/*.1 ${pkgdir}/usr/share/man/man1/ 
  
   # Install demos and samples.
  cp -a demo ${pkgdir}/${_jvmdir}/ 
  install -m755 -d sample/rmi
  mv bin/java-rmi.cgi sample/rmi 
  cp -a sample ${pkgdir}/${_jvmdir}/ 
  popd

  # Install icons and menu entries.
  for s in 16 24 32 48 ; do
    install -m755 -d ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps
    install -m644 openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
      ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/java.png 
  done

  # Install desktop files.
  install -m755 -d ${pkgdir}/usr/share/applications
  install -m644 {jconsole,policytool}.desktop ${pkgdir}/usr/share/applications

  # link binaries into /usr/bin
  install -m755 -d ${pkgdir}/usr/bin
  pushd ${pkgdir}/${_jvmdir}/bin
  for file in *; do
    ln -sf ${_jvmdir}/bin/${file} \
      ${pkgdir}/usr/bin 
  done
  popd

  # link JKS keystore from ca-certificates-java
  rm -f ${pkgdir}/${_jvmdir}/jre/lib/security/cacerts
  ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/jre/lib/security/cacerts"
 
  # set some variables
  install -m755 -d ${pkgdir}/etc/profile.d
  install -m755 ${srcdir}/openjdk6.profile ${pkgdir}/etc/profile.d/openjdk6.sh 
  install -m755 ${srcdir}/openjdk6.profile.csh ${pkgdir}/etc/profile.d/openjdk6.csh 
  
  # install license
  install -Dm644 ${srcdir}//icedtea6-${_icedteaver}/openjdk/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}

package_openjdk6-src() {
 pkgdesc='Free Java environment based on OpenJDK 6.0 Source Bundle'
 depends=('openjdk6')
 
  if [ "${CARCH}" = "x86_64" ]; then
    _arch=amd64
  else
    _arch=i586
  fi

  _javaver=6
  _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk

  cd ${srcdir}/icedtea6-${_icedteaver}
  install -m755 -d ${pkgdir}/${_jvmdir}/jre
  
  pushd ${srcdir}/icedtea6-${_icedteaver}/openjdk.build/j2sdk-image
   # Install src.zip file
  cp -a src.zip ${pkgdir}/${_jvmdir}/ 
}