biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / version-management / git-lfs / default.nix
blobf53586e757050e49ada8f8c2341a5e98a4ba0f9b
1 { lib, buildGoModule, fetchFromGitHub, asciidoctor, installShellFiles, git, testers, git-lfs }:
3 buildGoModule rec {
4   pname = "git-lfs";
5   version = "3.5.1";
7   src = fetchFromGitHub {
8     owner = "git-lfs";
9     repo = "git-lfs";
10     rev = "v${version}";
11     hash = "sha256-xSLXbAvIoY3c341qi89pTrjBZdXh/bPrweJD2O2gkjY=";
12   };
14   vendorHash = "sha256-N8HB2qwBxjzfNucftHxmX2W9srCx62pjmkCWzwiCj/I=";
16   nativeBuildInputs = [ asciidoctor installShellFiles ];
18   ldflags = [
19     "-s"
20     "-w"
21     "-X github.com/git-lfs/git-lfs/v${lib.versions.major version}/config.Vendor=${version}"
22   ];
24   subPackages = [ "." ];
26   preBuild = ''
27     GOARCH= go generate ./commands
28   '';
30   postBuild = ''
31     make man
32   '';
34   nativeCheckInputs = [ git ];
36   preCheck = ''
37     unset subPackages
38   '';
40   postInstall = ''
41     installManPage man/man*/*
42     installShellCompletion --cmd git-lfs \
43       --bash <($out/bin/git-lfs completion bash) \
44       --fish <($out/bin/git-lfs completion fish) \
45       --zsh <($out/bin/git-lfs completion zsh)
46   '';
48   passthru.tests.version = testers.testVersion {
49     package = git-lfs;
50   };
52   meta = with lib; {
53     description = "Git extension for versioning large files";
54     homepage = "https://git-lfs.github.com/";
55     changelog = "https://github.com/git-lfs/git-lfs/raw/v${version}/CHANGELOG.md";
56     license = licenses.mit;
57     maintainers = with maintainers; [ twey ];
58     mainProgram = "git-lfs";
59   };