From 88415923b57851b292d8e74fc9a15d55f29e5a13 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 25 Jul 2022 14:10:26 +0700 Subject: [PATCH] gopass*: build with Go with CL417615 gopass fails to build with 1.18.4 due to https://github.com/gopasspw/gopass/issues/2280. Apply the revert from upstream CL411617, CL417615. --- pkgs/top-level/all-packages.nix | 39 ++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1cea4bfb16d..75547116181f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2601,15 +2601,44 @@ with pkgs; go-audit = callPackage ../tools/system/go-audit { }; - gopass = callPackage ../tools/security/gopass { }; + gopass = callPackage ../tools/security/gopass { + buildGoModule = __buildGo118ModuleCL417615; + }; - gopass-hibp = callPackage ../tools/security/gopass/hibp.nix { }; + gopass-hibp = callPackage ../tools/security/gopass/hibp.nix { + buildGoModule = __buildGo118ModuleCL417615; + }; - gopass-jsonapi = callPackage ../tools/security/gopass/jsonapi.nix { }; + gopass-jsonapi = callPackage ../tools/security/gopass/jsonapi.nix { + buildGoModule = __buildGo118ModuleCL417615; + }; - git-credential-gopass = callPackage ../tools/security/gopass/git-credential.nix { }; + git-credential-gopass = callPackage ../tools/security/gopass/git-credential.nix { + buildGoModule = __buildGo118ModuleCL417615; + }; - gopass-summon-provider = callPackage ../tools/security/gopass/summon.nix { }; + gopass-summon-provider = callPackage ../tools/security/gopass/summon.nix { + buildGoModule = __buildGo118ModuleCL417615; + }; + + # custom override for go 1.18 including the revert of CL411617, CL417615. + # Can be dropped if/once go 1.18.5 is released with CL417615. + # or when staging go 1.18.4 includes the revert. + __buildGo118ModuleCL417615 = let + fetchBase64Patch = args: (fetchpatch args).overrideAttrs (o: { + postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch; + }); + in darwin.apple_sdk_11_0.callPackage ../development/go-modules/generic { + go = buildPackages.go_1_18.overrideAttrs (oldAttrs: rec { + patches = oldAttrs.patches or [] ++ [ + # https://go-review.googlesource.com/c/go/+/417615/ + (fetchBase64Patch { + url = "https://go-review.googlesource.com/changes/go~417615/revisions/3/patch"; + sha256 = "sha256-Gu5eZUwGGch7et75A/BNynbs4VlQUBClVUxjxPkdjOs="; + }) + ]; + }); + }; gosh = callPackage ../tools/security/gosh { };