goconvey: fix build with Go 1.25+

Update golang.org/x/tools dependency to v0.42.0 via upstream patch.

The vendored golang.org/x/tools v0.18.0 uses unsafe struct punching into
token.FileSet internals that breaks with Go 1.25+ due to token.FileSet
layout changes.

Upstream PR: https://github.com/smartystreets/goconvey/pull/703
Fixes: https://github.com/NixOS/nixpkgs/pull/490142#issuecomment-3902085217
This commit is contained in:
Vincent Demeester
2026-02-16 15:33:15 +01:00
parent aba0c69dce
commit 2dae73f765

View File

@@ -1,26 +1,36 @@
{
lib,
fetchFromGitHub,
# Build fails with Go 1.25, with the following error:
# 'vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go:64:9: invalid array length -delta * delta (constant -256 of type int64)'
# Wait for upstream to update their vendored dependencies before unpinning.
buildGo124Module,
fetchpatch,
applyPatches,
buildGoModule,
}:
buildGo124Module {
buildGoModule {
pname = "goconvey";
version = "1.8.1-unstable-2024-03-06";
excludedPackages = "web/server/watch/integration_testing";
src = fetchFromGitHub {
owner = "smartystreets";
repo = "goconvey";
rev = "a50310f1e3e53e63e2d23eb904f853aa388a5988";
hash = "sha256-w5eX/n6Wu2gYgCIhgtjqH3lNckWIDaN4r80cJW3JqFo=";
src = applyPatches {
src = fetchFromGitHub {
owner = "smartystreets";
repo = "goconvey";
rev = "a50310f1e3e53e63e2d23eb904f853aa388a5988";
hash = "sha256-w5eX/n6Wu2gYgCIhgtjqH3lNckWIDaN4r80cJW3JqFo=";
};
patches = [
# Update golang.org/x/tools to v0.42.0 for Go 1.25+ compatibility
# https://github.com/smartystreets/goconvey/pull/703
(fetchpatch {
url = "https://github.com/smartystreets/goconvey/commit/a8d73b2e5380902ab6caa6716ad69c324f390a2d.patch";
hash = "sha256-4JZs4/kxt3KP21q4U8mpBJkueVmRsCsKqST1Cn6ySN8=";
})
];
};
vendorHash = "sha256-P4J/CZY95ks08DC+gSqG+eanL3zoiaoz1d9/ZvBoc9Q=";
proxyVendor = true;
vendorHash = "sha256-0LQ5yxqy+WGc9TzmXiiHYyUNIIImoLsItkv5KcHjVGc=";
ldflags = [
"-s"