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

2016-06-20 Thread Rok Garbas
+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 Hunger  wrote:
> 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?

2016-06-19 Thread Thomas Hunger
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


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

2016-06-19 Thread Thomas Hunger
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