[Nix-dev] understanding Nix: dependencies

Vladimír Čunát vcunat at gmail.com
Thu Jan 10 20:26:48 CET 2013


On 01/10/2013 08:07 PM, Shea Levy wrote:
> The long answer is: Currently, the way we build most of our packages the
> build time dependencies (e.g. where do I get my library headers) and the
> run time dependencies (e.g. which library do I link to) are the same, so
> updating the run time dependencies will require a rebuild. There are
> some proposed solutions to take one package built against one version of
> a library and relink it to another without recompiling it (so you still
> need to 'rebuild' the package, but the rebuild is trivial), but a)
> libraries are never as good at compatibility as they claim and b) we've
> found that the cost of recompiling everything isn't actually all that
> high, all things considered. In general, the question of whether and how
> to separate what something was compiled against and what it uses is
> still open, but what we have for now works very well.

I second Shea, only an additional note:

there are external-runtime dependencies (let me call them that), like 
executables from other packages only run when *executing* something in 
the package (like firefox plugins). These can be added via wrappers, so 
in case the external executables are rebuilt you only need to rebuild 
the wrappers (which is trivial) and not the whole package.

Vlada


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3251 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.science.uu.nl/pipermail/nix-dev/attachments/20130110/6e6b6f85/attachment-0001.bin 


More information about the nix-dev mailing list