self: super: let claySrc = super.pkgs.fetchFromGitHub { owner = "sebastiaanvisser"; repo = "clay"; rev = "cc7729b1b42a79e261091ff7835f7fc2a7ae3cee"; sha256 = "1vd67976lvi5l4qq18zy6j44apynkl44ps04p8vwfx4gzr895dyp"; }; jsaddleSrc = super.pkgs.fetchFromGitHub { owner = "ghcjs"; repo = "jsaddle"; rev = "1e39844"; sha256 = "1qrjrjagmrrlcalys33636w5cb67db52i183masb7xd93wir8963"; }; misoSrc = super.pkgs.fetchFromGitHub { owner = "dmjio"; repo = "miso"; rev = "1.5"; sha256 = "00al7gw760vzzlqpf035k4n4li0rdymcjpxn184z9nc4m92cjv9z"; }; in { haskell = super.haskell // { packages = super.haskell.packages // { ghc865 = super.haskell.packages.ghc865.override (old: { overrides = with super.pkgs.haskell.lib; self: super: { clay = self.callCabal2nix "clay" claySrc {}; miso = self.callCabal2nix "miso" misoSrc {}; wai-middleware-metrics = dontCheck super.wai-middleware-metrics; }; }); ghcjs = super.haskell.packages.ghcjs.override (old: { overrides = with super.haskell.lib; self: super: { QuickCheck = dontCheck super.QuickCheck; base-compat-batteries = dontCheck super.http-types; clay = dontCheck (self.callCabal2nix "clay" claySrc {}); comonad = dontCheck super.comonad; jsaddle-warp = dontCheck (self.callCabal2nix "jsaddle-warp" "${jsaddleSrc}/jsaddle-warp" {}); http-types = dontCheck super.http-types; miso = self.callCabal2nix "miso" misoSrc {}; network-uri= dontCheck super.network-uri; scientific = dontCheck super.scientific; # takes forever servant = dontCheck super.servant; tasty-quickcheck = dontCheck super.tasty-quickcheck; time-compat = dontCheck super.time-compat; }; }); }; }; }