Search code examples
ocamlopamesy

How to install an OCaml variant like 4.08.0+fp+flambda via Esy?


When installing OCaml packages via esy (instead of opam), which package.json entry is needed to install a specific OCaml variant, such as "4.08.0+fp+flambda" instead of "4.08.0"?

I tried several variants of the following, which does not work:

{
  "dependencies": {
    "ocaml": "4.08.0+fp+flambda",
    ...
  }
}

Error message:

No package matching:

  ocaml@=4.8.0+fp

  Versions available:

    [email protected]
    [email protected]
    [email protected]
    ...

Solution

  • All esy variant are stored here https://github.com/esy-ocaml/ocaml/tree/4.7.1000+esy+flambda in fact each ocaml version is on a branch. You see special commit to see how flambda option is added and do the same with your custom variant. You should fork it and point resolution of the form "ocaml": "github:user/esy-ocaml-fork#specificcommit" or "ocaml": "github:user/esy-ocaml-fork:package.json#specificcommit"