ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / go / govulncheck / package.nix
blob71d03d916e53e670e84a6c2815d110f873a03ef7
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , substituteAll
5 }:
7 buildGoModule rec {
8   pname = "govulncheck";
9   version = "1.1.3";
11   src = fetchFromGitHub {
12     owner = "golang";
13     repo = "vuln";
14     rev = "refs/tags/v${version}";
15     hash = "sha256-ydJ8AeoCnLls6dXxjI05+THEqPPdJqtAsKTriTIK9Uc=";
16   };
18   patches = [
19     # patch in version information
20     (substituteAll {
21       src = ./version.patch;
22       inherit version;
23     })
24   ];
26   vendorHash = "sha256-jESQV4Na4Hooxxd0RL96GHkA7Exddco5izjnhfH6xTg=";
28   subPackages = [
29     "cmd/govulncheck"
30   ];
32   # Vendoring breaks tests
33   doCheck = false;
35   ldflags = [
36     "-s"
37     "-w"
38   ];
40   meta = with lib; {
41     homepage = "https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck";
42     downloadPage = "https://github.com/golang/vuln";
43     changelog = "https://github.com/golang/vuln/releases/tag/v${version}";
44     description = "Database client and tools for the Go vulnerability database, also known as vuln";
45     mainProgram = "govulncheck";
46     longDescription = ''
47       Govulncheck reports known vulnerabilities that affect Go code. It uses
48       static analysis of source code or a binary's symbol table to narrow down
49       reports to only those that could affect the application.
51       By default, govulncheck makes requests to the Go vulnerability database at
52       https://vuln.go.dev. Requests to the vulnerability database contain only
53       module paths, not code or other properties of your program. See
54       https://vuln.go.dev/privacy.html for more. Set the GOVULNDB environment
55       variable to specify a different database, which must implement the
56       specification at https://go.dev/security/vuln/database.
58       Govulncheck looks for vulnerabilities in Go programs using a specific
59       build configuration. For analyzing source code, that configuration is the
60       operating system, architecture, and Go version specified by GOOS, GOARCH,
61       and the “go” command found on the PATH. For binaries, the build
62       configuration is the one used to build the binary. Note that different
63       build configurations may have different known vulnerabilities. For
64       example, a dependency with a Windows-specific vulnerability will not be
65       reported for a Linux build.
66     '';
67     license = with licenses; [ bsd3 ];
68     maintainers = with maintainers; [ jk SuperSandro2000 ];
69   };