[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH]: Add Ant.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH]: Add Ant. |
Date: |
Sat, 07 Feb 2015 23:55:49 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Ricardo Wurmus <address@hidden> skribis:
>>> * to use Ant without problems ANT_HOME and JAVA_HOME really should be
>>> set appropriately (ANT_HOME to $out of the ant-minimal package,
>>> JAVA_HOME to $out of icedtea6). Should I suggest these two paths as
>>> search paths by adding something like this to ant-minimal (for
>>> ANT_HOME) and icedtea6 (for JAVA_HOME)?
>>>
>>> (native-search-paths
>>> (list (search-path-specification
>>> (variable "ANT_HOME")
>>> (files '(".")))))
>>
>> Since Ant is generally used via the ‘ant’ command (AIUI), what about
>> wrapping that command so that ANT_HOME and JAVA_HOME are set
>> appropriately?
>
> According to the docs[1],
>
> "ANT_HOME is used by the launcher script for finding the
> libraries. JAVA_HOME is used by the launcher for finding the
> JDK/JRE to use."
>
> So, it would indeed make sense to modify the "launcher script"
> (whichever this is, probably "ant") to set ANT_HOME before continuing.
> I'm not a Java person, though, so I don't know if this is considered
> bad.
I think this would be fine.
> JAVA_HOME, however, probably should not be set. After all, Ant works
> with different JDK/JRE versions, not only IcedTea 6.
Right.
> I even wonder if we should make icedtea6 a build-time input only to
> compile the libraries, so that one would not need to have icedtea6
> installed at all. Or should there be multiple variants of Java packages
> akin to what we do with Python modules? I must admit that I find this
> rather confusing. How closely do we have to tie Java applications /
> libraries to a particular version of the JDK? Are there any insights
> you could share about how it's done in Nix?
This commit from Nixpkgs gives some insight:
commit 54d172141435d61813666ccb6dbfe8a58a9ce896
Author: Eelco Dolstra <address@hidden>
Date: Fri Jan 3 13:29:06 2014 +0100
ant: Update to 1.9.3
Also, Ant no longer has a build-time dependency on a particular JDK.
It finds the JDK via $JAVA_HOME or $PATH (by looking up javac). This
way, we don't need to have separate packages like apacheAntOpenJDK and
apacheAntOracleJDK. It also seems reasonable: after all, installing
GNU Make doesn't give you a C compiler either. It does mean that
instead of
buildInputs = [ ant ];
you now need to write something like
buildInputs = [ ant jdk ];
However, the Nixpkgs does not actually build Ant; it just reuses
pre-built binaries, which may not be what we want. Also, it produces
its own ‘ant’ launcher script:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/build-managers/apache-ant/default.nix
HTH,
Ludo’.
- Re: [PATCH]: Add Ant., Ludovic Courtès, 2015/02/05
- Re: [PATCH]: Add Ant., Ludovic Courtès, 2015/02/05
- Re: [PATCH]: Add Ant., Ricardo Wurmus, 2015/02/06
- Re: [PATCH]: Add Ant.,
Ludovic Courtès <=
- Re: [PATCH]: Add Ant., Ricardo Wurmus, 2015/02/09
- Re: [PATCH]: Add Ant., Andreas Enge, 2015/02/15
- Re: [PATCH]: Add Ant., Ricardo Wurmus, 2015/02/15
- Re: [PATCH]: Add Ant., Andreas Enge, 2015/02/15
- Re: [PATCH]: Add Ant., Ricardo Wurmus, 2015/02/16
- Re: [PATCH]: Add Ant., Andreas Enge, 2015/02/16