diff --git a/builder/default.nix b/builder/default.nix index 9fe4eb2..75f0043 100644 --- a/builder/default.nix +++ b/builder/default.nix @@ -4,14 +4,9 @@ , lib , fetchgit , removeReferencesTo -, pkgs +, go }: let - # Patch go to lift restrictions on - # This patch should be upstreamed in Nixpkgs & in Go proper - go = pkgs.go.overrideAttrs (old: { - patches = old.patches ++ [ ./go_no_vendor_checks.patch ]; - }); removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; diff --git a/builder/go_no_vendor_checks.patch b/builder/go_no_vendor_checks.patch deleted file mode 100644 index 45ff436..0000000 --- a/builder/go_no_vendor_checks.patch +++ /dev/null @@ -1,23 +0,0 @@ -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.