summaryrefslogtreecommitdiffstats
path: root/pkgs/development/ocaml-modules/domain-local-timeout/default.nix
blob: 75825d94a25b0af90c0505bad18ab43ae931e0fe (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
44
45
{
  lib,
  buildDunePackage,
  ocaml,
  fetchurl,
  mtime,
  psq,
  thread-table,
  alcotest,
  mdx,
  domain-local-await,
}:

buildDunePackage (finalAttrs: {
  pname = "domain-local-timeout";
  version = "1.0.1";

  minimalOCamlVersion = "4.12";

  src = fetchurl {
    url = "https://github.com/ocaml-multicore/domain-local-timeout/releases/download/${finalAttrs.version}/domain-local-timeout-${finalAttrs.version}.tbz";
    hash = "sha256-6sCqUkOjN8E+7OLUwVQntkv0vrQDkGDV8KNqDhVm0d8=";
  };

  propagatedBuildInputs = [
    mtime
    psq
    thread-table
  ];

  doCheck = lib.versionAtLeast ocaml.version "5.1";
  nativeCheckInputs = [ mdx.bin ];
  checkInputs = [
    alcotest
    domain-local-await
    mdx
  ];

  meta = {
    homepage = "https://github.com/ocaml-multicore/domain-local-timeout";
    description = "Scheduler independent timeout mechanism";
    license = lib.licenses.isc;
    maintainers = [ lib.maintainers.vbgl ];
  };
})