diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix new file mode 100644 index 000000000000..49d614cda884 --- /dev/null +++ b/pkgs/development/ocaml-modules/awa/default.nix @@ -0,0 +1,38 @@ +{ lib, buildDunePackage, fetchurl +, ppx_sexp_conv, ppx_cstruct +, mirage-crypto, mirage-crypto-rng, mirage-crypto-pk +, x509, cstruct, cstruct-unix, cstruct-sexp, sexplib +, rresult, mtime, logs, fmt, cmdliner, base64, hacl_x25519 +, zarith +}: + +buildDunePackage rec { + pname = "awa"; + version = "0.0.1"; + + minimumOCamlVersion = "4.07"; + useDune2 = true; + + src = fetchurl { + url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-v${version}.tbz"; + sha256 = "c1d604645517b191184a5800f5c48a6a9a3e5a2fce4a0e2ecfeee74586301400"; + }; + + nativeBuildInputs = [ ppx_sexp_conv ppx_cstruct ]; + + propagatedBuildInputs = [ + mirage-crypto mirage-crypto-rng mirage-crypto-pk x509 + cstruct cstruct-sexp sexplib rresult mtime + logs base64 hacl_x25519 zarith + ]; + + doCheck = true; + checkInputs = [ cstruct-unix cmdliner fmt ]; + + meta = with lib; { + description = "SSH implementation in OCaml"; + license = licenses.isc; + homepage = "https://github.com/mirage/awa-ssh"; + maintainers = [ maintainers.sternenseemann ]; + }; +} diff --git a/pkgs/development/ocaml-modules/awa/lwt.nix b/pkgs/development/ocaml-modules/awa/lwt.nix new file mode 100644 index 000000000000..00be799ddff2 --- /dev/null +++ b/pkgs/development/ocaml-modules/awa/lwt.nix @@ -0,0 +1,15 @@ +{ buildDunePackage, awa +, cstruct, mtime, lwt, cstruct-unix, mirage-crypto-rng +}: + +buildDunePackage { + pname = "awa-lwt"; + + inherit (awa) version src useDune2; + + propagatedBuildInputs = [ + awa cstruct mtime lwt cstruct-unix mirage-crypto-rng + ]; + + inherit (awa) meta; +} diff --git a/pkgs/development/ocaml-modules/awa/mirage.nix b/pkgs/development/ocaml-modules/awa/mirage.nix new file mode 100644 index 000000000000..4f9b425f8a01 --- /dev/null +++ b/pkgs/development/ocaml-modules/awa/mirage.nix @@ -0,0 +1,15 @@ +{ buildDunePackage, awa +, cstruct, mtime, lwt, mirage-flow, mirage-clock, logs +}: + +buildDunePackage { + pname = "awa-mirage"; + + inherit (awa) version src useDune2; + + propagatedBuildInputs = [ + awa cstruct mtime lwt mirage-flow mirage-clock logs + ]; + + inherit (awa) meta; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index b123658a3ffb..e840953b4b6f 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -44,6 +44,12 @@ let atdgen = callPackage ../development/ocaml-modules/atdgen { }; + awa = callPackage ../development/ocaml-modules/awa { }; + + awa-lwt = callPackage ../development/ocaml-modules/awa/lwt.nix { }; + + awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { }; + base64 = callPackage ../development/ocaml-modules/base64 { }; bap = callPackage ../development/ocaml-modules/bap {