btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / va / vault / package.nix
blob5e58a6bb1a2356093fa88ffc34507c437e05cf35
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   buildGoModule,
6   installShellFiles,
7   nixosTests,
8   makeWrapper,
9   gawk,
10   glibc,
13 buildGoModule rec {
14   pname = "vault";
15   version = "1.18.1";
17   src = fetchFromGitHub {
18     owner = "hashicorp";
19     repo = "vault";
20     rev = "v${version}";
21     hash = "sha256-NXDxWEy7LqGTvMQn7U/80f3aJYA/UYQfk1BqhYRR9IY=";
22   };
24   vendorHash = "sha256-T0dJmFAgFq7Z/C0YUkoIeIt4FjfX5d8++4R0hR1qOCE=";
26   proxyVendor = true;
28   subPackages = [ "." ];
30   nativeBuildInputs = [
31     installShellFiles
32     makeWrapper
33   ];
35   tags = [ "vault" ];
37   ldflags = [
38     "-s"
39     "-w"
40     "-X github.com/hashicorp/vault/sdk/version.GitCommit=${src.rev}"
41     "-X github.com/hashicorp/vault/sdk/version.Version=${version}"
42     "-X github.com/hashicorp/vault/sdk/version.VersionPrerelease="
43   ];
45   postInstall =
46     ''
47       echo "complete -C $out/bin/vault vault" > vault.bash
48       installShellCompletion vault.bash
49     ''
50     + lib.optionalString stdenv.hostPlatform.isLinux ''
51       wrapProgram $out/bin/vault \
52         --prefix PATH ${
53           lib.makeBinPath [
54             gawk
55             glibc
56           ]
57         }
58     '';
60   passthru.tests = {
61     inherit (nixosTests)
62       vault
63       vault-postgresql
64       vault-dev
65       vault-agent
66       ;
67   };
69   meta = with lib; {
70     homepage = "https://www.vaultproject.io/";
71     description = "Tool for managing secrets";
72     changelog = "https://github.com/hashicorp/vault/blob/v${version}/CHANGELOG.md";
73     license = licenses.bsl11;
74     mainProgram = "vault";
75     maintainers = with maintainers; [
76       rushmorem
77       lnl7
78       offline
79       pradeepchhetri
80       Chili-Man
81       techknowlogick
82     ];
83   };