[Nix-dev] [Want to commit this week] deepOverride replacement when callPackage is used

Eelco Dolstra e.dolstra at tudelft.nl
Fri Sep 3 12:46:35 CEST 2010


Hi,

On 09/03/2010 11:02 AM, Michael Raskin wrote:

> There are problems with multiple glib's - or even with some packages
> getting always the wrong glib.

Ah, now I see your problem - callPackage doesn't use the overriden packages.
I've committed a fix (r23613) that does part two of your solution (move
callPackage etc. inside pkgsFun) and adds a function `applyGlobalOverrides'.
For instance, to build Thunderbird 3 with an older Glib, you can say:

  thunderbird3 =
    let
      pkgs = applyGlobalOverrides (pkgsOrig:
        { gtkLibs220 = pkgsOrig.gtkLibs220 //
            { glib = pkgsOrig.gtkLibs218.glib; };
        });
    in
      pkgs.callPackage .../thunderbird/3.x.nix {
        inherit (pkgs.gnome) libIDL;
      };

The first part of your solution is not necessary, I think.

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/



More information about the nix-dev mailing list