diff --git a/pkgs/development/ocaml-modules/kcas/default.nix b/pkgs/development/ocaml-modules/kcas/default.nix new file mode 100644 index 000000000000..2d840b9a750b --- /dev/null +++ b/pkgs/development/ocaml-modules/kcas/default.nix @@ -0,0 +1,26 @@ +{ lib, buildDunePackage, fetchurl +, domain-local-await, domain-local-timeout +, alcotest +}: + +buildDunePackage rec { + pname = "kcas"; + version = "0.6.1"; + + src = fetchurl { + url = "https://github.com/ocaml-multicore/kcas/releases/download/${version}/kcas-${version}.tbz"; + hash = "sha256-u3Z8uAvITRUhOcB2EUYjWtpxIFJMvm2O/kyNr/AELWI="; + }; + + propagatedBuildInputs = [ domain-local-await domain-local-timeout ]; + + doCheck = true; + checkInputs = [ alcotest ]; + + meta = { + homepage = "https://github.com/ocaml-multicore/kcas"; + description = "STM based on lock-free MCAS"; + 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 1e12fff7ff1b..984c5791ea04 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -799,6 +799,8 @@ let kafka_lwt = callPackage ../development/ocaml-modules/kafka/lwt.nix { }; + kcas = callPackage ../development/ocaml-modules/kcas { }; + ke = callPackage ../development/ocaml-modules/ke { }; kicadsch = callPackage ../development/ocaml-modules/kicadsch { };