From 113265b6d3e160430d22529867ca68c6804f0873 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 9 Jan 2014 13:06:51 +0100 Subject: [PATCH] apacheAntGcj: Remove No need to keep two different versions of Ant around. The default Ant works fine with GCJ (and doesn't pull in OpenJDK). --- .../build-managers/apache-ant/default.nix | 22 +++++ .../build-managers/apache-ant/from-source.nix | 90 ------------------- .../build-managers/apache-ant/use-gcj.patch | 18 ---- pkgs/top-level/all-packages.nix | 6 -- 4 files changed, 22 insertions(+), 114 deletions(-) delete mode 100644 pkgs/development/tools/build-managers/apache-ant/from-source.nix delete mode 100644 pkgs/development/tools/build-managers/apache-ant/use-gcj.patch diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix index 97483e2a016d..19c664c2ea7e 100644 --- a/pkgs/development/tools/build-managers/apache-ant/default.nix +++ b/pkgs/development/tools/build-managers/apache-ant/default.nix @@ -81,6 +81,28 @@ stdenv.mkDerivation { meta = { homepage = http://ant.apache.org/; description = "A Java-based build tool"; + + longDescription = '' + Apache Ant is a Java-based build tool. In theory, it is kind of like + Make, but without Make's wrinkles. + + Why another build tool when there is already make, gnumake, nmake, jam, + and others? Because all those tools have limitations that Ant's + original author couldn't live with when developing software across + multiple platforms. Make-like tools are inherently shell-based -- they + evaluate a set of dependencies, then execute commands not unlike what + you would issue in a shell. This means that you can easily extend + these tools by using or writing any program for the OS that you are + working on. However, this also means that you limit yourself to the + OS, or at least the OS type such as Unix, that you are working on. + + Ant is different. Instead of a model where it is extended with + shell-based commands, Ant is extended using Java classes. Instead of + writing shell commands, the configuration files are XML-based, calling + out a target tree where various tasks get executed. Each task is run + by an object that implements a particular Task interface. + ''; + license = stdenv.lib.licenses.asl20; maintainers = [ stdenv.lib.maintainers.eelco ]; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/development/tools/build-managers/apache-ant/from-source.nix b/pkgs/development/tools/build-managers/apache-ant/from-source.nix deleted file mode 100644 index 14213415ff84..000000000000 --- a/pkgs/development/tools/build-managers/apache-ant/from-source.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ stdenv, fetchurl, gcj, junit }: - -let version = "1.7.1"; in - -/* TODO: Once we have Icedtea, use this Nix expression to build Ant with - Sun's javac. */ - -stdenv.mkDerivation { - name = "ant-gcj-${version}"; - - src = fetchurl { - url = "mirror://apache/ant/source/apache-ant-${version}-src.tar.bz2"; - sha256 = "19pvqvgkxgpgsqm4lvbki5sm0z84kxmykdqicvfad47gc1r9mi2d"; - }; - - patches = [ ./use-gcj.patch ]; - - buildInputs = [ gcj junit ]; - - configurePhase = '' - mkdir -p "tool-aliases/bin" - cd "tool-aliases/bin" - cat > javac < - -- -- -- -- -- -- -+ - - - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c038b38acf7a..0f0bf7ea1b99 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3444,11 +3444,6 @@ let apacheAnt = callPackage ../development/tools/build-managers/apache-ant { }; - apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix { - # must be either pre-built or built with GCJ *alone* - gcj = gcj.gcc; # use the raw GCJ, which has ${gcj}/lib/jvm - }; - astyle = callPackage ../development/tools/misc/astyle { }; autobuild = callPackage ../development/tools/misc/autobuild { }; @@ -5558,7 +5553,6 @@ let redland = pkgs.librdf_redland; rhino = callPackage ../development/libraries/java/rhino { - ant = apacheAntGcj; javac = gcj; jvm = gcj; };