python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / ocaml-modules / ppx_deriving / default.nix
blobfbe484dea04481565a455af1781861f4aa975d10
1 { lib
2 , fetchurl
3 , buildDunePackage
4 , cppo
5 , ppxlib
6 , ppx_derivers
7 , result
8 , ounit
9 , ounit2
10 , ocaml-migrate-parsetree
11 , ocaml-migrate-parsetree-2
14 let params =
15   if lib.versionAtLeast ppxlib.version "0.20" then {
16     version = "5.2.1";
17     sha256 = "11h75dsbv3rs03pl67hdd3lbim7wjzh257ij9c75fcknbfr5ysz9";
18     useOMP2 = true;
19   } else if lib.versionAtLeast ppxlib.version "0.15" then {
20     version = "5.1";
21     sha256 = "1i64fd7qrfzbam5hfbl01r0sx4iihsahcwqj13smmrjlnwi3nkxh";
22     useOMP2 = false;
23   } else {
24     version = "5.0";
25     sha256 = "0fkzrn4pdyvf1kl0nwvhqidq01pnq3ql8zk1jd56hb0cxaw851w3";
26     useOMP2 = false;
27   }
28 ; in
30 buildDunePackage rec {
31   pname = "ppx_deriving";
32   inherit (params) version;
34   useDune2 = true;
36   src = fetchurl {
37     url = "https://github.com/ocaml-ppx/ppx_deriving/releases/download/v${version}/ppx_deriving-v${version}.tbz";
38     inherit (params) sha256;
39   };
41   # This currently fails with dune
42   strictDeps = false;
44   nativeBuildInputs = [ cppo ];
45   buildInputs = [ ppxlib ];
46   propagatedBuildInputs = [
47     (if params.useOMP2
48     then ocaml-migrate-parsetree-2
49     else ocaml-migrate-parsetree)
50     ppx_derivers
51     result
52   ];
54   doCheck = true;
55   checkInputs = [
56     (if lib.versionAtLeast version "5.2" then ounit2 else ounit)
57   ];
59   meta = with lib; {
60     description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02.";
61     maintainers = [ maintainers.maurer ];
62     license = licenses.mit;
63   };