evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / development / ocaml-modules / eio / default.nix
blob3b3c728fb0c3ec20f1202daad89c6059bf5fec52
1 { lib
2 , ocaml
3 , version ? if lib.versionAtLeast ocaml.version "5.1" then "1.1" else "0.12"
4 , buildDunePackage
5 , bigstringaf
6 , cstruct
7 , domain-local-await
8 , fetchurl
9 , fmt
10 , hmap
11 , lwt-dllist
12 , mtime
13 , optint
14 , psq
15 , alcotest
16 , crowbar
17 , mdx
20 let
21   param = {
22     "0.12" = {
23       minimalOCamlVersion = "5.0";
24       hash = "sha256-2EhHzoX/t4ZBSWrSS+PGq1zCxohc7a1q4lfsrFnZJqA=";
25     };
26     "1.1" = {
27       minimalOCamlVersion = "5.1";
28       hash = "sha256-NGEEiEB38UCzV04drMwCISlgxu/reTyAPj5ri6/qD6s=";
29     };
30   }."${version}";
32 buildDunePackage rec {
33   pname = "eio";
34   inherit version;
35   inherit (param) minimalOCamlVersion;
37   src = fetchurl {
38     url = "https://github.com/ocaml-multicore/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
39     inherit (param) hash;
40   };
42   propagatedBuildInputs = [
43     bigstringaf
44     cstruct
45     domain-local-await
46     fmt
47     hmap
48     lwt-dllist
49     mtime
50     optint
51     psq
52   ];
54   checkInputs = [
55     alcotest
56     crowbar
57     mdx
58   ];
60   nativeCheckInputs = [
61     mdx.bin
62   ];
64   meta = {
65     homepage = "https://github.com/ocaml-multicore/${pname}";
66     changelog = "https://github.com/ocaml-multicore/${pname}/raw/v${version}/CHANGES.md";
67     description = "Effects-Based Parallel IO for OCaml";
68     license = with lib.licenses; [ isc ];
69     maintainers = with lib.maintainers; [ toastal ];
70   };