diff options
Diffstat (limited to 'nix/haskell-overlay.nix')
-rw-r--r-- | nix/haskell-overlay.nix | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/nix/haskell-overlay.nix b/nix/haskell-overlay.nix index 1afea87..f37d602 100644 --- a/nix/haskell-overlay.nix +++ b/nix/haskell-overlay.nix @@ -1,20 +1,27 @@ _: pkgs: let - cabalBuilder = self: name: self.callCabal2nix name pkgs.sources.${name} {}; + simpleCabalBuilder = self: name: + self.callCabal2nix name pkgs.sources.${name} {}; + buildCabal = self: name: subdir: + if isNull subdir then + self.callCabal2nix name pkgs.sources.${name} {} + else + self.callCabal2nix name (pkgs.sources.${name} + "/${subdir}") {}; in { haskell = pkgs.haskell // { packages = pkgs.haskell.packages // { ghc865 = pkgs.haskell.packages.ghc865.override (old: { overrides = with pkgs.pkgs.haskell.lib; self: super: - pkgs.overridePinnedDeps (cabalBuilder self) // { + pkgs.overridePinnedDeps (simpleCabalBuilder self) // { + servant-auth = buildCabal self "servant-auth" "servant-auth"; wai-middleware-metrics = dontCheck super.wai-middleware-metrics; }; }); ghcjs = pkgs.haskell.packages.ghcjs.override (old: { overrides = with pkgs.haskell.lib; self: super: - pkgs.overridePinnedDeps (cabalBuilder self) // { + pkgs.overridePinnedDeps (simpleCabalBuilder self) // { QuickCheck = dontCheck super.QuickCheck; base-compat-batteries = dontCheck super.http-types; clay = dontCheck super.clay; |