diff --git a/pkgs/development/ocaml-modules/domain-local-timeout/default.nix b/pkgs/development/ocaml-modules/domain-local-timeout/default.nix new file mode 100644 index 000000000000..1baef274006f --- /dev/null +++ b/pkgs/development/ocaml-modules/domain-local-timeout/default.nix @@ -0,0 +1,30 @@ +{ lib, buildDunePackage, ocaml, fetchurl +, mtime, psq, thread-table +, alcotest, mdx +, domain-local-await +}: + +buildDunePackage rec { + pname = "domain-local-timeout"; + version = "0.1.0"; + + minimalOCamlVersion = "4.12"; + + src = fetchurl { + url = "https://github.com/ocaml-multicore/domain-local-timeout/releases/download/${version}/domain-local-timeout-${version}.tbz"; + hash = "sha256-UTqcHdGAN/LrvumPhW4Cy6RY8RJ/iVO5zTJKrhPRTjk="; + }; + + propagatedBuildInputs = [ mtime psq thread-table ]; + + doCheck = lib.versionAtLeast ocaml.version "5.0"; + nativeCheckInputs = [ mdx.bin ]; + checkInputs = [ alcotest domain-local-await mdx ]; + + meta = { + homepage = "https://github.com/ocaml-multicore/domain-local-timeout"; + description = "A scheduler independent timeout mechanism"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 00c893af944b..1e12fff7ff1b 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -343,6 +343,8 @@ let domain-local-await = callPackage ../development/ocaml-modules/domain-local-await { }; + domain-local-timeout = callPackage ../development/ocaml-modules/domain-local-timeout { }; + domain-name = callPackage ../development/ocaml-modules/domain-name { }; domainslib = callPackage ../development/ocaml-modules/domainslib { };