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
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev