biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / analysis / tflint / default.nix
blob93f3596bf171d7616a8a39951ddff3be9cf1b46a
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , runCommand
5 , makeWrapper
6 , tflint
7 , tflint-plugins
8 , symlinkJoin
9 }:
11 buildGoModule rec {
12   pname = "tflint";
13   version = "0.50.3";
15   src = fetchFromGitHub {
16     owner = "terraform-linters";
17     repo = pname;
18     rev = "v${version}";
19     hash = "sha256-PfPynSPuMhiyQW9f6HY2WDNlmtltU4xOo0A88I/bCuI=";
20   };
22   vendorHash = "sha256-HjvEbEfPVeqAVmVKCJHYPSZjZc19DV1HDaz/HcBJAUg=";
24   doCheck = false;
26   subPackages = [ "." ];
28   ldflags = [ "-s" "-w" ];
30   passthru.withPlugins = plugins:
31     let
32       actualPlugins = plugins tflint-plugins;
33       pluginDir = symlinkJoin {
34         name = "tflint-plugin-dir";
35         paths = [ actualPlugins ];
36       };
37     in
38     runCommand "tflint-with-plugins"
39       {
40         nativeBuildInputs = [ makeWrapper ];
41       } ''
42       makeWrapper ${tflint}/bin/tflint $out/bin/tflint \
43         --set TFLINT_PLUGIN_DIR "${pluginDir}"
44     '';
46   meta = with lib; {
47     description = "Terraform linter focused on possible errors, best practices, and so on";
48     mainProgram = "tflint";
49     homepage = "https://github.com/terraform-linters/tflint";
50     changelog = "https://github.com/terraform-linters/tflint/blob/v${version}/CHANGELOG.md";
51     license = licenses.mpl20;
52     maintainers = [ maintainers.marsam ];
53   };