Branch: refs/heads/haskell-fix-override
Home: https://github.com/NixOS/nixpkgs
Commit: f207ff393ac7cf464e45babd063904537ead93e0
https://github.com/NixOS/nixpkgs/commit/f207ff393ac7cf464e45babd063904537ead93e0
Author: Benno Fünfstück <[email protected]>
Date: 2017-04-24 (Mon, 24 Apr 2017)
Changed paths:
M pkgs/development/haskell-modules/make-package-set.nix
Log Message:
-----------
haskell: preserve overrideScope on override
We want code such as `(pkg.override {}).overrideScope (self: super: {})` to
work. This didn't work before, since `override` will call the original package
again, and the attribute `overideScope`, which `callPackageWithScope` added,
wasn't added again. The fix for this is to modify the package function itself
to include the `callPackageWithScope` attribute, so it'll be re-added whenever
the function is overriden for with arguments.
There is a small problem here though: since callPackage uses some magic
(`builtins.functionArgs`) to determine the auto-arguments of a function, we
can't just write `callPackageWith scope drvScope`, since
`builtins.functionArgs drvScope` will be `{}`. To fix this, we implement our own
`callPackageWith`.
fixes NixOS/nixpkgs#7953
_______________________________________________
nix-commits mailing list
[email protected]
https://mailman.science.uu.nl/mailman/listinfo/nix-commits