1{
2 buildGoModule,
3 fetchFromGitHub,
4 stdenv,
5 lib,
6 installShellFiles,
7}:
8
9buildGoModule rec {
10 pname = "fly";
11 version = "7.13.2";
12
13 src = fetchFromGitHub {
14 owner = "concourse";
15 repo = "concourse";
16 rev = "v${version}";
17 hash = "sha256-onowKvN8YLDWRRn3rGEMoMxc6XaAcBKJcFOHSVh9Yy8=";
18 };
19
20 vendorHash = "sha256-WC4uzTgvW15IumwmsWXXeiF5qagbeb5XWRaSjd1XLvA=";
21
22 subPackages = [ "fly" ];
23
24 ldflags = [
25 "-s"
26 "-w"
27 "-X github.com/concourse/concourse.Version=${version}"
28 ];
29
30 nativeBuildInputs = [ installShellFiles ];
31
32 doCheck = false;
33
34 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
35 installShellCompletion --cmd fly \
36 --bash <($out/bin/fly completion --shell bash) \
37 --fish <($out/bin/fly completion --shell fish) \
38 --zsh <($out/bin/fly completion --shell zsh)
39 '';
40
41 meta = with lib; {
42 description = "Command line interface to Concourse CI";
43 mainProgram = "fly";
44 homepage = "https://concourse-ci.org";
45 license = licenses.asl20;
46 maintainers = with maintainers; [
47 ivanbrennan
48 SuperSandro2000
49 ];
50 };
51}