I was happy to give 300USD of my personal money to push someone to work on this task. But I can't afford to pay a company to work on that task. There is a script in the opam repo providing binary cache already[1]. The problem is that it doesn't handle relocation well. Because of paths contained in the cached content. For example if I install ocaml in a switch A, then in switch B, then delete the switch A, suddenly the switch B won't work anymore. To me the ideal solution would be to extract the code of esy that is doing path replacements and use it in an opam hook. It would also require all switches to be installed in a path of a similar length, but that's a trivial task. 1. https://github.com/ocaml/opam/blob/4756ca1/shell/opam-bin-cache.sh On Thu, Jun 18, 2020, at 17:00, Fabrice Le Fessant wrote: > opam is maintained by OCamlPro, why not contact them and get a quote ? It won't be 300$, but everybody will enjoy the feature in the next version. > > As a side note, a long time ago, I had an implementation of a binary cache for OPAM. The modifications in OPAM were minimal: opam would > just call a hook to build the package and install it, providing a checksum of dependencies and sources. The checksum would be used by an external tool (`ocp-bin`) to query the local binary cache (or a remote server) and either re-install the package or build it and save it in the cache. Since it was written in 2013, not sure if it would still work easily with current opam. Its code was used later to create opam-builder. > -- > Fabrice LE FESSANT > CEO Origin-Labs SAS & Dune Network > > Le jeu. 18 juin 2020 à 03:53, Francois Berenger a écrit : >> Cf. >> https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2482 >> for details. > -- > Fabrice LE FESSANT > Chercheur en Informatique > INRIA Paris Rocquencourt -- OCamlPro > Programming Languages and Distributed Systems