After Go 1.18 release, lang/go117 was added to the tree because some ports
weren't buildable with go118. I was hoping we can get rid of go117 before
go119 release, but it looks like it's not going to happen. Currently, about 25
ports fail to build with the current go master and it is unlikely that the
situation will improve. The main culprit is github.com/lucas-clemente/quic-go
which is tied to the Go version [1] and many upstreams are slow to update their
dependencies. It is very likely that even after go119 release, we will still
have ports that require go117 to build.
Given the above, I think it is time to introduce proper Go ports versioning
and this review:
- adds support for selecting Go port version in USES=go;
- sets default Go version (GO_DEFAULT) in Mk/bsd.default-versions.mk
- converts lang/go-devel port to the master and lang/go{117,118} ports to simple slave ports;
- convert lang/go to a meta-port that provides go and gofmt symlinks to the current default version.
Other changes in this review (which I will commit separately) are port build
fixes, they
- add 1.17 to USES=go for ports that still need go117 and remove GO_PORT;
- add missing ${SETENV} ${MAKE_ENV} to repair BINARY_ALIAS;
- remove explicit dependencies on lang/go.
[1] https://github.com/lucas-clemente/quic-go/wiki/quic-go-and-Go-versions