|
From: | Assaf Gordon |
Subject: | Re: Request: add new package to hydra (GNU datamash) |
Date: | Thu, 24 Jul 2014 13:24:06 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
Hello Ludo’, On 07/24/2014 07:47 AM, Ludovic Courtès wrote:
Assaf Gordon <address@hidden> skribis:I previously used "/usr/bin/perl", then "/usr/bin/env perl" - and both failed, so I changed it to just "perl" (assuming it will be in the $PATH) - but to no avail.Yes, in Nix and Guix, packages are stored in directories of their own, so there’s no /usr/bin, /lib, etc. The real file name for Perl here is something like /nix/store/...-perl-5.10/bin/perl. The right thing for the package is to use AC_PATH_PROG([PERL], [perl]) AC_SUBST([PERL]) and then turn the Perl programs into .in template files that use @PERL@ in their shebang. (That’s a good idea in general, anyway.)
Thanks, I'll update the project accordingly. and I've seen someone changed the datamash recipe to include "patchshebang" - which I guess also works-around the problem - thank you for that. Though I have a question: AC_PATH_PROG will search for the executable "perl" on the path. My code used just "perl" - which supposed to work if perl is on the path as well. So what's the difference? how would that work in NixOS ? Example (of old failure, now fixed): http://hydra.nixos.org/build/12569094/nixlog/1/tail-reload The error is: /nix/store/ihmkc7z2wqk3bbipfnlh0yjrlfkkgnv6-bash-4.2-p45/bin/bash: perl: command not found make[2]: *** [datamash.1] Error 127 So if "perl" is not found on the PATH, how would AC_PATH_PROG find it ? Thanks! - Assaf
[Prev in Thread] | Current Thread | [Next in Thread] |