# $Id: PKGBUILD 161769 2012-06-13 16:55:23Z 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.3
_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=('7d91c407b9795bd6f6255bcf0fb808416b36418c57f601dc47cfabff83194cf4'
            '31a26872d3f0b96ac075608df13ae635923a0960cdcdb4ecab3fe6482f2ef978'
            '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}/ 
}
