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).
This commit is contained in:
parent
16e626a80d
commit
113265b6d3
@ -81,6 +81,28 @@ stdenv.mkDerivation {
|
|||||||
meta = {
|
meta = {
|
||||||
homepage = http://ant.apache.org/;
|
homepage = http://ant.apache.org/;
|
||||||
description = "A Java-based build tool";
|
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;
|
license = stdenv.lib.licenses.asl20;
|
||||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
@ -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
|
|
||||||
};
|
|
||||||
}
|
|
@ -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">
|
|
@ -3444,11 +3444,6 @@ let
|
|||||||
|
|
||||||
apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
|
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 { };
|
astyle = callPackage ../development/tools/misc/astyle { };
|
||||||
|
|
||||||
autobuild = callPackage ../development/tools/misc/autobuild { };
|
autobuild = callPackage ../development/tools/misc/autobuild { };
|
||||||
@ -5558,7 +5553,6 @@ let
|
|||||||
redland = pkgs.librdf_redland;
|
redland = pkgs.librdf_redland;
|
||||||
|
|
||||||
rhino = callPackage ../development/libraries/java/rhino {
|
rhino = callPackage ../development/libraries/java/rhino {
|
||||||
ant = apacheAntGcj;
|
|
||||||
javac = gcj;
|
javac = gcj;
|
||||||
jvm = gcj;
|
jvm = gcj;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user