summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorSilvan Mosberger <infinisil@icloud.com>2019-05-16 18:48:40 +0200
committerGitHub <noreply@github.com>2019-05-16 18:48:40 +0200
commit6c13c0f4edfe233b1f5345d0310265f2217f47ec (patch)
treeff2d2db1cb9452f3add048227f0b75cc4dc1b54a /pkgs/development/haskell-modules
parent23f8de06fba0c33342a132fec11f2b079289478e (diff)
parent6a74ba96fdb4c22146ca4672834d3b6df9c46c86 (diff)
downloadnixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.tar
nixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.tar.gz
nixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.tar.bz2
nixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.tar.lz
nixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.tar.xz
nixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.tar.zst
nixpkgs-6c13c0f4edfe233b1f5345d0310265f2217f47ec.zip
Merge pull request #61484 from chreekat/minimal-haskell-packaging-docs
Add minimal docs for callHackage and friends
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 6b5ecc1df8a..fbe1f991d92 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -118,6 +118,7 @@ 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}"'';
@@ -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