diff --git a/pkgs/build-support/fetchfile/builder.sh b/pkgs/build-support/fetchfile/builder.sh new file mode 100755 index 000000000000..e2d7b256f87f --- /dev/null +++ b/pkgs/build-support/fetchfile/builder.sh @@ -0,0 +1,13 @@ +#! /bin/sh + +. $stdenv/setup + +echo "copying $url into $out..." + +cp "$pathname" "$out" || exit 1 + +actual=$(md5sum -b $out | cut -c1-32) +if test "$actual" != "$md5"; then + echo "hash is $actual, expected $md5" + exit 1 +fi diff --git a/pkgs/build-support/fetchfile/default.nix b/pkgs/build-support/fetchfile/default.nix new file mode 100644 index 000000000000..88f7aa42aa8c --- /dev/null +++ b/pkgs/build-support/fetchfile/default.nix @@ -0,0 +1,9 @@ +{stdenv}: {pathname, md5}: derivation { + name = baseNameOf (toString url); + system = stdenv.system; + builder = ./builder.sh; + stdenv = stdenv; + pathname = pathname; + md5 = md5; + id = md5; +} diff --git a/pkgs/development/compilers/j2sdk/builder.sh b/pkgs/development/compilers/j2sdk/builder.sh new file mode 100755 index 000000000000..3cf67f8f4cee --- /dev/null +++ b/pkgs/development/compilers/j2sdk/builder.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +. $stdenv/setup || exit 1 +version=j2sdk1.4.2_03 +src=$version.bin + +cp $pathname $src || exit 1 + +actual=$(md5sum -b $src | cut -c1-32) +if test "$actual" != "$md5"; then + echo "hash is $actual, expected $md5" + exit 1 +fi + +chmod u+x $src || exit 1 + +alias more=cat + +yes yes | ./$src || exit 1 + +mkdir $out || exit 1 +mv $version/* $out/ || exit 1 diff --git a/pkgs/development/compilers/j2sdk/default.nix b/pkgs/development/compilers/j2sdk/default.nix new file mode 100644 index 000000000000..91b60e7fa287 --- /dev/null +++ b/pkgs/development/compilers/j2sdk/default.nix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: + +if stdenv.system == "i686-linux" + then + (import ./j2sdk-sun-linux.nix) { + stdenv = stdenv; + fetchurl = fetchurl; + } + else + false diff --git a/pkgs/development/compilers/j2sdk/j2sdk-sun-linux.nix b/pkgs/development/compilers/j2sdk/j2sdk-sun-linux.nix new file mode 100644 index 000000000000..e3b9c46dfda6 --- /dev/null +++ b/pkgs/development/compilers/j2sdk/j2sdk-sun-linux.nix @@ -0,0 +1,22 @@ +/** + * This Nix expression requires the user to download the j2sdk + * distribution to /tmp. Please obtain j2sdk-1_4_2_03-linux-i586.bin + * from java.sun.com by hand and place it in /tmp. Blame Sun, not me. + * + * Note that this is not necessary if someone has already pushed a + * binary. + * + * @author Martin Bravenboer + */ +{stdenv, fetchurl}: + +assert stdenv.system == "i686-linux"; + +derivation { + name = "j2sdk-1.4.2"; + system = stdenv.system; + builder = ./builder.sh; + pathname = /tmp/j2sdk-1_4_2_03-linux-i586.bin; + md5 = "859aa6750161477acec83b7bb5d9998d"; + stdenv = stdenv; +} diff --git a/pkgs/development/interpreters/j2re/j2re-sun-linux.nix b/pkgs/development/interpreters/j2re/j2re-sun-linux.nix index f5673950dba5..9958bb85c13b 100644 --- a/pkgs/development/interpreters/j2re/j2re-sun-linux.nix +++ b/pkgs/development/interpreters/j2re/j2re-sun-linux.nix @@ -8,7 +8,7 @@ derivation { system = stdenv.system; builder = ./builder.sh; src = fetchurl { - url = http://www.java.sun.com/webapps/download/AutoDL?BundleId=9500; + url = http://java.sun.com/webapps/download/AutoDL?BundleId=9500; md5 = "b4aae3fcda73d976bd6ae6349b36a90c"; }; stdenv = stdenv; diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix index 03754f4fcdde..85c67fc454ab 100644 --- a/pkgs/system/all-packages-generic.nix +++ b/pkgs/system/all-packages-generic.nix @@ -235,6 +235,11 @@ stdenv = stdenv; }; + j2sdk = (import ../development/compilers/j2sdk) { + fetchurl = fetchurl; + stdenv = stdenv; + }; + pcre = (import ../development/libraries/pcre) { fetchurl = fetchurl; stdenv = stdenv;