diff options
author | Matthew James Kraai <kraai@ftbfs.org> | 2022-10-09 05:07:23 -0700 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-10-23 15:56:18 +0200 |
commit | 5bf34e36b1e75ad736c134d0d2ecf7bf12bc12f1 (patch) | |
tree | e77534db47ebda6d7fbab97814f2918c22d45c2c /gnu/packages/admin.scm | |
parent | 3fb3bd3da530a5f82a169b1fa451474f9d90c3b6 (diff) | |
download | guix-5bf34e36b1e75ad736c134d0d2ecf7bf12bc12f1.tar guix-5bf34e36b1e75ad736c134d0d2ecf7bf12bc12f1.tar.gz |
gnu: Add doctl.
* gnu/packages/admin.scm (doctl): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r-- | gnu/packages/admin.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index b71f49727b..4539e92a8c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -54,6 +54,7 @@ ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Andreas Rammhold <andreas@rammhold.de> ;;; Copyright © 2022 ( <paren@disroot.org> +;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -5596,3 +5597,52 @@ mechanisms if you really want to protect services.") several hosts in succession or in parallel. It can also be used to copy a file or files to several hosts.") (license license:gpl3+))) + +(define-public doctl + (package + (name "doctl") + (version "1.84.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/digitalocean/doctl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jmqvz1rdqrsr4l0bv3ik1jla0xnbdvcmnw9892acvfs3wsmliyc")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/digitalocean/doctl/cmd/doctl" + #:unpack-path "github.com/digitalocean/doctl" + #:go go-1.19 + #:build-flags + #~(list (string-append "-ldflags=-X github.com/digitalocean/doctl.Label=release" + " -X github.com/digitalocean/doctl.Major=" + (car (string-split #$version #\.)) + " -X github.com/digitalocean/doctl.Minor=" + (cadr (string-split #$version #\.)) + " -X github.com/digitalocean/doctl.Patch=" + (caddr (string-split #$version #\.)))) + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-completions + (lambda _ + (define (install-completion shell file) + (let ((file (string-append #$output file))) + (mkdir-p (dirname file)) + (with-output-to-file file + (lambda _ + (invoke (string-append #$output "/bin/doctl") + "completion" shell))))) + (install-completion "bash" "/etc/bash_completion.d/doctl") + (install-completion "fish" + "/etc/fish/completions/doctl.fish") + (install-completion "zsh" + "/etc/zsh/site-functions/_doctl")))))) + (home-page "https://github.com/digitalocean/doctl") + (synopsis "Command line client for DigitalOcean") + (description + "@code{doctl} provides a unified command line interface to the DigitalOcean API.") + (license license:asl2.0))) |