diff --git a/pkgs/development/ocaml-modules/ringo/default.nix b/pkgs/development/ocaml-modules/ringo/default.nix new file mode 100644 index 00000000000..7bfd38b869d --- /dev/null +++ b/pkgs/development/ocaml-modules/ringo/default.nix @@ -0,0 +1,28 @@ +{ lib, fetchFromGitLab, buildDunePackage }: + +buildDunePackage rec { + pname = "ringo"; + version = "0.5"; + + src = fetchFromGitLab { + owner = "nomadic-labs"; + repo = "ringo"; + rev = "v${version}"; + sha256 = "1zwha0ycv3rm3qnw7nkg2m08ibx39yxnx5fan4lnn82b0pdasjag"; + }; + + minimalOCamlVersion = "4.05"; + + useDune2 = true; + + doCheck = true; + + # If we just run the test as is it will try to test ringo-lwt + checkPhase = "dune build @test/runtest"; + + meta = { + description = "Caches (bounded-size key-value stores) and other bounded-size stores"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.ulrikstrid ]; + }; +} diff --git a/pkgs/development/ocaml-modules/ringo/lwt.nix b/pkgs/development/ocaml-modules/ringo/lwt.nix new file mode 100644 index 00000000000..be9f5bbf2b2 --- /dev/null +++ b/pkgs/development/ocaml-modules/ringo/lwt.nix @@ -0,0 +1,17 @@ +{ lib, buildDunePackage, ringo, lwt }: + +buildDunePackage { + pname = "ringo-lwt"; + inherit (ringo) version src doCheck useDune2; + + minimalOCamlVersion = "4.08"; + + propagatedBuildInputs = [ + ringo + lwt + ]; + + meta = ringo.meta // { + description = "Lwt-wrappers for Ringo caches"; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index ebe7465fae5..d124d388ef9 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1179,6 +1179,9 @@ let resto-directory = callPackage ../development/ocaml-modules/resto/directory.nix { }; resto-json = callPackage ../development/ocaml-modules/resto/json.nix { }; + ringo = callPackage ../development/ocaml-modules/ringo { }; + ringo-lwt = callPackage ../development/ocaml-modules/ringo/lwt.nix { }; + rope = callPackage ../development/ocaml-modules/rope { }; routes = callPackage ../development/ocaml-modules/routes { };