From 747424168cd2231153560290a14b19d5d1b047bb Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 28 Jan 2024 12:04:13 +0100 Subject: haskell-modules: add revision argument to callHackageDirect Previously, callHackageDirect was only able to fetch the first revision of a package. Resolves #134747 --- pkgs/development/haskell-modules/make-package-set.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'pkgs/development/haskell-modules') diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 294ca295f22b..52d0af869cec 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -199,12 +199,16 @@ in package-set { inherit pkgs lib callPackage; } self // { # 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}: + callHackageDirect = {pkg, ver, sha256, rev ? { revision = null; sha256 = null; }}: args: let pkgver = "${pkg}-${ver}"; - in self.callCabal2nix pkg (pkgs.fetchzip { - url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz"; - inherit sha256; - }); + firstRevision = self.callCabal2nix pkg (pkgs.fetchzip { + url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz"; + inherit sha256; + }) args; + in overrideCabal (orig: { + revision = rev.revision; + editedCabalFile = rev.sha256; + }) firstRevision; # Creates a Haskell package from a source package by calling cabal2nix on the source. callCabal2nixWithOptions = name: src: extraCabal2nixOptions: args: @@ -635,7 +639,7 @@ in package-set { inherit pkgs lib callPackage; } self // { Type: drv -> drv */ - forceLlvmCodegenBackend = haskellLib.overrideCabal (drv: { + forceLlvmCodegenBackend = overrideCabal (drv: { configureFlags = drv.configureFlags or [ ] ++ [ "--ghc-option=-fllvm" ]; buildTools = drv.buildTools or [ ] ++ [ self.llvmPackages.llvm ]; }); -- cgit 1.4.1