nixpkgs/pkgs/by-name/gi/gitsign/package.nix
2025-01-05 00:56:17 +00:00

62 lines
1.3 KiB
Nix

{
lib,
buildGoModule,
fetchFromGitHub,
makeWrapper,
gitMinimal,
testers,
gitsign,
}:
buildGoModule rec {
pname = "gitsign";
version = "0.12.0";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
hash = "sha256-MOj3bpVgeZlsvJqPD5mAud7jSHsRPCKvYAe2aQ4rWcw=";
};
vendorHash = "sha256-POB8mSGyW45RSbNq9Vp/LW3jEtnHi7zufihXFTnWEfw=";
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";
};
}