summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorDoug Beardsley <mightybyte@gmail.com>2018-12-25 12:19:24 -0500
committerDoug Beardsley <mightybyte@gmail.com>2018-12-25 12:19:24 -0500
commit83624524e2b07c1b10562a90b067c490b7de368f (patch)
tree1db744499ca335118a636c8fd55c7848cfb04625 /pkgs/development/haskell-modules
parentd30a200ab23a4dfa388ce65bd8c2831540289f32 (diff)
downloadnixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.tar
nixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.tar.gz
nixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.tar.bz2
nixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.tar.lz
nixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.tar.xz
nixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.tar.zst
nixpkgs-83624524e2b07c1b10562a90b067c490b7de368f.zip
Add a callHackage variant that doesn't require all-cabal-hashes
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index e36933a8194..0160a72cecd 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -176,6 +176,17 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
 
     callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
 
+    # 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
+    # to be currently using.
+    callHackageDirect = {pkg, ver, sha256}@args:
+      let pkgver = "${pkg}-${ver}";
+      in self.callCabal2nix pkg (pkgs.fetchzip {
+           url = "http://hackage.haskell.org/package/${pkgver}/${pkgver}.tar.gz";
+           inherit sha256;
+         }) {};
+
     # Creates a Haskell package from a source package by calling cabal2nix on the source.
     callCabal2nixWithOptions = name: src: extraCabal2nixOptions: args:
       let