anchor.diff:  let
     libOnly = type == "lib";
   in
  -with lib;
   stdenv.mkDerivation rec {
     pname = "${type}krb5";
     version = "1.20";
   
     src = fetchurl {
  -    url = "https://kerberos.org/dist/krb5/${versions.majorMinor version}/krb5-${version}.tar.gz";
  +    url = "https://kerberos.org/dist/krb5/${lib.versions.majorMinor version}/krb5-${version}.tar.gz";
       sha256 = "sha256-fgIr3TyFGDAXP5+qoAaiMKDg/a1MlT6Fv/S/DaA24S8";
     };
   
  
positive.code:   enableParallelBuilding = true;
    doCheck = false; # fails with "No suitable file for testing purposes"
  
    meta = {
      description = "MIT Kerberos 5";
      homepage = "http://web.mit.edu/kerberos/";
      license = licenses.mit;
  
negative.code:   configureFlags = [ "--localstatedir=/var/lib" ]
      # krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time.
      # See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737
      ++ lib.optional staticOnly [ "--enable-static" "--disable-shared" ]
      ++ lib.optional stdenv.isFreeBSD ''WARN_CFLAGS=""''
      ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
         [ "krb5_cv_attr_constructor_destructor=yes,yes"
           "ac_cv_func_regcomp=yes"
           "ac_cv_printf_positional=yes"
         ];
  
    nativeBuildInputs = [ pkg-config perl ]
      ++ lib.optional (!libOnly) bison
      # Provides the mig command used by the build scripts
      ++ lib.optional stdenv.isDarwin bootstrap_cmds;
  
    buildInputs = [ openssl ]
      ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "bionic" && !(stdenv.hostPlatform.useLLVM or false)) [ keyutils ]
      ++ lib.optionals (!libOnly) [ openldap libedit ];
  
    sourceRoot = "krb5-${version}/src";
  
    libFolders = [ "util" "include" "lib" "build-tools" ];
  
    buildPhase = lib.optionalString libOnly ''
      runHook preBuild
  
      MAKE="make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES"
  