[Bug 261820] lang/mlton: Fix build on FreeBSD 14 and i386

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 22 Feb 2022 02:23:45 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261820

--- Comment #2 from Timothy Beyer <beyert@cs.ucr.edu> ---
I've (In reply to Kubilay Kocak from comment #1)
I built these on a FreeBSD 13.0-RELEASE i386 bhyve VM, although I haven't used
poudriere, I just did a build in a VM, but I am happy to do poudriere to
confirm.

Basically, it has always built on all of my machines from FreeBSD 11.x, 12.x
and 13.x for both i386 and amd64, but the conditions vary a lot on different
machines.

On the build servers, it has never built on i386 successfully, and I suspect
because it is running out of memory (it was incredibly hard to get the original
port to build when I made bootstrap images for FreeBSD 11-13 i386).

That being said, the patches here are very minimal, and are very low risk:

In the Makefile, if the FreeBSD version is greater than 13.x, then use the 13.x
bootstrap image, so that it will build on FreeBSD 14 with an available
bootstrap image.  Even it doesn't work, it won't be any worse than it is now,
because it won't build at all without a matching bootstrap image.

In mlton's native Makefile, I correct a typo that hardcoded the -disable-pass
zone flag to solely a specific old release in 2019, whereas I think the creator
of mlton intended that flag to always be used until the zone pass was
optimized.

My tests a few weeks ago confirm the developer's intuitions below that the pass
uses abnormal amounts of RAM (although my testing was not a rigorous process,
see below for the developer's thread):

Disable Zone pass by default
https://github.com/MLton/mlton/commit/01b87480a3ebf9b49087d1c01173cda87c3812f3

-- 
You are receiving this mail because:
You are the assignee for the bug.