summaryrefslogtreecommitdiffstats
path: root/pkgs/development/ocaml-modules/lwt/default.nix
blob: 065bb32e1f1f27db64446168c50c828bfa9643bf (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
42
43
{
  lib,
  fetchFromGitHub,
  libev,
  buildDunePackage,
  cppo,
  dune-configurator,
  ocplib-endian,
  ppxlib,
  version ? if lib.versionAtLeast ppxlib.version "0.36" then "6.1.2" else "5.9.1",
}:

buildDunePackage {
  pname = "lwt";
  inherit version;

  src = fetchFromGitHub {
    owner = "ocsigen";
    repo = "lwt";
    tag = version;
    hash =
      {
        "5.9.1" = "sha256-oPYLFugMTI3a+hmnwgUcoMgn5l88NP1Roq0agLhH/vI=";
        "5.9.2" = "sha256-pzowRN1wwaF2iMfMPE7RCtA2XjlaXC3xD0yznriVfu8=";
        "6.1.2" = "sha256-9Uxo1ekB3VcvdR4FCVdVWzvPHuVwflYIdD/fWvg0/kc=";
      }
      ."${version}";
  };

  nativeBuildInputs = [ cppo ];
  buildInputs = [ dune-configurator ];
  propagatedBuildInputs = [
    libev
    ocplib-endian
  ];

  meta = {
    homepage = "https://ocsigen.org/lwt/";
    description = "Cooperative threads library for OCaml";
    maintainers = [ lib.maintainers.vbgl ];
    license = lib.licenses.mit;
  };
}