summaryrefslogtreecommitdiffstats
path: root/pkgs/development/ocaml-modules/cstruct/ppx.nix
blob: 074b41df9555303825e001007ed538331994411d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  lib,
  buildDunePackage,
  ocaml,
  cstruct,
  sexplib,
  ppxlib,
  ocaml-migrate-parsetree-2,
  ounit,
  cppo,
  ppx_sexp_conv,
  cstruct-unix,
  cstruct-sexp,
}:

if lib.versionOlder (cstruct.version or "1") "3" then
  cstruct
else

  buildDunePackage {
    pname = "ppx_cstruct";
    inherit (cstruct) version src meta;

    minimalOCamlVersion = "4.08";

    propagatedBuildInputs = [
      cstruct
      ppxlib
      sexplib
    ];

    doCheck = !lib.versionAtLeast ocaml.version "5.1";
    nativeCheckInputs = [ cppo ];
    checkInputs = [
      ounit
      ppx_sexp_conv
      cstruct-sexp
      cstruct-unix
      ocaml-migrate-parsetree-2
    ];
  }