nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchurl,
4 ocaml,
5 version ? "1.0.0",
6 buildDunePackage,
7 backoff,
8 domain_shims,
9 dscheck,
10 mdx,
11 multicore-bench,
12 multicore-magic,
13 multicore-magic-dscheck,
14 qcheck,
15 qcheck-alcotest,
16 qcheck-stm,
17}:
18
19buildDunePackage {
20 inherit version;
21
22 pname = "saturn";
23
24 minimalOCamlVersion = "4.14";
25
26 src = fetchurl {
27 url = "https://github.com/ocaml-multicore/saturn/releases/download/${version}/saturn-${version}.tbz";
28 sha512 = "925104a4293326d345701e80932ace2b5d2da02ca6406271d33cd54f9e9c6583f35b060bc42c640357c98669f5bc42e8447dbd21614ae02ce5b5efaa8f04a132";
29 };
30
31 propagatedBuildInputs = [
32 backoff
33 multicore-magic
34 ];
35
36 doCheck = lib.versionAtLeast ocaml.version "5.2";
37 checkInputs = [
38 domain_shims
39 dscheck
40 mdx
41 multicore-bench
42 multicore-magic-dscheck
43 qcheck
44 qcheck-alcotest
45 qcheck-stm
46 ];
47 nativeCheckInputs = [ mdx.bin ];
48
49 meta = {
50 description = "Parallelism-safe data structures for multicore OCaml";
51 homepage = "https://github.com/ocaml-multicore/lockfree";
52 license = lib.licenses.isc;
53 maintainers = [ lib.maintainers.vbgl ];
54 };
55}