mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-02 13:00:23 +00:00
https://go.dev/doc/go1.27 fix: vet The "nixpkgs-vet"[^0] CI job was failing before. - Attribute `pkgs.go_1_27` is a new top-level package using `pkgs.callPackage ./pkgs/development/compilers/go/1.27.nix { /* ... */ }`. Please define it in pkgs/by-name/go/go_1_27/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is `{ }`, no manual `callPackage` in pkgs/top-level/all-packages.nix is needed anymore. (https://github.com/NixOS/nixpkgs-vet/wiki/NPV-162) This PR introduces additional instances of discouraged patterns as listed above. Please fix them before merging. error: Cannot build '/nix/store/69y050xrdffqxils57mrqw43cf90i0xf-nixpkgs-vet.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/kxrknx65q0abw9m5mhpcivwhggpwm7l3-nixpkgs-vet Last 6 log lines: > - Attribute `pkgs.go_1_27` is a new top-level package using `pkgs.callPackage ./pkgs/development/compilers/go/1.27.nix { /* ... */ }`. > Please define it in pkgs/by-name/go/go_1_27/package.nix instead. > See `pkgs/by-name/README.md` for more details. > Since the second `callPackage` argument is `{ }`, no manual `callPackage` in pkgs/top-level/all-packages.nix is needed anymore. > (https://github.com/NixOS/nixpkgs-vet/wiki/NPV-162) > This PR introduces additional instances of discouraged patterns as listed above. Please fix them before merging. For full logs, run: nix log /nix/store/69y050xrdffqxils57mrqw43cf90i0xf-nixpkgs-vet.drv To run locally: ./ci/nixpkgs-vet.sh master https://github.com/NixOS/nixpkgs.git If you're having trouble, ping @NixOS/nixpkgs-vet Moving 1.27.nix into `pkgs/by-name/go/go_1_27/package.nix` is impractical because the file references many sibling files in `pkgs/development/compilers/go/` (patches, bootstrap files, etc.) Follow `pkgs/by-name/README.md` and use `inherit` to please the vet linter. [^0]: https://github.com/NixOS/nixpkgs/actions/runs/27820342521/job/82331726385?pr=533254#step:6:210
27 lines
1.8 KiB
Diff
27 lines
1.8 KiB
Diff
diff --git a/src/cmd/go/internal/modload/import.go b/src/cmd/go/internal/modload/import.go
|
|
index 98f17ccff15b3378c44350615e19226b5b8ee68f..964f86a6dd25ed0c25a923ae4e946da8a2eff713 100644
|
|
--- a/src/cmd/go/internal/modload/import.go
|
|
+++ b/src/cmd/go/internal/modload/import.go
|
|
@@ -350,7 +350,7 @@ func importFromModules(ld *Loader, ctx context.Context, path string, rs *Require
|
|
// 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(ld.MainModules.GoVersion(ld), gover.ExplicitModulesTxtImportVersion) < 0) {
|
|
+ if ok || (gover.Compare(ld.MainModules.GoVersion(ld), 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 577e8f67769e0e92958ebcb684b3afa124014b64..ea7a45d90bcfb1dade2178e222b85ff52dee75b5 100644
|
|
--- a/src/cmd/go/internal/modload/vendor.go
|
|
+++ b/src/cmd/go/internal/modload/vendor.go
|
|
@@ -159,7 +159,7 @@ func checkVendorConsistency(ld *Loader, indexes []*modFileIndex, modFiles []*mod
|
|
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.
|