Re: [MacPorts] #73086: Go is broken on 10.13–10.15
MacPorts
noreply at macports.org
Fri Jul 31 23:22:27 UTC 2026
#73086: Go is broken on 10.13–10.15
---------------------------+------------------------------------------
Reporter: barracuda156 | Owner: herbygillot
Type: defect | Status: assigned
Priority: High | Milestone:
Component: ports | Version: 2.11.5
Resolution: | Keywords: catalina, mojave, highsierra
Port: go |
---------------------------+------------------------------------------
Comment (by herbygillot):
In [changeset:"bca720cfc2b5e9ddacf298b6f5d01c19e7b11fbf/macports-ports"
bca720cfc2b5e9ddacf298b6f5d01c19e7b11fbf/macports-ports] (master):
{{{
#!ConfigurableCommitTicketReference repository="macports-ports"
revision="bca720cfc2b5e9ddacf298b6f5d01c19e7b11fbf"
golang: let a port declare the oldest Go it can be built with
go.toolchain_min records what a port's source needs. Where the running
system
is capped below that, the port is marked known_fail rather than being
fetched,
built and failed on every push. Unset means the port states no minimum, so
nothing is gated until a port opts in.
The value may be written as go.mod writes it, "1.24" or "1.24.0"; only the
series is compared, because a ceiling names a series and MacPorts ships
the
newest patch release of each one it packages. Comparing the two directly
would
be wrong in the case that matters, since vercmp ranks 1.24.0 above 1.24.
A declared series is checked against the range go_toolchain describes.
Above it
the value is refused: either it is a typo, which would otherwise skip the
port
everywhere without a word, or it is a real release whose macOS floor has
not
been recorded, and neither can be gated correctly. Below it the value is
kept
but flagged, since such a port can never be gated.
Where to read the value depends on how the port builds, and the header
says so:
with go.offline_build no the build runs in module mode and Go enforces the
go.mod directive, so it is exactly the minimum; otherwise go.mod is not
consulted at all and the directive is only an upper bound on what the
source
needs.
This ticket asked for either a Go that works on 10.13 through 10.15, or a
way
to stop building the ports that cannot work there. The first landed when
`go`
became a wrapper over the versioned toolchains, so those systems now
install
the newest Go they can actually run: 1.20 on 10.13 and 10.14, 1.22 on
10.15.
This is the second half.
It is deliberately not marked as closing the ticket. Only one port
declares a
minimum so far, so the buildbots still retry the rest, and it is worth
seeing
how a handful behave across the range of macOS versions before calling it
done.
See: https://trac.macports.org/ticket/73086
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
}}}
--
Ticket URL: <https://trac.macports.org/ticket/73086#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list