From: Oleg Pykhalov Date: Wed, 8 Jul 2020 22:12:07 +0000 (+0300) Subject: gnu: Add hss. X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/commitdiff_plain/ee56de8b5b18d9f5d0e583704bc935fd6443dcac gnu: Add hss. * gnu/packages/admin.scm (hss): New variable. --- diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6d8d6650ee..3646aa1e46 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1238,6 +1238,53 @@ console window to allow commands to be interactively run on multiple servers over ssh connections.") (license license:gpl2+))) +(define-public hss + (package + (name "hss") + (version "1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/six-ddc/hss.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rpysj65j9ls30bf2c5k5hykzzjfknrihs58imp178bx1wqzw4jl")))) + (inputs + `(("readline" ,readline))) + (arguments + `(#:tests? #f ;no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr/local/bin") + (string-append (assoc-ref outputs "out") "/bin")) + (("/usr/local/opt/readline") + (assoc-ref inputs "readline"))) + (setenv "CC" "gcc"))) + (delete 'configure)))) + (build-system gnu-build-system) + (home-page "https://github.com/six-ddc/hss/") + (synopsis "Interactive SSH client for multiple servers") + (description "@command{hss} is an interactive SSH client for multiple +servers. It will provide almost the same experience as in the Bash +environment. It supports: + +@itemize @bullet +@item interactive input: based on @code{libreadline}. +@item history: responding to the @key{C-r} key. +@item auto-completion: completion from remote server on the @key{TAB} key, for +commands and paths. +@end itemize + +Command is executed on all servers in parallel. Execution on one server does +not need to wait for that on another server to finish before starting. So we +can run a command on hundreds of servers at the same time.") + (license license:expat))) + (define-public rename (package (name "rename")