{ lib, buildGoModule, fetchFromGitHub, makeWrapper, gitMinimal, testers, gitsign, }: buildGoModule rec { pname = "gitsign"; version = "0.13.0"; src = fetchFromGitHub { owner = "sigstore"; repo = "gitsign"; rev = "v${version}"; hash = "sha256-sxkQOqlCgS/QFfRN5Rtdih2zjiGHY6H9Kjlw0Q74W2A="; }; vendorHash = "sha256-CvswCIczi+MyHsluz39CnfVJEcc49wkEby67qHxv+wI="; subPackages = [ "." "cmd/gitsign-credential-cache" ]; nativeBuildInputs = [ makeWrapper ]; nativeCheckInputs = [ gitMinimal ]; ldflags = [ "-s" "-w" "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" ]; preCheck = '' # test all paths unset subPackages ''; postInstall = '' for f in $out/bin/*; do wrapProgram $f --prefix PATH : ${lib.makeBinPath [ gitMinimal ]} done ''; passthru.tests.version = testers.testVersion { package = gitsign; }; meta = { homepage = "https://github.com/sigstore/gitsign"; changelog = "https://github.com/sigstore/gitsign/releases/tag/v${version}"; description = "Keyless Git signing using Sigstore"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ lesuisse developer-guy ]; mainProgram = "gitsign"; }; }