diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-09 13:06:51 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-09 13:06:51 +0100 |
commit | 113265b6d3e160430d22529867ca68c6804f0873 (patch) | |
tree | 92f96a9502748d24117f9e1780461b6b84310f1e /pkgs | |
parent | 16e626a80dd98f10622c6004415efdf2658a298c (diff) | |
download | nixlib-113265b6d3e160430d22529867ca68c6804f0873.tar nixlib-113265b6d3e160430d22529867ca68c6804f0873.tar.gz nixlib-113265b6d3e160430d22529867ca68c6804f0873.tar.bz2 nixlib-113265b6d3e160430d22529867ca68c6804f0873.tar.lz nixlib-113265b6d3e160430d22529867ca68c6804f0873.tar.xz nixlib-113265b6d3e160430d22529867ca68c6804f0873.tar.zst nixlib-113265b6d3e160430d22529867ca68c6804f0873.zip |
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).
Diffstat (limited to 'pkgs')
4 files changed, 22 insertions, 114 deletions
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 <<EOF -#!/bin/sh -opts="-C" -echo 'running \`gcj '"\$opts \$@'..." -exec "$(type -P gcj)" \$opts \$@ -EOF - chmod +x javac - ln -sv $(type -P gij) java - export PATH="$PWD:$PATH" - - cd ../.. - export JAVA_HOME="$PWD/tool-aliases" - - # Make JUnit visible. - export CLASSPATH="$(find ${junit} -name \*.jar -printf "%p:")" - ''; - - # Note: We don't build the javadoc. - buildPhase = '' - mkdir -p "$out" - ./build.sh -Dant.install="$out" install-lite - ''; - - installPhase = '' - # Actually, everything is already installed at this point, so we just - # rearrange a few things. - rm -v "$out/bin/"*.bat - - mkdir -p "$out/lib/java" - mv -v "$out/lib/"*.jar "$out/lib/java" - sed -i "$out/bin/ant" \ - -e "s|^ANT_LIB=.*$|ANT_LIB=$out/lib/java|g ; - s|JAVACMD=java.*$|JAVACMD=${gcj}/lib/jvm/bin/java|g ; - /^ant_exec_command/i export ANT_HOME=$out" - ''; - - meta = { - description = "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. - ''; - - homepage = http://ant.apache.org/; - - license = "APLv2"; - - maintainers = [ ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice - }; -} diff --git a/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch b/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch deleted file mode 100644 index db82d3ba689e..000000000000 --- a/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch +++ /dev/null @@ -1,18 +0,0 @@ -Setting `java.compiler' or `build.compiler' in `build.properties' isn't enough. - ---- apache-ant-1.7.1/build.xml 2008-06-27 07:05:23.000000000 +0200 -+++ apache-ant-1.7.1/build.xml 2009-09-24 15:10:53.000000000 +0200 -@@ -578,12 +578,7 @@ - classname="com.jcraft.jsch.Session" - classpathref="classpath"/> - -- <condition property="build.compiler" value="classic"> -- <not> -- <isset property="jdk1.3+"/> -- </not> -- </condition> -- <property name="build.compiler" value="modern"/> -+ <property name="build.compiler" value="gcj"/> - - <!--check for XSD support in the parser--> - <condition property="xmlschema.present"> 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; }; |