buildGoModule: fix GO_NO_VENDOR_CHECKS for v1.23+
There was an additional check added for vendor/modules.txt
when loading packages, see
38ee0c7630 (diff-61fb6e44eac25bd4d6a8a64b3f38ee8a41faaefd1ef481170a011ecfc0f7c76bR344)
The new version of the patch tries to also disable these checks.
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
This commit is contained in:
parent
b505253dc1
commit
75dfe81caf
@ -92,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit tzdata;
|
||||
})
|
||||
./remove-tools-1.11.patch
|
||||
./go_no_vendor_checks-1.22.patch
|
||||
./go_no_vendor_checks-1.23.patch
|
||||
];
|
||||
|
||||
GOOS = if stdenv.targetPlatform.isWasi then "wasip1" else stdenv.targetPlatform.parsed.kernel.name;
|
||||
|
||||
@ -92,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit tzdata;
|
||||
})
|
||||
./remove-tools-1.11.patch
|
||||
./go_no_vendor_checks-1.22.patch
|
||||
./go_no_vendor_checks-1.23.patch
|
||||
];
|
||||
|
||||
GOOS = if stdenv.targetPlatform.isWasi then "wasip1" else stdenv.targetPlatform.parsed.kernel.name;
|
||||
|
||||
26
pkgs/development/compilers/go/go_no_vendor_checks-1.23.patch
Normal file
26
pkgs/development/compilers/go/go_no_vendor_checks-1.23.patch
Normal file
@ -0,0 +1,26 @@
|
||||
diff --git a/src/cmd/go/internal/modload/import.go b/src/cmd/go/internal/modload/import.go
|
||||
index a3105b6b6d..0e10154a70 100644
|
||||
--- a/src/cmd/go/internal/modload/import.go
|
||||
+++ b/src/cmd/go/internal/modload/import.go
|
||||
@@ -345,7 +345,7 @@ func importFromModules(ctx context.Context, path string, rs *Requirements, mg *M
|
||||
// vendor/modules.txt does not exist or the user manually added directories to the vendor directory.
|
||||
// Go 1.23 and later require vendored packages to be present in modules.txt to be imported.
|
||||
_, ok := vendorPkgModule[path]
|
||||
- if ok || (gover.Compare(MainModules.GoVersion(), gover.ExplicitModulesTxtImportVersion) < 0) {
|
||||
+ if ok || (gover.Compare(MainModules.GoVersion(), gover.ExplicitModulesTxtImportVersion) < 0) || os.Getenv("GO_NO_VENDOR_CHECKS") == "1" {
|
||||
mods = append(mods, vendorPkgModule[path])
|
||||
dirs = append(dirs, dir)
|
||||
roots = append(roots, vendorDir)
|
||||
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.
|
||||
Loading…
x
Reference in New Issue
Block a user