Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: "Louis Roché" <louis@louisroche.net>
To: caml-list@inria.fr
Subject: Re: [Caml-list] 300$ Bounty for the feature compilation cache in opam
Date: Thu, 18 Jun 2020 17:09:56 +0800	[thread overview]
Message-ID: <5b0a9f3f-6729-4e19-9f38-01d7d205c8d6@www.fastmail.com> (raw)
In-Reply-To: <CAHvkLrP7FdbrENuA4-uN1-F_xExAg3fRKiF5j1GRdRozZxU_iA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1942 bytes --]

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 <mlists@ligand.eu> 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

[-- Attachment #2: Type: text/html, Size: 4026 bytes --]

  reply	other threads:[~2020-06-18  9:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06 13:15 [Caml-list] OCaml 4.11.0, first alpha release Florian Angeletti
2020-06-04  7:29 ` [Caml-list] OCaml 4.11.0, second " Florian Angeletti
2020-06-17 15:42   ` [Caml-list] OCaml 4.11.0, third " Florian Angeletti
2020-06-18  1:53     ` [Caml-list] 300$ Bounty for the feature compilation cache in opam Francois Berenger
2020-06-18  9:00       ` Fabrice Le Fessant
2020-06-18  9:09         ` Louis Roché [this message]
2020-06-18  9:22           ` Gabriel Scherer
2020-06-18 11:18           ` Muriel SHAN SEI FAN
2020-06-29 15:25     ` [Caml-list] OCaml 4.11.0, first beta release Florian Angeletti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5b0a9f3f-6729-4e19-9f38-01d7d205c8d6@www.fastmail.com \
    --to=louis@louisroche.net \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox