anchor.diff:      inherit src;
   
       buildInputs =
  -      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
  +      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib bzip2
           python dbus dbus_glib pango freetype fontconfig xlibs.libXi
           xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
           alsaLib nspr nss libnotify xlibs.pixman yasm mesa
           xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
           xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
           hunspell libevent libstartup_notification libvpx
  -      ];
  +      ] ++ optional useSystemCairo cairo;
   
       configureFlags =
         [ "--enable-application=xulrunner"
  
positive.code: { stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
  , libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
  , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
  , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
  , hunspell, libevent, libstartup_notification, libvpx
  
  , # If you want the resulting program to call itself "Firefox" instead
    # of "Shiretoko" or whatever, enable this option.  However, those
    # binaries may not be distributed without permission from the
  
negative.code: }:
  
  assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
  assert useSystemCairo -> cairo != null;
  
  let optional = stdenv.lib.optional;
  in rec {
  
    firefoxVersion = "21.0";
  
  