nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 ocaml,
4 buildDunePackage,
5 fetchurl,
6 alcotest,
7 domain_shims,
8 mdx,
9 thread-table,
10}:
11
12buildDunePackage rec {
13 pname = "domain-local-await";
14 version = "1.0.1";
15
16 minimalOCamlVersion = "5.0";
17
18 # Fix build with gcc15
19 env = lib.optionalAttrs (lib.versions.majorMinor ocaml.version == "5.0") {
20 NIX_CFLAGS_COMPILE = "-std=gnu11";
21 };
22
23 src = fetchurl {
24 url = "https://github.com/ocaml-multicore/${pname}/releases/download/${version}/${pname}-${version}.tbz";
25 hash = "sha256-KVIRPFPLB+KwVLLchs5yk5Ex2rggfI8xOa2yPmTN+m8=";
26 };
27
28 propagatedBuildInputs = [
29 thread-table
30 ];
31
32 __darwinAllowLocalNetworking = true;
33 doCheck = true;
34
35 checkInputs = [
36 alcotest
37 domain_shims
38 mdx
39 ];
40
41 nativeCheckInputs = [
42 mdx.bin
43 ];
44
45 meta = {
46 homepage = "https://github.com/ocaml-multicore/ocaml-${pname}";
47 changelog = "https://github.com/ocaml-multicore/ocaml-${pname}/raw/v${version}/CHANGES.md";
48 description = "Scheduler independent blocking mechanism";
49 license = with lib.licenses; [ isc ];
50 maintainers = with lib.maintainers; [ toastal ];
51 };
52}