summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorBen Sturmfels <ben@sturm.com.au>2017-04-11 17:56:52 +0200
committerLudovic Courtès <ludo@gnu.org>2017-04-11 18:03:35 +0200
commitb611f9c28239b43420b9a8161422a10bcfe186bf (patch)
tree1a9797351a83106115d8a98b4c75cf673640ba6d /gnu/packages
parentc1aba1a7c8d82e9b734f5e0ea41fe3b468fb31a5 (diff)
downloadguix-b611f9c28239b43420b9a8161422a10bcfe186bf.tar.gz
gnu: Add Fabric.
* gnu/packages/admin.scm (fabric): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 327dd36376..bff480b204 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -15,6 +15,7 @@
 ;;; Coypright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Coypright © 2016 John Darrington <jmd@gnu.org>
+;;; Coypright © 2017 Ben Sturmfels <ben@sturm.com.au>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2049,3 +2050,36 @@ low-level tools and tests specifically for development and testing of the
 Intel DRM Driver.")
     (license license:expat)))
 
+(define-public fabric
+  (package
+    (name "fabric")
+    (version "1.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Fabric" version))
+       (sha256
+        (base32
+         "1z17hw0yiqp1blq217zxkg2jzkv8qd79saqhscgsw14mwlcqpwd0"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f     ;XXX: Tests attempt to download Python "fudge" package.
+       #:python ,python-2))                       ;Python 2 only
+    (propagated-inputs
+     ;; Required upgrading python-paramiko 1.17.4 to fix an incompatibility
+     ;; between python-paramiko and newer python-pycrypto. Without this, the
+     ;; `fab` command fails with "ValueError: CTR mode needs counter
+     ;; parameter, not IV". See:
+     ;; https://github.com/paramiko/paramiko/pull/714#issuecomment-281191548.
+     `(("python2-paramiko" ,python2-paramiko)))
+    (home-page "http://fabfile.org")
+    (synopsis "Simple Pythonic remote execution and deployment tool")
+    (description
+     "Fabric is designed to upload files and run shell commands on a number of
+servers in parallel or serially.  These commands are grouped in tasks (which
+are regular Python functions) and specified in a @dfn{fabfile}.
+
+It is similar to Capistrano, except it's implemented in Python and doesn't
+expect you to be deploying Rails applications.  Fabric is a simple, Pythonic
+tool for remote execution and deployment.")
+    (license license:bsd-2)))