1{
2 lib,
3 buildDunePackage,
4 ocaml,
5 cstruct,
6 sexplib,
7 ppxlib,
8 ocaml-migrate-parsetree-2,
9 ounit,
10 cppo,
11 ppx_sexp_conv,
12 cstruct-unix,
13 cstruct-sexp,
14}:
15
16if lib.versionOlder (cstruct.version or "1") "3" then
17 cstruct
18else
19
20 buildDunePackage {
21 pname = "ppx_cstruct";
22 inherit (cstruct) version src meta;
23
24 minimalOCamlVersion = "4.08";
25
26 propagatedBuildInputs = [
27 cstruct
28 ppxlib
29 sexplib
30 ];
31
32 doCheck = !lib.versionAtLeast ocaml.version "5.1";
33 nativeCheckInputs = [ cppo ];
34 checkInputs = [
35 ounit
36 ppx_sexp_conv
37 cstruct-sexp
38 cstruct-unix
39 ocaml-migrate-parsetree-2
40 ];
41 }