Commit cd07adde authored by Adkins, Cameron's avatar Adkins, Cameron
Browse files

reflect-cpp: init at 0.16.0

parent 9009688b
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  cmake,
  yyjson,
  ctre
}:

stdenv.mkDerivation rec {
  pname = "reflect-cpp";
  version = "0.16.0";

  src = fetchFromGitHub {
    owner = "getml";
    repo = "reflect-cpp";
    rev = "v${version}";
    sha256 = "sha256-2Dt5XkO/20E16HtSC3ohJjkJxMZDMCjlgBTgNw+DZ3U=";
  };

  buildInputs = [
    yyjson
    ctre
  ];

  nativeBuildInputs = [
    cmake
  ];

  cmakeFlags = [
   "-DBUILD_SHARED_LIBS=ON"
   "-DREFLECTCPP_USE_BUNDLED_DEPENDENCIES=OFF"
   "-DREFLECTCPP_USE_VCPKG=OFF"
  ];

  meta = {
    description = "C++20 reflection library for serialization";
    longDescription = ''
      reflect-cpp is a C++-20 library for fast serialization, deserialization
      and validation using reflection, similar to pydantic in Python, serde in
      Rust, encoding in Go or aeson in Haskell.
    '';
    homepage = "https://github.com/getml/reflect-cpp";
    license = lib.licenses.mit;
    maintainers = [ lib.maintainers.cadkin ];
    platforms = lib.platforms.all;
  };
}