at 23.11-beta 44 lines 1.3 kB view raw
1{ lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper }: 2 3buildGoModule rec { 4 pname = "docker-slim"; 5 version = "1.40.6"; 6 7 src = fetchFromGitHub { 8 owner = "slimtoolkit"; 9 repo = "slim"; 10 rev = version; 11 hash = "sha256-0rn+tqdPVjkIPxOwL9rDnolrpcsDOwOah0Y7924mjD4="; 12 }; 13 14 vendorHash = null; 15 16 subPackages = [ "cmd/slim" "cmd/slim-sensor" ]; 17 18 nativeBuildInputs = [ makeBinaryWrapper ]; 19 20 preBuild = '' 21 go generate github.com/docker-slim/docker-slim/pkg/appbom 22 ''; 23 24 ldflags = [ 25 "-s" 26 "-w" 27 "-X github.com/docker-slim/docker-slim/pkg/version.appVersionTag=${version}" 28 "-X github.com/docker-slim/docker-slim/pkg/version.appVersionRev=${src.rev}" 29 ]; 30 31 # docker-slim tries to create its state dir next to the binary (inside the nix 32 # store), so we set it to use the working directory at the time of invocation 33 postInstall = '' 34 wrapProgram "$out/bin/slim" --add-flags '--state-path "$(pwd)"' 35 ''; 36 37 meta = with lib; { 38 description = "Minify and secure Docker containers"; 39 homepage = "https://slimtoolkit.org/"; 40 changelog = "https://github.com/slimtoolkit/slim/raw/${version}/CHANGELOG.md"; 41 license = licenses.asl20; 42 maintainers = with maintainers; [ Br1ght0ne marsam mbrgm ]; 43 }; 44}