Skip to content

Commit

Permalink
python-packages-base: use extends instead of overrideAttrs
Browse files Browse the repository at this point in the history
  • Loading branch information
Artturin committed Dec 17, 2022
1 parent 20c596c commit 8dcf2d3
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions pkgs/development/interpreters/python/python-packages-base.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,16 @@ let
makeOverridablePythonPackage = f: origArgs:
let
ff = f origArgs;
args = lib.fix (lib.extends
(_: previousAttrs: {
passthru = (previousAttrs.passthru or { }) // {
overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs);
};
})
(_: origArgs));
overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs);
in
if builtins.isAttrs ff then ff.overrideAttrs (previousAttrs: { passthru = (previousAttrs.passthru or {}) // {
overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs);
};})
if builtins.isAttrs ff then f args
else if builtins.isFunction ff then {
overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs);
__functor = self: ff;
Expand Down

0 comments on commit 8dcf2d3

Please sign in to comment.