dotnet: improve language coverage of passthru.tests for dotnet sdks (#370789)
[NixPkgs.git] / pkgs / by-name / go / go-passbolt-cli / package.nix
blobfcf19ff37cda2af0b84c5814d9b46769e005deeb
2   buildGoModule,
3   fetchFromGitHub,
4   installShellFiles,
5   lib,
6   stdenv,
7 }:
9 buildGoModule rec {
10   pname = "go-passbolt-cli";
11   version = "0.3.1";
13   src = fetchFromGitHub {
14     owner = "passbolt";
15     repo = "go-passbolt-cli";
16     rev = "v${version}";
17     hash = "sha256-I+niNUowKTFDMa7yOnRToMFPzO/CbnjXHJr5nAhhHcg=";
18   };
20   vendorHash = "sha256-XRHGq3Qeq7VWHzw5WWVv4x5orQu740lttGVreiu7qP4=";
22   ldflags = [
23     "-X=main.version=${version}"
24     "-X=main.commit=${src.rev}"
25     "-X=main.date=1970-01-01T00:00:00Z"
26   ];
28   subPackages = [ "." ];
30   nativeBuildInputs = [
31     installShellFiles
32   ];
34   installPhase = ''
35     runHook preInstall
36     install -D $GOPATH/bin/go-passbolt-cli $out/bin/passbolt
37     runHook postInstall
38   '';
40   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
41     installShellCompletion --cmd passbolt \
42       --bash <($out/bin/passbolt completion bash) \
43       --fish <($out/bin/passbolt completion fish) \
44       --zsh <($out/bin/passbolt completion zsh)
46     export tmpDir=$(mktemp -d)
47     cd $tmpDir && mkdir man && $out/bin/passbolt gendoc --type man && installManPage man/*
48   '';
50   meta = with lib; {
51     description = "CLI tool to interact with Passbolt, an open source password manager for teams";
52     homepage = "https://github.com/passbolt/go-passbolt-cli";
53     license = licenses.mit;
54     maintainers = with maintainers; [ pbek ];
55     mainProgram = "passbolt";
56     platforms = platforms.linux ++ platforms.darwin;
57   };