diff options
author | Leo Famulari <leo@famulari.name> | 2018-09-13 13:32:39 -0400 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2018-09-13 13:32:39 -0400 |
commit | d7639407110a584c18bb362c942eeb0933188c66 (patch) | |
tree | 8068d0737e2a65f8f9f7080b7f9fb36a74e58e2c /gnu/packages/ssh.scm | |
parent | 36e8185667c41740786d9b2eb3672a0f8b902ed8 (diff) | |
parent | 7d1cc612938565d935c53bd7a429f41d1f048dae (diff) | |
download | guix-d7639407110a584c18bb362c942eeb0933188c66.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r-- | gnu/packages/ssh.scm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index ebb99e84f0..089e4f63f9 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> +;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,12 +50,14 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:autoload (gnu packages protobuf) (protobuf) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -682,3 +685,41 @@ which executes commands on multiple remote hosts in parallel. Pdsh implements dynamically loadable modules for extended functionality such as new remote shell services and remote host selection.") (license license:gpl2+))) + +(define-public clustershell + (package + (name "clustershell") + (version "1.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cea-hpc/clustershell/archive/v" + version + ".tar.gz")) + (sha256 + (base32 "1qyf6zp5ikk8rk7zvx5ssbgr9si2bqv3a3415590kd07s7i16nmd")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system python-build-system) + (inputs `(("openssh" ,openssh))) + (propagated-inputs `(("python-pyyaml" ,python-pyyaml))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'build 'record-openssh-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((ssh (assoc-ref inputs "openssh"))) + (substitute* "lib/ClusterShell/Worker/Ssh.py" + (("info\\(\"ssh_path\"\\) or \"ssh\"") + (string-append "info(\"ssh_path\") or \"" + ssh "/bin/ssh\""))) + #t)))))) + (home-page "https://cea-hpc.github.io/clustershell/") + (synopsis "Scalable event-driven Python framework for cluster administration") + (description + "ClusterShell is an event-driven Python framework, designed to run local +or distant commands in parallel on server farms or on large GNU/Linux +clusters. It will take care of common issues encountered on HPC clusters, +such as operating on groups of nodes, running distributed commands using +optimized execution algorithms, as well as gathering results and merging +identical outputs, or retrieving return codes. ClusterShell takes advantage +of existing remote shell facilities such as SSH.") + (license license:lgpl2.1+))) |