diff --git a/ant.nix b/ant.nix
deleted file mode 100644
index b2f3a59..0000000
--- a/ant.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{stdenv, fetchzip, jdk8, junit, breakpointHook}: stdenv.mkDerivation rec {
- pname = "ant";
- version = "1.7.0";
-
- src = fetchzip {
- url = "https://archive.apache.org/dist/ant/source/apache-ant-1.7.0-src.tar.gz";
- hash = "sha256-IFAA0jVdnK5a6ElnPd8K24N4i2XyvlhfPmJlu2wrPgM=";
- };
-
- #patches = [./mysql.patch];
-
- nativeBuildInputs = [jdk8];
- buildInputs = [breakpointHook];
- #buildInputs = [autoreconfHook ncurses breakpointHook];
- #env = {
- # ACLOCAL_PATH="${libtool}/share/aclocal";
- # NIX_CFLAGS_COMPILE="-fpermissive";
- #};
-
- buildPhase = ''
- #cp ${junit}/junit-4.1.jar ./lib/junit.jar
- export CLASSPATH="${junit}/junit-4.1.jar"
- ./build.sh
- #bash ./gradlew build
- #bash ./gradlew install -Pgradle_installPath=$out
- '';
-
- #configureFlags = ["--with-plugins=innobase"];
-
- #postInstall = ''
- # ln -s $out/libexec/mysqld $out/bin/mysqld
- #'';
-}
diff --git a/gradle/ant.patch b/gradle/ant.patch
new file mode 100644
index 0000000..1280ee5
--- /dev/null
+++ b/gradle/ant.patch
@@ -0,0 +1,24 @@
+diff --git a/build.xml b/build.xml
+index bfb55e9..838464c 100644
+--- a/build.xml
++++ b/build.xml
+@@ -603,7 +603,8 @@
+ deprecation="${deprecation}"
+ target="${javac.target}"
+ source="${javac.source}"
+- optimize="${optimize}" >
++ optimize="${optimize}"
++ bootclasspath="${bootclasspath}" >
+
+
+
+@@ -1406,7 +1407,8 @@
+ debug="${debug}"
+ target="${javac.target}"
+ source="${javac.source}"
+- deprecation="${deprecation}" >
++ deprecation="${deprecation}"
++ bootclasspath="${bootclasspath}" >
+
+
+
diff --git a/gradle/ant_1_6_5.nix b/gradle/ant_1_6_5.nix
new file mode 100644
index 0000000..31bce6a
--- /dev/null
+++ b/gradle/ant_1_6_5.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchzip, ecj, jamvm_1_5_4, gnu-classpath_98, ant-bootstrap}: stdenv.mkDerivation rec {
+ pname = "ant";
+ version = "1.6.5";
+
+ src = fetchzip {
+ url = "https://archive.apache.org/dist/ant/source/apache-ant-1.6.5-src.tar.gz";
+ hash = "sha256-UJaFPX3KtFa06B4eDu2ZNMO+GreTtdEYbhGrKr3soUI=";
+ };
+
+ patches = [./ant.patch];
+
+ nativeBuildInputs = [jamvm_1_5_4 ant-bootstrap];
+ env = {
+ JAVA_HOME="${gnu-classpath_98}";
+ CLASSPATH="${ecj}/bin/ecj.jar";
+ ANT_OPTS="-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter -Dbootclasspath=${gnu-classpath_98}/share/classpath/glibj.zip";
+ };
+
+ buildPhase = ''
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/gradle/ant_1_7_0.nix b/gradle/ant_1_7_0.nix
new file mode 100644
index 0000000..8bfa396
--- /dev/null
+++ b/gradle/ant_1_7_0.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchzip, jdk6, junit, breakpointHook}: stdenv.mkDerivation rec {
+ pname = "ant";
+ version = "1.7.0";
+
+ src = fetchzip {
+ url = "https://archive.apache.org/dist/ant/source/apache-ant-1.7.0-src.tar.gz";
+ hash = "sha256-IFAA0jVdnK5a6ElnPd8K24N4i2XyvlhfPmJlu2wrPgM=";
+ };
+
+ nativeBuildInputs = [jdk6];
+ buildInputs = [breakpointHook];
+ env = {
+ JAVA_HOME="${jdk6}";
+ CLASSPATH="${junit}/junit-4.1.jar";
+ };
+
+ buildPhase = ''
+ ./build.sh
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/gradle_0_0_2.nix b/gradle/gradle_0_0_2.nix
similarity index 69%
rename from gradle_0_0_2.nix
rename to gradle/gradle_0_0_2.nix
index d1cef42..3193589 100644
--- a/gradle_0_0_2.nix
+++ b/gradle/gradle_0_0_2.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, temurin-jre-bin-8, ant}: stdenv.mkDerivation rec {
+{stdenv, fetchFromGitHub, jdk6, ant_1_7_0}: stdenv.mkDerivation rec {
pname = "gradle";
version = "0.0.2";
@@ -11,15 +11,14 @@
#patches = [./mysql.patch];
- nativeBuildInputs = [temurin-jre-bin-8 ant];
+ nativeBuildInputs = [jdk6 ant_1_7_0];
#buildInputs = [autoreconfHook ncurses breakpointHook];
- #env = {
- # ACLOCAL_PATH="${libtool}/share/aclocal";
- # NIX_CFLAGS_COMPILE="-fpermissive";
- #};
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
buildPhase = ''
- ./gradlew
+ ant
#bash ./gradlew build
#bash ./gradlew install -Pgradle_installPath=$out
'';
diff --git a/gradle/junit.nix b/gradle/junit.nix
new file mode 100644
index 0000000..f82cc74
--- /dev/null
+++ b/gradle/junit.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_6_5}: stdenv.mkDerivation rec {
+ pname = "junit";
+ version = "4.0.0";
+
+ src = fetchFromGitHub {
+ owner = "junit-team";
+ repo = pname;
+ rev = "5139a1be36da4ed64a860de82e7d74f2e5405037";
+ hash = "sha256-ZDu3rQ5y0D7pREmnJjUwiWDbTv+TgJPMZjJ4LVczoLU=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_6_5];
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./junit4.1/* $out/
+ '';
+}
diff --git a/jdk/ant_1_6.nix b/jdk/ant_1_6.nix
index 6086eed..8ea0b1e 100644
--- a/jdk/ant_1_6.nix
+++ b/jdk/ant_1_6.nix
@@ -7,8 +7,6 @@
hash = "sha256-UJaFPX3KtFa06B4eDu2ZNMO+GreTtdEYbhGrKr3soUI=";
};
- #patches = [./mysql.patch];
-
nativeBuildInputs = [gnu-classpath_93 jamvm_1_5_1];
env = {
JAVA_HOME="${gnu-classpath_93}";
@@ -18,18 +16,10 @@
buildPhase = ''
./build.sh
- #bash ./gradlew build
- #bash ./gradlew install -Pgradle_installPath=$out
'';
installPhase = ''
mkdir $out
cp -r ./dist/* $out/
'';
-
- #configureFlags = ["--with-plugins=innobase"];
-
- #postInstall = ''
- # ln -s $out/libexec/mysqld $out/bin/mysqld
- #'';
}
diff --git a/jdk/dlj-bundle-builder.sh b/jdk/dlj-bundle-builder.sh
new file mode 100644
index 0000000..459bfce
--- /dev/null
+++ b/jdk/dlj-bundle-builder.sh
@@ -0,0 +1,60 @@
+source $stdenv/setup
+
+echo "Unpacking distribution"
+unzip ${src} || true
+
+# set the dynamic linker of unpack200, necessary for construct script
+echo "patching unpack200"
+patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "" */bin/unpack200
+
+echo "constructing JDK and JRE installations"
+if test -z "$installjdk"; then
+ sh ${construct} . tmp-linux-jdk tmp-linux-jre
+ mkdir -p $out
+ cp -R tmp-linux-jre/* $out
+else
+ sh ${construct} . $out tmp-linux-jre
+fi
+
+echo "removing files at top level of installation"
+for file in $out/*
+do
+ if test -f $file ; then
+ rm $file
+ fi
+done
+rm -rf $out/docs
+
+# construct the rpath
+rpath=
+for i in $libraries; do
+ rpath=$rpath${rpath:+:}$i/lib
+done
+
+if test -z "$installjdk"; then
+ jrePath=$out
+else
+ jrePath=$out/jre
+fi
+
+if test -n "$jce"; then
+ unzip $jce
+ cp -v jce/*.jar $jrePath/lib/security
+fi
+
+rpath=$rpath${rpath:+:}$jrePath/lib/$architecture/jli
+
+# set all the dynamic linkers
+find $out -type f -perm -0100 \
+ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+ --set-rpath "$rpath" {} \;
+
+find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
+
+if test -z "$pluginSupport"; then
+ rm -f $out/bin/javaws
+fi
+
+mkdir $jrePath/lib/$architecture/plugins
+ln -s $jrePath/lib/$architecture/libnpjp2.so $jrePath/lib/$architecture/plugins
+
diff --git a/jdk/ecj.nix b/jdk/ecj.nix
index eb9fff4..59f57fe 100644
--- a/jdk/ecj.nix
+++ b/jdk/ecj.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip, ant_1_6, gnu-classpath_93, jamvm_1_5_1, jikes}: stdenv.mkDerivation rec {
+{stdenv, fetchzip, ant-bootstrap, gnu-classpath_93, jamvm_1_5_1, jikes}: stdenv.mkDerivation rec {
pname = "ecj";
version = "3.2.1"; #Compiler meldet 3.2.1 bei 3.2.2 source
@@ -8,7 +8,7 @@
stripRoot=false;
};
- nativeBuildInputs = [ant_1_6 jamvm_1_5_1 jikes];
+ nativeBuildInputs = [ant-bootstrap jamvm_1_5_1 jikes];
env = {
JAVA_HOME="${gnu-classpath_93}";
diff --git a/jdk/gnu-classpath_98.nix b/jdk/gnu-classpath_98.nix
index 5d329f0..88469e9 100644
--- a/jdk/gnu-classpath_98.nix
+++ b/jdk/gnu-classpath_98.nix
@@ -15,10 +15,10 @@
configureFlags = ["--disable-gtk-peer" "--disable-gconf-peer" "--disable-plugin" "--disable-gjdoc"];
- /*postInstall = ''
- mkdir -p $out/jre/lib
- ln -s $out/share/classpath/tools.zip $out/lib/tools.jar
- ln -s $out/share/classpath/glibj.zip $out/jre/lib/rt.jar
+ postInstall = ''
+ #mkdir -p $out/jre/lib
+ #ln -s $out/share/classpath/tools.zip $out/lib/tools.jar
+ #ln -s $out/share/classpath/glibj.zip $out/jre/lib/rt.jar
cat << 'EOF' > $out/bin/javac
#!/bin/bash
@@ -32,5 +32,5 @@ EOF
exec jamvm "$@"
EOF
chmod +x $out/bin/java
- '';*/
+ '';
}
diff --git a/jdk/jdk6-bootstrap.nix b/jdk/jdk6-bootstrap.nix
index 8a4fcfc..f5dbf56 100644
--- a/jdk/jdk6-bootstrap.nix
+++ b/jdk/jdk6-bootstrap.nix
@@ -20,7 +20,7 @@ alsa-lib, cups, motif, wget, cpio, fastjar, libxslt, xorg, zlib, libjpeg, libpng
xorg.libX11.dev xorg.libXt.dev xorg.libXinerama.dev xorg.libXcomposite.dev xorg.libXrender.dev xorg.libXtst breakpointHook];
env = {
- # BUILD_CORBA="false";
+ BUILD_CORBA="false";
# BUILD_JAXP="false";
BUILD_JAXWS="false";
# NO_DOCS="true";
@@ -82,7 +82,7 @@ alsa-lib, cups, motif, wget, cpio, fastjar, libxslt, xorg, zlib, libjpeg, libpng
# cp -r ./dist/* $out/
#'';
- configureFlags = ["--with-ecj" "--with-java=${jamvm}/bin/jamvm" "--with-jdk-home=${gnu-classpath}" "--without-rhino" "--disable-downloading" "--disable-tests" "--enable-nss"];
+ configureFlags = ["--with-ecj" "--with-java=${jamvm}/bin/jamvm" "--with-jdk-home=${gnu-classpath}" "--without-rhino" "--disable-downloading" "--disable-tests" "--disable-bootstrap-tools"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
diff --git a/jdk/jdk6-construct.sh b/jdk/jdk6-construct.sh
new file mode 100644
index 0000000..16ee0f5
--- /dev/null
+++ b/jdk/jdk6-construct.sh
@@ -0,0 +1,273 @@
+#!/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/*/db/demo`
+ if [ ! -d $javahome ]; then
+ echo "${program}: unbundle directory incorrect: $undir"
+ echo " expecting $undir/jdk1.5.0_xx"
+ exit 2
+ else
+ javahome=$(dirname $(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/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/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/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/jdk/jdk6-linux.nix b/jdk/jdk6-linux.nix
new file mode 100644
index 0000000..67a65ea
--- /dev/null
+++ b/jdk/jdk6-linux.nix
@@ -0,0 +1,84 @@
+{ swingSupport ? true
+, stdenv
+, requireFile
+, fetchurl
+, unzip
+, makeWrapper
+, xorg ? null
+, installjdk ? true
+, pluginSupport ? false
+, installjce ? false
+}:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+assert swingSupport -> xorg != null;
+
+let
+
+ /**
+ * The JRE libraries are in directories that depend on the CPU.
+ */
+ architecture =
+ if stdenv.system == "i686-linux" then
+ "i386"
+ else if stdenv.system == "x86_64-linux" then
+ "amd64"
+ else
+ abort "jdk requires i686-linux or x86_64 linux";
+
+ jce =
+ if installjce then
+ requireFile {
+ name = "jce_policy-6.zip";
+ url = http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html;
+ sha256 = "0qljzfxbikm8br5k7rkamibp1vkyjrf6blbxpx6hn4k46f62bhnh";
+ }
+ else
+ null;
+in
+
+stdenv.mkDerivation {
+ name =
+ if installjdk then "jdk-1.6.0_45b06" else "jre-1.6.0_45b06";
+
+ src =
+ if stdenv.system == "i686-linux" then
+ requireFile {
+ name = "jdk-6u45-linux-i586.bin";
+ url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
+ sha256 = "0mx3d2qlal5zyz1a7ld1yk2rs8pf9sjxs2jzasais3nq30jmlfym";
+ }
+ else if stdenv.system == "x86_64-linux" then
+ fetchurl {
+ url = "https://files.befatorinc.de/api/public/dl/JXObGHCx";
+ sha256 = "1s0j1pdr6y8c816d9i86rx4zp12nbhmas1rxksp0r53cn7m3ljbb";
+ }
+ else
+ abort "jdk requires i686-linux or x86_64 linux";
+
+ builder = ./dlj-bundle-builder.sh;
+
+ /**
+ * If jdk5 is added, make sure to use the original construct script.
+ * This copy removes references to kinit, klist, ktab, which seem to be
+ * gone in jdk6.
+ */
+ construct = ./jdk6-construct.sh;
+ inherit installjdk;
+
+ buildInputs = [unzip makeWrapper];
+
+ /**
+ * libXt is only needed on amd64
+ */
+ libraries =
+ [stdenv.cc.libc] ++
+ (if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt] else []);
+
+ inherit swingSupport pluginSupport architecture jce;
+ inherit (xorg) libX11;
+
+ mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
+
+ #meta.license = lib.licenses.unfree;
+}
diff --git a/junit.nix b/junit.nix
deleted file mode 100644
index d439264..0000000
--- a/junit.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{stdenv, fetchFromGitHub, jdk6, ant_1_6}: stdenv.mkDerivation rec {
- pname = "junit";
- version = "4.0.0";
-
- src = fetchFromGitHub {
- owner = "junit-team";
- repo = pname;
- rev = "5139a1be36da4ed64a860de82e7d74f2e5405037";
- hash = "sha256-ZDu3rQ5y0D7pREmnJjUwiWDbTv+TgJPMZjJ4LVczoLU=";
- };
-
- patches = [./junit.patch];
-
- nativeBuildInputs = [jdk6 ant_1_6];
- #env = {
- # ACLOCAL_PATH="${libtool}/share/aclocal";
- # NIX_CFLAGS_COMPILE="-fpermissive";
- #};
-
- buildPhase = ''
- ant
- #bash ./gradlew build
- #bash ./gradlew install -Pgradle_installPath=$out
- '';
-
- installPhase = ''
- mkdir $out
- cp -r ./junit4.1/* $out/
- '';
-
- #configureFlags = ["--with-plugins=innobase"];
-
- #postInstall = ''
- # ln -s $out/libexec/mysqld $out/bin/mysqld
- #'';
-}
diff --git a/overlay.nix b/overlay.nix
index d650e6f..3d2773f 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -139,18 +139,21 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
jikes = self.callPackage ./jdk/jikes.nix { };
gnu-classpath_93 = self.callPackage ./jdk/gnu-classpath_93.nix { inherit jikes; };
jamvm_1_5_1 = self.callPackage ./jdk/jamvm_1_5_1.nix { inherit gnu-classpath_93; };
- ant_1_6 = self.callPackage ./jdk/ant_1_6.nix { inherit gnu-classpath_93 jamvm_1_5_1; };
- ecj = self.callPackage ./jdk/ecj.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 jikes; };
- xalan = self.callPackage ./jdk/xalan.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 ecj; };
- xerces = self.callPackage ./jdk/xerces.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 ecj; };
+ ant-bootstrap = self.callPackage ./jdk/ant_1_6.nix { inherit gnu-classpath_93 jamvm_1_5_1; };
+ ecj = self.callPackage ./jdk/ecj.nix { inherit ant-bootstrap gnu-classpath_93 jamvm_1_5_1 jikes; };
+ #xalan = self.callPackage ./jdk/xalan.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 ecj; };
+ #xerces = self.callPackage ./jdk/xerces.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 ecj; };
gnu-classpath_98 = self.callPackage ./jdk/gnu-classpath_98.nix { inherit ecj jamvm_1_5_1; };
jamvm_1_5_4 = self.callPackage ./jdk/jamvm_1_5_4.nix { inherit gnu-classpath_98; };
- gnu-classpath = self.callPackage ./jdk/gnu-classpath.nix { inherit autoreconfHook ecj jamvm_1_5_4 gnu-classpath_98; };
- jamvm = self.callPackage ./jdk/jamvm.nix { inherit gnu-classpath xerces autoreconfHook; };
- jdk6 = self.callPackage ./jdk/jdk6-bootstrap.nix { inherit ant_1_6 gnu-classpath jamvm; };
- junit = self.callPackage ./junit.nix { inherit ant_1_6 jdk6; };
- ant = self.callPackage ./ant.nix { inherit junit; };
- gradle_0_0_2 = self.callPackage ./gradle_0_0_2.nix { inherit ant; };
+ #gnu-classpath = self.callPackage ./jdk/gnu-classpath.nix { inherit autoreconfHook ecj jamvm_1_5_4 gnu-classpath_98; };
+ #jamvm = self.callPackage ./jdk/jamvm.nix { inherit gnu-classpath xerces autoreconfHook; };
+ #jdk6 = self.callPackage ./jdk/jdk6-bootstrap.nix { inherit ant_1_6 gnu-classpath jamvm; };
+ jdk6 = self.callPackage ./jdk/jdk6-linux.nix { };
+
+ ant_1_6_5 = self.callPackage ./gradle/ant_1_6_5.nix { inherit ecj jamvm_1_5_4 gnu-classpath_98 ant-bootstrap; };
+ junit = self.callPackage ./gradle/junit.nix { inherit ant_1_6_5 jdk6; };
+ ant_1_7_0 = self.callPackage ./gradle/ant_1_7_0.nix { inherit jdk6 junit; };
+ gradle_0_0_2 = self.callPackage ./gradle/gradle_0_0_2.nix { inherit jdk6 ant_1_7_0; };
gradle = self.callPackage ./gradle.nix { inherit gradle_0_0_2; };
elasticsearch-service = self.callPackage ./elasticsearch-service.nix { inherit gradle; };