self: super: with import ./Constants.nix; let buildCabal = sel: name: sel.callCabal2nix name super.sources.${name} {}; buildCabalSubdir = sel: {name, src ? super.sources.${name}, subdir ? name}: sel.callCabal2nix name (src + "/${subdir}") {}; in rec { haskell = super.haskell // { packages = super.haskell.packages // { "${ghcCompiler}" = super.haskell.packages."${ghcCompiler}".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" clay = doJailbreak sup.clay; envy = doJailbreak sup.envy; fast-tags = sup.fast-tags.overrideAttrs (old: old // { patches = []; }); generic-data = dontCheck sup.generic-data; # https://github.com/Lysxia/generic-data/issues/56 ghcjs-base = null; # otherwise ghc tries to build this via overridePinnedDeps readable = doJailbreak sup.readable; # why is this even being built? servant-auth = doJailbreak (buildCabalSubdir sel {name = "servant-auth"; subdir = "servant-auth/servant-auth";}); servant-server = doJailbreak sup.servant-server; stripe-core = doJailbreak sup.stripe-core; stripe-haskell = dontCheck sup.stripe-haskell; stripe-http-client = doJailbreak (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 {}; # The libfive build is broken... #inspekt3d = super.callPackage ./Deps/inspekt3d.nix {}; guix = super.pkgs.stdenv.mkDerivation rec { pname = "guix"; name = "${pname}-${version}"; version = super.sources.guix.version; src = super.sources.guix; buildInputs = with super.pkgs; [ guile # guile-gcrypt # guile-sql # guile-zlib # guile-lzlib # guile-avahi # guile-git # guile-json gnutls gnumake sqlite libgcrypt gcc ]; }; }