[Nix-dev] Packaging Bash Scripts

Alexander Foremny alexanderforemny at gmail.com
Fri Aug 31 16:06:01 CEST 2012


Glad that someone is interested in this package. There is a Nixpkgs
branch [1] available until the pull request gets accepted.

Shea, thanks again for your help!

Regards,
Alexander Foremny

[1] https://github.com/aforemny/nixpkgs/tree/plowshare

2012/8/30 Sergey Mironov <ierton at gmail.com>:
> Thanks a lot, I missed this helpful package.
>
> 2012/8/30 Alexander Foremny <alexanderforemny at gmail.com>:
>> Dear Shea,
>>
>> thank you very much. Everything works as expected now.
>>
>> Regards,
>> Alexander Foremny
>>
>> PS. Forwarding to the list. Shea, sorry for the noise.
>>
>> 2012/8/30 Shea Levy <shea at shealevy.com>:
>>> On 08/29/2012 09:20 AM, Alexander Foremny wrote:
>>>>
>>>> Hello Shea,
>>>>
>>>> thank you very much for your response! I modified my Nix expression
>>>> [1]. Is this correct?
>>>
>>>
>>> It looks like you forget to specify what to set $PATH to, I think you need
>>> to specify ${curl}/bin or some such
>>>
>>>
>>>> Is there a way to test if things are actually working? Apparently I
>>>> cannot remove curl from my profile.
>>>
>>>
>>> If you check the resultant binary (it will be a shell script if created with
>>> wrapProgram), you should see $PATH getting set (or augmented) with the
>>> relevant path.
>>>
>>>
>>>>> $ nix-env -e curl
>>>>> $ curl --help
>>>>> Usage: curl [options...]<url>
>>>>> ...
>>>>
>>>> The commands above prints curl's help text which I did not expect.
>>>>
>>>> Regards,
>>>> Alexander Foremny
>>>>
>>>> [1]
>>>> https://github.com/aforemny/nixpkgs/blob/aed5c366944b98624411c5551f2d43becafdf44d/pkgs/tools/misc/plowshare/default.nix
>>>>
>>>> 2012/8/29 Shea Levy<shea at shealevy.com>:
>>>>>
>>>>> Hi Alexander,
>>>>>
>>>>>
>>>>> On 08/29/2012 05:27 AM, Alexander Foremny wrote:
>>>>>>
>>>>>> Hello list,
>>>>>>
>>>>>> I am currently trying to create a Nix expression for plowshare [1]. I
>>>>>> got a working version [2] already, since installation is quite
>>>>>> straight forward. However, as mentioned in the pull request I am
>>>>>> worrying about purity.
>>>>>>
>>>>>> In particular the Bash script calls the curl binary. The first
>>>>>> observation is that running one of plowshare's executables the curl
>>>>>> binary is being found correctly. I think this is because curl is
>>>>>> available in my PATH.
>>>>>>
>>>>>>> $ which curl
>>>>>>> ~/.nix-profile/bin/curl
>>>>>>
>>>>>> I would have expected that this wouldn't be the case if I had removed
>>>>>> curl from my environment. However, the following still yields the same
>>>>>> result.
>>>>>>
>>>>>>> $ nix-env -e curl
>>>>>>> $ which curl
>>>>>>> ~/.nix-profile/bin/curl
>>>>>>
>>>>>> This also arises in a newly created shell and I can also execute the
>>>>>> curl binary. I am guessing that curl is some kind of NixOS' standard
>>>>>> environment. Is this correct?
>>>>>>
>>>>>> Is it considered an impurity that plowshare finds curl without
>>>>>> depending on curl's derivation? If this is the case, is this impurity
>>>>>> introduced by NixOS or by the Nix expression?
>>>>>
>>>>>
>>>>> It's an impurity in plowshare's nix expression.
>>>>>
>>>>>
>>>>>> If this is an issue, how would I solve it? Should I patch plowshare's
>>>>>> Bash scripts to refer to the curl's derivation instead of `which
>>>>>> curl`? Or even better, is there a wrapper for this kind of programs
>>>>>> already?
>>>>>
>>>>>
>>>>> wrapProgram (available if you add makeWrapper to buildInputs) is probably
>>>>> what you want. An example of how it can be used is at
>>>>>
>>>>> https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/taxes/aangifte-2011/default.nix#L30
>>>>>
>>>>>> Regards,
>>>>>> Alexander Foremny
>>>>>>
>>>>>> [1] http://code.google.com/p/plowshare/
>>>>>> [2] https://github.com/NixOS/nixpkgs/pull/117
>>>>>> _______________________________________________
>>>>>> nix-dev mailing list
>>>>>> nix-dev at lists.science.uu.nl
>>>>>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>>>>
>>>>>
>>>
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev


More information about the nix-dev mailing list