From e6667fd4e113d9846e29685ea6b5b000836db057 Mon Sep 17 00:00:00 2001
From: Cecil Hugh Watson <knoppmyth@gmail.com>
Date: Wed, 11 Mar 2009 19:14:01 -0700
Subject: Updated Java.

---
 abs/extra-testing/community/jre/PKGBUILD      |  65 +++---
 abs/extra-testing/community/jre/construct.sh  | 282 ++++++++++++++++++++++++++
 abs/extra-testing/community/projectx/PKGBUILD |  49 +++++
 abs/extra-testing/community/projectx/projectx |  11 +
 4 files changed, 374 insertions(+), 33 deletions(-)
 create mode 100644 abs/extra-testing/community/jre/construct.sh
 create mode 100644 abs/extra-testing/community/projectx/PKGBUILD
 create mode 100644 abs/extra-testing/community/projectx/projectx

diff --git a/abs/extra-testing/community/jre/PKGBUILD b/abs/extra-testing/community/jre/PKGBUILD
index b7ee08b..ca22f01 100644
--- a/abs/extra-testing/community/jre/PKGBUILD
+++ b/abs/extra-testing/community/jre/PKGBUILD
@@ -1,56 +1,55 @@
-# $Id: PKGBUILD,v 1.3 2008/12/03 02:33:37 gcarrier Exp $
-# Maintainer: Jason Chu <jason@archlinux.org>
-
+# Based on official Arch package by Jason Chu <jason@archlinux.org>
 pkgname=jre
-pkgver=6u11
+pkgver=6u12
 pkgrel=1
 pkgdesc="Sun's java runtime environment"
 arch=(i686 x86_64)
-  [ "$CARCH" = "i686" ]   && _arch=i586
-  [ "$CARCH" = "x86_64" ] && _arch=amd64
+[ "$CARCH" = "i686" ] && _arch=i586
+[ "$CARCH" = "x86_64" ] && _arch=amd64
 url="http://java.sun.com"
 depends=('glibc' 'libstdc++5')
 install="jre.install"
 source=(http://download.java.net/dlj/binaries/jdk-$pkgver-dlj-linux-$_arch.bin
-        https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh
-        jre.profile)
-[ "$CARCH" = "i686" ]   && md5sums=('e5eef98bc477675c66e053fc3635e645'
-                                    '94065b612df0046d9ae758943f9f6a75'
-                                    '50b4f5ac4129097461d246645d73a622')
-[ "$CARCH" = "x86_64" ] && md5sums=('0f687b6dbfe54e117bb0d9e090fda20b'
-                                    '94065b612df0046d9ae758943f9f6a75'
-                                    '50b4f5ac4129097461d246645d73a622')
+https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh
+jre.profile)
+[ "$CARCH" = "i686" ] && md5sums=('560a51cfeecc4918d01ca29abc858d52'
+'94065b612df0046d9ae758943f9f6a75'
+'50b4f5ac4129097461d246645d73a622')
+[ "$CARCH" = "x86_64" ] && md5sums=('9dce878be77b4a93337fa85b40b29069'
+'94065b612df0046d9ae758943f9f6a75'
+'50b4f5ac4129097461d246645d73a622')
 replaces=('j2re')
 conflicts=('j2re' 'java-runtime')
 provides=('j2re' 'java-runtime')
 license=('custom')
 
 build() {
-  cd $startdir/src
+	cd $startdir/src
 
-  mkdir unbundle-jdk
-  cd unbundle-jdk
+	mkdir unbundle-jdk
+	cd unbundle-jdk
 
-  sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license
+	sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license
 
-  cd ..
+	cd ..
 
-  sh construct.sh unbundle-jdk linux-jdk linux-jre
+	sh construct.sh unbundle-jdk linux-jdk linux-jre
 
-  mkdir -p $startdir/pkg/opt/java
-  mv linux-jdk/jre $startdir/pkg/opt/java
+	mkdir -p $startdir/pkg/opt/java
+	mv linux-jdk/jre $startdir/pkg/opt/java
 
-  install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh
+	install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh
 
-  # no plugin for x86_64
-  if [ "$CARCH" = "i686" ]; then
-    mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
-    ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so $startdir/pkg/usr/lib/mozilla/plugins
-    else echo "no plugin for x86_64"
-  fi
+	if [ "$CARCH" = "i686" ]; then
+		mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
+		ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so $startdir/pkg/usr/lib/mozilla/plugins
+	elif [ "$CARCH" = "x86_64" ]; then
+		mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
+		ln -s /opt/java/jre/lib/amd64/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins
+	fi
 
-  mkdir -p $startdir/pkg/usr/share/licenses/jre
-  cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre
-  cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre
-  cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre
+	mkdir -p $startdir/pkg/usr/share/licenses/jre
+	cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre
+	cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre
+	cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre
 }
diff --git a/abs/extra-testing/community/jre/construct.sh b/abs/extra-testing/community/jre/construct.sh
new file mode 100644
index 0000000..5f6ff7f
--- /dev/null
+++ b/abs/extra-testing/community/jre/construct.sh
@@ -0,0 +1,282 @@
+#!/bin/bash
+# construct.sh
+# example construction of JRE and JDK directories from the DLJ bundles
+# 
+# Copyright � 2006 Sun Microsystems, Inc.
+# 
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+# 
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+# 
+# Sun, Sun Microsystems, the Sun logo and Java, Java HotSpot,
+# and JVM  trademarks or registered trademarks of Sun Microsystems,
+# Inc. in the U.S. and other countries.
+
+
+program=`basename $0`
+
+usage () {
+  echo "usage: ${program} path/to/unbundle-jdk path/to/linux-jdk path/to/linux-jre"
+}
+
+getargs() {
+  undir=$1
+  jdkdir=$2
+  jredir=$3
+  if [ ! -d $undir ]; then
+    echo "${program}: unbundle directory not found: $undir"
+    exit 2
+  fi
+  # make sure javahome is the JDK
+  javahome=`echo $undir/*/demo`
+  if [ ! -d $javahome ]; then
+    echo "${program}: unbundle directory incorrect: $undir"
+    echo "  expecting $undir/jdk1.5.0_xx"
+    exit 2
+  else
+    javahome=`dirname $javahome`
+  fi
+  # verify JDK dir
+  jdkdirp=`dirname $jdkdir`
+  jdkbase=`basename $jdkdir`
+  if [ ! -d $jdkdirp ]; then
+    echo "${program}: parent directory for JDK does not exist: $jdkdirp"
+    exit 2
+  fi
+  savedir=`pwd`
+  cd $jdkdirp
+  jdkdirp=`pwd`
+  cd $savedir
+  jdkdir=$jdkdirp/$jdkbase
+  # verify JRE dir
+  jredirp=`dirname $jredir`
+  jrebase=`basename $jredir`
+  if [ ! -d $jredirp ]; then
+    echo "${program}: parent directory for JRE does not exist: $jredirp"
+    exit 2
+  fi
+  savedir=`pwd`
+  cd $jredirp
+  jredirp=`pwd`
+  cd $savedir
+  jredir=$jredirp/$jrebase
+}
+
+checkfiles() {
+  if [ -r $jdkdir ]; then
+    echo "${program}: directory for JDK already exists: $jdkdir"
+    exit 2
+  fi
+  if [ -r $jredir ]; then
+    echo "${program}: directory for JRE already exists: $jredir"
+    exit 2
+  fi
+}
+
+copytree() {
+  echo "copying over the JDK tree..."
+  cp -a $javahome $jdkdir
+}
+
+linkrel() {
+  target=$1
+  link=$2
+  # make a softlink from the $link to the $target
+  # make this a relative link
+  targetb=(`echo $target | tr '/' ' '`)
+  linkb=(`echo $link | tr '/' ' '`)
+  (( n = ${#targetb[*]} ))
+  (( m = ${#linkb[*]} ))
+  c=$n  # common length
+  if [ $m -lt $c ]; then
+    (( c = m ))
+  fi
+  for (( i = 0 ; i < c ; i++ )); do 
+    if [ ${targetb[$i]} != ${linkb[$i]} ]; then
+      # echo components differ, stopping
+      break
+    fi
+  done
+  rel=""
+  for (( j = i + 1; j < m ; j++ )); do
+    if [ -z $rel ]; then
+      rel=".."
+    else
+      rel="$rel/.."
+    fi
+  done
+  for (( j = i; j < n ; j++ )); do
+    if [ -z $rel ]; then
+      rel=${targetb[$j]}
+    else
+      rel="$rel/${targetb[$j]}"
+    fi
+  done
+  ln -s $rel $link
+}
+
+createjre() {
+  echo "creating JRE directory..."
+  # absolute link
+  # ln -s $jdkdir/jre $jredir
+  # relative link
+  linkrel $jdkdir/jre $jredir
+}
+
+unpackjars() {
+  echo "unpacking jars..."
+  unpack200=$jdkdir/bin/unpack200
+  if [ ! -x $unpack200 ]; then
+    echo "${program}: file missing $unpack200"
+    exit 1
+  fi
+  cd $jdkdir
+  PACKED_JARS=`find . -name '*.pack'`
+  for i in $PACKED_JARS; do
+    # echo $i
+    jdir=`dirname $i`
+    jbase=`basename $i .pack`
+    if ! $unpack200 $jdkdir/$jdir/$jbase.pack $jdkdir/$jdir/$jbase.jar; then
+      echo "${program}: error unpacking $jdkdir/$jdir/$jbase.jar"
+    fi
+    if [ ! -r $jdkdir/$jdir/$jbase.jar ]; then
+      echo "${program}: missing $jdkdir/$jdir/$jbase.jar"
+    else
+      echo "  $jdir/$jbase.jar"
+      # remove pack file
+      rm $jdkdir/$jdir/$jbase.pack
+    fi
+  done
+}
+
+preparecds() {
+  # if this is a client installation...
+  compiler="`$jdkdir/bin/java -client -version 2>&1 | tail -n +3 | cut -d' ' -f1-4`"
+  if [ "X$compiler" = "XJava HotSpot(TM) Client VM" ]; then
+    # create the CDS archive
+    echo "creating the class data sharing archive..."
+    if ! $jdkdir/bin/java -client -Xshare:dump > /dev/null 2>&1; then
+       echo "returned error code $?"
+    fi
+  fi
+}
+
+jreman () {
+  echo "setting up the JRE man pages..."
+  # note this list is slightly different for OpenSolaris bundles
+  jreman=/tmp/jre.man.txt
+cat <<EOF > $jreman
+man/ja_JP.eucJP/man1/java.1
+man/ja_JP.eucJP/man1/javaws.1
+man/ja_JP.eucJP/man1/keytool.1
+man/ja_JP.eucJP/man1/kinit.1
+man/ja_JP.eucJP/man1/klist.1
+man/ja_JP.eucJP/man1/ktab.1
+man/ja_JP.eucJP/man1/orbd.1
+man/ja_JP.eucJP/man1/pack200.1
+man/ja_JP.eucJP/man1/policytool.1
+man/ja_JP.eucJP/man1/rmid.1
+man/ja_JP.eucJP/man1/rmiregistry.1
+man/ja_JP.eucJP/man1/servertool.1
+man/ja_JP.eucJP/man1/tnameserv.1
+man/ja_JP.eucJP/man1/unpack200.1
+man/man1/java.1
+man/man1/javaws.1
+man/man1/keytool.1
+man/man1/kinit.1
+man/man1/klist.1
+man/man1/ktab.1
+man/man1/orbd.1
+man/man1/pack200.1
+man/man1/policytool.1
+man/man1/rmid.1
+man/man1/rmiregistry.1
+man/man1/servertool.1
+man/man1/tnameserv.1
+man/man1/unpack200.1
+EOF
+  # create jre/man directory
+  # mkdir $jdkdir/jre/man
+  # move the real JRE man pages to jre/man
+  # link the JDK JRE man pages to jre/man
+  # real JDK man pages stay where they are
+  for m in `cat $jreman`; do
+    manpath=`dirname $jdkdir/jre/$m`
+    mkdir -p $manpath
+    mv $jdkdir/$m $jdkdir/jre/$m
+    linkrel $jdkdir/jre/$m $jdkdir/$m
+  done
+  # link in Japanese man pages
+  ln -s ja_JP.eucJP $jdkdir/jre/man/ja
+  rm $jreman
+}
+
+elimdups() {
+  echo "eliminating duplication between the JDK and JDK/jre..."
+  jdkcomm=/tmp/jdk.bin.comm.txt
+cat <<EOF > $jdkcomm
+bin/ControlPanel
+bin/java
+bin/javaws
+bin/keytool
+bin/kinit
+bin/klist
+bin/ktab
+bin/orbd
+bin/pack200
+bin/policytool
+bin/rmid
+bin/rmiregistry
+bin/servertool
+bin/tnameserv
+bin/unpack200
+EOF
+  # note there is little point in linking these common files
+  #   COPYRIGHT
+  #   LICENSE
+  #   THIRDPARTYLICENSEREADME.txt
+  # And this file is unique to the JDK
+  #   README.html
+  # And these files are unique to the JDK/jre/
+  #   CHANGES
+  #   README
+  #   Welcome.html
+  for p in `cat $jdkcomm`; do
+    rm $jdkdir/$p
+    # this is a relative link
+    ln -s ../jre/$p $jdkdir/$p
+  done
+  rm $jdkcomm
+}
+
+if [ $# -eq 3 ] ; then
+  getargs $1 $2 $3
+  checkfiles
+  copytree
+  createjre
+  unpackjars
+  preparecds
+  jreman
+  elimdups
+else
+  usage
+  exit 1
+fi
+
+exit 0
+
diff --git a/abs/extra-testing/community/projectx/PKGBUILD b/abs/extra-testing/community/projectx/PKGBUILD
new file mode 100644
index 0000000..65b70b8
--- /dev/null
+++ b/abs/extra-testing/community/projectx/PKGBUILD
@@ -0,0 +1,49 @@
+# Contributer: Sebastian Sareyko <public@nooms.de>
+
+pkgname=projectx
+pkgver=0.90.4.00
+pkgrel=7
+license=('GPL')
+arch=('i686' 'x86_64')
+pkgdesc="DVB demux tool for repairing and analyzing different stream types"
+makedepends=('jdk')
+depends=('jre')
+url="http://sourceforge.net/projects/project-x"
+source=(http://dl.sourceforge.net/sourceforge/project-x/ProjectX_Source_eng_$pkgver.zip \
+	http://dl.sourceforge.net/sourceforge/project-x/ProjectX_LanguagePack_$pkgver.zip \
+	projectx)
+md5sums=('92d7b5aea50b8811307f27b6e01ceb5c'
+         'edfe8d04bd3d403eec4d9e27d1b976d2'
+         '60c3056d1051eb174ec63a4039ad40ff')
+
+build() {
+    cd $startdir/src/ProjectX_Source_0.90.4
+
+    sed -i 's,^Exec=.*,Exec=projectx,' projectx.desktop
+    
+    if [ -z "$J2SDKDIR" ] ; then
+        . /etc/profile.d/jdk.sh
+    fi
+
+    mkdir -p build
+
+    javac -encoding "ISO-8859-1" -O -g:none \
+        -classpath lib/commons-net-1.3.0.jar:lib/jakarta-oro-2.0.8.jar \
+        -d build @sources.lst || return 1
+
+    cp resources/* ./build
+    jar cvfm ProjectX.jar MANIFEST.MF -C build .
+
+    install -D -m0755 $startdir/projectx $startdir/pkg/usr/bin/projectx
+    install -D -m0644 ProjectX.jar $startdir/pkg/opt/projectx/ProjectX.jar
+    install -D -m0644 lib/commons-net-1.3.0.jar \
+        $startdir/pkg/opt/projectx/lib/commons-net-1.3.0.jar
+    install -D -m0644 lib/jakarta-oro-2.0.8.jar \
+        $startdir/pkg/opt/projectx/lib/jakarta-oro-2.0.8.jar
+    install -D -m0644 projectx.desktop $startdir/pkg/usr/share/applications/projectx.desktop
+    for file in ReadMe.txt ReleaseNotes_0.90.4.00.txt ReleaseNotes_0.90.4.txt $( find htmls -type f ) ; 
+    do
+        install -D $file $startdir/pkg/opt/projectx/$file
+    done
+
+}
diff --git a/abs/extra-testing/community/projectx/projectx b/abs/extra-testing/community/projectx/projectx
new file mode 100644
index 0000000..904e834
--- /dev/null
+++ b/abs/extra-testing/community/projectx/projectx
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# ProjectX GUI allways looks at $(pwd)/html/index.html
+# for its help file
+if [ "$#" -eq 0 ] ; then
+mkdir -p ~/.projectx
+cd ~/.projectx &&
+ln -s /opt/projectx/htmls .
+fi
+
+java -jar /opt/projectx/ProjectX.jar "$@"
-- 
cgit v0.12