this repo has no description

[new release] mirage (2 packages) (4.9.0)

CHANGES:

- Remove time, pclock, mclock, random from functor arguments
Instead, use the linking trick in mirage-mtime, mirage-ptime, mirage-sleep
libraries (mirage/mirage#1599 @hannesm, discussion in mirage/mirage#1513 and on the mailing list)
This removes the default_time, default_monotonic_clock, default_posix_clock
bindings, and allows "Mirage.register" to get ?sleep ?ptime ?mtime ?random
passed optionally, following how ?argv is handled.

This is a breaking change, and your unikernel likely needs to be updated. Have
a look at https://github.com/mirage/mirage-skeleton/pull/407 for how our
examples changed.

As example, the hello-key unikernel diff:
```
--- a/tutorial/hello-key/config.ml
+++ b/tutorial/hello-key/config.ml
@@ -2,5 +2,5 @@
open Mirage

let packages = [ package "duration" ]
-let main = main ~packages "Unikernel.Hello" (time @-> job)
-let () = register "hello-key" [ main $ default_time ]
+let main = main ~packages "Unikernel" job
+let () = register "hello-key" [ main ]

--- a/tutorial/hello-key/unikernel.ml
+++ b/tutorial/hello-key/unikernel.ml
@@ -5,13 +5,12 @@ let hello =
let doc = Arg.info ~doc:"How to say hello." [ "hello" ] in
Mirage_runtime.register_arg Arg.(value & opt string "Hello World!" doc)

-module Hello (Time : Mirage_time.S) = struct
- let start _time =
+let start () =
let rec loop = function
| 0 -> Lwt.return_unit
| n ->
Logs.info (fun f -> f "%s" (hello ()));
- Time.sleep_ns (Duration.of_sec 1) >>= fun () -> loop (n - 1)
+ Mirage_sleep.ns (Duration.of_sec 1) >>= fun () ->
+ loop (n - 1)
in
loop 4
-end
```
- Inject a unit argument to the start function if otherwise it would have
no binding (discussed various times, including mirage/mirage#1088 mirage/mirage#873)

Changed files
+108
packages
mirage
mirage.4.9.0
mirage-runtime
mirage-runtime.4.9.0
+45
packages/mirage-runtime/mirage-runtime.4.9.0/opam
···
+
opam-version: "2.0"
+
maintainer: ["anil@recoil.org" "thomas@gazagnaire.org"]
+
authors: ["Thomas Gazagnaire" "Anil Madhavapeddy" "Gabriel Radanne"
+
"Mindy Preston" "Thomas Leonard" "Nicolas Ojeda Bar"
+
"Dave Scott" "David Kaloper" "Hannes Mehnert" "Richard Mortier"]
+
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"]
+
doc: "https://mirage.github.io/mirage/"
+
available: opam-version >= "2.1.0"
+
+
build: [
+
["dune" "subst"] {dev}
+
["dune" "build" "-p" name "-j" jobs]
+
["dune" "runtest" "-p" name "-j" jobs] {with-test}
+
]
+
+
depends: [
+
"ocaml" {>= "4.13.0"}
+
"dune" {>= "2.9.0"}
+
"logs" {>= "0.7.0"}
+
"lwt" {>= "4.0.0"}
+
"ipaddr" {>= "5.5.0"}
+
"cmdliner" {>= "1.2.0"}
+
]
+
conflicts: [
+
"result" {< "1.5"}
+
"ppxlib" {= "0.29.0"} #0.29.0 provides a vendored ppx_sexp_conv
+
]
+
synopsis: "The base MirageOS runtime library, part of every MirageOS unikernel"
+
description: """
+
A bundle of useful runtime functions for applications built with MirageOS
+
"""
+
x-maintenance-intent: [ "(latest)" ]
+
url {
+
src:
+
"https://github.com/mirage/mirage/releases/download/v4.9.0/mirage-4.9.0.tbz"
+
checksum: [
+
"sha256=0c07d59eb52dc3d1506eb4121c4953104a12df79d08a0f0923c9b71e7474a026"
+
"sha512=666bf9ee20c9f9de058441f252f4f40ceec6a9ffd00e5cd3b7bfa9532fd65000aeb8a83f9e55586be98d0a86ea72f2dda94e924608135e3d63441359505de58a"
+
]
+
}
+
x-commit-hash: "c49e60fda7bd7f917bc4bf46281ea3961d00a4e7"
+63
packages/mirage/mirage.4.9.0/opam
···
+
opam-version: "2.0"
+
maintainer: ["anil@recoil.org" "thomas@gazagnaire.org"]
+
authors: ["Thomas Gazagnaire" "Anil Madhavapeddy" "Gabriel Radanne"
+
"Mindy Preston" "Thomas Leonard" "Nicolas Ojeda Bar"
+
"Dave Scott" "David Kaloper" "Hannes Mehnert" "Richard Mortier"]
+
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"]
+
doc: "https://mirage.github.io/mirage/"
+
available: opam-version >= "2.1.0"
+
+
build: [
+
["dune" "subst"] {dev}
+
["dune" "build" "-p" name "-j" jobs]
+
["dune" "runtest" "-p" name "-j" jobs] {with-test}
+
]
+
+
depends: [
+
"ocaml" {>= "4.13.0"}
+
"dune" {>= "2.9.0"}
+
"astring"
+
"cmdliner" {>= "1.2.0"}
+
"cmdliner" {with-test & >= "1.3.0"}
+
"emile" {>= "1.1"}
+
"fmt" {>= "0.8.7"}
+
"ipaddr" {>= "5.0.0"}
+
"bos"
+
"fpath"
+
"rresult" {>= "0.7.0"}
+
"uri" {>= "4.2.0"}
+
"logs" {>= "0.7.0"}
+
"opam-monorepo" {>= "0.4.0"}
+
"alcotest" {with-test}
+
"mirage-runtime" {with-test & = version}
+
]
+
+
conflicts: [ "jbuilder" {with-test} ]
+
+
synopsis: "The MirageOS library operating system"
+
description: """
+
MirageOS is a library operating system that constructs unikernels for
+
secure, high-performance network applications across a variety of
+
cloud computing and mobile platforms. Code can be developed on a
+
normal OS such as Linux or MacOS X, and then compiled into a
+
fully-standalone, specialised unikernel that runs under the Xen
+
hypervisor.
+
+
Since Xen powers most public cloud computing infrastructure such as
+
Amazon EC2 or Rackspace, this lets your servers run more cheaply,
+
securely and with finer control than with a full software stack.
+
"""
+
x-maintenance-intent: [ "(latest)" ]
+
url {
+
src:
+
"https://github.com/mirage/mirage/releases/download/v4.9.0/mirage-4.9.0.tbz"
+
checksum: [
+
"sha256=0c07d59eb52dc3d1506eb4121c4953104a12df79d08a0f0923c9b71e7474a026"
+
"sha512=666bf9ee20c9f9de058441f252f4f40ceec6a9ffd00e5cd3b7bfa9532fd65000aeb8a83f9e55586be98d0a86ea72f2dda94e924608135e3d63441359505de58a"
+
]
+
}
+
x-commit-hash: "c49e60fda7bd7f917bc4bf46281ea3961d00a4e7"