summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorivanbrennan <ivan.brennan@gmail.com>2019-07-13 18:55:22 -0400
committerivanbrennan <ivan.brennan@gmail.com>2019-07-13 18:55:22 -0400
commit9e465d2f60ea404765607c5c7f6d8ad0afae592a (patch)
treeeb80d96970fb8c3af1a32a882a67d5a0e5d4dd77 /pkgs
parent5851594937bbf1adcbe17e7bdd3cd72ff0cd07c0 (diff)
downloadnixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.tar
nixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.tar.gz
nixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.tar.bz2
nixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.tar.lz
nixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.tar.xz
nixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.tar.zst
nixpkgs-9e465d2f60ea404765607c5c7f6d8ad0afae592a.zip
fly: init at 5.3.0
Add `fly` CLI for working with Concourse CI, and include Bash
completions.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix37
-rw-r--r--pkgs/development/tools/continuous-integration/fly/fly.bash10
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 49 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 00000000000..47af70b3702
--- /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 00000000000..a9acc5f70a4
--- /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
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 69b571d2f92..c4079afbe58 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9244,6 +9244,8 @@ in
     inherit (darwin) cf-private;
   };
 
+  fly = callPackage ../development/tools/continuous-integration/fly { };
+
   foreman = callPackage ../tools/system/foreman { };
   goreman = callPackage ../tools/system/goreman { };