Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Dec 2025 14:03:07 +0200
From:      Volodymyr Kostyrko <arcade@b1t.name>
To:        Adam Weinberger <adamw@adamw.org>, freebsd-go@freebsd.org, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: Deprecating old Go versions (and the ports that use them)
Message-ID:  <6249093c-ce0b-4002-b87d-d6fd1f770e9e@b1t.name>
In-Reply-To: <CAP7rwcj-h0xUJ6QJMVfi6JE3h1SDN44J43qzBgtWLUFS3EYdJQ@mail.gmail.com>
References:  <CAP7rwcj-h0xUJ6QJMVfi6JE3h1SDN44J43qzBgtWLUFS3EYdJQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

05.12.25 16:47, Adam Weinberger:
> Hi everyone,
> 
> I just scheduled 3/4 of our Go ports for removal, along with 75 ports. I 
> want to explain why, and what we should do about it.
> 
> TL;DR--75 ports need to try altering USES=go:1.2x -> USES=go, because 
> likely none of the ports actually need to be deleted!
> 
> This is going to cause a scramble up-front here, but it's for our own good.
> ………

Big thanks for bringing it out. Just reached out to express a few points.

1. I found a tone of notification a little bit… threatening. As I see 
some changes should be done, there might be some prior headsup to ports@ 
at least (actually a lot of people would just ignore that I guess).

2. I got myself a little wondering why I was on the list. I searched for 
a list of ports, found none of them are actually mine, and only later 
discovered that one of my ports USES=go1.25, which grants me an early 
warning with no actual deprecation and removal woes.

3. Reading all of that actually expanded my knowledge about Go 
ecosystem, which is great, but I feel we are only fixing aftermath 
without further precautions to make sure this wouldn't happen again.

I'm not a Go user, I just support a few ports I'm using so a) it would 
be easier to upgrade b) someone else could help me fix stuff. To do 
porting I viewed other port examples and Porters Handbook and the latter 
definitely misses proper explanation about Go versions, so I just 
followed what I felt was right by adding Go version to the port if 
default version in go.mod was different.

I think a lot of porters might skip signing up to maillist so this bits 
of knowledge would be lost in a week when dust settles. So it would be 
nice to add some paragraph to Porter's Handbook at 
https://docs.freebsd.org/en/books/porters-handbook/special/#using-go or 
even better: 
https://docs.freebsd.org/en/books/porters-handbook/uses/index.html#uses-go

Like this:
===
In Go, versions specified in `go.mod` are actually feature sets, not 
recommended compiler versions. This means specifying USES=go1.X changes 
only the Go compiler version used to compile your port and has nothing 
to do with `go.mod` contents. In fact, all supported Go versions should 
be able to compile all Go code for all provided feature sets. Please pin 
Go version only in case port definitely fails to compile with default 
compiler version as a quick-and-dirty fix (if you need to update port 
for security or other reasons).

If Go port fails to compile with any Go compiler versions provided in 
ports this should be treated as an issue and fixed. You can reach out 
for help to freebsd-go@freebsd.org.
===

Sorry for random rants. In any case please consider posting a list of 
unfixed ports in a month or so to freebsd-go@ (or even freebsd-ports@?), 
me or somebody else might want to take maintainership.

Big thanks!

-- 
Sphinx of black quartz judge my vow.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6249093c-ce0b-4002-b87d-d6fd1f770e9e>