anchor.diff:  
     meta = {
       description = "Command line interface to Phabricator";
  -    homepage    = "http://phabricator.org";
  -    license     = stdenv.lib.licenses.asl20;
  -    platforms   = stdenv.lib.platforms.unix;
  +    homepage = "http://phabricator.org";
  +    license = stdenv.lib.licenses.asl20;
  +    platforms = stdenv.lib.platforms.unix;
       maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
     };
   }
  
positive.code:   '';
  
    buildPhase = ''
      make xhpast -C support/xhpast
    '';
  
    installPhase = ''
      mkdir -p $out/bin $out/libexec
      make install -C support/xhpast
      cp -R $src $out/libexec/arcanist
  
      ${makeArcWrapper "arc"}
      ${makeArcWrapper "phage"}
  
negative.code: { bison
  , fetchFromGitHub
  , flex
  , php
  , stdenv
  }:
  
  # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being
  # invoked and complains about it being an unknown toolset. We could use `makeWrapper`, but
  # then we’d need to still craft a script that does the `php libexec/arcanist/bin/...` dance
  # anyway... So just do everything at once.
  let makeArcWrapper = toolset: ''
    cat << WRAPPER > $out/bin/${toolset}
    #!$shell -e
    export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
    exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
    WRAPPER
    chmod +x $out/bin/${toolset}
  '';
  
  in
  stdenv.mkDerivation {
    pname = "arcanist";
    version = "20200711";
  