!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

223 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.46 Servers

Load older messages


SenderMessageTime
15 Feb 2024
@immll:envs.net@immll:envs.net joined the room.15:29:13
@chensl:mozilla.org@chensl:mozilla.org joined the room.17:35:59
20 Feb 2024
@katexochen:matrix.orgPaul Meyer (katexochen) Any opinions on introducing buildGoLatestModule so packages can specify they always must be build with the latest available Go version? Especially the Go tooling (gotools,gopls,golangci-lint) cannot be used with the latest version of Go (like currently with 1.22) in case it wasn't built with that version. Tools built with a newer version should still be backwards compatible. 13:52:00
@k900:0upti.meK900 ⚡️ Why not just bump buildGoModule then? 13:53:55
@katexochen:matrix.orgPaul Meyer (katexochen) hm. good point. :D I'm not sure what the reason is for buildGoModule currently being the prev minor, I thought the might be some incompatibilities (which shouldn't be a thing in Go, but who knows). 14:00:26
@qyliss:fairydust.spaceAlyssa RossThe problem with depending on any sort of "latest" is that then people get scared to bump "latest" and it loses its meaning.14:42:54
@katexochen:matrix.orgPaul Meyer (katexochen)I'll just try to bump Go.14:58:34
@katexochen:matrix.orgPaul Meyer (katexochen) * I'll just try to bump buildGoModule.14:59:00
@katexochen:matrix.orgPaul Meyer (katexochen)https://github.com/NixOS/nixpkgs/pull/29021215:08:24
22 Feb 2024
@hx-markus:matrix.orghx-markus joined the room.12:26:02
25 Feb 2024
@ftchrist:matrix.org@ftchrist:matrix.org joined the room.10:18:50
28 Feb 2024
@kirillrdy:matrix.orgkirillrdy Paul Meyer (katexochen): hi 09:42:17
@kirillrdy:matrix.orgkirillrdyjust from reading the chat from 21st of Feb, I am still not sure I understand what is "Since this wait is causing breakage in the toolchain"09:44:17
@katexochen:matrix.orgPaul Meyer (katexochen)It is not breaking the toolchain, but the development tooling. I assume this is what prmadev from the PR meant.09:46:15
@katexochen:matrix.orgPaul Meyer (katexochen)So currently, it is difficult to develop Projects that use Go 1.22, because things like your language server etc. won't work.09:47:25
@kirillrdy:matrix.orgkirillrdyi cant speak for gopls, but golangci-lint needs to be built to specific version of golang you are using, therefore, there is no one default09:48:01
@kirillrdy:matrix.orgkirillrdypeople can just override tools to their version of golang09:48:21
@kirillrdy:matrix.orgkirillrdyit shouldn't affect default version of golang in nixpkgs09:48:40
@katexochen:matrix.orgPaul Meyer (katexochen)
In reply to @kirillrdy:matrix.org
i cant speak for gopls, but golangci-lint needs to be built to specific version of golang you are using, therefore, there is no one default
I don't think this is true. You should be able to use golangci-lint built with Go 1.21 for Go modules that only require Go 1.20 in the same way you can build them with a newer toolchain.
There is also nothing documented otherwise in the golangci-lint docs: https://golangci-lint.run/usage/install/
09:52:14
@katexochen:matrix.orgPaul Meyer (katexochen)
In reply to @kirillrdy:matrix.org
it shouldn't affect default version of golang in nixpkgs
I think it should. Go provides a backwards compatibility promise. People who work on Go expect this, rely on it and build upon it. There is no similar promise regarding forward compatibility. Keeping the Go toolchain and builder on the latest release support these guarantees provided by upstream.
09:56:07
@kirillrdy:matrix.orgkirillrdygolangci-lint is just a massive collection of thirdparty tools, and many of them rely on source code of golang version they built against09:57:03
@kirillrdy:matrix.orgkirillrdyi think still main question is how this affects default version of golang for nixpkgs, i think i understand where your proposal comes from, but I would be leaning towards just bumping default golang in nixpkgs09:58:29
@katexochen:matrix.orgPaul Meyer (katexochen)
In reply to @kirillrdy:matrix.org
golangci-lint is just a massive collection of thirdparty tools, and many of them rely on source code of golang version they built against
That's true, but incompatibilities should (and seemingly are) handled by golangci-lint itself, see for example https://github.com/golangci/golangci-lint/pull/4357
10:00:24
@katexochen:matrix.orgPaul Meyer (katexochen)
In reply to @kirillrdy:matrix.org
i think still main question is how this affects default version of golang for nixpkgs, i think i understand where your proposal comes from, but I would be leaning towards just bumping default golang in nixpkgs
Not sure I get what you mean, are you saying we should prefer bumping the default over introducing a buildGoLatestModule?
10:01:53
@kirillrdy:matrix.orgkirillrdy"we should prefer bumping the default over introducing a buildGoLatestModule" --> yes10:02:21
@katexochen:matrix.orgPaul Meyer (katexochen)Nice, thats my opinon as well. :)10:03:37
@kirillrdy:matrix.orgkirillrdymaybe less controversial, we should prefer less work, and i think currently "bumping the default" is less work10:03:46
@kirillrdy:matrix.orgkirillrdyi am building your PR now, and so far no failures :-) 10:04:48
@katexochen:matrix.orgPaul Meyer (katexochen)
In reply to @kirillrdy:matrix.org
maybe less controversial, we should prefer less work, and i think currently "bumping the default" is less work
Yes, but not all people seem to like early bumps: https://github.com/NixOS/nixpkgs/pull/290212#discussion_r1497626679
I still don't get why, is it because x.x.0 versions are said to be error prone?
10:05:44
@kirillrdy:matrix.orgkirillrdywe can work on that, as i said, this is unstable channel10:06:08

Show newer messages


Back to Room ListRoom Version: 9