nixpkgs/pkgs/development/ocaml-modules/ocaml-protoc-plugin/default.nix

54 lines
1.1 KiB
Nix

{ lib
, fetchFromGitHub
, buildDunePackage
, pkg-config
, protobuf
, zarith
, ppx_deriving
, ppx_deriving_yojson
, re
, dune-site
, ppx_expect
}:
buildDunePackage rec {
pname = "ocaml-protoc-plugin";
version = "4.5.0";
src = fetchFromGitHub {
owner = "issuu";
repo = "ocaml-protoc-plugin";
rev = version;
hash = "sha256-ZHeOi3y2X11MmkRuthmYFSjPLoGlGTO1pnRfk/XmgPU=";
};
nativeBuildInputs = [
pkg-config
protobuf
];
buildInputs = [
zarith
ppx_deriving
ppx_deriving_yojson
re
dune-site
ppx_expect
protobuf
];
doCheck = true;
nativeCheckInputs = [ protobuf ];
meta = {
description = "Maps google protobuf compiler to Ocaml types.";
homepage = "https://github.com/issuu/ocaml-protoc-plugin";
license = lib.licenses.asl20;
longDescription = ''
The goal of Ocaml protoc plugin is to create an
up to date plugin for the google protobuf compiler
(protoc) to generate Ocaml types and serialization
and de-serialization function from a .proto file.
'';
maintainers = [ lib.maintainers.GirardR1006 ];
};
}