anchor.diff:  
         nativeBuildInputs =
           [ pkgconfig ]
  -        ++ lib.optionals is24 [ autoreconfHook autoconf-archive bison flex libxml2 libxslt
  -                                docbook5 docbook_xsl_ns jq ];
  +        ++ lib.optionals is30
  +          [ autoreconfHook
  +            autoconf-archive
  +            bison flex
  +            lowdown mdbook
  +            jq
  +           ];
   
         buildInputs =
           [ curl openssl sqlite xz bzip2 nlohmann_json
             brotli boost editline
           ]
           ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
  -        ++ lib.optionals is24 [ libarchive gmock ]
  +        ++ lib.optionals is30 [ libarchive gmock ]
           ++ lib.optional withLibseccomp libseccomp
           ++ lib.optional withAWS
               ((aws-sdk-cpp.override {
  
positive.code:             patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.*
            ''}
          '' +
          # For Nix-2.3, patch around an issue where the Nix configure step pulls in the
          # build system's bash and other utilities when cross-compiling
          lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform && isExactly23) ''
            mkdir tmp/
            substitute corepkgs/config.nix.in tmp/config.nix.in \
              --subst-var-by bash ${bash}/bin/bash \
  
negative.code:       inherit name src;
        version = lib.getVersion name;
  
        is30 = lib.versionAtLeast version "3.0pre";
        isExactly30 = lib.versionAtLeast version "2.3" && lib.versionOlder version "3.0";
  
        VERSION_SUFFIX = suffix;
  
  