python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / passage / default.nix
blob033b5e2028d1cb1b988eb8ebe57bfbc844bee6b6
1 { lib, stdenv, fetchFromGitHub, makeBinaryWrapper, bash, age, git ? null
2 , xclip ? null }:
4 stdenv.mkDerivation {
5   pname = "passage";
6   version = "unstable-2022-05-01";
8   src = fetchFromGitHub {
9     owner = "FiloSottile";
10     repo = "passage";
11     rev = "1262d308f09db9b243513a428ab4b8fb1c30d31d";
12     sha256 = "1val8wl9kzlxj4i1rrh2iiyf97w9akffvr0idvbkdb09hfzz4lz8";
13   };
15   nativeBuildInputs = [ makeBinaryWrapper ];
17   extraPath = lib.makeBinPath [ age git xclip ];
19   # Using $0 is bad, it causes --help to mention ".passage-wrapped".
20   postInstall = ''
21     substituteInPlace $out/bin/passage --replace 'PROGRAM="''${0##*/}"' 'PROGRAM=passage'
22     wrapProgram $out/bin/passage --prefix PATH : $extraPath --argv0 $pname
23   '';
25   installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ];
27   meta = with lib; {
28     description = "Stores, retrieves, generates, and synchronizes passwords securely";
29     homepage    = "https://github.com/FiloSottile/passage";
30     license     = licenses.gpl2Plus;
31     maintainers = with maintainers; [ kaction ];
32     platforms   = platforms.unix;
34     longDescription = ''
35       passage is a fork of password-store (https://www.passwordstore.org) that uses
36       age (https://age-encryption.org) as a backend instead of GnuPG.
38       It keeps passwords inside age(1) encrypted files inside a simple
39       directory tree and provides a series of commands for manipulating the
40       password store, allowing the user to add, remove, edit and synchronize
41       passwords.
42     '';
43   };