summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/tcpip/default.nix
diff options
context:
space:
mode:
authorsternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2020-12-29 23:45:06 +0100
committersternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2020-12-29 23:50:38 +0100
commit33b6e32d771d933b4746529b3f0ba506be4f7c79 (patch)
tree249e33bd25d2ec16f266f1ecd37d040d5a22f355 /pkgs/development/ocaml-modules/tcpip/default.nix
parentfa3da94dd59efd49d1432a1790b145846761ad2c (diff)
downloadnixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.tar
nixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.tar.gz
nixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.tar.bz2
nixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.tar.lz
nixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.tar.xz
nixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.tar.zst
nixpkgs-33b6e32d771d933b4746529b3f0ba506be4f7c79.zip
ocamlPackages.tcpip: init at 6.0.0
Diffstat (limited to 'pkgs/development/ocaml-modules/tcpip/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/tcpip/default.nix70
1 files changed, 70 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..80fa01066f1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tcpip/default.nix
@@ -0,0 +1,70 @@
+{ lib, buildDunePackage, fetchurl
+, bisect_ppx, ppx_cstruct
+, 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
+}:
+
+buildDunePackage rec {
+  pname = "tcpip";
+  version = "6.0.0";
+
+  useDune2 = true;
+
+  src = fetchurl {
+    url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "0wbrs8jz1vw3zdrqmqcwawxh4yhc2gy30rw7gz4w116cblkvnb8s";
+  };
+
+  nativeBuildInputs = [
+    bisect_ppx
+    ppx_cstruct
+  ];
+
+  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
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    alcotest
+    mirage-flow
+    mirage-vnetif
+    pcap-format
+    mirage-clock-unix
+    arp
+    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;
+  };
+}