anchor.diff:          buildInputs = [ gmp ];
           configureFlags = [ "--with-gmp=${gmp.dev}" ]; }
         { name = "hash"; enable = lib.versionOlder php.version "7.4"; }
  -      { name = "iconv"; configureFlags = if stdenv.isDarwin then
  +      { name = "iconv";
  +        configureFlags = if stdenv.isDarwin then
                              [ "--with-iconv=${libiconv}" ]
                            else
  -                           [ "--with-iconv" ]; }
  +                           [ "--with-iconv" ];
  +        doCheck = false; }
         { name = "imap";
           buildInputs = [ uwimap openssl pam pcre' ];
           configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ];
  
positive.code:         buildInputs = [ net-snmp openssl ];
          configureFlags = [ "--with-snmp" ];
          # net-snmp doesn't build on darwin.
          enable = (!stdenv.isDarwin); }
        { name = "soap";
          buildInputs = [ libxml2 ];
          configureFlags = [ "--enable-soap" ]
            # Required to build on darwin.
            ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
        { name = "sockets"; }
        { name = "sodium"; buildInputs = [ libsodium ]; }
        { name = "sqlite3"; buildInputs = [ sqlite ]; }
        { name = "sysvmsg"; }
        { name = "sysvsem"; }
        { name = "sysvshm"; }
        { name = "tidy"; configureFlags = [ "--with-tidy=${html-tidy}" ]; }
        { name = "tokenizer"; }
        { name = "wddx";
          buildInputs = [ libxml2 ];
  
negative.code:              #include "zend_shared_alloc.h"
               #include "zend_accelerator_util_funcs.h"
            '') ];
          zendExtension = true;
          doCheck = !(lib.versionOlder php.version "7.4"); }
        { name = "openssl";
          buildInputs = [ openssl ];
          configureFlags = [ "--with-openssl" ];
          doCheck = false; }
        { name = "pcntl"; }
        { name = "pdo"; doCheck = false; }
        { name = "pdo_dblib";
          internalDeps = [ "pdo" ];
          configureFlags = [ "--with-pdo-dblib=${freetds}" ];
          # Doesn't seem to work on darwin.
          enable = (!stdenv.isDarwin);
          doCheck = false; }
        # pdo_firebird (7.4, 7.3, 7.2)
        { name = "pdo_mysql";
          internalDeps = [ "mysqlnd" "pdo" ];
          configureFlags = [ "--with-pdo-mysql=mysqlnd" ];
          doCheck = false; }
        # pdo_oci (7.4, 7.3, 7.2)
        { name = "pdo_odbc";
          internalDeps = [ "pdo" ];
          configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ];
          doCheck = false; }
        { name = "pdo_pgsql";
          internalDeps = [ "pdo" ];
          configureFlags = [ "--with-pdo-pgsql=${postgresql}" ];
          doCheck = false; }
        { name = "pdo_sqlite";
          internalDeps = [ "pdo" ];
          buildInputs = [ sqlite ];
          configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ];
          doCheck = false; }
        { name = "pgsql";
          buildInputs = [ pcre' ];
          configureFlags = [ "--with-pgsql=${postgresql}" ];
          doCheck = false; }
        { name = "posix"; doCheck = false; }
        { name = "pspell"; configureFlags = [ "--with-pspell=${aspell}" ]; }
        { name = "readline";
          buildInputs = [ libedit readline ];
          configureFlags = [ "--with-readline=${readline.dev}" ];
          postPhpize = lib.optionalString (lib.versionOlder php.version "7.4") ''
            substituteInPlace configure --replace 'as_fn_error $? "Please reinstall libedit - I cannot find readline.h" "$LINENO" 5' ':'
          '';
          doCheck = false;
        }
        # recode (7.3, 7.2)
        { name = "session"; }
        { name = "shmop"; }
  