diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/stdenv/generic/make-derivation.nix | 2 | ||||
-rw-r--r-- | pkgs/test/overriding.nix | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 40ad357739b7..d3593b6e8092 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -41,7 +41,7 @@ let else x; in makeDerivationExtensible - (self: let super = rattrs self; in super // f self super); + (self: let super = rattrs self; in super // (if builtins.isFunction f0 || f0?__functor then f self super else f0)); finalPackage = mkDerivationSimple overrideAttrs args; diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix index edc1b27cf4f1..7838f637f313 100644 --- a/pkgs/test/overriding.nix +++ b/pkgs/test/overriding.nix @@ -21,6 +21,11 @@ let expr = repeatedOverrides.entangled.pname == "a-better-figlet-with-blackjack"; expected = true; }) + ({ + name = "overriding-using-only-attrset"; + expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname == "hello-overriden"; + expected = true; + }) ]; addEntangled = origOverrideAttrs: f: |