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