diff --git a/pkgs/development/libraries/java/swt/builder.sh b/pkgs/development/libraries/java/swt/builder.sh
index 624b2c86513b..0a2f304801ec 100644
--- a/pkgs/development/libraries/java/swt/builder.sh
+++ b/pkgs/development/libraries/java/swt/builder.sh
@@ -3,6 +3,8 @@ source $stdenv/setup
 unzip $src src.zip
 unzip src.zip
 
+export JAVA_HOME=${jdk}
+echo $JAVA_HOME=${jdk}
 sh ./build.sh make_swt make_atk
 
 ensureDir $out/lib
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index f06f9ff5be9d..311d05d1aad8 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,16 +1,21 @@
-{stdenv, fetchurl, unzip, jdk, pkgconfig, gtk, libXtst}:
+{ stdenv, fetchurl, unzip, jdk, pkgconfig, gtk
+, libXtst
+, libXi
+, mesa
+}:
 
 stdenv.mkDerivation {
-  name = "swt-3.1.1";
+  name = "swt-3.6.1";
   builder = ./builder.sh;
-  
+
   # Alas, the Eclipse Project apparently doesn't produce source-only
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
   src = fetchurl {
-    url = http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.1-200509290840/swt-3.1.1-gtk-linux-x86.zip;
-    md5 = "23dfe5a4a566439c5f526d9ea3b3db1c";
+    url = http://eclipse.ialto.com/eclipse/downloads/drops/R-3.6.1-201009090800/swt-3.6.1-gtk-linux-x86.zip;
+    sha1 = "e629e0b65296b67931f1fce8ab72419818c9747f";
   };
-  
-  buildInputs = [unzip jdk pkgconfig gtk libXtst];
+
+  buildInputs = [unzip jdk pkgconfig gtk libXtst libXi mesa];
+  inherit jdk;
 }