On Tue, Nov 09, 2021 at 12:25:56PM +0000, Richard W.M. Jones wrote:
On Tue, Nov 09, 2021 at 01:18:44PM +0100, Laszlo Ersek wrote:
> On 11/09/21 10:04, Richard W.M. Jones wrote:
> > ...
> > However 4.07 was only released in 2018, and this would mean removing
> > RHEL 7 compatibility (officially -- it's sort of unofficially not
> > supported already). More irritatingly, FreeBSD is stuck on 4.05.
>
> Can we loop in FreeBSD people directly? Do they have an upgrade path?
Yes let's do that now.
Their reasoning is contained here:
https://cgit.freebsd.org/ports/commit/lang/ocaml?id=b51d4476846a1b8364c05...
However I'm not sure that's a very good reason two+ years later.
Firstly any package that doesn't handle immutable strings properly
could still be compiled using "ocamlopt -unsafe-string". That option
was removed in 4.13, but is still present in I think 4.11 or 4.12. So
there's a clear upgrade path to 4.11/4.12 at least. Secondly every
library that matters has been updated to use immutable strings. There
are a handful which break (Unison is the only one I recall now) and we
dropped them from Fedora.
Hmm, in FreeBSD we package net/unison{,232,240,248} and I recall it was
fearly straightforward to convert them to immutable strings.
So, dear FreeBSD folk, could we have a newer OCaml compiler now?
I'm working on it. I've converted most our ports in-tree consumers for
safe strings by default, so we can jump post-4.06 first. I originally
wanted to make an intermediate stop at 4.07 to allow users stick to that
package (pkg lock it) because 4.08 had introduced noticeable performance
regression*, but it had since been fixed. Nonetheless, there are still
several ports left that I need to prepare for 4.05-4.06+ transition, e.g.
ocaml-lwt. The update of lang/ocaml itself is tested and ready, but I
want a smooth transition, without breaking any ports or fixing them in
the same commit (unless I must, as e.g. in case of ocaml-labltk).
./danfe
*)
https://github.com/ocaml/ocaml/issues/9326