Branch: refs/heads/haskell-fix-override Home: https://github.com/NixOS/nixpkgs Commit: 84e7bb130e977cab208bb758256881c519a6bdeb https://github.com/NixOS/nixpkgs/commit/84e7bb130e977cab208bb758256881c519a6bdeb Author: Benno Fünfstück <benno.fuenfstu...@gmail.com> 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 nix-comm...@lists.science.uu.nl https://mailman.science.uu.nl/mailman/listinfo/nix-commits