diff options
author | Artturin <Artturin@artturin.com> | 2023-01-28 12:10:47 +0200 |
---|---|---|
committer | Artturin <Artturin@artturin.com> | 2023-01-28 12:10:47 +0200 |
commit | a0f4e8746d15683d75e590b08334df7faf4c7621 (patch) | |
tree | 276e18bfad6d5642dedf8c4d215241a00bb20d92 /pkgs/test | |
parent | 9c0ac5691c5c8e8902fe5a93599b07e3f21464aa (diff) |
tests.overriding: add repeatedOverrides-pname, repeatedOverrides-entangled-pname
from https://github.com/NixOS/nixpkgs/pull/201734#pullrequestreview-1185972282
Diffstat (limited to 'pkgs/test')
-rw-r--r-- | pkgs/test/overriding.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix index eab710af5afab..edc1b27cf4f1d 100644 --- a/pkgs/test/overriding.nix +++ b/pkgs/test/overriding.nix @@ -11,7 +11,40 @@ let expr = !lib.hasInfix "wrapPythonPrograms" p.postFixup; expected = true; }) + ({ + name = "repeatedOverrides-pname"; + expr = repeatedOverrides.pname == "a-better-hello-with-blackjack"; + expected = true; + }) + ({ + name = "repeatedOverrides-entangled-pname"; + expr = repeatedOverrides.entangled.pname == "a-better-figlet-with-blackjack"; + expected = true; + }) ]; + + addEntangled = origOverrideAttrs: f: + origOverrideAttrs ( + lib.composeExtensions f (self: super: { + passthru = super.passthru // { + entangled = super.passthru.entangled.overrideAttrs f; + overrideAttrs = addEntangled self.overrideAttrs; + }; + }) + ); + + entangle = pkg1: pkg2: pkg1.overrideAttrs (self: super: { + passthru = super.passthru // { + entangled = pkg2; + overrideAttrs = addEntangled self.overrideAttrs; + }; + }); + + example = entangle pkgs.hello pkgs.figlet; + + overrides1 = example.overrideAttrs (_: super: { pname = "a-better-${super.pname}"; }); + + repeatedOverrides = overrides1.overrideAttrs (_: super: { pname = "${super.pname}-with-blackjack"; }); in stdenvNoCC.mkDerivation { |