# $Id: PKGBUILD 77673 2010-04-16 21:58:43Z jgc $ # Maintainer: Andreas Radke # Contributor: Jan de Groot pkgname=('openjdk6' 'openjdk6-src') pkgbase="openjdk6" #_date=20100129 _javaver=6 _icedteaver=1.8 _openjdk_version=b18 _openjdk_date=16_feb_2010 #pkgver=${_javaver}.${_openjdk_version}_0.hg_${_date} pkgver=${_javaver}.${_openjdk_version}_${_icedteaver} pkgrel=1 url='http://icedtea.classpath.org' arch=('i686' 'x86_64') license=('GPL') # cat src/icedtea6/hotspot.map or what it downlopads itself / remove from configure to get it _hotspotver=62926c7f67a3 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' 'xalan-java' 'xulrunner>=1.9.2' 'apache-ant' 'autoconf' 'unzip' 'rhino' 'mercurial' 'zip' 'cpio') options=('!emptydirs' 'force') source=(http://icedtea.classpath.org/download/source/icedtea6-${_icedteaver}.tar.gz #ftp://ftp.archlinux.org/other/openjdk6/icedtea6-${_date}.tar.bz2 http://download.java.net/openjdk/jdk6/promoted/${_openjdk_version}/openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz http://hg.openjdk.java.net/hsx/hsx16/master/archive/${_hotspotver}.tar.gz https://jaxp.dev.java.net/files/documents/913/147329/jdk6-jaxp-2009_10_13.zip http://kenai.com/projects/jdk6-drops/downloads/download/jdk6-jaxws-2009_10_27.zip http://kenai.com/projects/jdk6-drops/downloads/download/jdk6-jaf-2009_10_27.zip fix_jdk_cmds_path.diff fix_corba_cmds_path.diff aatext_by_default.diff fontconfig-paths.diff nonreparenting-wm.diff openjdk6.profile) noextract=(openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz ${_hotspotver}.tar.gz) md5sums=('e08dd0762749fb50ec6c273c366ee8ae' '94db01691ab38f98b7d42b2ebf4d5c0b' 'd683eb501e7ce710198f20f0c127ebbb' 'a2f7b972124cd776ff71e7754eb9a429' '3ea5728706169498b722b898a1008acf' '7a50bb540a27cdd0001885630088b758' '5da3e39fa60985576c4f37d1491efbe2' 'f7e7a212e50abb56a6ef1a2b1bd27405' 'ef60d567c0d9bad111212851220deafd' 'ee1afda124d5927345014ab382ef581e' '409812b5675f9678b1c9e1a12a945a9a' '10d13b19762218ee157273cee874394e') # source PKGBUILD && mksource mksource() { mkdir /tmp/icedtea6-${_date} pushd /tmp/icedtea6-${_date} #hg -v clone http://icedtea.classpath.org/hg/icedtea6 || return 1 # use specific release branch hg -v clone http://icedtea.classpath.org/hg/release/icedtea6-1.7/ || return 1 rm -rf icedtea6/.hg* tar -cvjf /tmp/icedtea6-${_date}/icedtea6-${_date}.tar.bz2 * popd } build() { unset JAVA_HOME unset CLASSPATH [ -z "${ANT_HOME}" ] && . /etc/profile.d/apache-ant.sh _jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk cd ${srcdir}/icedtea6-${_icedteaver} ln -s ${srcdir}/openjdk-6-src-${_openjdk_version}-${_openjdk_date}.tar.gz . ln -s ${srcdir}/${_hotspotver}.tar.gz . cp ${srcdir}/*.diff ${srcdir}/icedtea6-${_icedteaver}/patches/ autoreconf -i export DISTRIBUTION_PATCHES="patches/fix_jdk_cmds_path.diff patches/aatext_by_default.diff patches/fontconfig-paths.diff patches/fix_corba_cmds_path.diff patches/nonreparenting-wm.diff" export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}" export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}" unset MAKEFLAGS if [ -x ${_jvmdir}/bin/javac ]; then JCONF="--with-openjdk" elif [ -x /opt/java/bin/javac ]; then JCONF="--with-openjdk" else echo "No supported java installation found, install either openjdk6 or jdk" return 1 fi ./configure --with-parallel-jobs=${HOTSPOT_BUILD_JOBS} \ --with-xalan2-jar=/usr/share/java/xalan.jar \ --with-ant-home=/usr/share/java/apache-ant \ --with-pkgversion=ArchLinux-${pkgver}-${pkgrel}-$CARCH $JCONF \ --with-hotspot-src-zip=${_hotspotver}.tar.gz \ --with-jaxp-drop-zip=${srcdir}/jdk6-jaxp-2009_10_13.zip \ --with-jaxws-drop-zip=${srcdir}/jdk6-jaxws-2009_10_27.zip \ --with-jaf-drop-zip=${srcdir}/jdk6-jaf-2009_10_27.zip # --enable-visualvm \ --with-additional-vms=cacao,zero,shark \ LD_PRELOAD="" make || return 1 } 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') optdepends=('xulrunner: for the browser plugin' 'gtk2: for the browser plugin' 'alsa-lib: for sound' 'giflib: for gif format support') conflicts=('java-environment' 'java-runtime') provides=('java-environment=6' 'java-runtime=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/linux-${_arch}/j2sdk-image # Install main files. cp -a bin include lib ${pkgdir}/${_jvmdir}/ || return 1 cp -a jre/bin jre/lib ${pkgdir}/${_jvmdir}/jre/ || return 1 mv ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.Ubuntu.properties.src \ ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.properties.src || return 1 mv ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.Ubuntu.bfc \ ${pkgdir}/${_jvmdir}/jre/lib/fontconfig.bfc || return 1 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/ || return 1 # Install demos and samples. cp -a demo ${pkgdir}/${_jvmdir}/ || return 1 install -m755 -d sample/rmi mv bin/java-rmi.cgi sample/rmi || return 1 cp -a sample ${pkgdir}/${_jvmdir}/ || return 1 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 || return 1 done # Install desktop files. install -m755 -d ${pkgdir}/usr/share/{applications,pixmaps} install -m644 javaws.png ${pkgdir}/usr/share/pixmaps || return 1 install -m644 {javaws,jconsole,policytool}.desktop ${pkgdir}/usr/share/applications || return 1 # link the mozilla-plugin - test it here http://www.java.com/en/download/help/testvm.xml install -m755 -d ${pkgdir}/usr/lib/mozilla/plugins/ ln -sf ${_jvmdir}/jre/lib/${_arch/i586/i386}/IcedTeaPlugin.so ${pkgdir}/usr/lib/mozilla/plugins/ || return 1 # 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 || return 1 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 || return 1 } 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/linux-${_arch}/j2sdk-image # Install src.zip file cp -a src.zip ${pkgdir}/${_jvmdir}/ || return 1 }