From c6418cf7733c142d2a61b6a117370b77f07dc50d Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 16 Sep 2025 11:50:57 +0200 Subject: [PATCH 1/6] gopass: use `finalAttrs` pattern --- pkgs/tools/security/gopass/default.nix | 33 ++++++++++++++------------ 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 275904122505..6b960ce503b2 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -16,7 +16,19 @@ gopass, }: -buildGoModule rec { +let + wrapperPath = lib.makeBinPath ( + [ + git + gnupg + xclip + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + wl-clipboard + ] + ); +in +buildGoModule (finalAttrs: { pname = "gopass"; version = "1.15.16"; @@ -33,7 +45,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "gopasspw"; repo = "gopass"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-oZeik172VBSxuO3DfD5t8cKPl3AYjlyEw5x4/7g9h6o="; }; @@ -44,19 +56,10 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X main.version=${version}" - "-X main.commit=${src.rev}" + "-X main.version=${finalAttrs.version}" + "-X main.commit=${finalAttrs.src.rev}" ]; - wrapperPath = lib.makeBinPath ( - [ - git - gnupg - xclip - ] - ++ lib.optional stdenv.hostPlatform.isLinux wl-clipboard - ); - postInstall = '' installManPage gopass.1 installShellCompletion --cmd gopass \ @@ -91,7 +94,7 @@ buildGoModule rec { rvolosatovs sikmir ]; - changelog = "https://github.com/gopasspw/gopass/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/gopasspw/gopass/blob/v${finalAttrs.version}/CHANGELOG.md"; longDescription = '' gopass is a rewrite of the pass password manager in Go with the aim of @@ -104,4 +107,4 @@ buildGoModule rec { ''; mainProgram = "gopass"; }; -} +}) From a6176933ec66d47cd8bbfd628662d2329a9876d7 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 16 Sep 2025 11:52:23 +0200 Subject: [PATCH 2/6] gopass: use `makeBinaryWrapper` --- pkgs/tools/security/gopass/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 6b960ce503b2..5c99f84eb0c9 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, - makeWrapper, + makeBinaryWrapper, buildGoModule, fetchFromGitHub, installShellFiles, @@ -34,7 +34,7 @@ buildGoModule (finalAttrs: { nativeBuildInputs = [ installShellFiles - makeWrapper + makeBinaryWrapper ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ From 1040a6d1090a296e4562a9c1757701681bae2eea Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 16 Sep 2025 11:52:43 +0200 Subject: [PATCH 3/6] gopass: remove `with lib;` from `meta` --- pkgs/tools/security/gopass/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 5c99f84eb0c9..3feb953133e1 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -86,11 +86,11 @@ buildGoModule (finalAttrs: { updateScript = nix-update-script { }; }; - meta = with lib; { + meta = { description = "Slightly more awesome Standard Unix Password Manager for Teams. Written in Go"; homepage = "https://www.gopass.pw/"; - license = licenses.mit; - maintainers = with maintainers; [ + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ rvolosatovs sikmir ]; From a7d2a1ea5d9bcb2b5b12fb54b3bb0b2e74c9ffcd Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 16 Sep 2025 11:53:11 +0200 Subject: [PATCH 4/6] gopass: use `src.tag` --- pkgs/tools/security/gopass/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 3feb953133e1..1865a388b7af 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -45,7 +45,7 @@ buildGoModule (finalAttrs: { src = fetchFromGitHub { owner = "gopasspw"; repo = "gopass"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-oZeik172VBSxuO3DfD5t8cKPl3AYjlyEw5x4/7g9h6o="; }; From e421400448515a3c2712a7fb4e93b51afaf9dc23 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 16 Sep 2025 11:54:06 +0200 Subject: [PATCH 5/6] gopass: use `gitMinimal` --- pkgs/tools/security/gopass/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 1865a388b7af..98584bfef154 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -5,7 +5,7 @@ buildGoModule, fetchFromGitHub, installShellFiles, - git, + gitMinimal, gnupg, xclip, wl-clipboard, @@ -19,7 +19,7 @@ let wrapperPath = lib.makeBinPath ( [ - git + gitMinimal gnupg xclip ] From eff6746848638fabf556ea2904f2eff8a062fe02 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 16 Sep 2025 11:54:45 +0200 Subject: [PATCH 6/6] gopass: use `versionCheckHook` --- pkgs/tools/security/gopass/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 98584bfef154..0c8553a18132 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -11,9 +11,8 @@ wl-clipboard, passAlias ? false, apple-sdk_14, - testers, nix-update-script, - gopass, + versionCheckHook, }: let @@ -76,13 +75,14 @@ buildGoModule (finalAttrs: { --prefix PATH : "${wrapperPath}" \ --set GOPASS_NO_REMINDER true ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + passthru = { inherit wrapperPath; - tests.version = testers.testVersion { - package = gopass; - }; - updateScript = nix-update-script { }; };