biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / manifest-tool / default.nix
blobe4688cb60d8b441139af59639c48321729c0b253
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , git
5 , stdenv
6 , testers
7 , manifest-tool
8 }:
10 buildGoModule rec {
11   pname = "manifest-tool";
12   version = "2.1.6";
13   modRoot = "v2";
15   src = fetchFromGitHub {
16     owner = "estesp";
17     repo = "manifest-tool";
18     rev = "v${version}";
19     hash = "sha256-/u60hi/KnPVWlNh6nxjXpH0ct5PLVE44deGxhzbayD0=";
20     leaveDotGit = true;
21     postFetch = ''
22       git -C $out rev-parse HEAD > $out/.git-revision
23       rm -rf $out/.git
24     '';
25   };
27   vendorHash = null;
29   nativeBuildInputs = [ git ];
31   ldflags = [
32     "-s"
33     "-w"
34     "-X main.version=${version}"
35   ] ++ lib.optionals stdenv.hostPlatform.isStatic [
36     "-linkmode=external"
37     "-extldflags"
38     "-static"
39   ];
41   preConfigure = ''
42     export ldflags+=" -X main.gitCommit=$(cat .git-revision)"
43   '';
45   tags = lib.optionals stdenv.hostPlatform.isStatic [
46     "cgo"
47     "netgo"
48     "osusergo"
49     "static_build"
50   ];
52   passthru.tests.version = testers.testVersion {
53     package = manifest-tool;
54   };
56   meta = with lib; {
57     description = "Command line tool to create and query container image manifest list/indexes";
58     mainProgram = "manifest-tool";
59     homepage = "https://github.com/estesp/manifest-tool";
60     license = licenses.asl20;
61     maintainers = with maintainers; [ tricktron ];
62   };