about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/haskell-modules/make-package-set.nix')
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/make-package-set.nix9
1 files changed, 8 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix b/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
index 6b5ecc1df8af..04cbd88989a6 100644
--- a/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
@@ -118,9 +118,10 @@ let
     inherit packages;
   };
 
+  # Use cabal2nix to create a default.nix for the package sources found at 'src'.
   haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
     let
-      sha256Arg = if isNull sha256 then "--sha256=" else ''--sha256="${sha256}"'';
+      sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"'';
     in pkgs.buildPackages.stdenv.mkDerivation {
       name = "cabal2nix-${name}";
       nativeBuildInputs = [ pkgs.buildPackages.cabal2nix ];
@@ -174,8 +175,14 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
 
     inherit (haskellLib) packageSourceOverrides;
 
+    # callHackage :: Text -> Text -> AttrSet -> HaskellPackage
+    #
+    # e.g., while overriding a package set:
+    #    '... foo = self.callHackage "foo" "1.5.3" {}; ...'
     callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
 
+    # callHackageDirect :: Text -> Text -> AttrSet -> HaskellPackage
+    #
     # This function does not depend on all-cabal-hashes and therefore will work
     # for any version that has been released on hackage as opposed to only
     # versions released before whatever version of all-cabal-hashes you happen