{ lib, stdenv, fetchFromGitHub, curl, cmake, nlohmann_json }: stdenv.mkDerivation { pname = "cpp-ipfs-http-client"; version = "unstable-2022-01-30"; src = fetchFromGitHub { owner = "vasild"; repo = "cpp-ipfs-http-client"; rev = "3cdfa7fc6326e49fc81b3c7ca43ce83bdccef6d9"; sha256 = "sha256-/oyafnk4SbrvoCh90wkZXNBjknMKA6EEUoEGo/amLUo="; }; patches = [ ./unvendor-nlohmann-json.patch ]; postPatch = '' substituteInPlace CMakeLists.txt \ --replace '# Fetch "JSON for Modern C++"' "include_directories(${nlohmann_json}/include)" ''; nativeBuildInputs = [ cmake ]; buildInputs = [ curl ]; propagatedBuildInputs = [ nlohmann_json ]; NIX_CFLAGS_COMPILE = [ "-Wno-error=range-loop-construct" # Needed with GCC 12 "-Wno-error=deprecated-declarations" ]; meta = with lib; { description = "IPFS C++ API client library"; homepage = "https://github.com/vasild/cpp-ipfs-http-client"; license = licenses.mit; platforms = [ "x86_64-linux" "x86_64-darwin" ]; }; }