diff options
author | Stephen Paul Weber <singpolyma@singpolyma.net> | 2021-09-26 18:35:13 -0500 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-10-13 11:48:03 +0200 |
commit | 32e444da301de1a34fbce363a242f1fe0934ed22 (patch) | |
tree | 843aa6d795aa552238de9ebbb55b52e22d856548 /gnu | |
parent | 1ec92a0633543f69307dcda8f51d72ca307a32e1 (diff) | |
download | guix-32e444da301de1a34fbce363a242f1fe0934ed22.tar.gz guix-32e444da301de1a34fbce363a242f1fe0934ed22.zip |
gnu: Add cloudflare-cli
* gnu/packages/dns.scm (cloudflare-cli): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/dns.scm | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 6620c6b1d9..c770b880c8 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages certs) #:use-module (gnu packages check) + #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages compression) @@ -69,6 +70,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages ragel) + #:use-module (gnu packages serialization) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages swig) @@ -82,11 +84,62 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system trivial)) +(define-public cloudflare-cli + (let ((commit "2d986d3ec1b0e3158c4bd40e8918947cb74aa392") + (revision "1")) + (package + (name "cloudflare-cli") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/earlchew/cloudflare-cli") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f86g6n86kwykl3jnhqjrdfy8ybkp03ghr3dlr70q2552qw4axw2")))) + (build-system copy-build-system) + (arguments + `(#:install-plan '(("cloudflare-cli" "bin/") ("cloudflare-cli.sh" "bin/")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-jsonsh + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cloudflare-cli.sh" + (("\\$\\{0%/\\*\\}/jsonsh") + (string-append (assoc-ref inputs "json.sh") "/bin/JSON.sh"))) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") "/bin/cloudflare-cli") + `("PATH" ":" prefix + (,(string-join + (map (lambda (in) (string-append (assoc-ref inputs in) "/bin")) + '("grep" "curl")) + ":")))) + #t))))) + (inputs + `(("bash-minimal" ,bash-minimal) + ("curl" ,curl) + ("grep" ,grep) + ("json.sh" ,json.sh))) + (synopsis + "CLI to edit Cloudflare DNS records") + (description + "This command line tool to update Cloudfare DNS records is useful for tasks +such as updating dynamic DNS records or updating DNS records for the ACME DNS-01 +protocol.") + (home-page "https://github.com/earlchew/cloudflare-cli") + (license license:expat)))) + (define-public ldns (package (name "ldns") |