anchor.diff:  
     mkAntlr = {
       version, sourceSha256, jarSha256,
  -    extraCppPatchFlags ? [],
       extraCppBuildInputs ? [],
       extraCppCmakeFlags ? []
     }: rec {
  
positive.code:         pname = "antlr-runtime-cpp";
          inherit version;
          src = source;
  
          outputs = [ "out" "dev" "doc" ];
  
          postUnpack = ''
            export sourceRoot=$sourceRoot/runtime/Cpp
          '';
  
          patchFlags =
            if extraCppPatchFlags == []
            then null
            else extraCppPatchFlags;
  
          nativeBuildInputs = [ cmake ninja pkg-config ];
          buildInputs =
  
negative.code:     version = "4.9.3";
      sourceSha256 = "1af3cfqwk7lq1b5qsh1am0922fyhy7wmlpnrqdnvch3zzza9n1qm";
      jarSha256 = "0dnz2x54kigc58bxnynjhmr5iq49f938vj6p50gdir1xdna41kdg";
      extraCppBuildInputs = [ utf8cpp ]
        ++ lib.optional stdenv.isLinux libuuid;
    }).antlr;
  