From e6667fd4e113d9846e29685ea6b5b000836db057 Mon Sep 17 00:00:00 2001 From: Cecil Hugh Watson 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 - +# Based on official Arch package by Jason Chu 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 < $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 < $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 + +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