From 4abb8be7abec422bb221816931148d9465e380f3 Mon Sep 17 00:00:00 2001 From: Drew Hess Date: Fri, 3 Aug 2018 12:55:29 -0700 Subject: [PATCH] haskell-modules: add callCabal2nixWithOptions. Fixes #44377. --- .../haskell-modules/make-package-set.nix | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 95dac230cc5..928c002c3af 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -170,19 +170,22 @@ in package-set { inherit pkgs stdenv callPackage; } self // { callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version); # Creates a Haskell package from a source package by calling cabal2nix on the source. - callCabal2nix = name: src: args: let - filter = path: type: - pkgs.lib.hasSuffix "${name}.cabal" path || - baseNameOf path == "package.yaml"; - expr = self.haskellSrc2nix { - inherit name; - src = if pkgs.lib.canCleanSource src - then pkgs.lib.cleanSourceWith { inherit src filter; } - else src; - }; - in overrideCabal (callPackageKeepDeriver expr args) (orig: { - inherit src; - }); + callCabal2nixWithOptions = name: src: extraCabal2nixOptions: args: + let + filter = path: type: + pkgs.lib.hasSuffix "${name}.cabal" path || + baseNameOf path == "package.yaml"; + expr = self.haskellSrc2nix { + inherit name extraCabal2nixOptions; + src = if pkgs.lib.canCleanSource src + then pkgs.lib.cleanSourceWith { inherit src filter; } + else src; + }; + in overrideCabal (callPackageKeepDeriver expr args) (orig: { + inherit src; + }); + + callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args; # : { root : Path # , source-overrides : Defaulted (Either Path VersionNumber)