anchor.diff:            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;
  +      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);
  
positive.code:         "ihaskell-static-canvas"
          "ihaskell-widgets"
        ]);
    haskellPackages = nixpkgs.haskellPackages.override {
      overrides = self: super: {
        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.
  
negative.code: { compiler ? "ghc802", nixpkgs ? import <nixpkgs> {}, packages ? (_: []), rtsopts ? "-M3g -N2", systemPackages ? (_: []) }:
  
  let
    inherit (builtins) any elem filterSource listToAttrs;
  