self: super: let buildCabal = sel: name: sel.callCabal2nix name super.sources.${name} {}; buildCabalSubdir = sel: {name, src ? super.sources.${name}, subdir ? name}: sel.callCabal2nix name (src + "/${subdir}") {}; ghc = "ghc884"; in rec { haskell = super.haskell // { packages = super.haskell.packages // { "${ghc}" = super.haskell.packages."${ghc}".override (old: { overrides = with super.pkgs.haskell.lib; sel: sup: super.overridePinnedDeps (buildCabal sel) // { acid-state = dontCheck sup.acid-state; # mac: "too many open files" ghcjs-base = null; # otherwise ghc tries to build this via overridePinnedDeps servant-auth = buildCabalSubdir sel {name = "servant-auth";}; servant-server = doJailbreak sup.servant-server; stripe-haskell = dontCheck sup.stripe-haskell; stripe-http-client = dontCheck sup.stripe-http-client; temporary = dontCheck sup.temporary; wai-middleware-metrics = dontCheck sup.wai-middleware-metrics; }; }); #ghcjs86 = pkgs.haskell.packages.ghcjs86.override (old: { # overrides = with pkgs.haskell.lib; sel: sup: # super.overridePinnedDeps (buildCabal sel) // { # Glob = dontCheck sup.Glob; # QuickCheck = dontCheck sup.QuickCheck; # aeson = dontCheck sup.aeson; # base-compat-batteries = dontCheck sup.base-compat-batteries; # clay = dontCheck sup.clay; # comonad = dontCheck sup.comonad; # ghcjs-base = dontCheck (buildCabal sel "ghcjs-base"); # jsaddle-warp = dontCheck (buildCabalSubdir sel { # name = "jsaddle-warp"; # src = pkgs.sources.jsaddle; # }); # http-types = dontCheck sup.http-types; # network-uri= dontCheck sup.network-uri; # scientific = dontCheck sup.scientific; # takes forever # servant = dontCheck sup.servant; # servant-auth = buildCabalSubdir sel "servant-auth"; # tasty-quickcheck = dontCheck sup.tasty-quickcheck; # temporary = dontCheck sup.temporary; # time-compat = dontCheck sup.time-compat; # vector = dontCheck sup.vector; # }; #}); }; }; autogen = super.autogen.overrideAttrs (old: old // { buildInputs = super.lib.lists.remove super.guile old.buildInputs ++ [super.guile_2_0]; }); guile-opengl = super.callPackage ./Deps/guile-opengl.nix {}; inspekt3d = super.callPackage ./Deps/inspekt3d.nix {}; }