54 lines
1.1 KiB
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.3.1";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "issuu";
|
||
|
repo = "ocaml-protoc-plugin";
|
||
|
rev = version;
|
||
|
hash = "sha256-KFd43Ukz5gMeM3ik2VlfaIPwcZe9yaxk9VcQIrauUGU=";
|
||
|
};
|
||
|
|
||
|
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 ];
|
||
|
};
|
||
|
}
|