python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / prs / default.nix
blob2a901a599d490f6287a6b4c79c23a7dffc846a99
1 { lib
2 , rustPlatform
3 , fetchFromGitLab
4 , installShellFiles
5 , pkg-config
6 , python3
7 , dbus
8 , glib
9 , gpgme
10 , gtk3
11 , libxcb
12 , libxkbcommon
15 rustPlatform.buildRustPackage rec {
16   pname = "prs";
17   version = "0.3.4";
19   src = fetchFromGitLab {
20     owner = "timvisee";
21     repo = "prs";
22     rev = "v${version}";
23     hash = "sha256-dfyTaWwV2hNZPZfvM+AqqR1zbChjT6Y/TEkQPEXRtGA=";
24   };
26   cargoHash = "sha256-yf46le0jG4EXo60kGKc0GwSO5vl4Dw0gmYJ4yr+TFdE=";
28   postPatch = ''
29     # The GPGME backend is recommended
30     for f in "gtk3/Cargo.toml" "cli/Cargo.toml"; do
31       substituteInPlace "$f" --replace \
32         'default = ["backend-gnupg-bin"' 'default = ["backend-gpgme"'
33     done
34   '';
36   nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
38   buildInputs = [
39     dbus
40     glib
41     gpgme
42     gtk3
43     libxcb
44     libxkbcommon
45   ];
47   postInstall = ''
48     for shell in bash fish zsh; do
49       installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout)
50     done
51   '';
53   meta = with lib; {
54     description = "Secure, fast & convenient password manager CLI using GPG and git to sync";
55     homepage = "https://gitlab.com/timvisee/prs";
56     changelog = "https://gitlab.com/timvisee/prs/-/blob/v${version}/CHANGELOG.md";
57     license = with licenses; [
58       lgpl3Only # lib
59       gpl3Only  # everything else
60     ];
61     maintainers = with maintainers; [ dotlambda ];
62   };