From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH]: Add Ant. Date: Sat, 07 Feb 2015 23:55:49 +0100 Message-ID: <87fvahz5ze.fsf@gnu.org> References: <87r3u44jwg.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKEI8-0000jU-VB for guix-devel@gnu.org; Sat, 07 Feb 2015 17:55:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YKEI4-0004Oq-MC for guix-devel@gnu.org; Sat, 07 Feb 2015 17:55:56 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49746) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKEI4-0004Ol-Iv for guix-devel@gnu.org; Sat, 07 Feb 2015 17:55:52 -0500 In-Reply-To: (Ricardo Wurmus's message of "Fri, 6 Feb 2015 16:51:45 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: guix-devel Ricardo Wurmus 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 =E2=80=98ant=E2=80=99 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 Date: Fri Jan 3 13:29:06 2014 +0100 ant: Update to 1.9.3 =20=20=20=20 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 =20=20=20=20 buildInputs =3D [ ant ]; =20=20=20=20 you now need to write something like =20=20=20=20 buildInputs =3D [ 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 =E2=80=98ant=E2=80=99 launcher script: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/build= -managers/apache-ant/default.nix HTH, Ludo=E2=80=99.