python312Packages.shiv: 1.0.7 -> 1.0.8 (#364744)
[NixPkgs.git] / pkgs / by-name / do / docker-slim / package.nix
blob20fa9f7faf31cb7c3d236c9b287bbf8f10dfe66c
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   makeBinaryWrapper,
6 }:
8 buildGoModule rec {
9   pname = "docker-slim";
10   version = "1.40.11";
12   src = fetchFromGitHub {
13     owner = "slimtoolkit";
14     repo = "slim";
15     rev = version;
16     hash = "sha256-X+1euWp4W53axbiBpL82bUPfod/JNhGVGWgOqKyhz6A=";
17   };
19   vendorHash = null;
21   subPackages = [
22     "cmd/slim"
23     "cmd/slim-sensor"
24   ];
26   nativeBuildInputs = [ makeBinaryWrapper ];
28   preBuild = ''
29     go generate ./...
30   '';
32   ldflags = [
33     "-s"
34     "-w"
35     "-X github.com/slimtoolkit/slim/pkg/version.appVersionTag=${version}"
36     "-X github.com/slimtoolkit/slim/pkg/version.appVersionRev=${src.rev}"
37   ];
39   # docker-slim tries to create its state dir next to the binary (inside the nix
40   # store), so we set it to use the working directory at the time of invocation
41   postInstall = ''
42     wrapProgram "$out/bin/slim" --add-flags '--state-path "$(pwd)"'
43   '';
45   meta = with lib; {
46     description = "Minify and secure Docker containers";
47     homepage = "https://slimtoolkit.org/";
48     changelog = "https://github.com/slimtoolkit/slim/raw/${version}/CHANGELOG.md";
49     license = licenses.asl20;
50     maintainers = with maintainers; [
51       Br1ght0ne
52       mbrgm
53     ];
54   };