about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/compilers/ecj/default.nix48
-rw-r--r--pkgs/development/eclipse/ecj/builder.sh21
-rw-r--r--pkgs/development/eclipse/ecj/default.nix69
-rw-r--r--pkgs/top-level/all-packages.nix7
4 files changed, 57 insertions, 88 deletions
diff --git a/pkgs/development/compilers/ecj/default.nix b/pkgs/development/compilers/ecj/default.nix
deleted file mode 100644
index ddf30d7d464d..000000000000
--- a/pkgs/development/compilers/ecj/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ fetchurl, stdenv, unzip, ant }:
-
-let
-  version = "3.5";
-  date    = "200906111540";
-in
-  stdenv.mkDerivation rec {
-    name = "ecj-${version}";
-
-    src = fetchurl {
-      url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.zip";
-      sha256 = "0f5xfi0458w31dr4pkvrjh1f9h2hbn7ssq9gnnma6gznj45jvy7k";
-    };
-
-    buildInputs = [ unzip ant ];
-
-    unpackPhase = ''
-      mkdir "${name}"
-      cd "${name}"
-      unzip "$src"
-    '';
-
-    # Use whatever compiler Ant knows.
-    buildPhase = "ant build";
-
-    installPhase = ''
-      mkdir -pv "$out/lib/java"
-      cp -v *.jar "$out/lib/java"
-    '';
-
-    meta = {
-      description = "The Eclipse Compiler for Java (ECJ)";
-
-      longDescription = ''
-        ECJ is an incremental Java compiler.  Implemented as an Eclipse
-        builder, it is based on technology evolved from VisualAge for Java
-        compiler.  In particular, it allows users to run and debug code which
-        still contains unresolved errors.
-      '';
-
-      homepage = http://www.eclipse.org/jdt/core/index.php;
-
-      # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
-      license = "EPLv1.0";
-
-      maintainers = [ stdenv.lib.maintainers.ludo ];
-    };
-  }
diff --git a/pkgs/development/eclipse/ecj/builder.sh b/pkgs/development/eclipse/ecj/builder.sh
deleted file mode 100644
index 85982a6bc33d..000000000000
--- a/pkgs/development/eclipse/ecj/builder.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-source $stdenv/setup
-
-unzip $src
-cd jdtcoresrc
-ant -f compilejdtcorewithjavac.xml
-
-mkdir -p $out/share/ecj
-mv ecj.jar $out/share/ecj
-
-mkdir -p $out/bin
-
-cat >> $out/bin/ecj <<EOF
-#! /bin/sh
-
-export JAVA_HOME=$jre
-export LANG="en_US"
-
-$jre/bin/java -cp $out/share/ecj/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main \$@
-EOF
-
-chmod u+x $out/bin/ecj
diff --git a/pkgs/development/eclipse/ecj/default.nix b/pkgs/development/eclipse/ecj/default.nix
index 44e2a1edd0d3..0998de320c37 100644
--- a/pkgs/development/eclipse/ecj/default.nix
+++ b/pkgs/development/eclipse/ecj/default.nix
@@ -1,13 +1,56 @@
-{stdenv, fetchurl, unzip, ant, jre}: 
-
-stdenv.mkDerivation {
-  name = "ecj-3.1";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse/R-3.1-200506271435/eclipse-sourceBuild-srcIncluded-3.1.zip;
-    md5 = "19ad65d52005da5eaa1d3687b3a50de2";
-  };
-
-  inherit jre;
-  buildInputs = [unzip ant jre];
-}
+{ stdenv, fetchurl, unzip, ant, gcj }:
+
+let
+  version = "3.5";
+  date    = "200906111540";
+in
+  stdenv.mkDerivation rec {
+    name = "ecj-${version}";
+
+    src = fetchurl {
+      url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.zip";
+      sha256 = "0f5xfi0458w31dr4pkvrjh1f9h2hbn7ssq9gnnma6gznj45jvy7k";
+    };
+
+    buildInputs = [ unzip ant gcj ];
+
+    unpackPhase = ''
+      mkdir "${name}"
+      cd "${name}"
+      unzip "$src"
+    '';
+
+    # Use whatever compiler Ant knows.
+    buildPhase = "ant build";
+
+    installPhase = ''
+      mkdir -pv "$out/lib/java"
+      cp -v *.jar "$out/lib/java"
+
+      mkdir -pv "$out/bin"
+      cat > "$out/bin/ecj" <<EOF
+#! /bin/sh
+exec "$(type -P gij)" --cp "$out/lib/java/ecj.jar" org.eclipse.jdt.internal.compiler.batch.Main \$@
+EOF
+
+      chmod u+x "$out/bin/ecj"
+    '';
+
+    meta = {
+      description = "The Eclipse Compiler for Java (ECJ)";
+
+      longDescription = ''
+        ECJ is an incremental Java compiler.  Implemented as an Eclipse
+        builder, it is based on technology evolved from VisualAge for Java
+        compiler.  In particular, it allows users to run and debug code which
+        still contains unresolved errors.
+      '';
+
+      homepage = http://www.eclipse.org/jdt/core/index.php;
+
+      # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
+      license = "EPLv1.0";
+
+      maintainers = [ stdenv.lib.maintainers.ludo ];
+    };
+  }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 27449024f43f..b0a9dbc944a9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -654,11 +654,6 @@ let
     inherit fetchurl stdenv cdrkit m4;
   };
 
-  # FIXME: Remove/merge with `ecj'.
-  ecjNew = import ../development/compilers/ecj {
-    inherit fetchurl stdenv unzip ant;
-  };
-
   enblendenfuse = import ../tools/graphics/enblend-enfuse {
     inherit fetchurl stdenv libtiff libpng lcms libxmi boost;
   };
@@ -2397,7 +2392,7 @@ let
   };
 
   ecj = import ../development/eclipse/ecj {
-    inherit fetchurl stdenv unzip jre ant;
+    inherit fetchurl stdenv unzip ant gcj;
   };
 
   jdtsdk = import ../development/eclipse/jdt-sdk {