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

Thomas Hunger tehunger at gmail.com
Sun Jun 19 13:09:57 CEST 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20160619/e131d741/attachment.html>


More information about the nix-dev mailing list