[Nix-dev] Add new binaryRunCheck phase to stdenv?

Thomas Hunger tehunger at gmail.com
Sun Jun 19 14:12:48 CEST 2016


Yea! I think another difference would be that installCheckPhase usually
comes from upstream, and binaryRunChecks would be nix-specific.

On 19 June 2016 at 12:32, zimbatm <zimbatm at zimbatm.com> wrote:

> Hi,
>
> So a bit like the installCheckPhase but with more structure?
>
> On Sun, 19 Jun 2016, 12:10 Thomas Hunger, <tehunger at gmail.com> wrote:
>
>> Hi,
>>
>> One problem I encounter not very often, but often enough to be annoyed by
>> it is that binaries build successfully but don't actually run due to some
>> missing run time dependency ( template, LD_PRELOAD, a dependency that
>> should have been in propagatedBuildInputs, ..)
>>
>> We have a "Tested execution of all binary files" entry in our PR
>> templates - how about we formalize it with an optional extra build step in
>> [1]?
>>
>> It could look like this:
>>
>>   binaryRunChecks = [
>>     { run = "bin/totem --help"; prefix = "Usage:\n  totem [OPTION…]"; }
>>   ];
>>
>>   binaryRunChecks = [
>>     { run = "bin/ipython --help"; prefix = "=========\n
>> IPython\n========="; }
>>     ...
>>   ];
>>
>> The idea is that checking a prefix of the output is almost always good
>> enough to know whether a program can be run.
>>
>> I think this is pretty easy technically but does require a full rebuild.
>>
>> What do you think?
>>
>> ~
>>
>> [1]
>>
>> https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L823
>>
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20160619/bd9a563d/attachment-0001.html>


More information about the nix-dev mailing list