1{ lib, buildDunePackage, fetchurl
2, ppx_sexp_conv, ppx_cstruct
3, mirage-crypto, mirage-crypto-rng, mirage-crypto-pk
4, x509, cstruct, cstruct-unix, cstruct-sexp, sexplib
5, rresult, mtime, logs, fmt, cmdliner, base64, hacl_x25519
6, zarith
7}:
8
9buildDunePackage rec {
10 pname = "awa";
11 version = "0.0.4";
12
13 minimumOCamlVersion = "4.07";
14 useDune2 = true;
15
16 src = fetchurl {
17 url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-v${version}.tbz";
18 sha256 = "1l7nsd8jifxjq78xyzcc0z9igc02m2qlvv4cxzsgdim6n1jfzxj2";
19 };
20
21 nativeBuildInputs = [ ppx_sexp_conv ppx_cstruct ];
22
23 propagatedBuildInputs = [
24 mirage-crypto mirage-crypto-rng mirage-crypto-pk x509
25 cstruct cstruct-sexp sexplib mtime
26 logs base64 hacl_x25519 zarith
27 ];
28
29 doCheck = true;
30 checkInputs = [ cstruct-unix cmdliner fmt ];
31
32 meta = with lib; {
33 description = "SSH implementation in OCaml";
34 license = licenses.isc;
35 homepage = "https://github.com/mirage/awa-ssh";
36 changelog = "https://github.com/mirage/awa-ssh/raw/v${version}/CHANGES.md";
37 maintainers = [ maintainers.sternenseemann ];
38 };
39}