[Nix-dev] Re: Which is the best way to pass dependencies?

Marc Weber marco-oweber at gmx.de
Tue May 20 20:08:01 CEST 2008


> I don't quite get this. envHooks are called on all propagatedBuildInputs anyway,
> so it seems easier to add all of them. So I'm in favour of (a variant of) B1.

A - > B ->  C  -> E -> ...
  `-> D -> `

I agree it might be better to just put the the packagdb.install into
nix-support

So in this example:

/nix/store/*-A/nix-support/packagdb contains contents of A

variant B1:
        /nix/store/*-B/nix-support/packagdb contains contents of B
        /nix/store/*-D/nix-support/packagdb contains contents of D
        /nix/store/*-C/nix-support/packagdb contains contents of C
E needs to know about A-D using propaged buildinputs

variant B2:
        /nix/store/*-B/nix-support/packagdb contains contents of A,B
        /nix/store/*-D/nix-support/packagdb contains contents of A,D
        /nix/store/*-C/nix-support/packagdb contains contents of A,B,D,C
E only needs to know about C, because the package db of C also contains A-D

using B1 the duplication of A is removed in all depending packages of C
or E or ...
using B2 this duplication is only removed once and forall

Does the env builder script extension (to be written)
know about propagated build inputs?

Minor question:
Some packages contain executables (HaXmL contains Xtract)
When should these be installed?
In the dep graph given above if B were HaXmL should Xtract be installed
when installing C or E ?

Marc Weber



More information about the nix-dev mailing list