summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2022-08-16 10:05:26 +0800
committer宋文武 <iyzsong@member.fsf.org>2022-08-19 09:13:08 +0800
commit517f0ed81301a5e06f0e750682dfbbef3d8e4899 (patch)
tree5f0cfa08b4b5c06dbdf9a4f6c0fdaea53d0861ae /gnu/packages
parent5feb567385849df168164959479a35bb8a5b9ceb (diff)
downloadguix-517f0ed81301a5e06f0e750682dfbbef3d8e4899.tar.gz
gnu: Add rex.
* gnu/packages/admin.scm (rex): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 35d3b53f24..a4c5189222 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -5454,3 +5454,40 @@ attempts, it cannot eliminate the risk presented by weak authentication.  Set
 up services to use only two factor, or public/private authentication
 mechanisms if you really want to protect services.")
     (license license:gpl2+)))
+
+(define-public rex
+  (package
+    (name "rex")
+    (version "4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://download.gnu.org.ua/pub/releases/rex/rex-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1arb8z602invwavskq36nhwy42a3v14iyhi06iqlngfai2k93fai"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ; no tests
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; No configure script and Makefile.
+          (delete 'configure)
+          (delete 'build)
+          (add-before 'install 'patch-exec-expect
+            (lambda _
+              (substitute* "rex"
+                (("exec expect") (string-append "exec " (which "expect"))))))
+          (replace 'install
+            (lambda _
+              (invoke "./install"
+                      (string-append "--prefix=" #$output)))))))
+    (inputs (list expect))
+    (home-page "https://www.gnu.org.ua/software/rex/")
+    (synopsis "Remote execution utility")
+    (description "@command{rex} runs a supplied command or shell script on
+several hosts in succession or in parallel.  It can also be used to copy a
+file or files to several hosts.")
+    (license license:gpl3+)))