Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, stdenv
3, buildDunePackage
4, fetchurl
5, cstruct
6, duration
7, ethernet
8, ipaddr
9, logs
10, lwt
11, macaddr
12, mirage-profile
13, mirage-time
14, alcotest
15, mirage-clock-unix
16, mirage-flow
17, mirage-random
18, mirage-random-test
19, mirage-time-unix
20, mirage-vnetif
21, bisect_ppx
22}:
23
24buildDunePackage rec {
25 pname = "arp";
26 version = "3.0.0";
27
28 src = fetchurl {
29 url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
30 sha256 = "1x3l8v96ywc3wrcwbf0j04b8agap4fif0fz6ki2ndzx57yqcjszn";
31 };
32
33 minimalOCamlVersion = "4.08";
34 duneVersion = "3";
35
36 nativeBuildInputs = [
37 bisect_ppx
38 ];
39
40 propagatedBuildInputs = [
41 cstruct
42 duration
43 ethernet
44 ipaddr
45 logs
46 lwt
47 macaddr
48 mirage-profile
49 mirage-time
50 ];
51
52 ## NOTE: As of 18 april 2023 and ARP version 3.0.0, tests fail on Darwin.
53 doCheck = ! stdenv.isDarwin;
54 checkInputs = [
55 alcotest
56 mirage-clock-unix
57 mirage-flow
58 mirage-random
59 mirage-random-test
60 mirage-time-unix
61 mirage-vnetif
62 ];
63
64 meta = with lib; {
65 description = "Address Resolution Protocol purely in OCaml";
66 homepage = "https://github.com/mirage/arp";
67 license = licenses.isc;
68 maintainers = with maintainers; [ sternenseemann ];
69 };
70}