Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
51 lines
1.2 KiB
Nix
51 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
buildDunePackage,
|
|
fetchurl,
|
|
domain-local-await,
|
|
domain-local-timeout,
|
|
alcotest,
|
|
multicore-magic,
|
|
backoff,
|
|
domain_shims,
|
|
mdx,
|
|
}:
|
|
|
|
buildDunePackage rec {
|
|
pname = "kcas";
|
|
version = "0.7.0";
|
|
|
|
minimalOCamlVersion = "4.13.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/ocaml-multicore/kcas/releases/download/${version}/kcas-${version}.tbz";
|
|
hash = "sha256-mo/otnkB79QdyVgLw1sZFfkR/Z/l15cRVfEYPPd6H5E=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
domain-local-await
|
|
domain-local-timeout
|
|
multicore-magic
|
|
backoff
|
|
];
|
|
|
|
doCheck = true;
|
|
nativeCheckInputs = [ mdx.bin ];
|
|
checkInputs = [
|
|
alcotest
|
|
domain_shims
|
|
mdx
|
|
];
|
|
|
|
meta = {
|
|
homepage = "https://github.com/ocaml-multicore/kcas";
|
|
description = "STM based on lock-free MCAS";
|
|
longDescription = ''
|
|
A software transactional memory (STM) implementation based on an atomic lock-free multi-word compare-and-set (MCAS) algorithm enhanced with read-only compare operations and ability to block awaiting for changes.
|
|
'';
|
|
changelog = "https://raw.githubusercontent.com/ocaml-multicore/kcas/refs/tags/${version}/CHANGES.md";
|
|
license = lib.licenses.isc;
|
|
maintainers = [ lib.maintainers.vbgl ];
|
|
};
|
|
}
|