anchor.diff:      export sourceRoot=${src.name}
     '';
   
  +  postPatch = lib.optionalString secureMemory ''
  +    sed -i 's/#define JSONCPP_USING_SECURE_MEMORY 0/#define JSONCPP_USING_SECURE_MEMORY 1/' include/json/version.h
  +  '';
  +
     # Hack to be able to run the test, broken because we use
     # CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install
     preBuild = if stdenv.isDarwin then ''
  
positive.code: { lib, stdenv, fetchFromGitHub, cmake, python3, validatePkgConfig, fetchpatch }:
  
  stdenv.mkDerivation rec {
    pname = "jsoncpp";
  
negative.code: 
    cmakeFlags = [
      "-DBUILD_SHARED_LIBS=ON"
      "-DBUILD_OBJECT_LIBS=OFF"
      "-DJSONCPP_WITH_CMAKE_PACKAGE=ON"
    ]
      # the test's won't compile if secureMemory is used because there is no
      # comparison operators and conversion functions between
      # std::basic_string<..., Json::SecureAllocator<char>> vs.
      # std::basic_string<..., [default allocator]>
      ++ lib.optional ((stdenv.buildPlatform != stdenv.hostPlatform) || secureMemory) "-DJSONCPP_WITH_TESTS=OFF"
      ++ lib.optional (!enableStatic) "-DBUILD_STATIC_LIBS=OFF";
  
    # this is fixed and no longer necessary in 1.9.5 but there they use
    # memset_s without switching to a different c++ standard in the cmake files
    postInstall = lib.optionalString enableStatic ''
      (cd $out/lib && ln -sf libjsoncpp_static.a libjsoncpp.a)
    '';
  
    meta = with lib; {
      homepage = "https://github.com/open-source-parsers/jsoncpp";
  