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