anchor.diff:          "ihaskell-static-canvas"
           "ihaskell-widgets"
         ]);
  -  haskellPackages = nixpkgs.haskellPackages.override {
  +  haskellPackages = nixpkgs.haskell.packages."${compiler}".override {
       overrides = self: super: {
  -      ihaskell       = nixpkgs.haskell.lib.overrideCabal (
  -                       self.callCabal2nix "ihaskell"       ihaskell-src       {}) (_drv: {
  +      ihaskell          = nixpkgs.haskell.lib.overrideCabal (
  +                          self.callCabal2nix "ihaskell" ihaskell-src {}) (_drv: {
           postPatch = let
             # The tests seem to 'buffer' when run during nix-build, so this is
             # a throw-away test to get everything running smoothly and passing.
  
positive.code: { nixpkgs ? import <nixpkgs> {}, packages ? (_: []), rtsopts ? "-M3g -N2", systemPackages ? (_: []) }:
  
  let
    inherit (builtins) any elem filterSource listToAttrs;
  
negative.code:           export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
          '';
        });
        ghc-parser        = self.callCabal2nix "ghc-parser" ghc-parser-src {};
        ipython-kernel    = self.callCabal2nix "ipython-kernel" ipython-kernel-src {};
  
        haskell-src-exts  = self.haskell-src-exts_1_20_1;
        haskell-src-meta  = self.haskell-src-meta_0_8_0_2;
        hmatrix           = self.hmatrix_0_18_2_0;
  
        shelly            = nixpkgs.haskell.lib.doJailbreak super.shelly;
        static-canvas     = nixpkgs.haskell.lib.doJailbreak super.static-canvas;
  
      } // displays self;
    };
    ihaskellEnv = haskellPackages.ghcWithPackages (self: [ self.ihaskell ] ++ packages self);
  