Skip to content

Commit

Permalink
Problem: GO_NO_VENDOR_CHECKS fix not included (#1733)
Browse files Browse the repository at this point in the history
* Problem: GO_NO_VENDOR_CHECKS fix not included

Solution:
- include the fix in nixpkgs
- remove the gomod2nix patch

update gomod2nix

* fix niv
  • Loading branch information
yihuang authored Jan 14, 2025
1 parent 5ebf305 commit 253338e
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 16 deletions.
11 changes: 5 additions & 6 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
flake = false;
};
gomod2nix = {
url = "github:obreitwi/gomod2nix/fix/go_mod_vendor";
url = "github:nix-community/gomod2nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
Expand Down
3 changes: 1 addition & 2 deletions gomod2nix.toml

Large diffs are not rendered by default.

20 changes: 19 additions & 1 deletion nix/build_overlay.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# some basic overlays necessary for the build
final: super: {
final: super:
let
replaceLast =
newVal: l:
let
len = builtins.length l;
in
if len == 0 then [ ] else final.lib.lists.take (len - 1) l ++ [ newVal ];
in
{
go_1_23 = super.go_1_23.overrideAttrs (old: rec {
version = "1.23.4";
src = final.fetchurl {
url = "https://go.dev/dl/go${version}.src.tar.gz";
hash = "sha256-rTRaxCHpCBQpOpaZzKGd1SOCUcP2h5gLvK4oSVsmNTE=";
};
# https://github.com/NixOS/nixpkgs/pull/372367
patches = replaceLast ./go_no_vendor_checks-1.23.patch old.patches;
});
rocksdb = final.callPackage ./rocksdb.nix { };
golangci-lint = final.callPackage ./golangci-lint.nix { };
}
2 changes: 1 addition & 1 deletion nix/cronos-matrix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ let
| gzip -9 > $out
'';
bundle-win-exe = drv: callPackage ./bundle-win-exe.nix { cronosd = drv; };
matrix = lib.cartesianProductOfSets {
matrix = lib.cartesianProduct {
network = [
"mainnet"
"testnet"
Expand Down
26 changes: 26 additions & 0 deletions nix/go_no_vendor_checks-1.23.patch
Original file line number Diff line number Diff line change
@@ -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.
10 changes: 5 additions & 5 deletions nix/sources.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"gomod2nix": {
"branch": "fix/go_mod_vendor",
"branch": "master",
"description": "Convert applications using Go modules to Nix expressions",
"homepage": null,
"owner": "obreitwi",
"owner": "nix-community",
"repo": "gomod2nix",
"rev": "983228366edc1bed1be6e6f7a45e285b4707b9ba",
"sha256": "1pz4qymn6755p96ai00birvj2y5wrkv6wkyi40y8vpqzs2s60pnj",
"rev": "514283ec89c39ad0079ff2f3b1437404e4cba608",
"sha256": "tPsqU00FhgdFr0JiQUiBMgPVbl1jbPCY5gbFiJycL3I=",
"type": "tarball",
"url": "https://github.com/obreitwi/gomod2nix/archive/983228366edc1bed1be6e6f7a45e285b4707b9ba.tar.gz",
"url": "https://github.com/nix-community/gomod2nix/archive/514283ec89c39ad0079ff2f3b1437404e4cba608.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"gravity-bridge": {
Expand Down

0 comments on commit 253338e

Please sign in to comment.