diff options
Diffstat (limited to 'pkgs/development/tools/continuous-integration')
-rw-r--r-- | pkgs/development/tools/continuous-integration/fly/default.nix | 37 | ||||
-rw-r--r-- | pkgs/development/tools/continuous-integration/fly/fly.bash | 10 |
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix new file mode 100644 index 000000000000..47af70b37029 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/fly/default.nix @@ -0,0 +1,37 @@ +{ buildGoModule, fetchFromGitHub, lib, writeText }: + +buildGoModule rec { + pname = "fly"; + version = "5.3.0"; + + src = fetchFromGitHub { + owner = "concourse"; + repo = "concourse"; + rev = "v${version}"; + sha256 = "06ns98k47nafhkkj7gkmxp7msn4ssypyss6ll0fm6380vq2cavnj"; + }; + + modSha256 = "11rnlmn5hp9nsgkmd716dsjmkr273035j9gzfhjxjsfpiax60i0a"; + + subPackages = [ "fly" ]; + + buildFlagsArray = '' + -ldflags= + -X github.com/concourse/concourse.Version=${version} + ''; + + # The fly.bash file included with this derivation can be replaced by a + # call to `fly completion bash` once the `completion` subcommand has + # made it into a release. Similarly, `fly completion zsh` will provide + # zsh completions. https://github.com/concourse/concourse/pull/4012 + postInstall = '' + install -D -m 444 ${./fly.bash} $out/share/bash-completion/completions/fly + ''; + + meta = with lib; { + description = "A command line interface to Concourse CI"; + homepage = https://concourse-ci.org; + license = licenses.asl20; + maintainers = with maintainers; [ ivanbrennan ]; + }; +} diff --git a/pkgs/development/tools/continuous-integration/fly/fly.bash b/pkgs/development/tools/continuous-integration/fly/fly.bash new file mode 100644 index 000000000000..a9acc5f70a40 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/fly/fly.bash @@ -0,0 +1,10 @@ +# credits: +# https://godoc.org/github.com/jessevdk/go-flags#hdr-Completion +# https://github.com/concourse/concourse/issues/1309#issuecomment-452893900 +_fly_compl() { + args=("${COMP_WORDS[@]:1:$COMP_CWORD}") + local IFS=$'\n' + COMPREPLY=($(GO_FLAGS_COMPLETION=1 ${COMP_WORDS[0]} "${args[@]}")) + return 0 +} +complete -F _fly_compl fly |