anchor.diff:    enableGuile        ? false,                                         guile ? null
   , enablePython       ? false,                                         python ? null
   , enablePerl         ? (stdenv.hostPlatform == stdenv.buildPlatform), perl ? null
  -, enableSpidermonkey ? (stdenv.hostPlatform == stdenv.buildPlatform), spidermonkey_1_8_5 ? null
  +, enableSpidermonkey ? (stdenv.hostPlatform == stdenv.buildPlatform), spidermonkey ? null
   }:
   
   assert enableGuile -> guile != null;
  
positive.code:   ] ++ stdenv.lib.optional enableGuile        "--with-guile"
      ++ stdenv.lib.optional enablePython       "--with-python"
      ++ stdenv.lib.optional enablePerl         "--with-perl"
      ++ stdenv.lib.optional enableSpidermonkey "--with-spidermonkey=${spidermonkey_1_8_5}"
      ;
  
    meta = {
  
negative.code: 
    patches = [ ./gc-init.patch ];
  
    buildInputs = [ ncurses xlibsWrapper bzip2 zlib openssl spidermonkey gpm ]
      ++ stdenv.lib.optional enableGuile guile
      ++ stdenv.lib.optional enablePython python
      ++ stdenv.lib.optional enablePerl perl
  