anchor.diff: -{ stdenv, fetchFromGitHub, cmake, jsoncpp, libossp_uuid, zlib, openssl, lib
  -# miscellaneous
  -, brotli, c-ares
  -# databases
  +{ stdenv, fetchFromGitHub, cmake, jsoncpp, libossp_uuid, zlib, lib
  +# optional but of negligible size
  +, openssl, brotli, c-ares
  +# optional databases
   , sqliteSupport ? true, sqlite
   , postgresSupport ? false, postgresql
   , redisSupport ? false, hiredis
  
positive.code:   # modifying PATH here makes drogon_ctl visible to the test
    installCheckPhase = ''
      cd ..
      patchShebangs test.sh
      PATH=$PATH:$out/bin ./test.sh
    '';
  
    doInstallCheck = true;
  
    meta = with lib; {
      homepage = "https://github.com/an-tao/drogon";
      description = "C++14/17 based HTTP web application framework";
      license = licenses.mit;
      maintainers = [ maintainers.urlordjames ];
      platforms = platforms.all;
    };
  }
  
negative.code:   ] ++ lib.optional sqliteSupport sqlite
      ++ lib.optional postgresSupport postgresql
      ++ lib.optional redisSupport hiredis
      # drogon uses mariadb for mysql (see https://github.com/drogonframework/drogon/wiki/ENG-02-Installation#Library-Dependencies)
      ++ lib.optional mysqlSupport [ libmysqlclient mariadb ];
  
    patches = [
  