opam-version: "2.0"
maintainer:   ["anil@recoil.org" "thomas@gazagnaire.org"]
authors:      "The MirageOS team"
homepage:     "https://github.com/mirage/mirage"
bug-reports:  "https://github.com/mirage/mirage/issues/"
dev-repo:     "git+https://github.com/mirage/mirage.git"
license:      "ISC"
tags:         ["org:mirage" "org:xapi-project"]


build: [
  ["dune" "subst"] {pinned}
  ["dune" "build" "-p" name "-j" jobs]
  ["dune" "runtest" "-p" name "-j" jobs] {with-test}
]

depends: [
  "ocaml" {>= "4.05.0"}
  "dune" {>= "1.1.0"}
  "lwt"
  "cstruct" {>= "3.2.1"}
  "ipaddr" {>= "3.0.0"}
  "mirage-types" {>= "3.5.0" & < "3.7.0"}
  "mirage-clock-lwt" {>= "2.0.0"}
  "mirage-time-lwt" {>= "1.1.0"}
  "mirage-random" {>= "1.2.0" & < "2.0.0"}
  "mirage-flow-lwt" {>= "1.5.0"}
  "mirage-protocols-lwt" {>= "2.0.0"}
  "mirage-stack-lwt" {>= "1.3.0"}
  "mirage-console-lwt" {>= "2.3.5"}
  "mirage-block-lwt" {>= "1.1.0"}
  "mirage-net-lwt" {>= "2.0.0"}
  "mirage-fs-lwt" {>= "2.0.0"}
  "mirage-kv-lwt" {>= "2.0.0"}
  "mirage-channel-lwt" {>= "3.1.0"}
]
synopsis: "Lwt module type definitions for MirageOS applications"
description: """
The purpose of this library is to provide concrete types
for several that are left abstract in `mirage-types`:

- `type 'a io = 'a Lwt.t`
- `type page_aligned_buffer = Io_page.t`
- `type buffer = Cstruct.t`
- `type macaddr = Macaddr.t`
- `type ipv4addr = Ipaddr.V4.t`
"""
url {
  src:
    "https://github.com/mirage/mirage/releases/download/v3.5.1/mirage-v3.5.1.tbz"
  checksum: [
    "sha256=2ff147901b46be2226660b0038fe3a1f3f8ffb8a72eecea9bc5fb2937e4cd23e"
    "sha512=d4b5f49e147d42d5a696232dc5e2336db2459a5b1e9c5702ed46c5870596e8d7dc69e799d50554b8e8edc637a21ed4f374a26eb53f0bc8d54ba11819fe5c742d"
  ]
}
