diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 68b794214f6ee..c24a3536179c6 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -1,52 +1,73 @@ -{ lib -, stdenv -, makeWrapper -, buildGoModule -, fetchFromGitHub -, installShellFiles -, git -, gnupg -, xclip -, wl-clipboard -, passAlias ? false +{ + lib, + stdenv, + makeWrapper, + buildGoModule, + fetchFromGitHub, + installShellFiles, + git, + gnupg, + xclip, + wl-clipboard, + passAlias ? false, + apple-sdk_14, + testers, + nix-update-script, + gopass, }: buildGoModule rec { pname = "gopass"; - version = "1.15.14"; + version = "1.15.15"; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + # For ScreenCaptureKit.h, see https://github.com/NixOS/nixpkgs/pull/358760#discussion_r1858327365 + apple-sdk_14 + ]; src = fetchFromGitHub { owner = "gopasspw"; repo = "gopass"; rev = "v${version}"; - hash = "sha256-3oXdHjW3svGfOEoikEeGm4oU9j+7IBOHw5KH7CCV/uw="; + hash = "sha256-GL0vnrNz9vcdybubYIjiK0tDH3L4lNWNo+rAAWv7d8o="; }; - vendorHash = "sha256-GeppWyIWE8kYIqhRf1iHksWksdjbIzy96rRpx+qQ3L0="; + vendorHash = "sha256-dDy7eQe/JtAsB+cPONiqUwcCsbisCLzY/5YQaH9w2Yg="; subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" + ]; wrapperPath = lib.makeBinPath ( [ git gnupg xclip - ] ++ lib.optional stdenv.hostPlatform.isLinux wl-clipboard + ] + ++ lib.optional stdenv.hostPlatform.isLinux wl-clipboard ); - postInstall = '' - installManPage gopass.1 - installShellCompletion --cmd gopass \ - --zsh zsh.completion \ - --bash bash.completion \ - --fish fish.completion - '' + lib.optionalString passAlias '' - ln -s $out/bin/gopass $out/bin/pass - ''; + postInstall = + '' + installManPage gopass.1 + installShellCompletion --cmd gopass \ + --zsh zsh.completion \ + --bash bash.completion \ + --fish fish.completion + '' + + lib.optionalString passAlias '' + ln -s $out/bin/gopass $out/bin/pass + ''; postFixup = '' wrapProgram $out/bin/gopass \ @@ -55,13 +76,22 @@ buildGoModule rec { ''; passthru = { inherit wrapperPath; + + tests.version = testers.testVersion { + package = gopass; + }; + + updateScript = nix-update-script { }; }; meta = with lib; { description = "Slightly more awesome Standard Unix Password Manager for Teams. Written in Go"; homepage = "https://www.gopass.pw/"; license = licenses.mit; - maintainers = with maintainers; [ rvolosatovs sikmir ]; + maintainers = with maintainers; [ + rvolosatovs + sikmir + ]; changelog = "https://github.com/gopasspw/gopass/blob/v${version}/CHANGELOG.md"; longDescription = ''