Merge pull request #44424 from dhess/callCaball2nixWithOption

haskell-modules: add callCabal2nixWithOptions.
This commit is contained in:
Bas van Dijk 2018-09-11 09:00:03 +02:00 committed by GitHub
commit d05a8bb410
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -177,12 +177,13 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version); callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
# Creates a Haskell package from a source package by calling cabal2nix on the source. # Creates a Haskell package from a source package by calling cabal2nix on the source.
callCabal2nix = name: src: args: let callCabal2nixWithOptions = name: src: extraCabal2nixOptions: args:
let
filter = path: type: filter = path: type:
pkgs.lib.hasSuffix "${name}.cabal" path || pkgs.lib.hasSuffix "${name}.cabal" path ||
baseNameOf path == "package.yaml"; baseNameOf path == "package.yaml";
expr = self.haskellSrc2nix { expr = self.haskellSrc2nix {
inherit name; inherit name extraCabal2nixOptions;
src = if pkgs.lib.canCleanSource src src = if pkgs.lib.canCleanSource src
then pkgs.lib.cleanSourceWith { inherit src filter; } then pkgs.lib.cleanSourceWith { inherit src filter; }
else src; else src;
@ -191,6 +192,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
inherit src; inherit src;
}); });
callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args;
# : { root : Path # : { root : Path
# , source-overrides : Defaulted (Either Path VersionNumber) # , source-overrides : Defaulted (Either Path VersionNumber)
# , overrides : Defaulted (HaskellPackageOverrideSet) # , overrides : Defaulted (HaskellPackageOverrideSet)