diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix new file mode 100644 index 00000000000..3a96d4adee4 --- /dev/null +++ b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildDunePackage +, fetchurl +, ppx_cstruct +, mirage-profile +, cstruct +, ounit +}: + +buildDunePackage rec { + pname = "shared-memory-ring"; + version = "3.1.0"; + + useDune2 = true; + + src = fetchurl { + url = "https://github.com/mirage/shared-memory-ring/releases/download/v${version}/shared-memory-ring-v${version}.tbz"; + sha256 = "06350ph3rdfvybi0cgs3h3rdkmjspk3c4375rxvbdg0kza1w22x1"; + }; + + nativeBuildInputs = [ + ppx_cstruct + ]; + + propagatedBuildInputs = [ + mirage-profile + cstruct + ]; + + doCheck = true; + checkInputs = [ + ounit + ]; + + meta = with lib; { + description = "Shared memory rings for RPC and bytestream communications"; + license = licenses.isc; + homepage = "https://github.com/mirage/shared-memory-ring"; + maintainers = [ maintainers.sternenseemann ]; + }; +} diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix b/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix new file mode 100644 index 00000000000..8f41253bab8 --- /dev/null +++ b/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix @@ -0,0 +1,37 @@ +{ lib +, buildDunePackage +, shared-memory-ring +, ppx_cstruct +, cstruct +, lwt +, lwt-dllist +, mirage-profile +, ounit +}: + +buildDunePackage { + pname = "shared-memory-ring-lwt"; + + inherit (shared-memory-ring) version src useDune2; + + buildInputs = [ + ppx_cstruct + ]; + + propagatedBuildInputs = [ + shared-memory-ring + cstruct + lwt + lwt-dllist + mirage-profile + ]; + + doCheck = true; + checkInputs = [ + ounit + ]; + + meta = shared-memory-ring.meta // { + description = "Shared memory rings for RPC and bytestream communications using Lwt"; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index d8c1f2d3e40..5e33c619ca0 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1138,6 +1138,10 @@ let sha = callPackage ../development/ocaml-modules/sha { }; + shared-memory-ring = callPackage ../development/ocaml-modules/shared-memory-ring { }; + + shared-memory-ring-lwt = callPackage ../development/ocaml-modules/shared-memory-ring/lwt.nix { }; + sodium = callPackage ../development/ocaml-modules/sodium { }; spelll = callPackage ../development/ocaml-modules/spelll { };