From 6d4c13380bfe09885cbb69c4c89c0d5a308704d2 Mon Sep 17 00:00:00 2001
From: Sander van der Burg <s.vanderburg@tudelft.nl>
Date: Wed, 13 Feb 2008 08:43:38 +0000
Subject: [PATCH] Added google webtoolkit

svn path=/nixpkgs/trunk/; revision=10653
---
 pkgs/development/compilers/gwt/builder.sh  | 33 ++++++++++++++++++++++
 pkgs/development/compilers/gwt/default.nix | 14 +++++++++
 pkgs/top-level/all-packages.nix            |  7 +++++
 3 files changed, 54 insertions(+)
 create mode 100644 pkgs/development/compilers/gwt/builder.sh
 create mode 100644 pkgs/development/compilers/gwt/default.nix

diff --git a/pkgs/development/compilers/gwt/builder.sh b/pkgs/development/compilers/gwt/builder.sh
new file mode 100644
index 000000000000..f21b521382b9
--- /dev/null
+++ b/pkgs/development/compilers/gwt/builder.sh
@@ -0,0 +1,33 @@
+source $stdenv/setup
+
+tar xfvj $src
+ensureDir $out
+cp -av $name $out
+
+# Create wrapper scripts so that the GWT compiler/host work
+
+libPath="$libstdcpp5/lib:$glib/lib:$gtk/lib:$atk/lib:$pango/lib:$libX11/lib:$libXt/lib:$out/$name/mozilla-1.7.12"
+
+ensureDir $out/bin
+
+cat > $out/bin/gwt-compile <<EOF
+#!/bin/sh
+
+export LD_LIBRARY_PATH=$libPath
+export APPDIR=\`dirname \$0\`
+export LIBXCB_ALLOW_SLOPPY_LOCK=1 # Workaround for bug in Java AWT implementation
+
+java  -cp "\$APPDIR/src:\$APPDIR/bin:$out/$name/gwt-user.jar:$out/$name/gwt-dev-linux.jar" com.google.gwt.dev.GWTCompiler -out "\$APPDIR/www" $@
+EOF
+chmod 755 $out/bin/gwt-compile
+
+cat > $out/bin/gwt-shell <<EOF
+#!/bin/sh
+
+export LD_LIBRARY_PATH=$libPath
+export APPDIR=\`dirname \$0\`
+export LIBXCB_ALLOW_SLOPPY_LOCK=1 # Workaround for bug in Java AWT implementation
+
+java  -cp "\$APPDIR/src:\$APPDIR/bin:$out/$name/gwt-user.jar:$out/$name/gwt-dev-linux.jar" com.google.gwt.dev.GWTShell -out "\$APPDIR/www" $@
+EOF
+chmod 755 $out/bin/gwt-shell
diff --git a/pkgs/development/compilers/gwt/default.nix b/pkgs/development/compilers/gwt/default.nix
new file mode 100644
index 000000000000..50f05e814193
--- /dev/null
+++ b/pkgs/development/compilers/gwt/default.nix
@@ -0,0 +1,14 @@
+{stdenv, fetchurl, glib, gtk, pango, atk, libX11, libXt, libstdcpp5}:
+
+stdenv.mkDerivation {
+  name = "gwt-linux-1.4.61";
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = http://google-web-toolkit.googlecode.com/files/gwt-linux-1.4.61.tar.bz2;
+    md5 = "5aa5d630716817f7cf22dc2a36c0fcbd";
+  };
+
+  inherit glib gtk pango atk libX11 libXt libstdcpp5;
+  buildInputs = [glib gtk pango atk libX11 libXt libstdcpp5];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d301c2f8dd97..f2b9fe3630c1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1407,6 +1407,13 @@ rec {
       libraries = [];
     };
   */
+  
+  gwt = import ../development/compilers/gwt {
+    inherit stdenv fetchurl;
+    inherit (gtkLibs) glib gtk pango atk;
+    inherit (xlibs) libX11 libXt;
+    libstdcpp5 = gcc33.gcc;
+  };
 
   helium = import ../development/compilers/helium {
     inherit fetchurl stdenv;