biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / ocaml-modules / ppx_import / default.nix
blob8330aead80ea69decc89447accb16c8193a0deb1
1 { lib
2 , fetchurl
3 , buildDunePackage
4 , ocaml
5 , ounit
6 , ppx_deriving
7 , ppx_sexp_conv
8 , ppxlib
9 , version ? if lib.versionAtLeast ocaml.version "4.11" then "1.10.0" else "1.9.1"
12 let param = {
13   "1.9.1" = {
14     sha256 = "sha256-0bSY4u44Ds84XPIbcT5Vt4AG/4PkzFKMl9CDGFZyIdI=";
15   };
16   "1.10.0" = {
17     sha256 = "sha256-MA8sf0F7Ch1wJDL8E8470ukKx7KieWyjWJnJQsqBVW8=";
18   };
19 }."${version}"; in
21 lib.throwIfNot (lib.versionAtLeast ppxlib.version "0.24.0")
22   "ppx_import is not available with ppxlib-${ppxlib.version}"
24 buildDunePackage rec {
25   pname = "ppx_import";
26   inherit version;
28   minimalOCamlVersion = "4.05";
29   duneVersion = "3";
31   src = fetchurl {
32     url = "https://github.com/ocaml-ppx/ppx_import/releases/download/${version}/ppx_import-${version}.tbz";
33     inherit (param) sha256;
34   };
36   propagatedBuildInputs = [
37     ppxlib
38   ];
40   checkInputs = [
41     ounit
42     ppx_deriving
43     ppx_sexp_conv
44   ];
46   doCheck = true;
48   meta = {
49     description = "A syntax extension for importing declarations from interface files";
50     license = lib.licenses.mit;
51     homepage = "https://github.com/ocaml-ppx/ppx_import";
52   };