Re: [Nix-dev] Add new binaryRunCheck phase to stdenv?
+1 for this feature i would like also that this would be (if possible) a requirement when we accept new packages. On Sun, Jun 19, 2016 at 2:12 PM, Thomas Hungerwrote: > 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 wrote: >> >> Hi, >> >> So a bit like the installCheckPhase but with more structure? >> >> >> On Sun, 19 Jun 2016, 12:10 Thomas Hunger, 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@lists.science.uu.nl >>> http://lists.science.uu.nl/mailman/listinfo/nix-dev > > > > ___ > nix-dev mailing list > nix-dev@lists.science.uu.nl > http://lists.science.uu.nl/mailman/listinfo/nix-dev > -- Rok Garbas http://www.garbas.si r...@garbas.si ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Add new binaryRunCheck phase to stdenv?
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, zimbatmwrote: > Hi, > > So a bit like the installCheckPhase but with more structure? > > On Sun, 19 Jun 2016, 12:10 Thomas Hunger, 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@lists.science.uu.nl >> http://lists.science.uu.nl/mailman/listinfo/nix-dev >> > ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] Add new binaryRunCheck phase to stdenv?
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@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev