(This is probably a specific instance of a more general question)
As we know, the 0.14 release of Jane Street’s base
ecosystem recently landed, and I’d like to try it out to see if it’s easy enough to upgrade my OCaml projects. However, my opam switch has ocamlformat installed in it, and ocamlformat depends on base<0.14; it turns out that it supporting the new version requires a trivial but completely backwards incompatible codechange and this has been dropped in favour of the upper dependency limit.
If I wanted to play around with base and use ocamlformat I’m at a bit of an impasse, as my choices seem to be:
- stick with 0.13;
- fork and pin it locally, apply the codechange, manually keep my fork in sync with upstream;
- find some way of getting a version of ocamlformat that’s statically linked, separately switched, or otherwise somehow not connected to my current opam switch.
It doesn’t seem realistic for me to expect ocamlformat to move to base-0.14, as it’d break backwards compatibility with older base versions and subject everyone else who can’t move off base-0.13 to the reverse of the problem I’m having.
Are there any obvious ‘good’ solutions to this that I’ve missed?