For the record, upstream compiler developers have been discussing relocation again (largely because of esy's usecase). David Allsopp has a plan that looks interesting and could provide relocatability for the medium term, instead of relying on in-place path replacements. On Thu, Jun 18, 2020 at 11:10 AM Louis Roché wrote: > 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 > > >