base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / security / kbs2 / default.nix
blob04c6923af041f9320a0b0d9733a2987a22cb0cf6
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , installShellFiles
6 , python3
7 , libxcb
8 , AppKit
9 , SystemConfiguration
12 rustPlatform.buildRustPackage rec {
13   pname = "kbs2";
14   version = "0.7.2";
16   src = fetchFromGitHub {
17     owner = "woodruffw";
18     repo = pname;
19     rev = "v${version}";
20     hash = "sha256-o8/ENAWzVqs7rokST6xnyu9Q/pKqq/UnKWOFRuIuGes=";
21   };
23   cargoHash = "sha256-LcnvCWGVdBxhDgQDoGHXRppGeEpfjOv/F0dZMN2bOF8=";
25   nativeBuildInputs = [ installShellFiles ]
26     ++ lib.optionals stdenv.hostPlatform.isLinux [ python3 ];
28   buildInputs = [ ]
29     ++ lib.optionals stdenv.hostPlatform.isLinux [ libxcb ]
30     ++ lib.optionals stdenv.hostPlatform.isDarwin [ SystemConfiguration AppKit ];
32   preCheck = ''
33     export HOME=$TMPDIR
34   '';
36   checkFlags = [ "--skip=kbs2::config::tests::test_find_config_dir" ]
37     ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--skip=test_ragelib_rewrap_keyfile" ];
39   postInstall = ''
40     mkdir -p $out/share/kbs2
41     cp -r contrib/ $out/share/kbs2
42   '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
43     installShellCompletion --cmd kbs2 \
44       --bash <($out/bin/kbs2 --completions bash) \
45       --fish <($out/bin/kbs2 --completions fish) \
46       --zsh <($out/bin/kbs2 --completions zsh)
47   '';
49   meta = with lib; {
50     description = "Secret manager backed by age";
51     mainProgram = "kbs2";
52     homepage = "https://github.com/woodruffw/kbs2";
53     changelog = "https://github.com/woodruffw/kbs2/blob/v${version}/CHANGELOG.md";
54     license = licenses.mit;
55     maintainers = [ ];
56   };