56 lines
1.1 KiB
Nix
56 lines
1.1 KiB
Nix
|
|
{
|
||
|
|
lib,
|
||
|
|
fetchurl,
|
||
|
|
ocaml,
|
||
|
|
version ? "1.0.0",
|
||
|
|
buildDunePackage,
|
||
|
|
backoff,
|
||
|
|
domain_shims,
|
||
|
|
dscheck,
|
||
|
|
mdx,
|
||
|
|
multicore-bench,
|
||
|
|
multicore-magic,
|
||
|
|
multicore-magic-dscheck,
|
||
|
|
qcheck,
|
||
|
|
qcheck-alcotest,
|
||
|
|
qcheck-stm,
|
||
|
|
}:
|
||
|
|
|
||
|
|
buildDunePackage {
|
||
|
|
inherit version;
|
||
|
|
|
||
|
|
pname = "saturn";
|
||
|
|
|
||
|
|
minimalOCamlVersion = "4.14";
|
||
|
|
|
||
|
|
src = fetchurl {
|
||
|
|
url = "https://github.com/ocaml-multicore/saturn/releases/download/${version}/saturn-${version}.tbz";
|
||
|
|
sha512 = "925104a4293326d345701e80932ace2b5d2da02ca6406271d33cd54f9e9c6583f35b060bc42c640357c98669f5bc42e8447dbd21614ae02ce5b5efaa8f04a132";
|
||
|
|
};
|
||
|
|
|
||
|
|
propagatedBuildInputs = [
|
||
|
|
backoff
|
||
|
|
multicore-magic
|
||
|
|
];
|
||
|
|
|
||
|
|
doCheck = lib.versionAtLeast ocaml.version "5.2";
|
||
|
|
checkInputs = [
|
||
|
|
domain_shims
|
||
|
|
dscheck
|
||
|
|
mdx
|
||
|
|
multicore-bench
|
||
|
|
multicore-magic-dscheck
|
||
|
|
qcheck
|
||
|
|
qcheck-alcotest
|
||
|
|
qcheck-stm
|
||
|
|
];
|
||
|
|
nativeCheckInputs = [ mdx.bin ];
|
||
|
|
|
||
|
|
meta = {
|
||
|
|
description = "Parallelism-safe data structures for multicore OCaml";
|
||
|
|
homepage = "https://github.com/ocaml-multicore/lockfree";
|
||
|
|
license = lib.licenses.isc;
|
||
|
|
maintainers = [ lib.maintainers.vbgl ];
|
||
|
|
};
|
||
|
|
}
|