this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

[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)

+108
+45
packages/mirage-runtime/mirage-runtime.4.9.0/opam
··· 1 + opam-version: "2.0" 2 + maintainer: ["anil@recoil.org" "thomas@gazagnaire.org"] 3 + authors: ["Thomas Gazagnaire" "Anil Madhavapeddy" "Gabriel Radanne" 4 + "Mindy Preston" "Thomas Leonard" "Nicolas Ojeda Bar" 5 + "Dave Scott" "David Kaloper" "Hannes Mehnert" "Richard Mortier"] 6 + homepage: "https://github.com/mirage/mirage" 7 + bug-reports: "https://github.com/mirage/mirage/issues/" 8 + dev-repo: "git+https://github.com/mirage/mirage.git" 9 + license: "ISC" 10 + tags: ["org:mirage" "org:xapi-project"] 11 + doc: "https://mirage.github.io/mirage/" 12 + available: opam-version >= "2.1.0" 13 + 14 + build: [ 15 + ["dune" "subst"] {dev} 16 + ["dune" "build" "-p" name "-j" jobs] 17 + ["dune" "runtest" "-p" name "-j" jobs] {with-test} 18 + ] 19 + 20 + depends: [ 21 + "ocaml" {>= "4.13.0"} 22 + "dune" {>= "2.9.0"} 23 + "logs" {>= "0.7.0"} 24 + "lwt" {>= "4.0.0"} 25 + "ipaddr" {>= "5.5.0"} 26 + "cmdliner" {>= "1.2.0"} 27 + ] 28 + conflicts: [ 29 + "result" {< "1.5"} 30 + "ppxlib" {= "0.29.0"} #0.29.0 provides a vendored ppx_sexp_conv 31 + ] 32 + synopsis: "The base MirageOS runtime library, part of every MirageOS unikernel" 33 + description: """ 34 + A bundle of useful runtime functions for applications built with MirageOS 35 + """ 36 + x-maintenance-intent: [ "(latest)" ] 37 + url { 38 + src: 39 + "https://github.com/mirage/mirage/releases/download/v4.9.0/mirage-4.9.0.tbz" 40 + checksum: [ 41 + "sha256=0c07d59eb52dc3d1506eb4121c4953104a12df79d08a0f0923c9b71e7474a026" 42 + "sha512=666bf9ee20c9f9de058441f252f4f40ceec6a9ffd00e5cd3b7bfa9532fd65000aeb8a83f9e55586be98d0a86ea72f2dda94e924608135e3d63441359505de58a" 43 + ] 44 + } 45 + x-commit-hash: "c49e60fda7bd7f917bc4bf46281ea3961d00a4e7"
+63
packages/mirage/mirage.4.9.0/opam
··· 1 + opam-version: "2.0" 2 + maintainer: ["anil@recoil.org" "thomas@gazagnaire.org"] 3 + authors: ["Thomas Gazagnaire" "Anil Madhavapeddy" "Gabriel Radanne" 4 + "Mindy Preston" "Thomas Leonard" "Nicolas Ojeda Bar" 5 + "Dave Scott" "David Kaloper" "Hannes Mehnert" "Richard Mortier"] 6 + homepage: "https://github.com/mirage/mirage" 7 + bug-reports: "https://github.com/mirage/mirage/issues/" 8 + dev-repo: "git+https://github.com/mirage/mirage.git" 9 + license: "ISC" 10 + tags: ["org:mirage" "org:xapi-project"] 11 + doc: "https://mirage.github.io/mirage/" 12 + available: opam-version >= "2.1.0" 13 + 14 + build: [ 15 + ["dune" "subst"] {dev} 16 + ["dune" "build" "-p" name "-j" jobs] 17 + ["dune" "runtest" "-p" name "-j" jobs] {with-test} 18 + ] 19 + 20 + depends: [ 21 + "ocaml" {>= "4.13.0"} 22 + "dune" {>= "2.9.0"} 23 + "astring" 24 + "cmdliner" {>= "1.2.0"} 25 + "cmdliner" {with-test & >= "1.3.0"} 26 + "emile" {>= "1.1"} 27 + "fmt" {>= "0.8.7"} 28 + "ipaddr" {>= "5.0.0"} 29 + "bos" 30 + "fpath" 31 + "rresult" {>= "0.7.0"} 32 + "uri" {>= "4.2.0"} 33 + "logs" {>= "0.7.0"} 34 + "opam-monorepo" {>= "0.4.0"} 35 + "alcotest" {with-test} 36 + "mirage-runtime" {with-test & = version} 37 + ] 38 + 39 + conflicts: [ "jbuilder" {with-test} ] 40 + 41 + synopsis: "The MirageOS library operating system" 42 + description: """ 43 + MirageOS is a library operating system that constructs unikernels for 44 + secure, high-performance network applications across a variety of 45 + cloud computing and mobile platforms. Code can be developed on a 46 + normal OS such as Linux or MacOS X, and then compiled into a 47 + fully-standalone, specialised unikernel that runs under the Xen 48 + hypervisor. 49 + 50 + Since Xen powers most public cloud computing infrastructure such as 51 + Amazon EC2 or Rackspace, this lets your servers run more cheaply, 52 + securely and with finer control than with a full software stack. 53 + """ 54 + x-maintenance-intent: [ "(latest)" ] 55 + url { 56 + src: 57 + "https://github.com/mirage/mirage/releases/download/v4.9.0/mirage-4.9.0.tbz" 58 + checksum: [ 59 + "sha256=0c07d59eb52dc3d1506eb4121c4953104a12df79d08a0f0923c9b71e7474a026" 60 + "sha512=666bf9ee20c9f9de058441f252f4f40ceec6a9ffd00e5cd3b7bfa9532fd65000aeb8a83f9e55586be98d0a86ea72f2dda94e924608135e3d63441359505de58a" 61 + ] 62 + } 63 + x-commit-hash: "c49e60fda7bd7f917bc4bf46281ea3961d00a4e7"