summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/make-package-set.nix
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2018-01-18 16:37:47 -0500
committerWill Fancher <elvishjerricco@gmail.com>2018-01-18 16:42:56 -0500
commit9047a7dd33030654d83f48fbb131dae984fcead3 (patch)
treeb6097aa17a3658fa3775f59b630f345fec86278e /pkgs/development/haskell-modules/make-package-set.nix
parentc278dd0b9dd893d0a03a22286280847b38a1ee06 (diff)
downloadnixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.tar
nixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.tar.gz
nixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.tar.bz2
nixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.tar.lz
nixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.tar.xz
nixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.tar.zst
nixpkgs-9047a7dd33030654d83f48fbb131dae984fcead3.zip
Move packageSourceOverrides to haskellLib
Diffstat (limited to 'pkgs/development/haskell-modules/make-package-set.nix')
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix14
1 files changed, 2 insertions, 12 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index b91d73c9748..dc4d3f82bde 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -139,6 +139,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
 
     inherit mkDerivation callPackage haskellSrc2nix hackage2nix;
 
+    inherit (haskellLib) packageSourceOverrides;
+
     callHackage = name: version: self.callPackage (self.hackage2nix name version);
 
     # Creates a Haskell package from a source package by calling cabal2nix on the source.
@@ -155,18 +157,6 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
           };
       }) args) (_: { inherit src; });
 
-    # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
-    # Given a set whose values are either paths or version strings, produces
-    # a package override set (i.e. (self: super: { etc. })) that sets
-    # the packages named in the input set to the corresponding versions
-    packageSourceOverrides =
-      overrides: self: super: pkgs.lib.mapAttrs (name: src:
-        let isPath = x: builtins.substring 0 1 (toString x) == "/";
-            generateExprs = if isPath src
-                               then self.callCabal2nix
-                               else self.callHackage;
-        in generateExprs name src {}) overrides;
-
     # : { root : Path
     #   , source-overrides : Defaulted (Either Path VersionNumber)
     #   , overrides : Defaulted (HaskellPackageOverrideSet)