diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/tcpip/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/tcpip/default.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/tcpip/default.nix b/pkgs/development/ocaml-modules/tcpip/default.nix new file mode 100644 index 00000000000..ad12cb42d5e --- /dev/null +++ b/pkgs/development/ocaml-modules/tcpip/default.nix @@ -0,0 +1,76 @@ +{ lib, buildDunePackage, fetchurl +, bisect_ppx, ppx_cstruct, pkg-config +, rresult, cstruct, cstruct-lwt, mirage-net, mirage-clock +, mirage-random, mirage-stack, mirage-protocols, mirage-time +, ipaddr, macaddr, macaddr-cstruct, mirage-profile, fmt +, lwt, lwt-dllist, logs, duration, randomconv, ethernet +, alcotest, mirage-flow, mirage-vnetif, pcap-format +, mirage-clock-unix, arp, ipaddr-cstruct, mirage-random-test +, lru, metrics +, withFreestanding ? false +, ocaml-freestanding +}: + +buildDunePackage rec { + pname = "tcpip"; + version = "7.0.1"; + + useDune2 = true; + + src = fetchurl { + url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-${version}.tbz"; + sha256 = "0gqj2s9sk3a7f4yavx423a569fvxsrgm0wg58biiv16v37xjaymp"; + }; + + nativeBuildInputs = [ + bisect_ppx + ppx_cstruct + pkg-config + ]; + + propagatedBuildInputs = [ + rresult + cstruct + cstruct-lwt + mirage-net + mirage-clock + mirage-random + mirage-random-test + mirage-stack + mirage-protocols + mirage-time + ipaddr + macaddr + macaddr-cstruct + mirage-profile + fmt + lwt + lwt-dllist + logs + duration + randomconv + ethernet + lru + metrics + arp + ] ++ lib.optionals withFreestanding [ + ocaml-freestanding + ]; + + doCheck = false; + checkInputs = [ + alcotest + mirage-flow + mirage-vnetif + pcap-format + mirage-clock-unix + ipaddr-cstruct + ]; + + meta = with lib; { + description = "OCaml TCP/IP networking stack, used in MirageOS"; + homepage = "https://github.com/mirage/mirage-tcpip"; + maintainers = [ maintainers.sternenseemann ]; + license = licenses.isc; + }; +} |