Merge branch 'master' into improved-make-overridable

This commit is contained in:
Will Fancher
2017-08-26 11:39:13 -04:00
3457 changed files with 64462 additions and 45322 deletions
@@ -1,20 +1,36 @@
# This expression takes a file like `hackage-packages.nix` and constructs
# a full package set out of that.
# required dependencies:
{ pkgs, stdenv, all-cabal-hashes }:
{ # package-set used for non-haskell dependencies (all of nixpkgs)
pkgs
# arguments:
# * ghc package to use
# * package-set: a function that takes { pkgs, stdenv, callPackage } as first arg and `self` as second
# * extensible-self: the final, fully overriden package set usable with the nixpkgs fixpoint overriding functionality
{ ghc, package-set, extensible-self }:
, # stdenv to use for building haskell packages
stdenv
, haskellLib
, # hashes for downloading Hackage packages
all-cabal-hashes
, # compiler to use
ghc
, # A function that takes `{ pkgs, stdenv, callPackage }` as the first arg and `self`
# as second, and returns a set of haskell packages
package-set
, # The final, fully overriden package set usable with the nixpkgs fixpoint
# overriding functionality
extensible-self
}:
# return value: a function from self to the package set
self: let
self:
let
inherit (stdenv.lib) fix' extends makeOverridable callPackageWith;
inherit (import ./lib.nix { inherit pkgs; }) overrideCabal;
inherit (haskellLib) overrideCabal;
mkDerivationImpl = pkgs.callPackage ./generic-builder.nix {
inherit stdenv;