2023-11-23 13:40:51 +00:00
|
|
|
opam-version: "2.0"
|
|
|
|
maintainer: "Robur <team@robur.coop>"
|
|
|
|
authors: ["Robur <team@robur.coop>"]
|
|
|
|
homepage: "https://github.com/robur-coop/utcp"
|
|
|
|
dev-repo: "git+https://github.com/robur-coop/utcp.git"
|
|
|
|
bug-reports: "https://github.com/robur-coop/utcp/issues"
|
2024-09-11 18:33:52 +00:00
|
|
|
available: [ arch != "arm32" & arch != "x86_32" ] # see #35
|
2023-11-23 13:40:51 +00:00
|
|
|
|
|
|
|
depends: [
|
2024-03-27 20:22:13 +00:00
|
|
|
"ocaml" {>= "4.13.0"}
|
2023-11-23 13:40:51 +00:00
|
|
|
"dune" {>= "2.7.0"}
|
|
|
|
"cstruct" {>= "6.0.1"}
|
|
|
|
"duration" {>= "0.2.0"}
|
|
|
|
"fmt" {>= "0.8.7"}
|
|
|
|
"ipaddr" {>= "5.2.0"}
|
|
|
|
"ipaddr-cstruct" {>= "5.2.0"}
|
|
|
|
"logs" {>= "0.7.0"}
|
2024-09-11 18:33:52 +00:00
|
|
|
"randomconv" {>= "0.2.0"}
|
|
|
|
"mtime" {>= "1.4.0"}
|
2023-11-23 13:40:51 +00:00
|
|
|
"metrics" {>= "0.4.1"}
|
|
|
|
"base64" {>= "3.5.1"} #only used for tracing
|
|
|
|
#for mirage sublibrary
|
|
|
|
"lwt" {>= "5.4.2"}
|
2024-09-11 18:33:52 +00:00
|
|
|
"mirage-crypto-rng-mirage" {>= "1.0.0"}
|
2023-11-23 13:40:51 +00:00
|
|
|
"mirage-time" {>= "2.0.1"}
|
|
|
|
"mirage-clock" {>= "3.1.0"}
|
2024-03-27 20:22:13 +00:00
|
|
|
"tcpip" {>= "8.0.1"}
|
|
|
|
"mirage-flow" {>= "4.0.0"}
|
2023-11-23 13:40:51 +00:00
|
|
|
#for apps
|
2024-09-11 18:33:52 +00:00
|
|
|
"mirage-crypto-rng" {>= "1.0.0" & dev}
|
2023-11-23 13:40:51 +00:00
|
|
|
"cmdliner" {>= "1.1.0" & dev}
|
|
|
|
"mirage-net-unix" {>= "2.8.0" & dev}
|
|
|
|
"ethernet" {>= "2.2.1" & dev}
|
|
|
|
"arp" {>= "2.3.0" & dev}
|
|
|
|
"mirage-unix" {>= "5.0.0" & dev}
|
|
|
|
"mirage-clock-unix" {>= "3.1.0" & dev}
|
|
|
|
"pcap-format" {>= "0.6.0" & dev}
|
|
|
|
"alcotest" {>= "1.5.0" & with-test}
|
|
|
|
"crowbar" {>= "0.2.1" & with-test}
|
|
|
|
]
|
|
|
|
build: [
|
|
|
|
["dune" "subst"] {dev}
|
|
|
|
["dune" "build" "-p" name "-j" jobs]
|
|
|
|
["dune" "runtest" "-p" name "-j" jobs] {with-test}
|
|
|
|
]
|
|
|
|
|
|
|
|
synopsis: "An implementation of TCP (Transmission Control Protocol) in OCaml"
|
|
|
|
description: """
|
|
|
|
µTCP is an implementation of the Transmission Control
|
|
|
|
Protocol (RFC 793) in OCaml. TCP is widely used on the Internet today.
|
|
|
|
|
|
|
|
This implementation is based on the research project Network Semantics
|
|
|
|
(https://www.cl.cam.ac.uk/~pes20/Netsem/) which developed a rigorous test
|
|
|
|
oracle specification and validation for TCP/IP and the Sockets API (also see
|
|
|
|
the JACM paper http://www.cl.cam.ac.uk/~pes20/Netsem/paper3.pdf) in HOL4. The
|
|
|
|
implementation does not adhere to the specification, since some features of TCP
|
|
|
|
that are rarely used are not implemented (such as the urgent flag and urgent
|
|
|
|
pointers).
|
|
|
|
|
|
|
|
The target of this opam package is the MirageOS (https://mirageos.org) unikernel
|
|
|
|
operating system.
|
|
|
|
"""
|
|
|
|
url {
|
|
|
|
src: "git+https://github.com/robur-coop/utcp.git"
|
|
|
|
}
|