2025-01-04 00:19:17 +01:00

50 lines
1.0 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
cmake,
boost,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "msgpack-cxx";
version = "7.0.0";
src = fetchFromGitHub {
owner = "msgpack";
repo = "msgpack-c";
tag = "cpp-${finalAttrs.version}";
hash = "sha256-kg4mpNiigfZ59ZeL8LXEHwtkLU8Po+vgRcUcgTJd+h4=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
];
buildInputs = [
boost
];
cmakeFlags = [
"-DMSGPACK_BUILD_DOCS=OFF" # docs are not installed even if built
"-DMSGPACK_CXX20=ON"
] ++ lib.optional finalAttrs.finalPackage.doCheck "-DMSGPACK_BUILD_TESTS=ON";
checkInputs = [
zlib
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
meta = with lib; {
description = "MessagePack implementation for C++";
homepage = "https://github.com/msgpack/msgpack-c";
changelog = "https://github.com/msgpack/msgpack-c/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = licenses.boost;
maintainers = with maintainers; [ nickcao ];
};
})