lock: 1.3.0 -> 1.3.4 (#364295)
[NixPkgs.git] / pkgs / by-name / be / berglas / package.nix
blobf44b06b8631e58892bd091260be213a5a7b46ba1
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   testers,
6   berglas,
7 }:
9 let
10   skipTests = {
11     access = "Access";
12     create = "Create";
13     delete = "Delete";
14     list = "List";
15     read = "Read";
16     replace = "Replace";
17     resolver = "Resolve";
18     revoke = "Revoke";
19     update = "Update";
20   };
22   skipTestsCommand = builtins.foldl' (
23     acc: goFileName:
24     let
25       testName = builtins.getAttr goFileName skipTests;
26     in
27     ''
28       ${acc}
29       substituteInPlace pkg/berglas/${goFileName}_test.go \
30         --replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \
31         --replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager"
32     ''
33   ) "" (builtins.attrNames skipTests);
36 buildGoModule rec {
37   pname = "berglas";
38   version = "2.0.6";
40   src = fetchFromGitHub {
41     owner = "GoogleCloudPlatform";
42     repo = pname;
43     rev = "v${version}";
44     sha256 = "sha256-aTUMEn/QkPzvAyUvMxyqLl6KWFHs+dQK0VDqYv36AGM=";
45   };
47   vendorHash = "sha256-n/NOAmOOoZMFZGreUGNgrZ3XGbhmI52KtgakcJ/SJIc=";
49   ldflags = [
50     "-s"
51     "-w"
52     "-X github.com/GoogleCloudPlatform/berglas/v2/internal/version.version=${version}"
53   ];
55   postPatch = skipTestsCommand;
57   passthru.tests = {
58     version = testers.testVersion {
59       package = berglas;
60     };
61   };
63   meta = with lib; {
64     description = "Tool for managing secrets on Google Cloud";
65     homepage = "https://github.com/GoogleCloudPlatform/berglas";
66     license = licenses.asl20;
67     mainProgram = "berglas";
68   };