@@ -1,7 +1,7 @@
{ lib }:
let
inherit (builtins) attrNames isFunction ;
inherit (builtins) attrNames;
in
@@ -72,7 +72,7 @@ rec {
makeOverridable = f: origArgs:
let
ff = f origArgs;
overrideWith = newArgs: origArgs // (if builtins .isFunction newArgs then newArgs origArgs else newArgs);
overrideWith = newArgs: origArgs // (if lib .isFunction newArgs then newArgs origArgs else newArgs);
in
if builtins.isAttrs ff then (ff // {
override = newArgs: makeOverridable f (overrideWith newArgs);
@@ -81,7 +81,7 @@ rec {
${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv:
makeOverridable (args: (f args).overrideAttrs fdrv) origArgs;
})
else if builtins .isFunction ff then {
else if lib .isFunction ff then {
override = newArgs: makeOverridable f (overrideWith newArgs);
__functor = self: ff;
overrideDerivation = throw "overrideDerivation not yet supported for functors";
@@ -112,8 +112,8 @@ rec {
*/
callPackageWith = autoArgs: fn: args:
let
f = if builtins .isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (builtins .functionArgs f) autoArgs;
f = if lib .isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (lib .functionArgs f) autoArgs;
in makeOverridable f (auto // args);
@@ -122,8 +122,8 @@ rec {
individual attributes. */
callPackagesWith = autoArgs: fn: args:
let
f = if builtins .isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (builtins .functionArgs f) autoArgs;
f = if lib .isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (lib .functionArgs f) autoArgs;
origArgs = auto // args;
pkgs = f origArgs;
mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs;