summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorRob Vermaas <rob.vermaas@gmail.com>2010-05-27 11:04:45 +0000
committerRob Vermaas <rob.vermaas@gmail.com>2010-05-27 11:04:45 +0000
commit41aa02a8b4ab3b022fca22decbdaa6dbe0168f53 (patch)
tree98f5f336b4dd164eb52018caceb576f6fdff75f5 /pkgs/development
parentcaf8fe39cff02a9e99f2d8b08027c164ae80985f (diff)
downloadnixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.tar
nixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.tar.gz
nixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.tar.bz2
nixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.tar.lz
nixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.tar.xz
nixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.tar.zst
nixpkgs-41aa02a8b4ab3b022fca22decbdaa6dbe0168f53.zip
inital try with jdk6 on cygwin
svn path=/nixpkgs/trunk/; revision=22000
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/jdk/default.nix6
-rw-r--r--pkgs/development/compilers/jdk/jdk6-cygwin.nix46
2 files changed, 50 insertions, 2 deletions
diff --git a/pkgs/development/compilers/jdk/default.nix b/pkgs/development/compilers/jdk/default.nix
index 6738c8366b4..547833c15cd 100644
--- a/pkgs/development/compilers/jdk/default.nix
+++ b/pkgs/development/compilers/jdk/default.nix
@@ -1,9 +1,11 @@
 args:
 
 if args.stdenv.system == "i686-linux" || args.stdenv.system == "x86_64-linux" then
-  (import ./jdk6-linux.nix) args
+  (import ./jdk6-linux.nix) ( removeAttrs args ["cabextract"] )
 else if args.stdenv.system == "powerpc-linux" then
-  (import ./jdk5-ibm-powerpc-linux.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk"])
+  (import ./jdk5-ibm-powerpc-linux.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk" "cabextract"])
+else if args.stdenv.system == "i686-cygwin" then
+  (import ./jdk6-cygwin.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk" "xlibs"])
 else
   abort "the JDK is not supported on this platform"
 
diff --git a/pkgs/development/compilers/jdk/jdk6-cygwin.nix b/pkgs/development/compilers/jdk/jdk6-cygwin.nix
new file mode 100644
index 00000000000..766151dfe6b
--- /dev/null
+++ b/pkgs/development/compilers/jdk/jdk6-cygwin.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchurl
+, unzip
+, cabextract
+, ...
+}:
+
+assert stdenv.system == "i686-cygwin";
+
+stdenv.mkDerivation rec {
+  name = "jdk-1.6.0_20";
+
+  src = fetchurl {
+    url = file:///tmp/jdk-6u20-windows-i586.exe ;
+    sha256 = "0w4afz8a9gi1iyhh47gvhiy59dfrzx0fnmywdff3v5cx696w25fh";
+  };
+
+  buildInputs = [unzip cabextract]; 
+
+  buildCommand = ''
+    cabextract ${src}
+    mkdir -p $out
+    unzip -d $out tools.zip
+    find $out -name '*.exe' | xargs chmod a+x 
+    find $out -name '*.dll' | xargs chmod a+x 
+
+    cd $out
+    $out/bin/unpack200.exe ./jre/lib/jsse.pack ./jre/lib/jsse.jar
+    $out/bin/unpack200.exe ./jre/lib/javaws.pack ./jre/lib/javaws.jar
+    $out/bin/unpack200.exe ./jre/lib/plugin.pack ./jre/lib/plugin.jar
+    $out/bin/unpack200.exe ./jre/lib/charsets.pack ./jre/lib/charsets.jar
+    $out/bin/unpack200.exe ./jre/lib/deploy.pack ./jre/lib/deploy.jar
+    $out/bin/unpack200.exe ./jre/lib/rt.pack ./jre/lib/rt.jar
+    $out/bin/unpack200.exe ./jre/lib/ext/localedata.pack ./jre/lib/ext/localedata.jar
+    $out/bin/unpack200.exe ./lib/tools.pack ./lib/tools.jar
+
+    rm ./jre/lib/jsse.pack \
+       ./jre/lib/javaws.pack \
+       ./jre/lib/plugin.pack \
+       ./jre/lib/charsets.pack \
+       ./jre/lib/deploy.pack \
+       ./jre/lib/rt.pack \
+       ./jre/lib/ext/localedata.pack \
+       ./lib/tools.pack
+  '';
+}