Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at netboot-syslinux-multiplatform 74 lines 1.6 kB view raw
1{ lib, buildDunePackage, fetchurl 2, ppx_cstruct, pkg-config 3, cstruct, cstruct-lwt, mirage-net, mirage-clock 4, mirage-random, mirage-time 5, ipaddr, macaddr, macaddr-cstruct, mirage-profile, fmt 6, lwt, lwt-dllist, logs, duration, randomconv, ethernet 7, alcotest, mirage-flow, mirage-vnetif, pcap-format 8, mirage-clock-unix, arp, ipaddr-cstruct, mirage-random-test 9, lru, metrics 10, withFreestanding ? false 11, ocaml-freestanding 12}: 13 14buildDunePackage rec { 15 pname = "tcpip"; 16 version = "7.1.2"; 17 18 duneVersion = "3"; 19 20 src = fetchurl { 21 url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-${version}.tbz"; 22 hash = "sha256-lraur6NfFD9yddG+y21jlHKt82gLgYBBbedltlgcRm0="; 23 }; 24 25 nativeBuildInputs = [ 26 pkg-config 27 ]; 28 29 propagatedBuildInputs = [ 30 ppx_cstruct 31 cstruct 32 cstruct-lwt 33 mirage-net 34 mirage-clock 35 mirage-random 36 mirage-time 37 ipaddr 38 macaddr 39 macaddr-cstruct 40 mirage-profile 41 fmt 42 lwt 43 lwt-dllist 44 logs 45 duration 46 randomconv 47 ethernet 48 lru 49 metrics 50 arp 51 mirage-flow 52 ] ++ lib.optionals withFreestanding [ 53 ocaml-freestanding 54 ]; 55 56 doCheck = true; 57 checkInputs = [ 58 alcotest 59 mirage-random-test 60 mirage-flow 61 mirage-vnetif 62 pcap-format 63 mirage-clock-unix 64 ipaddr-cstruct 65 ]; 66 __darwinAllowLocalNetworking = true; 67 68 meta = with lib; { 69 description = "OCaml TCP/IP networking stack, used in MirageOS"; 70 homepage = "https://github.com/mirage/mirage-tcpip"; 71 maintainers = [ maintainers.sternenseemann ]; 72 license = licenses.isc; 73 }; 74}