nixpkgs: remove ancient 'ecj' package

Nobody has stepped up to keep maintaining this and it's several
years old, and the last strict Java 7 dependency, as it won't work
with newer versions without an update.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
This commit is contained in:
Austin Seipp 2018-03-29 21:22:16 -05:00
parent ebbf7078e2
commit dc40fca23f
3 changed files with 1 additions and 71 deletions

View file

@ -62,16 +62,7 @@ depending on the JDK at runtime.</para>
<para>It is possible to use a different Java compiler than
<command>javac</command> from the OpenJDK. For instance, to use the
Eclipse Java Compiler:
<programlisting>
buildInputs = [ jre ant ecj ];
</programlisting>
(Note that here you dont need the full JDK as an input, but just the
JRE.) The ECJ has a stdenv setup hook that sets some environment
variables to cause Ant to use ECJ, but this doesnt work with all Ant
files. Similarly, you can use the GNU Java Compiler:
GNU Java Compiler:
<programlisting>
buildInputs = [ gcj ant ];

View file

@ -1,59 +0,0 @@
{ stdenv, fetchurl, unzip, ant, jdk7, makeWrapper }:
let
version = "3.7.2";
date = "201202080800";
in
stdenv.mkDerivation rec {
name = "ecj-${version}";
src = fetchurl {
url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
};
buildInputs = [ unzip ant jdk7 makeWrapper ];
unpackPhase = ''
mkdir "${name}"
cd "${name}"
unzip "$src"
'';
# Use whatever compiler Ant knows.
buildPhase = "ant build";
installPhase = ''
mkdir -pv $out/share/java
cp -v *.jar $out/share/java
mkdir -pv $out/bin
makeWrapper ${jdk7.jre}/bin/java $out/bin/ecj \
--add-flags "-cp $out/share/java/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main"
# Add a setup hook that causes Ant to use the ECJ.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
export NIX_ANT_ARGS="-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter \$NIX_ANT_ARGS"
EOF
'';
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 = stdenv.lib.licenses.epl10;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}

View file

@ -7332,8 +7332,6 @@ with pkgs;
sourceFromHead = callPackage ../build-support/source-from-head-fun.nix {};
ecj = callPackage ../development/eclipse/ecj { };
jruby = callPackage ../development/interpreters/jruby { };
jython = callPackage ../development/interpreters/jython {};