nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 buildGoModule,
5 fetchFromGitHub,
6 installShellFiles,
7}:
8
9buildGoModule (finalAttrs: {
10 pname = "poutine";
11 version = "1.0.6";
12
13 src = fetchFromGitHub {
14 owner = "boostsecurityio";
15 repo = "poutine";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-mtlwxqJnNANiONPi5AkgQoeG4Xed56by4JykNme8LqA=";
18 };
19
20 vendorHash = "sha256-qp3Ko+01kk9AH0oCT2Si/si+74gT5KFtPFslwih/IBE=";
21
22 ldflags = [
23 "-s"
24 "-w"
25 ];
26
27 # "dagger" directory contains its own go module, which should be excluded from the build
28 excludedPackages = [ "dagger" ];
29
30 nativeBuildInputs = [ installShellFiles ];
31
32 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
33 installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \
34 --bash <($out/bin/${finalAttrs.meta.mainProgram} completion bash) \
35 --fish <($out/bin/${finalAttrs.meta.mainProgram} completion fish) \
36 --zsh <($out/bin/${finalAttrs.meta.mainProgram} completion zsh)
37 '';
38
39 meta = {
40 description = "Security scanner that detects misconfigurations and vulnerabilities in build pipelines of repositories";
41 homepage = "https://github.com/boostsecurityio/poutine";
42 changelog = "https://github.com/boostsecurityio/poutine/releases/tag/${finalAttrs.src.tag}";
43 license = lib.licenses.asl20;
44 maintainers = with lib.maintainers; [ fab ];
45 mainProgram = "poutine";
46 };
47})