Remove Go vendor check relax patch

This is now in upstream nixpkgs
This commit is contained in:
adisbladis 2021-02-10 15:50:58 +01:00
parent 06cfdc3c54
commit f8ad3b8024
No known key found for this signature in database
GPG key ID: 110BFAD44C6249B7
2 changed files with 1 additions and 29 deletions

View file

@ -4,14 +4,9 @@
, lib
, fetchgit
, removeReferencesTo
, pkgs
, go
}:
let
# Patch go to lift restrictions on
# This patch should be upstreamed in Nixpkgs & in Go proper
go = pkgs.go.overrideAttrs (old: {
patches = old.patches ++ [ ./go_no_vendor_checks.patch ];
});
removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}'';

View file

@ -1,23 +0,0 @@
Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
and replacements listed in the main module go.mod file, and it is a hard failure if
vendor/modules.txt is missing.
Relax module consistency checks and switch back to pre go1.14 behaviour if
vendor/modules.txt is missing regardless of go version requirement in go.mod.
This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
See https://github.com/golang/go/issues/37948 for discussion.
diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
index 71f68efbcc..3c566d04dd 100644
--- a/src/cmd/go/internal/modload/vendor.go
+++ b/src/cmd/go/internal/modload/vendor.go
@@ -133,7 +133,7 @@ func checkVendorConsistency() {
readVendorList()
pre114 := false
- if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 {
+ if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.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.