mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
docs/release-notes: document go_latest, buildGoLatestModule, Go upgrade policy (#395462)
This commit is contained in:
commit
6e08019200
4 changed files with 30 additions and 6 deletions
|
@ -195,6 +195,21 @@ Specifies the contents of the `go.sum` file and triggers rebuilds when it change
|
|||
Defaults to `null`
|
||||
|
||||
|
||||
## Versioned toolchains and builders {#ssec-go-toolchain-versions}
|
||||
|
||||
Beside `buildGoModule`, there are also versioned builders available that pin a specific Go version, like `buildGo124Module` for Go 1.24.
|
||||
Similar, versioned toolchains are available, like `go_1_24` for Go 1.24.
|
||||
Both builder and toolchain of a certain version will be removed as soon as the Go version reaches end of life.
|
||||
|
||||
As toolchain updates in nixpkgs cause mass rebuilds and must go through the staging cycle, it can take a while until a new Go minor version is available to consumers of nixpkgs.
|
||||
If you want quicker access to the latest minor, use `go_latest` toolchain and `buildGoLatestModule` builder.
|
||||
To learn more about the Go maintenance and upgrade procedure in nixpkgs, check out the [Go toolchain/builder upgrade policy](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/go/README.md#go-toolchainbuilder-upgrade-policy).
|
||||
|
||||
::: {.warning}
|
||||
The use of `go_latest` and `buildGoLatestModule` is restricted within nixpkgs.
|
||||
The [Go toolchain/builder upgrade policy](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/go/README.md#go-toolchainbuilder-upgrade-policy) must be followed.
|
||||
:::
|
||||
|
||||
## Overriding `goModules` {#buildGoModule-goModules-override}
|
||||
|
||||
Overriding `<pkg>.goModules` by calling `goModules.overrideAttrs` is unsupported. Still, it is possible to override the `vendorHash` (`goModules`'s `outputHash`) and the `pre`/`post` hooks for both the build and patch phases of the primary and `goModules` derivation.
|
||||
|
|
|
@ -3006,6 +3006,9 @@
|
|||
"ex-buildGoModule": [
|
||||
"index.html#ex-buildGoModule"
|
||||
],
|
||||
"ssec-go-toolchain-versions" : [
|
||||
"index.html#ssec-go-toolchain-versions"
|
||||
],
|
||||
"buildGoModule-goModules-override": [
|
||||
"index.html#buildGoModule-goModules-override"
|
||||
],
|
||||
|
|
|
@ -230,6 +230,11 @@
|
|||
|
||||
- `buildGoModule` now supports a `goSum` attribute (`null` by default) to optionally provide a path to `go.sum` and correctly enabling rebuilds when the file changes.
|
||||
|
||||
- The newly added aliases `go_latest` and `buildGoLatestModule` are now available and can be use to prevent packages like `gopls` from breaking whenever the default toolchain minor version is lagging behind.
|
||||
It can also be used _outside of nixpkgs_ to get fast access to new Go minor versions without having to wait for a staging cycle that will update the default builder/toolchain.
|
||||
|
||||
- A [policy documenting the details of Go toolchain and builder upgrades](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/go/README.md#go-toolchainbuilder-upgrade-policy) in nixpkgs, as well as rules related to using non-default builders like `buildGo1xxModule` and `buildGoLatestModule` has been added in-tree.
|
||||
|
||||
- top-level `playwright` now refers to the github Microsoft/playwright package
|
||||
instead of the python tester launcher. You can still refer to the python
|
||||
launcher via `python3Packages.toPythonApplication python3Packages.playwright`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue