The aim of this project is to create a system to store data in the form of immutable, content addressable blocks that can be used as a backend for the dune-cache-daemon.
The envisioned characteristics are:
module Eio = struct | |
type fiber = { | |
fiber : (unit, unit) Effect.Shallow.continuation; | |
mutable over : bool; | |
} | |
type t = { mutable fibers : fiber list } | |
type _ Effect.t += Fork : fiber -> unit Effect.t | Yield : unit Effect.t | |
let run f = |
open Httpaf | |
let ( let* ) = Lwt.( >>= ) | |
let string_of_sockaddr = function | |
| Unix.ADDR_UNIX p -> p | |
| Unix.ADDR_INET (addr, port) -> | |
Format.sprintf "%s:%i" (Unix.string_of_inet_addr addr) port | |
let request_handler sockaddr reqd = |
--- $HOME/.opam/opam-init/hooks/sandbox.sh | |
+++ $HOME/.opam/opam-init/hooks/sandbox.sh | |
@@ -56,6 +56,7 @@ | |
# the OPAM_USER_PATH_RO format is the same as PATH | |
# ie: export OPAM_USER_PATH_RO=/nix/store:/rw/usrlocal | |
add_sys_mounts /usr /bin /lib /lib32 /lib64 /etc /opt /home /var | |
+add_mount rw $HOME/.cache/dune $HOME/.cache/dune | |
# C compilers using `ccache` will write to a shared cache directory | |
# that remain writeable. ccache seems widespread in some Fedora systems. |
I hereby claim:
To claim this, I am signing this object: