all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH]: Add Ant.
Date: Sat, 07 Feb 2015 23:55:49 +0100	[thread overview]
Message-ID: <87fvahz5ze.fsf@gnu.org> (raw)
In-Reply-To: <idjsiej6nse.fsf@bimsb-sys02.mdc-berlin.net> (Ricardo Wurmus's message of "Fri, 6 Feb 2015 16:51:45 +0100")

Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> 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 <eelco.dolstra@logicblox.com>
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’.

  reply	other threads:[~2015-02-07 22:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-30 16:04 [PATCH]: Add Ant Ricardo Wurmus
2015-01-30 16:21 ` Ricardo Wurmus
2015-02-05 12:34   ` Ludovic Courtès
2015-02-06 15:51     ` Ricardo Wurmus
2015-02-07 22:55       ` Ludovic Courtès [this message]
2015-02-09 14:51         ` Ricardo Wurmus
2015-02-15 15:40           ` Andreas Enge
2015-02-15 16:13             ` Ricardo Wurmus
2015-02-15 16:21               ` Andreas Enge
2015-02-16 16:38               ` Ricardo Wurmus
2015-02-16 17:08                 ` Andreas Enge
2015-02-05 12:32 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fvahz5ze.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ricardo.wurmus@mdc-berlin.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.