Skip to content

Instantly share code, notes, and snippets.

@diamondburned
Last active December 13, 2023 10:49
Show Gist options
  • Save diamondburned/7002c13a4417f083c905e5a67061c9a5 to your computer and use it in GitHub Desktop.
Save diamondburned/7002c13a4417f083c905e5a67061c9a5 to your computer and use it in GitHub Desktop.

This patch is carried over from Nixpkgs' pkgs/development/compilers/go/go_no_vendor_checks-1.21.patch.

It is required for Nixpkgs' buildGoModule to work with Go 1.14+.

diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
index b2cb44100e..05bf3829d5 100644
--- a/src/cmd/go/internal/modload/vendor.go
+++ b/src/cmd/go/internal/modload/vendor.go
@@ -159,7 +159,7 @@ func checkVendorConsistency(indexes []*modFileIndex, modFiles []*modfile.File, m
panic(fmt.Errorf("not in workspace mode but number of indexes is %v, not 1", len(indexes)))
}
index := indexes[0]
- if gover.Compare(index.goVersion, "1.14") < 0 {
+ if gover.Compare(index.goVersion, "1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
// Go versions before 1.14 did not include enough information in
// vendor/modules.txt to check for consistency.
// If we know that we're on an earlier version, relax the consistency check.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment