Go Ports: Update PG to Ensure Ports Aren't Built if Version Required Not Available
Fred Wright
fw at fwright.net
Sat Jul 29 23:33:23 UTC 2023
On Thu, 27 Jul 2023, Ken Cunningham wrote:
> The last time I looked at this, go had moved on to use newer features of
> the Security.Framework that couldn't be duplicated for older systems, so
> it was stuck at an older pegged version.
The last time I looked at issues building go, motivated by llvm's
propensity for attempting to opportunistically build a go binding and
often falling on its face in the process, I noticed that the go build
includes bindings for a lot of system calls in order to avoid the user's
needing to create glue code for them. But the list of calls for this is
fixed, based on whatever OS version the go developers chose as a target.
If any call in the list is unavailable, go fails to build, even if go
itself doesn't need the call at all, and even if the user has no intention
of running any go program that uses that call. On the flip side, if one
is using a newer OS than go's target, then one still needs to roll one's
own glue code.
Clearly the right way to handle this is to make the list of calls with
this treatment vary as a function of the OS being built for. In the
process, it might make sense to use legacy-support optionally, depending
on whether the goal is to maximize standardness or to maximize capability.
Fred Wright
More information about the macports-dev
mailing list