diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b6a5d437..e707c1de 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,8 +15,9 @@ jobs: fail-fast: false matrix: os: - - macos-latest - ubuntu-latest + - macos-latest + - windows-latest ocaml-compiler: - 5 - 4 @@ -63,7 +64,7 @@ jobs: ocaml-compiler: 4 opam-pin: false - - run: opam install mirage + - run: opam install "mirage<4.7.0" - run: opam exec -- mirage configure -t ${{ matrix.mode }} - run: opam exec -- make depend - run: opam exec -- make diff --git a/dune-project b/dune-project index 61981736..33ea3b14 100644 --- a/dune-project +++ b/dune-project @@ -1,3 +1,70 @@ (lang dune 2.7) + (name tcpip) + (formatting disabled) +(generate_opam_files true) + +(license ISC) +(authors + "Anil Madhavapeddy" + "Balraj Singh" + "David Scott" + "Gabor Pali" + "Hannes Mehnert" + "Haris Rotsos" + "Kia" + "Luke Dunstan" + "Magnus Skjegstad" + "Mindy Preston" + "Nicolas Ojeda Bar" + "Pablo Polvorin" + "Richard Mortier" + "Thomas Gazagnaire" + "Thomas Leonard" + "Tim Cuthbertson" + "Vincent Bernardoff" + "lnmx" + "pqwy") +(maintainers "anil@recoil.org") +(source (github mirage/mirage-tcpip)) + +(package + (name tcpip) + (synopsis "OCaml TCP/IP networking stack, used in MirageOS") + (description "`mirage-tcpip` provides a networking stack for the [Mirage operating system](https://mirage.io). It provides implementations for the following module types (which correspond with the similarly-named protocols): IP (via the IPv4 and IPv6 modules), ICMP, UDP, TCP") + (tags ("org:mirage")) + (depends + (ocaml (>= 4.08.0)) + (arp (>= 3.0.0)) + (cmdliner (>= 1.1.0)) + (cstruct (>= 6.0.0)) + cstruct-lwt + duration + (ethernet (>= 3.0.0)) + (fmt (>= 0.8.7)) + (ipaddr (>= 5.6.0)) + ipaddr-cstruct + (logs (>= 0.6.0)) + (lru (>= 0.3.0)) + (lwt (>= 4.0.0)) + lwt-dllist + (macaddr (>= 4.0.0)) + macaddr-cstruct + metrics + (mirage-clock (>= 3.0.0)) + (mirage-crypto-rng-mirage (>= 1.0.0)) + (mirage-flow (>= 4.0.0)) + (mirage-net (>= 3.0.0)) + (mirage-time (>= 2.0.0)) + (randomconv (>= 0.2.0)) + (bisect_ppx (and :dev (> 2.5.0))) + (alcotest (and :with-test (>= 1.5.0))) + (mirage-clock-unix (and :with-test (>= 3.0.0))) + (mirage-crypto-rng (and :with-test (>= 1.0.0))) + (mirage-vnetif (and :with-test (>= 0.6.2))) + (pcap-format :with-test)) + (conflicts + ocaml-freestanding + (mirage-xen (< 6.0.0)) + (result (< 1.5)))) diff --git a/tcpip.opam b/tcpip.opam index 84d72eed..b93f0942 100644 --- a/tcpip.opam +++ b/tcpip.opam @@ -1,68 +1,84 @@ +# This file is generated by dune, edit dune-project instead opam-version: "2.0" -maintainer: "anil@recoil.org" -homepage: "https://github.com/mirage/mirage-tcpip" -dev-repo: "git+https://github.com/mirage/mirage-tcpip.git" -bug-reports: "https://github.com/mirage/mirage-tcpip/issues" -doc: "https://mirage.github.io/mirage-tcpip/" +synopsis: "OCaml TCP/IP networking stack, used in MirageOS" +description: + "`mirage-tcpip` provides a networking stack for the [Mirage operating system](https://mirage.io). It provides implementations for the following module types (which correspond with the similarly-named protocols): IP (via the IPv4 and IPv6 modules), ICMP, UDP, TCP" +maintainer: ["anil@recoil.org"] authors: [ - "Anil Madhavapeddy" "Balraj Singh" "Richard Mortier" "Nicolas Ojeda Bar" - "Thomas Gazagnaire" "Vincent Bernardoff" "Magnus Skjegstad" "Mindy Preston" - "Thomas Leonard" "David Scott" "Gabor Pali" "Hannes Mehnert" "Haris Rotsos" - "Kia" "Luke Dunstan" "Pablo Polvorin" "Tim Cuthbertson" "lnmx" "pqwy" ] + "Anil Madhavapeddy" + "Balraj Singh" + "David Scott" + "Gabor Pali" + "Hannes Mehnert" + "Haris Rotsos" + "Kia" + "Luke Dunstan" + "Magnus Skjegstad" + "Mindy Preston" + "Nicolas Ojeda Bar" + "Pablo Polvorin" + "Richard Mortier" + "Thomas Gazagnaire" + "Thomas Leonard" + "Tim Cuthbertson" + "Vincent Bernardoff" + "lnmx" + "pqwy" +] license: "ISC" tags: ["org:mirage"] - -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -conflicts: [ - "mirage-xen" {< "6.0.0"} - "ocaml-freestanding" - "result" {< "1.5"} -] +homepage: "https://github.com/mirage/mirage-tcpip" +bug-reports: "https://github.com/mirage/mirage-tcpip/issues" depends: [ - "dune" {>= "2.7.0"} - "bisect_ppx" {dev & >= "2.5.0"} + "dune" {>= "2.7"} "ocaml" {>= "4.08.0"} + "arp" {>= "3.0.0"} + "cmdliner" {>= "1.1.0"} "cstruct" {>= "6.0.0"} "cstruct-lwt" - "mirage-net" {>= "3.0.0"} - "mirage-clock" {>= "3.0.0"} - "mirage-crypto-rng-mirage" {>= "1.0.0"} - "mirage-time" {>= "2.0.0"} - "ipaddr" {>= "5.6.0"} - "macaddr" {>="4.0.0"} - "macaddr-cstruct" + "duration" + "ethernet" {>= "3.0.0"} "fmt" {>= "0.8.7"} + "ipaddr" {>= "5.6.0"} + "ipaddr-cstruct" + "logs" {>= "0.6.0"} + "lru" {>= "0.3.0"} "lwt" {>= "4.0.0"} "lwt-dllist" - "logs" {>= "0.6.0"} - "duration" - "randomconv" {>= "0.2.0"} - "ethernet" {>= "3.0.0"} - "arp" {>= "3.0.0"} + "macaddr" {>= "4.0.0"} + "macaddr-cstruct" + "metrics" + "mirage-clock" {>= "3.0.0"} + "mirage-crypto-rng-mirage" {>= "1.0.0"} "mirage-flow" {>= "4.0.0"} - "mirage-vnetif" {with-test & >= "0.6.2"} - "alcotest" {with-test & >="1.5.0"} - "pcap-format" {with-test} + "mirage-net" {>= "3.0.0"} + "mirage-time" {>= "2.0.0"} + "randomconv" {>= "0.2.0"} + "bisect_ppx" {dev & > "2.5.0"} + "alcotest" {with-test & >= "1.5.0"} "mirage-clock-unix" {with-test & >= "3.0.0"} "mirage-crypto-rng" {with-test & >= "1.0.0"} - "ipaddr-cstruct" - "macaddr-cstruct" - "lru" {>= "0.3.0"} - "metrics" - "cmdliner" {>= "1.1.0"} + "mirage-vnetif" {with-test & >= "0.6.2"} + "pcap-format" {with-test} + "odoc" {with-doc} ] -synopsis: "OCaml TCP/IP networking stack, used in MirageOS" -description: """ -`mirage-tcpip` provides a networking stack for the [Mirage operating -system](https://mirage.io). It provides implementations for the following module types -(which correspond with the similarly-named protocols): - -* IP (via the IPv4 and IPv6 modules) -* ICMP -* UDP -* TCP -""" +conflicts: [ + "ocaml-freestanding" + "mirage-xen" {< "6.0.0"} + "result" {< "1.5"} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/mirage/mirage-tcpip.git"