[Nix-dev] Re: warning if trying to install a package but it fails an assert.

Marc Weber marco-oweber at gmx.de
Fri Dec 19 14:43:35 CET 2008


On Fri, Dec 19, 2008 at 02:09:06PM +0100, Ludovic Courtès wrote:
> How would you achieve that?  In the example of Git, does that mean you
> would pass to the Git expression both a `makeSubversion' function *and*
> a "default" `subversion' derivation?
You got it: That's what all the *AndFun stuff is about (initial idea by
Michael Raskin). Simplified it looks like this and I feel its the best
thing we have at the moment to solve these issues:

let defaultArgs = { name= "x"; buildInputs = [ .. ]; meta = ..; }; in

derivation = mkDerivationX (
  defaultArgs // {
    passthru = { fun = overrides : mkDerivationX (defaultArgs // overrides); };
  })

Then you can use both: derivation and derivation.passthru.fun { ... } to
get a derivation.

Have a look at my last post about the composableDerivation. I've tried
writing about more details there.

> It seems much easier to just pass Git a `subversion' derivation that has
> Perl bindings.
I agree on this. If nobody says something against it I'll just enable
perl bindings tomorrow. On the other hand this does solve this problem
but maybe not all of this.

Marc Weber



More information about the nix-dev mailing list