diff --git a/pkgs/development/ocaml-modules/noise/default.nix b/pkgs/development/ocaml-modules/noise/default.nix new file mode 100644 index 00000000000..59ca274c88d --- /dev/null +++ b/pkgs/development/ocaml-modules/noise/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildDunePackage +, fetchurl + +, callipyge +, chacha +, digestif +, hex +, lwt +, lwt_ppx +, nocrypto +, ounit +, ppxlib +, ppx_let +, ppx_deriving +, ppx_deriving_yojson +}: + +buildDunePackage rec { + pname = "noise"; + version = "0.2.0"; + + src = fetchurl { + url = "https://github.com/emillon/ocaml-noise/releases/download/v${version}/${pname}-v${version}.tbz"; + sha256 = "sha256-fe3pT7fsuF2hCvXpInsRg6OvARs/eAh1Un454s1osDs="; + }; + + useDune2 = true; + + minimumOCamlVersion = "4.04"; + + nativeBuildInputs = [ + ppxlib + ppx_deriving + ppx_let + ]; + + propagatedBuildInputs = [ + callipyge + chacha + digestif + hex + nocrypto + ]; + + doCheck = true; + checkInputs = [ + lwt + lwt_ppx + ounit + ppx_deriving_yojson + ]; + + meta = { + homepage = "https://github.com/emillon/ocaml-noise"; + description = "OCaml implementation of the Noise Protocol Framework"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ fufexan ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 5f002e6d7c4..b0d1337942d 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -808,6 +808,8 @@ let nocrypto = callPackage ../development/ocaml-modules/nocrypto { }; + noise = callPackage ../development/ocaml-modules/noise { }; + nonstd = callPackage ../development/ocaml-modules/nonstd { }; notty = callPackage ../development/ocaml-modules/notty { };