anchor.diff:  , configureFlags ? []
   , description ? ""
   , doCheck ? !isCross && (stdenv.lib.versionOlder "7.4" ghc.version)
  -, withBenchmarkDepends ? false
  +, doBenchmark ? false
   , doHoogle ? true
   , editedCabalFile ? null
   , enableLibraryProfiling ? false
  
positive.code: // optionalAttrs (preBuild != "")       { inherit preBuild; }
  // optionalAttrs (postBuild != "")      { inherit postBuild; }
  // optionalAttrs (doCheck)              { inherit doCheck; }
  // optionalAttrs (withBenchmarkDepends) { inherit withBenchmarkDepends; }
  // optionalAttrs (checkPhase != "")     { inherit checkPhase; }
  // optionalAttrs (preCheck != "")       { inherit preCheck; }
  // optionalAttrs (postCheck != "")      { inherit postCheck; }
  
negative.code:                      optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
                       # ghcjs's hsc2hs calls out to the native hsc2hs
                       optional isGhcjs nativeGhc ++
                       optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
    allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
  
    haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
  