diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch b/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch new file mode 100644 index 000000000000..45ff4360f0dd --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch @@ -0,0 +1,23 @@ +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. |