about summary refs log tree commit diff
path: root/pkgs/development/eclipse
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-09-22 14:40:54 +0000
committerLudovic Courtès <ludo@gnu.org>2009-09-22 14:40:54 +0000
commit03043bce332f499c93ad77e4340410d9d3c2bad0 (patch)
treee118f29e1f79784d523d3e6171aee822f99064fa /pkgs/development/eclipse
parenta4af741f8d552d91807e7b21097d4e418b890fb7 (diff)
downloadnixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.tar
nixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.tar.gz
nixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.tar.bz2
nixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.tar.lz
nixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.tar.xz
nixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.tar.zst
nixlib-03043bce332f499c93ad77e4340410d9d3c2bad0.zip
ECJ: Merge the 2 expressions.
svn path=/nixpkgs/trunk/; revision=17354
Diffstat (limited to 'pkgs/development/eclipse')
-rw-r--r--pkgs/development/eclipse/ecj/builder.sh21
-rw-r--r--pkgs/development/eclipse/ecj/default.nix69
2 files changed, 56 insertions, 34 deletions
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 ];
+    };
+  }