anchor.diff:  { stdenv, writeScriptBin, lib, fetchurl, git, cacert
  -, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps
  +, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd
   , withMysql ? false
   , withPgsql ? false
   , withSqlite ? false, sqlite
  
positive.code: 
      outputHashMode = "recursive";
      outputHashAlgo = "sha256";
      outputHash = "1q9yzccn4zf5i4hibq1r0i34q4986a93ph4792l1ph07aiisc8p7";
    };
  
    configureFlags =
  
negative.code:   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
  
  in stdenv.mkDerivation rec {
    version = "18.01";
    name = "ejabberd-${version}";
  
    src = fetchurl {
      url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
      sha256 = "01i2n8mlgw293jdf4172f9q8ca8m35vysjws791p7nynpfdb4cn6";
    };
  
    nativeBuildInputs = [ fakegit ];
  
    buildInputs = [ erlang openssl expat libyaml gd ]
      ++ lib.optional withSqlite sqlite
      ++ lib.optional withPam pam
      ++ lib.optional withZlib zlib
  