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