1{ stdenv, fetchurl, ocaml, jbuilder, findlib, sexplib, ocplib-endian }:
2
3stdenv.mkDerivation rec {
4 name = "ocaml${ocaml.version}-cstruct-${version}";
5 version = "3.0.2";
6 src = fetchurl {
7 url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
8 sha256 = "03caxcyzfjmbnnwa15zy9s1ckkl4sc834d1qkgi4jcs3zqchvd8z";
9 };
10
11 unpackCmd = "tar -xjf $curSrc";
12
13 buildInputs = [ ocaml jbuilder findlib ];
14
15 propagatedBuildInputs = [ sexplib ocplib-endian ];
16
17 buildPhase = "jbuilder build -p cstruct";
18
19 inherit (jbuilder) installPhase;
20
21 meta = {
22 description = "Access C-like structures directly from OCaml";
23 license = stdenv.lib.licenses.isc;
24 homepage = "https://github.com/mirage/ocaml-cstruct";
25 maintainers = [ stdenv.lib.maintainers.vbgl ];
26 inherit (ocaml.meta) platforms;
27 };
28}