Organisationsmiragemirage736197 ()(lower-bound)

(lower-bound)

Link Copied
Code Copied

Logs

2024-04-25 22:36.19: New job: test mirage/mirage https://github.com/mirage/mirage.git#refs/pull/1521/head (736197e16a439364041af7b531a7be4800c1b78f) (linux-x86_64:(lower-bound))
Base: ocaml/opam@sha256:1d1ac62be89efbf26eb1b691d647cda3de4203b14bfc4ea55b6d9c8de86a57bc
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/mirage/mirage.git" && cd "mirage" && git fetch origin "refs/pull/1521/head" && git reset --hard 736197e1
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam@sha256:1d1ac62be89efbf26eb1b691d647cda3de4203b14bfc4ea55b6d9c8de86a57bc
# debian-12-4.10_opam-2.1
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 0d269faa45d7a07cdd53bb713f56d453cf648218 || git fetch origin master) && git reset -q --hard 0d269faa45d7a07cdd53bb713f56d453cf648218 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 mirage.opam mirage-runtime.opam ./
RUN opam pin add -yn mirage.dev './' && \
    opam pin add -yn mirage-runtime.dev './'
ENV DEPS="alcotest.1.0.0 angstrom.0.14.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.0.0 bigstringaf.0.5.0 bos.0.2.1 cmdliner.1.2.0 conf-m4.1 conf-pkg-config.1.0 cppo.1.6.6 domain-name.0.3.0 dune.3.1.0 emile.1.1 fmt.0.8.10 fpath.0.7.3 ipaddr.5.5.0 logs.0.7.0 lwt.4.2.0 macaddr.5.5.0 mmap.1.0.2 ocaml.4.10.2 ocaml-base-compiler.4.10.2 ocaml-config.1 ocamlbuild.0.14.0 ocamlfind.1.8.1 opam-monorepo.0.3.2 pecu.0.3 re.1.9.0 result.1.5 rresult.0.7.0 seq.0.2.2 stdlib-shims.0.1.0 stringext.1.4.0 topkg.1.0.3 uchar.0.0.2 uri.4.2.0 uuidm.0.9.6 uutf.1.0.1"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.1 --depext-only -y mirage.dev mirage-runtime.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2024-04-25 22:36.19: Using cache hint "mirage/mirage-ocaml/opam@sha256:1d1ac62be89efbf26eb1b691d647cda3de4203b14bfc4ea55b6d9c8de86a57bc-debian-12-4.10_opam-2.1-548ef8703ad0efb74c80abaec3c7b468"
2024-04-25 22:36.19: Using OBuilder spec:
((from ocaml/opam@sha256:1d1ac62be89efbf26eb1b691d647cda3de4203b14bfc4ea55b6d9c8de86a57bc)
 (comment debian-12-4.10_opam-2.1)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam"))
 (run (shell "opam init --reinit -ni"))
 (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
 (workdir /src)
 (run (shell "sudo chown opam /src"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "cd ~/opam-repository && (git cat-file -e 0d269faa45d7a07cdd53bb713f56d453cf648218 || git fetch origin master) && git reset -q --hard 0d269faa45d7a07cdd53bb713f56d453cf648218 && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src mirage.opam mirage-runtime.opam) (dst ./))
 (run (network host)
      (shell  "opam pin add -yn mirage.dev './' && \
             \nopam pin add -yn mirage-runtime.dev './'"))
 (env DEPS "alcotest.1.0.0 angstrom.0.14.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.0.0 bigstringaf.0.5.0 bos.0.2.1 cmdliner.1.2.0 conf-m4.1 conf-pkg-config.1.0 cppo.1.6.6 domain-name.0.3.0 dune.3.1.0 emile.1.1 fmt.0.8.10 fpath.0.7.3 ipaddr.5.5.0 logs.0.7.0 lwt.4.2.0 macaddr.5.5.0 mmap.1.0.2 ocaml.4.10.2 ocaml-base-compiler.4.10.2 ocaml-config.1 ocamlbuild.0.14.0 ocamlfind.1.8.1 opam-monorepo.0.3.2 pecu.0.3 re.1.9.0 result.1.5 rresult.0.7.0 seq.0.2.2 stdlib-shims.0.1.0 stringext.1.4.0 topkg.1.0.3 uchar.0.0.2 uri.4.2.0 uuidm.0.9.6 uutf.1.0.1")
 (env CI true)
 (env OCAMLCI true)
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam update --depexts && opam install --cli=2.1 --depext-only -y mirage.dev mirage-runtime.dev $DEPS"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam install $DEPS"))
 (copy (src .) (dst /src))
 (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)


2024-04-25 22:36.19: Waiting for resource in pool OCluster
2024-04-25 22:36.19: Waiting for worker…
2024-04-25 22:36.19: Got resource from pool OCluster
Building on x86-bm-c13.sw.ocaml.org
All commits already cached
HEAD is now at 736197e1 remove no argument check


(from ocaml/opam@sha256:1d1ac62be89efbf26eb1b691d647cda3de4203b14bfc4ea55b6d9c8de86a57bc)
2024-04-25 22:36.20 ---> using "92e4b6a8d0c7972eb60e5f83a96dcca892980fd73dcd629e841b4d640bd075e2" from cache


/: (comment debian-12-4.10_opam-2.1)


/: (user (uid 1000) (gid 1000))


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam"))
2024-04-25 22:36.20 ---> using "a7d32f04952394effcd7c350d1ed2d798caedafb4cd4e2763e86e1b9d3770d1f" from cache


/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.


This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.1, which can't be reverted.
You may want to back it up before going further.


Continue? [Y/n] y
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
2024-04-25 22:36.20 ---> using "70d178b5842c6abb1b5ed154b6274041b43527cf3eb7e79fe103cb28c09c58e3" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-101-generic
The OCaml toplevel, version 4.10.2
2.1.5
2024-04-25 22:36.20 ---> using "4630cfc3f8dc0559bc345c96312de1222e8a9c8093f2cfa30ff45c54b41099ec" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2024-04-25 22:36.20 ---> using "6f21386de2c048c4769e2eb70003c7ce8c8c1035cfbf4e080d8ce5e1606ab0e3" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e 0d269faa45d7a07cdd53bb713f56d453cf648218 || git fetch origin master) && git reset -q --hard 0d269faa45d7a07cdd53bb713f56d453cf648218 && git log --no-decorate -n1 --oneline && opam update -u"))
0d269faa45 Revert #25484 and #25536


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository


Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# Run eval $(opam env) to update the current shell environment
2024-04-25 22:36.20 ---> using "f6b935e148fde6feb16dec0ae273b51f291de5862b2e535d48eb47ab61006e7c" from cache


/src: (copy (src mirage.opam mirage-runtime.opam) (dst ./))
2024-04-25 22:36.20 ---> using "eb0fe92c2f9259d25d1fcc1fc42321296ce71d3dae6359ab0df478f3f5abfe38" from cache


/src: (run (network host)
           (shell  "opam pin add -yn mirage.dev './' && \
                  \nopam pin add -yn mirage-runtime.dev './'"))
[mirage.dev] synchronised (file:///src)
mirage is now pinned to file:///src (version dev)
[mirage-runtime.dev] synchronised (file:///src)
mirage-runtime is now pinned to file:///src (version dev)
2024-04-25 22:36.20 ---> using "2147e9e2cc022f46c44fa6bb022efc52b0029172cf15078748138a5224996a72" from cache


/src: (env DEPS "alcotest.1.0.0 angstrom.0.14.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.0.0 bigstringaf.0.5.0 bos.0.2.1 cmdliner.1.2.0 conf-m4.1 conf-pkg-config.1.0 cppo.1.6.6 domain-name.0.3.0 dune.3.1.0 emile.1.1 fmt.0.8.10 fpath.0.7.3 ipaddr.5.5.0 logs.0.7.0 lwt.4.2.0 macaddr.5.5.0 mmap.1.0.2 ocaml.4.10.2 ocaml-base-compiler.4.10.2 ocaml-config.1 ocamlbuild.0.14.0 ocamlfind.1.8.1 opam-monorepo.0.3.2 pecu.0.3 re.1.9.0 result.1.5 rresult.0.7.0 seq.0.2.2 stdlib-shims.0.1.0 stringext.1.4.0 topkg.1.0.3 uchar.0.0.2 uri.4.2.0 uuidm.0.9.6 uutf.1.0.1")


/src: (env CI true)


/src: (env OCAMLCI true)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam update --depexts && opam install --cli=2.1 --depext-only -y mirage.dev mirage-runtime.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian bookworm-updates/main amd64 Packages.diff/Index [10.6 kB]
- Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages T-2024-04-23-2036.10-F-2024-04-23-2036.10.pdiff [1595 B]
- Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages T-2024-04-23-2036.10-F-2024-04-23-2036.10.pdiff [1595 B]
- Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [155 kB]
- Fetched 270 kB in 0s (1060 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[mirage.dev] synchronised (no changes)
[mirage-runtime.dev] synchronised (no changes)


[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.10.2).
[NOTE] Package ocaml is already installed (current version is 4.10.2).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).


The following system packages will first need to be installed:
    m4 pkg-config


<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "m4" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed


2024-04-25 22:36.20 ---> using "13a3b0b9c05ee55168e0519330b50a8b393105b5ba1f0fd073c6cb8ebb37ad0f" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam install $DEPS"))
[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.10.2).
[NOTE] Package ocaml is already installed (current version is 4.10.2).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
  - install cmdliner        1.2.0
  - install conf-m4         1
  - install ocamlbuild      0.14.0
  - install conf-pkg-config 1.0
  - install dune            3.1.0
  - install ocamlfind       1.8.1
  - install uchar           0.0.2
  - install stdlib-shims    0.1.0
  - install seq             0.2.2
  - install result          1.5
  - install opam-monorepo   0.3.2
  - install mmap            1.0.2
  - install macaddr         5.5.0
  - install cppo            1.6.6
  - install bigstringaf     0.5.0
  - install topkg           1.0.3
  - install base-bytes      base
  - install re              1.9.0
  - install lwt             4.2.0
  - install angstrom        0.14.0
  - install uutf            1.0.1
  - install rresult         0.7.0
  - install fmt             0.8.10
  - install uuidm           0.9.6
  - install stringext       1.4.0
  - install base64          3.0.0
  - install astring         0.8.2
  - install pecu            0.3
  - install logs            0.7.0
  - install uri             4.2.0
  - install fpath           0.7.3
  - install domain-name     0.3.0
  - install alcotest        1.0.0
  - install bos             0.2.1
  - install ipaddr          5.5.0
  - install emile           1.1
===== 36 to install =====


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.2  (cached)
-> retrieved angstrom.0.14.0  (cached)
-> retrieved base64.3.0.0  (cached)
-> retrieved bigstringaf.0.5.0  (cached)
-> retrieved bos.0.2.1  (cached)
-> retrieved alcotest.1.0.0  (cached)
-> retrieved cmdliner.1.2.0  (cached)
-> retrieved cppo.1.6.6  (cached)
-> installed conf-m4.1
-> installed conf-pkg-config.1.0
-> retrieved domain-name.0.3.0  (cached)
-> retrieved emile.1.1  (cached)
-> retrieved fmt.0.8.10  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ipaddr.5.5.0  (cached)
-> retrieved logs.0.7.0  (cached)
-> retrieved lwt.4.2.0  (cached)
-> retrieved macaddr.5.5.0  (cached)
-> retrieved mmap.1.0.2  (cached)
-> retrieved ocamlbuild.0.14.0  (cached)
-> retrieved dune.3.1.0  (cached)
-> retrieved ocamlfind.1.8.1  (cached)
-> retrieved pecu.0.3  (cached)
-> retrieved re.1.9.0  (cached)
-> retrieved result.1.5  (cached)
-> retrieved rresult.0.7.0  (cached)
-> retrieved seq.0.2.2  (cached)
-> retrieved stdlib-shims.0.1.0  (cached)
-> retrieved stringext.1.4.0  (cached)
-> retrieved uchar.0.0.2  (cached)
-> retrieved topkg.1.0.3  (cached)
-> retrieved uuidm.0.9.6  (cached)
-> retrieved uutf.1.0.1  (cached)
-> retrieved uri.4.2.0  (cached)
-> retrieved opam-monorepo.0.3.2  (cached)
-> installed cmdliner.1.2.0
-> installed ocamlfind.1.8.1
-> installed base-bytes.base
-> installed ocamlbuild.0.14.0
-> installed uchar.0.0.2
-> installed topkg.1.0.3
-> installed stringext.1.4.0
-> installed astring.0.8.2
-> installed fmt.0.8.10
-> installed rresult.0.7.0
-> installed uuidm.0.9.6
-> installed uutf.1.0.1
-> installed fpath.0.7.3
-> installed dune.3.1.0
-> installed bigstringaf.0.5.0
-> installed domain-name.0.3.0
-> installed macaddr.5.5.0
-> installed mmap.1.0.2
-> installed result.1.5
-> installed base64.3.0.0
-> installed stdlib-shims.0.1.0
-> installed seq.0.2.2
-> installed pecu.0.3
-> installed cppo.1.6.6
-> installed ipaddr.5.5.0
-> installed angstrom.0.14.0
-> installed re.1.9.0
-> installed emile.1.1
-> installed alcotest.1.0.0
-> installed uri.4.2.0
-> installed lwt.4.2.0
-> installed logs.0.7.0
-> installed bos.0.2.1
-> installed opam-monorepo.0.3.2
Done.
# Run eval $(opam env) to update the current shell environment
2024-04-25 22:36.20 ---> using "b4557c5a0d37021492922c81ef9bc8a5110a196aca5236ba2696272497f4057e" from cache


/src: (copy (src .) (dst /src))
2024-04-25 22:36.20 ---> saved as "98611addbfc17883290ac55c6f79b6211129140b790abe0584e5d48528bf092d"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test/functoria && ./test.exe)
Testing functoria.
This run has ID `A9844F5A-EF35-4942-9C6D-4A0099965583`.
[OK]                cli              0   read_full_eval.
[OK]                cli              1   configure.
[OK]                cli              2   describe.
[OK]                cli              3   clean.
[OK]                cli              4   help.
[OK]                cli              5   default.
[OK]                package          0   merge.
[OK]                package          1   pp.
[OK]                package          2   invalid names.
[OK]                graph            0   var_name.
[OK]                graph            1   impl_name.
[OK]                graph            2   test_graph.
[OK]                action           0   bind.
[OK]                action           1   seq.
[OK]                action           2   rm.
[OK]                action           3   mkdir.
[OK]                action           4   rmdir.
[OK]                action           5   with_dir.
[OK]                action           6   pwd.
[OK]                action           7   is_file.
[OK]                action           8   is_dir.
[OK]                action           9   size_of.
[OK]                action          10   set_var.
[OK]                action          11   get_var.
[OK]                action          12   run_cmd.
[OK]                action          13   run_cmd_out.
[OK]                action          14   write_file.
[OK]                action          15   tmp_file.
[OK]                action          16   ls.
[OK]                action          17   with_output.
[OK]                key              0   equal.
[OK]                key              1   eval.
[OK]                key              2   get.
[OK]                key              3   find.
[OK]                key              4   merge.
[OK]                key              5   cmdliner.
[OK]                key              6   opt-all.
[OK]                version          0   failed_to_parse comments.
[OK]                version          1   bad comment.
[OK]                version          2   good comment.
[OK]                version          3   unmet comment.
The full test results are available in `/src/_build/default/test/functoria/_build/_tests/A9844F5A-EF35-4942-9C6D-4A0099965583`.
Test Successful in 0.000s. 41 tests run.
ASSERT invalid opt-all argument
(cd _build/default/test/mirage && ./test.exe)
Testing mirage.
This run has ID `1E0CDC07-4BB6-4E93-AC47-508B060EF598`.
[OK]                basic          0   pp.
The full test results are available in `/src/_build/default/test/mirage/_build/_tests/1E0CDC07-4BB6-4E93-AC47-508B060EF598`.
Test Successful in 0.000s. 1 test run.
ASSERT pp
File "test/mirage/job-no-device/configure.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/a4dfba0a4346fd37b3336402c0ce0e3f/default/test/mirage/job-no-device/configure.t _build/.sandbox/a4dfba0a4346fd37b3336402c0ce0e3f/default/test/mirage/job-no-device/configure.t.corrected
diff --git a/_build/.sandbox/a4dfba0a4346fd37b3336402c0ce0e3f/default/test/mirage/job-no-device/configure.t b/_build/.sandbox/a4dfba0a4346fd37b3336402c0ce0e3f/default/test/mirage/job-no-device/configure.t.corrected
index 45d3208..63659cc 100644
--- a/_build/.sandbox/a4dfba0a4346fd37b3336402c0ce0e3f/default/test/mirage/job-no-device/configure.t
+++ b/_build/.sandbox/a4dfba0a4346fd37b3336402c0ce0e3f/default/test/mirage/job-no-device/configure.t.corrected
@@ -2,5 +2,3 @@
 
 Configure
   $ ./config.exe configure
-  Fatal error: exception Invalid_argument("Your configuration includes a job without arguments. Please add a dependency in your config.ml: use `let main = Mirage.main \"Unikernel.hello\" (job @-> job) register \"hello\" [ main $ noop ]` instead of `.. job .. [ main ]`.")
-  [2]
File "test/mirage/job-no-device-behind-if/configure.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/2f5db07c739dccaefa679f67e3a731fd/default/test/mirage/job-no-device-behind-if/configure.t _build/.sandbox/2f5db07c739dccaefa679f67e3a731fd/default/test/mirage/job-no-device-behind-if/configure.t.corrected
diff --git a/_build/.sandbox/2f5db07c739dccaefa679f67e3a731fd/default/test/mirage/job-no-device-behind-if/configure.t b/_build/.sandbox/2f5db07c739dccaefa679f67e3a731fd/default/test/mirage/job-no-device-behind-if/configure.t.corrected
index 45d3208..63659cc 100644
--- a/_build/.sandbox/2f5db07c739dccaefa679f67e3a731fd/default/test/mirage/job-no-device-behind-if/configure.t
+++ b/_build/.sandbox/2f5db07c739dccaefa679f67e3a731fd/default/test/mirage/job-no-device-behind-if/configure.t.corrected
@@ -2,5 +2,3 @@
 
 Configure
   $ ./config.exe configure
-  Fatal error: exception Invalid_argument("Your configuration includes a job without arguments. Please add a dependency in your config.ml: use `let main = Mirage.main \"Unikernel.hello\" (job @-> job) register \"hello\" [ main $ noop ]` instead of `.. job .. [ main ]`.")
-  [2]
File "test/mirage/describe/run.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/d2b7fae75e0769136f44df049943b7e4/default/test/mirage/describe/run.t _build/.sandbox/d2b7fae75e0769136f44df049943b7e4/default/test/mirage/describe/run.t.corrected
diff --git a/_build/.sandbox/d2b7fae75e0769136f44df049943b7e4/default/test/mirage/describe/run.t b/_build/.sandbox/d2b7fae75e0769136f44df049943b7e4/default/test/mirage/describe/run.t.corrected
index 24d1452..05e78ea 100644
--- a/_build/.sandbox/d2b7fae75e0769136f44df049943b7e4/default/test/mirage/describe/run.t
+++ b/_build/.sandbox/d2b7fae75e0769136f44df049943b7e4/default/test/mirage/describe/run.t.corrected
@@ -19,77 +19,67 @@ Describe before configure (no eval)
                 2 [label="udpv4v6_socket__2\nUdpv4v6_socket\n", shape="box"];
                 3 [label="tcpip_stack_socket_v4v6__3\nTcpip_stack_socket.V4V6\n", shape="box"];
                 4 [label="mclock__4\nMclock\n", shape="box"];
-                5 [label="unix_os_time__5\nUnix_os.Time\n", shape="box"];
-                6 [label="xen_os_time__6\nXen_os.Time\n", shape="box"];
-                7 [label="solo5_os_time__7\nSolo5_os.Time\n", shape="box"];
-                8 [label="If\ntarget"];
-                9 [label="mirage_crypto_rng_mirage_make__9\nMirage_crypto_rng_mirage.Make\n", shape="box"];
-                10 [label="netif__10\nNetif\n", shape="box"];
-                11 [label="netif__11\nNetif\n", shape="box"];
+                5 [label="mirage_time__5\nMirage_time\n", shape="box"];
+                6 [label="mirage_crypto_rng_mirage__6\nMirage_crypto_rng_mirage\n", shape="box"];
+                7 [label="mirage_net__7\nMirage_net\n", shape="box"];
+                8 [label="mirage_net__8\nMirage_net\n", shape="box"];
+                9 [label="If\ntarget"];
+                10 [label="mirage_net__10\nMirage_net\n", shape="box"];
+                11 [label="mirage_net__11\nMirage_net\n", shape="box"];
                 12 [label="If\ntarget"];
-                13 [label="netif__13\nNetif\n", shape="box"];
-                14 [label="netif__14\nNetif\n", shape="box"];
+                13 [label="mirage_net__13\nMirage_net\n", shape="box"];
+                14 [label="mirage_net__14\nMirage_net\n", shape="box"];
                 15 [label="If\ntarget"];
-                16 [label="netif__16\nNetif\n", shape="box"];
-                17 [label="netif__17\nNetif\n", shape="box"];
+                16 [label="mirage_net__16\nMirage_net\n", shape="box"];
+                17 [label="mirage_net__17\nMirage_net\n", shape="box"];
                 18 [label="If\ntarget"];
-                19 [label="netif__19\nNetif\n", shape="box"];
-                20 [label="netif__20\nNetif\n", shape="box"];
+                19 [label="mirage_net__19\nMirage_net\n", shape="box"];
+                20 [label="mirage_net__20\nMirage_net\n", shape="box"];
                 21 [label="If\ntarget"];
-                22 [label="netif__22\nNetif\n", shape="box"];
-                23 [label="netif__23\nNetif\n", shape="box"];
+                22 [label="mirage_net__22\nMirage_net\n", shape="box"];
+                23 [label="mirage_net__23\nMirage_net\n", shape="box"];
                 24 [label="If\ntarget"];
-                25 [label="netif__25\nNetif\n", shape="box"];
-                26 [label="netif__26\nNetif\n", shape="box"];
+                25 [label="mirage_net__25\nMirage_net\n", shape="box"];
+                26 [label="mirage_net__26\nMirage_net\n", shape="box"];
                 27 [label="If\ntarget"];
-                28 [label="netif__28\nNetif\n", shape="box"];
-                29 [label="netif__29\nNetif\n", shape="box"];
+                28 [label="mirage_net__28\nMirage_net\n", shape="box"];
+                29 [label="mirage_net__29\nMirage_net\n", shape="box"];
                 30 [label="If\ntarget"];
-                31 [label="netif__31\nNetif\n", shape="box"];
-                32 [label="netif__32\nNetif\n", shape="box"];
-                33 [label="If\ntarget"];
-                34 [label="If\ntarget"];
-                35 [label="ethernet_make__35\nEthernet.Make\n", shape="box"];
-                36 [label="ipv6_make__36\nIpv6.Make\n", shape="box"];
-                37 [label="arp_make__37\nArp.Make\n", shape="box"];
-                38 [label="qubes_db__38\nQubes.DB\n", shape="box"];
-                39 [label="qubesdb_ipv4_make__39\nQubesdb_ipv4.Make\n", shape="box"];
-                40 [label="dhcp_ipv4_make__40\nDhcp_ipv4.Make\n", shape="box"];
-                41 [label="static_ipv4_make__41\nStatic_ipv4.Make\n", shape="box"];
-                42 [label="If\ndhcp, net,\ntarget"];
-                43 [label="tcpip_stack_direct_ipv4v6__43\nTcpip_stack_direct.IPV4V6\n", shape="box"];
-                44 [label="tcp_flow_make__44\nTcp.Flow.Make\n", shape="box"];
-                45 [label="udp_make__45\nUdp.Make\n", shape="box"];
-                46 [label="icmpv4_make__46\nIcmpv4.Make\n", shape="box"];
-                47 [label="tcpip_stack_direct_makev4v6__47\nTcpip_stack_direct.MakeV4V6\n", shape="box"];
-                48 [label="If\ndhcp, net,\ntarget"];
-                49 [label="app__49\nApp\n", shape="box"];
-                50 [label="mirage_logs__50\nMirage_logs\n", shape="box"];
-                51 [label="mirage_runtime__51\nMirage_runtime\n", shape="box"];
-                52 [label="gc__52\nGc\n", shape="box"];
-                53 [label="hashtbl__53\nHashtbl\n", shape="box"];
-                54 [label="printexc__54\nPrintexc\n", shape="box"];
-                55 [label="bootvar__55\nBootvar\n", shape="box"];
-                56 [label="bootvar__56\nBootvar\n", shape="box"];
-                57 [label="bootvar__57\nBootvar\n", shape="box"];
-                58 [label="If\ntarget"];
-                59 [label="struct_end__59\nstruct end\n", shape="box"];
-                60 [label="mirage_runtime__60\nMirage_runtime\ntarget", shape="box"];
+                31 [label="If\ntarget"];
+                32 [label="ethernet__32\nEthernet\n", shape="box"];
+                33 [label="ipv6__33\nIpv6\n", shape="box"];
+                34 [label="arp__34\nArp\n", shape="box"];
+                35 [label="qubes_db__35\nQubes.DB\n", shape="box"];
+                36 [label="qubesdb_ipv4_make__36\nQubesdb_ipv4.Make\n", shape="box"];
+                37 [label="dhcp_ipv4_make__37\nDhcp_ipv4.Make\n", shape="box"];
+                38 [label="static_ipv4__38\nStatic_ipv4\n", shape="box"];
+                39 [label="If\ndhcp, net,\ntarget"];
+                40 [label="ipv4v6__40\nIpv4v6\n", shape="box"];
+                41 [label="tcp_flow__41\nTcp.Flow\n", shape="box"];
+                42 [label="udp__42\nUdp\n", shape="box"];
+                43 [label="icmpv4__43\nIcmpv4\n", shape="box"];
+                44 [label="tcpip_stack_direct__44\nTcpip_stack_direct\n", shape="box"];
+                45 [label="If\ndhcp, net,\ntarget"];
+                46 [label="app__46\nApp\n", shape="box"];
+                47 [label="mirage_logs__47\nMirage_logs\n", shape="box"];
+                48 [label="mirage_runtime__48\nMirage_runtime\n", shape="box"];
+                49 [label="gc__49\nGc\n", shape="box"];
+                50 [label="hashtbl__50\nHashtbl\n", shape="box"];
+                51 [label="printexc__51\nPrintexc\n", shape="box"];
+                52 [label="bootvar__52\nBootvar\n", shape="box"];
+                53 [label="bootvar__53\nBootvar\n", shape="box"];
+                54 [label="bootvar__54\nBootvar\n", shape="box"];
+                55 [label="If\ntarget"];
+                56 [label="struct_end__56\nstruct end\n", shape="box"];
+                57 [label="mirage_runtime__57\nMirage_runtime\ntarget", shape="box"];
                 
                 3 -> 2 [style="dashed"];
                 3 -> 1 [style="dashed"];
-                8 -> 5 [style="dotted", headport="n"];
-                8 -> 5 [style="dotted", headport="n"];
-                8 -> 6 [style="dotted", headport="n"];
-                8 -> 6 [style="dotted", headport="n"];
-                8 -> 7 [style="dotted", headport="n"];
-                8 -> 7 [style="dotted", headport="n"];
-                8 -> 7 [style="dotted", headport="n"];
-                8 -> 7 [style="dotted", headport="n"];
-                8 -> 7 [style="dotted", headport="n"];
-                8 -> 5 [style="bold", style="dotted", headport="n"];
-                9 -> 8 [];
-                9 -> 4 [];
+                6 -> 5 [style="dashed"];
+                6 -> 4 [style="dashed"];
+                9 -> 7 [style="dotted", headport="n"];
+                9 -> 8 [style="dotted", headport="n"];
+                9 -> 7 [style="bold", style="dotted", headport="n"];
                 12 -> 10 [style="dotted", headport="n"];
                 12 -> 11 [style="dotted", headport="n"];
                 12 -> 10 [style="bold", style="dotted", headport="n"];
@@ -111,86 +101,80 @@ Describe before configure (no eval)
                 30 -> 28 [style="dotted", headport="n"];
                 30 -> 29 [style="dotted", headport="n"];
                 30 -> 28 [style="bold", style="dotted", headport="n"];
-                33 -> 31 [style="dotted", headport="n"];
-                33 -> 32 [style="dotted", headport="n"];
-                33 -> 31 [style="bold", style="dotted", headport="n"];
-                34 -> 12 [style="dotted", headport="n"];
-                34 -> 15 [style="dotted", headport="n"];
-                34 -> 18 [style="dotted", headport="n"];
-                34 -> 21 [style="dotted", headport="n"];
-                34 -> 24 [style="dotted", headport="n"];
-                34 -> 27 [style="dotted", headport="n"];
-                34 -> 30 [style="dotted", headport="n"];
-                34 -> 33 [style="bold", style="dotted", headport="n"];
-                35 -> 34 [];
-                36 -> 34 [];
+                31 -> 9 [style="dotted", headport="n"];
+                31 -> 12 [style="dotted", headport="n"];
+                31 -> 15 [style="dotted", headport="n"];
+                31 -> 18 [style="dotted", headport="n"];
+                31 -> 21 [style="dotted", headport="n"];
+                31 -> 24 [style="dotted", headport="n"];
+                31 -> 27 [style="dotted", headport="n"];
+                31 -> 30 [style="bold", style="dotted", headport="n"];
+                32 -> 31 [style="dashed"];
+                33 -> 31 [style="dashed"];
+                33 -> 32 [style="dashed"];
+                33 -> 6 [style="dashed"];
+                33 -> 5 [style="dashed"];
+                33 -> 4 [style="dashed"];
+                34 -> 32 [style="dashed"];
                 36 -> 35 [];
-                36 -> 9 [];
-                36 -> 8 [];
+                36 -> 6 [];
                 36 -> 4 [];
-                37 -> 35 [];
-                37 -> 8 [];
-                39 -> 38 [];
-                39 -> 9 [];
-                39 -> 4 [];
-                39 -> 35 [];
-                39 -> 37 [];
-                40 -> 9 [];
-                40 -> 4 [];
-                40 -> 8 [];
-                40 -> 34 [];
-                40 -> 35 [];
-                40 -> 37 [];
-                41 -> 9 [];
-                41 -> 4 [];
-                41 -> 35 [];
-                41 -> 37 [];
-                42 -> 39 [style="dotted", headport="n"];
-                42 -> 40 [style="dotted", headport="n"];
-                42 -> 41 [style="bold", style="dotted", headport="n"];
-                43 -> 42 [];
-                43 -> 36 [];
-                44 -> 43 [];
-                44 -> 8 [];
-                44 -> 4 [];
-                44 -> 9 [];
-                45 -> 43 [];
-                45 -> 9 [];
-                46 -> 42 [];
-                47 -> 8 [];
-                47 -> 9 [];
-                47 -> 34 [];
-                47 -> 35 [];
-                47 -> 37 [];
-                47 -> 43 [];
-                47 -> 46 [];
-                47 -> 45 [];
-                47 -> 44 [];
-                48 -> 3 [style="dotted", headport="n"];
-                48 -> 47 [style="bold", style="dotted", headport="n"];
-                49 -> 48 [];
-                58 -> 55 [style="dotted", headport="n"];
-                58 -> 55 [style="dotted", headport="n"];
-                58 -> 56 [style="dotted", headport="n"];
-                58 -> 56 [style="dotted", headport="n"];
-                58 -> 56 [style="dotted", headport="n"];
-                58 -> 56 [style="dotted", headport="n"];
-                58 -> 56 [style="dotted", headport="n"];
-                58 -> 57 [style="bold", style="dotted", headport="n"];
-                59 -> 58 [style="dashed"];
-                60 -> 59 [style="dashed"];
-                60 -> 54 [style="dashed"];
-                60 -> 53 [style="dashed"];
-                60 -> 52 [style="dashed"];
-                60 -> 51 [style="dashed"];
-                60 -> 50 [style="dashed"];
-                60 -> 49 [style="dashed"];
+                36 -> 32 [];
+                36 -> 34 [];
+                37 -> 6 [];
+                37 -> 4 [];
+                37 -> 5 [];
+                37 -> 31 [];
+                37 -> 32 [];
+                37 -> 34 [];
+                38 -> 6 [style="dashed"];
+                38 -> 4 [style="dashed"];
+                38 -> 32 [style="dashed"];
+                38 -> 34 [style="dashed"];
+                39 -> 36 [style="dotted", headport="n"];
+                39 -> 37 [style="dotted", headport="n"];
+                39 -> 38 [style="bold", style="dotted", headport="n"];
+                40 -> 39 [style="dashed"];
+                40 -> 33 [style="dashed"];
+                41 -> 40 [style="dashed"];
+                41 -> 5 [style="dashed"];
+                41 -> 4 [style="dashed"];
+                41 -> 6 [style="dashed"];
+                42 -> 40 [style="dashed"];
+                42 -> 6 [style="dashed"];
+                43 -> 39 [style="dashed"];
+                44 -> 5 [style="dashed"];
+                44 -> 6 [style="dashed"];
+                44 -> 31 [style="dashed"];
+                44 -> 32 [style="dashed"];
+                44 -> 34 [style="dashed"];
+                44 -> 40 [style="dashed"];
+                44 -> 43 [style="dashed"];
+                44 -> 42 [style="dashed"];
+                44 -> 41 [style="dashed"];
+                45 -> 3 [style="dotted", headport="n"];
+                45 -> 44 [style="bold", style="dotted", headport="n"];
+                46 -> 45 [];
+                55 -> 52 [style="dotted", headport="n"];
+                55 -> 52 [style="dotted", headport="n"];
+                55 -> 53 [style="dotted", headport="n"];
+                55 -> 53 [style="dotted", headport="n"];
+                55 -> 53 [style="dotted", headport="n"];
+                55 -> 53 [style="dotted", headport="n"];
+                55 -> 53 [style="dotted", headport="n"];
+                55 -> 54 [style="bold", style="dotted", headport="n"];
+                56 -> 55 [style="dashed"];
+                57 -> 56 [style="dashed"];
+                57 -> 51 [style="dashed"];
+                57 -> 50 [style="dashed"];
+                57 -> 49 [style="dashed"];
+                57 -> 48 [style="dashed"];
+                57 -> 47 [style="dashed"];
+                57 -> 46 [style="dashed"];
                 }
 
 Describe after configure
   $ echo "-txen" > context
   $ ./config.exe describe --context-file=context
-  Name       describe
-  Keys       dhcp=false (default),
-             net= (default),
-             target=xen
+  Fatal error: exception Failure("NYI")
+  [2]
File "test/mirage/random/run.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/d2c3e407c675a476c55254a3c641bac8/default/test/mirage/random/run.t _build/.sandbox/d2c3e407c675a476c55254a3c641bac8/default/test/mirage/random/run.t.corrected
diff --git a/_build/.sandbox/d2c3e407c675a476c55254a3c641bac8/default/test/mirage/random/run.t b/_build/.sandbox/d2c3e407c675a476c55254a3c641bac8/default/test/mirage/random/run.t.corrected
index a9d52ab..29f104a 100644
--- a/_build/.sandbox/d2c3e407c675a476c55254a3c641bac8/default/test/mirage/random/run.t
+++ b/_build/.sandbox/d2c3e407c675a476c55254a3c641bac8/default/test/mirage/random/run.t.corrected
@@ -95,15 +95,13 @@ Configure the project for Unix:
     Mirage_runtime.logs
   ;;
   
-  module Mirage_crypto_rng_mirage_make__10 = Mirage_crypto_rng_mirage.Make(Unix_os.Time)(Mclock)
-  
-  module App_make__11 = App.Make(Mirage_crypto_rng_mirage_make__10)
+  module App_make__11 = App.Make(Mirage_crypto_rng_mirage)
   
   let bootvar__1 = lazy (
   # 7 "lib/devices/argv.ml"
     Bootvar.argv ()
   );;
-  # 84 "mirage/main.ml"
+  # 82 "mirage/main.ml"
   
   let struct_end__2 = lazy (
     let __bootvar__1 = Lazy.force bootvar__1 in
@@ -111,21 +109,21 @@ Configure the project for Unix:
   # 47 "lib/functoria/job.ml"
     return Mirage_runtime.(with_argv (runtime_args ()) "random" _bootvar__1)
   );;
-  # 92 "mirage/main.ml"
+  # 90 "mirage/main.ml"
   
   let printexc__3 = lazy (
     let _backtrace = backtrace__key () in
-  # 396 "lib/mirage.ml"
+  # 390 "lib/mirage.ml"
     return (Printexc.record_backtrace _backtrace)
   );;
-  # 99 "mirage/main.ml"
+  # 97 "mirage/main.ml"
   
   let hashtbl__4 = lazy (
     let _randomize_hashtables = randomize_hashtables__key () in
-  # 405 "lib/mirage.ml"
+  # 399 "lib/mirage.ml"
     return (if _randomize_hashtables then Hashtbl.randomize ())
   );;
-  # 106 "mirage/main.ml"
+  # 104 "mirage/main.ml"
   
   let gc__5 = lazy (
     let _allocation_policy = allocation_policy__key () in
@@ -138,7 +136,7 @@ Configure the project for Unix:
     let _custom_major_ratio = custom_major_ratio__key () in
     let _custom_minor_ratio = custom_minor_ratio__key () in
     let _custom_minor_max_size = custom_minor_max_size__key () in
-  # 457 "lib/mirage.ml"
+  # 451 "lib/mirage.ml"
     return (
   let open Gc in
     let ctrl = get () in
@@ -154,14 +152,14 @@ Configure the project for Unix:
     custom_minor_max_size = (match _custom_minor_max_size with None -> ctrl.custom_minor_max_size | Some x -> x) })
   )
   );;
-  # 135 "mirage/main.ml"
+  # 133 "mirage/main.ml"
   
   let mirage_runtime__6 = lazy (
     let _delay = delay__key () in
-  # 302 "lib/mirage.ml"
-    Unix_os.Time.sleep_ns (Duration.of_sec _delay)
+  # 296 "lib/mirage.ml"
+    Mirage_time.sleep_ns (Duration.of_sec _delay)
   );;
-  # 142 "mirage/main.ml"
+  # 140 "mirage/main.ml"
   
   let mirage_logs__7 = lazy (
     let _logs = logs__key () in
@@ -171,35 +169,35 @@ Configure the project for Unix:
     Logs.set_reporter reporter;
     Lwt.return reporter
   );;
-  # 152 "mirage/main.ml"
+  # 150 "mirage/main.ml"
   
-  let unix_os_time__8 = lazy (
+  let mirage_time__8 = lazy (
     return ()
   );;
-  # 157 "mirage/main.ml"
+  # 155 "mirage/main.ml"
   
   let mclock__9 = lazy (
     return ()
   );;
-  # 162 "mirage/main.ml"
+  # 160 "mirage/main.ml"
   
-  let mirage_crypto_rng_mirage_make__10 = lazy (
-    let __unix_os_time__8 = Lazy.force unix_os_time__8 in
+  let mirage_crypto_rng_mirage__10 = lazy (
+    let __mirage_time__8 = Lazy.force mirage_time__8 in
     let __mclock__9 = Lazy.force mclock__9 in
-    __unix_os_time__8 >>= fun _unix_os_time__8 ->
+    __mirage_time__8 >>= fun _mirage_time__8 ->
     __mclock__9 >>= fun _mclock__9 ->
-  # 18 "lib/devices/random.ml"
-    Mirage_crypto_rng_mirage_make__10.initialize (module Mirage_crypto_rng.Fortuna)
+  # 17 "lib/devices/random.ml"
+    Mirage_crypto_rng_mirage.initialize (module Mirage_crypto_rng.Fortuna)
   );;
-  # 172 "mirage/main.ml"
+  # 170 "mirage/main.ml"
   
   let app_make__11 = lazy (
-    let __mirage_crypto_rng_mirage_make__10 = Lazy.force mirage_crypto_rng_mirage_make__10 in
-    __mirage_crypto_rng_mirage_make__10 >>= fun _mirage_crypto_rng_mirage_make__10 ->
+    let __mirage_crypto_rng_mirage__10 = Lazy.force mirage_crypto_rng_mirage__10 in
+    __mirage_crypto_rng_mirage__10 >>= fun _mirage_crypto_rng_mirage__10 ->
   # 3 "config.ml"
-    App_make__11.start _mirage_crypto_rng_mirage_make__10
+    App_make__11.start _mirage_crypto_rng_mirage__10
   );;
-  # 180 "mirage/main.ml"
+  # 178 "mirage/main.ml"
   
   let mirage_runtime__12 = lazy (
     let __struct_end__2 = Lazy.force struct_end__2 in
@@ -216,10 +214,10 @@ Configure the project for Unix:
     __mirage_runtime__6 >>= fun _mirage_runtime__6 ->
     __mirage_logs__7 >>= fun _mirage_logs__7 ->
     __app_make__11 >>= fun _app_make__11 ->
-  # 384 "lib/mirage.ml"
+  # 378 "lib/mirage.ml"
     return ()
   );;
-  # 200 "mirage/main.ml"
+  # 198 "mirage/main.ml"
   
   let () =
     let t = Lazy.force struct_end__2 >>= fun _ ->
@@ -336,15 +334,13 @@ Configure the project for Xen:
     Mirage_runtime.logs
   ;;
   
-  module Mirage_crypto_rng_mirage_make__10 = Mirage_crypto_rng_mirage.Make(Xen_os.Time)(Mclock)
-  
-  module App_make__11 = App.Make(Mirage_crypto_rng_mirage_make__10)
+  module App_make__11 = App.Make(Mirage_crypto_rng_mirage)
   
   let bootvar__1 = lazy (
   # 21 "lib/devices/argv.ml"
     Bootvar.argv ()
   );;
-  # 84 "mirage/main.ml"
+  # 82 "mirage/main.ml"
   
   let struct_end__2 = lazy (
     let __bootvar__1 = Lazy.force bootvar__1 in
@@ -352,21 +348,21 @@ Configure the project for Xen:
   # 47 "lib/functoria/job.ml"
     return Mirage_runtime.(with_argv (runtime_args ()) "random" _bootvar__1)
   );;
-  # 92 "mirage/main.ml"
+  # 90 "mirage/main.ml"
   
   let printexc__3 = lazy (
     let _backtrace = backtrace__key () in
-  # 396 "lib/mirage.ml"
+  # 390 "lib/mirage.ml"
     return (Printexc.record_backtrace _backtrace)
   );;
-  # 99 "mirage/main.ml"
+  # 97 "mirage/main.ml"
   
   let hashtbl__4 = lazy (
     let _randomize_hashtables = randomize_hashtables__key () in
-  # 405 "lib/mirage.ml"
+  # 399 "lib/mirage.ml"
     return (if _randomize_hashtables then Hashtbl.randomize ())
   );;
-  # 106 "mirage/main.ml"
+  # 104 "mirage/main.ml"
   
   let gc__5 = lazy (
     let _allocation_policy = allocation_policy__key () in
@@ -379,7 +375,7 @@ Configure the project for Xen:
     let _custom_major_ratio = custom_major_ratio__key () in
     let _custom_minor_ratio = custom_minor_ratio__key () in
     let _custom_minor_max_size = custom_minor_max_size__key () in
-  # 457 "lib/mirage.ml"
+  # 451 "lib/mirage.ml"
     return (
   let open Gc in
     let ctrl = get () in
@@ -395,14 +391,14 @@ Configure the project for Xen:
     custom_minor_max_size = (match _custom_minor_max_size with None -> ctrl.custom_minor_max_size | Some x -> x) })
   )
   );;
-  # 135 "mirage/main.ml"
+  # 133 "mirage/main.ml"
   
   let mirage_runtime__6 = lazy (
     let _delay = delay__key () in
-  # 302 "lib/mirage.ml"
-    Xen_os.Time.sleep_ns (Duration.of_sec _delay)
+  # 296 "lib/mirage.ml"
+    Mirage_time.sleep_ns (Duration.of_sec _delay)
   );;
-  # 142 "mirage/main.ml"
+  # 140 "mirage/main.ml"
   
   let mirage_logs__7 = lazy (
     let _logs = logs__key () in
@@ -412,35 +408,35 @@ Configure the project for Xen:
     Logs.set_reporter reporter;
     Lwt.return reporter
   );;
-  # 152 "mirage/main.ml"
+  # 150 "mirage/main.ml"
   
-  let xen_os_time__8 = lazy (
+  let mirage_time__8 = lazy (
     return ()
   );;
-  # 157 "mirage/main.ml"
+  # 155 "mirage/main.ml"
   
   let mclock__9 = lazy (
     return ()
   );;
-  # 162 "mirage/main.ml"
+  # 160 "mirage/main.ml"
   
-  let mirage_crypto_rng_mirage_make__10 = lazy (
-    let __xen_os_time__8 = Lazy.force xen_os_time__8 in
+  let mirage_crypto_rng_mirage__10 = lazy (
+    let __mirage_time__8 = Lazy.force mirage_time__8 in
     let __mclock__9 = Lazy.force mclock__9 in
-    __xen_os_time__8 >>= fun _xen_os_time__8 ->
+    __mirage_time__8 >>= fun _mirage_time__8 ->
     __mclock__9 >>= fun _mclock__9 ->
-  # 18 "lib/devices/random.ml"
-    Mirage_crypto_rng_mirage_make__10.initialize (module Mirage_crypto_rng.Fortuna)
+  # 17 "lib/devices/random.ml"
+    Mirage_crypto_rng_mirage.initialize (module Mirage_crypto_rng.Fortuna)
   );;
-  # 172 "mirage/main.ml"
+  # 170 "mirage/main.ml"
   
   let app_make__11 = lazy (
-    let __mirage_crypto_rng_mirage_make__10 = Lazy.force mirage_crypto_rng_mirage_make__10 in
-    __mirage_crypto_rng_mirage_make__10 >>= fun _mirage_crypto_rng_mirage_make__10 ->
+    let __mirage_crypto_rng_mirage__10 = Lazy.force mirage_crypto_rng_mirage__10 in
+    __mirage_crypto_rng_mirage__10 >>= fun _mirage_crypto_rng_mirage__10 ->
   # 3 "config.ml"
-    App_make__11.start _mirage_crypto_rng_mirage_make__10
+    App_make__11.start _mirage_crypto_rng_mirage__10
   );;
-  # 180 "mirage/main.ml"
+  # 178 "mirage/main.ml"
   
   let mirage_runtime__12 = lazy (
     let __struct_end__2 = Lazy.force struct_end__2 in
@@ -457,10 +453,10 @@ Configure the project for Xen:
     __mirage_runtime__6 >>= fun _mirage_runtime__6 ->
     __mirage_logs__7 >>= fun _mirage_logs__7 ->
     __app_make__11 >>= fun _app_make__11 ->
-  # 384 "lib/mirage.ml"
+  # 378 "lib/mirage.ml"
     return ()
   );;
-  # 200 "mirage/main.ml"
+  # 198 "mirage/main.ml"
   
   let () =
     let t = Lazy.force struct_end__2 >>= fun _ ->
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2024-04-25 22:36.28: Job failed: Failed: Build failed