summary refs log tree commit diff
path: root/pkgs/development/libraries/cpp-ipfs-http-client/default.nix
blob: 44fcbe5463cb04f1f8f6e705fbf2a80fe9a5fe87 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ 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"
  ];

  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" ];
  };
}