1{ lib
2, stdenv
3, fetchFromGitHub
4, cmake
5, boost
6, zlib
7}:
8
9stdenv.mkDerivation (finalAttrs: {
10 pname = "msgpack-cxx";
11 version = "6.1.0";
12
13 src = fetchFromGitHub {
14 owner = "msgpack";
15 repo = "msgpack-c";
16 rev = "refs/tags/cpp-${finalAttrs.version}";
17 hash = "sha256-VqzFmm3MmMhWyooOsz1d9gwwbn/fnnxpkCFwqKR6los=";
18 };
19
20 strictDeps = true;
21
22 nativeBuildInputs = [
23 cmake
24 ];
25
26 buildInputs = [
27 boost
28 ];
29
30 cmakeFlags = [
31 "-DMSGPACK_BUILD_DOCS=OFF" # docs are not installed even if built
32 ] ++ lib.optional finalAttrs.doCheck "-DMSGPACK_BUILD_TESTS=ON";
33
34 checkInputs = [
35 zlib
36 ];
37
38 doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
39
40 meta = with lib; {
41 description = "MessagePack implementation for C++";
42 homepage = "https://github.com/msgpack/msgpack-c";
43 changelog = "https://github.com/msgpack/msgpack-c/blob/${finalAttrs.src.rev}/CHANGELOG.md";
44 license = licenses.boost;
45 maintainers = with maintainers; [ nickcao ];
46 };
47})