anchor.diff: -{ lib, stdenv, fetchFromGitHub
  +{ lib
  +, stdenv
  +, fetchFromGitHub
   , enableStatic ? stdenv.hostPlatform.isStatic
   , enableShared ? !enableStatic
  +# Multi-threading with OpenMP is disabled by default
  +# more info on https://www.cryptopp.com/wiki/OpenMP
  +, withOpenMP ? false
  +, llvmPackages
   }:
   
   stdenv.mkDerivation rec {
  
positive.code: 
    postPatch = ''
      substituteInPlace GNUmakefile \
        --replace "AR = libtool" "AR = ar" \
        --replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
    '';
  
    makeFlags = [ "PREFIX=${placeholder "out"}" ];
    buildFlags =
         lib.optional enableStatic "static"
      ++ lib.optional enableShared "shared"
      ++ [ "libcryptopp.pc" ];
    enableParallelBuilding = true;
    hardeningDisable = [ "fortify" ];
  
    doCheck = true;
  
  
negative.code: 
    installTargets = [ "install-lib" ];
    installFlags = [ "LDCONF=true" ];
    # TODO: remove postInstall hook with v8.7 -> https://github.com/weidai11/cryptopp/commit/230c558a
    postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
      ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${lib.versions.majorMinor version}
      ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${lib.versions.major version}
    '';
  
    meta = with lib; {
      description = "A free C++ class library of cryptographic schemes";
      homepage = "https://cryptopp.com/";
      changelog = [
        "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt"
        "https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_${underscoredVersion}"
      ];
      license = with licenses; [ boost publicDomain ];
      platforms = platforms.all;
      maintainers = with maintainers; [ c0bw3b ];
    };
  }
  