1{ lib
2, buildDunePackage
3, cstruct
4, dune-configurator
5, fetchurl
6, fetchpatch
7, fmt
8, optint
9, mdx
10}:
11
12buildDunePackage rec {
13 pname = "uring";
14 version = "0.9";
15
16 minimalOCamlVersion = "4.12";
17
18 src = fetchurl {
19 url = "https://github.com/ocaml-multicore/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
20 hash = "sha256-eXWIxfL9UsKKf4sanBjKfr6Od4fPDctVnkU+wjIXW0M=";
21 };
22
23 propagatedBuildInputs = [
24 cstruct
25 fmt
26 optint
27 ];
28
29 buildInputs = [
30 dune-configurator
31 ];
32
33 checkInputs = [
34 mdx
35 ];
36
37 nativeCheckInputs = [
38 mdx.bin
39 ];
40
41 doCheck = true;
42
43 dontStrip = true;
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 = "Bindings to io_uring for OCaml";
49 license = with lib.licenses; [ isc mit ];
50 platforms = lib.platforms.linux;
51 maintainers = with lib.maintainers; [ toastal ];
52 };
53}