summary refs log tree commit diff
path: root/gnu/packages/magic-wormhole.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2019-02-18 23:57:09 -0500
committerLeo Famulari <leo@famulari.name>2019-02-19 14:34:31 -0500
commit6924a2bdc59648b672944992bef02f411803eeb8 (patch)
tree7aab4217d7b23a8cb50560a659d023ad0cfcec41 /gnu/packages/magic-wormhole.scm
parentc9b36f450b1c598174b03af19c35efc4bf1ee9e5 (diff)
downloadguix-6924a2bdc59648b672944992bef02f411803eeb8.tar.gz
gnu: Add magic-wormhole-transit-relay.
* gnu/packages/magic-wormhole.scm (magic-wormhole-transit-relay): New variable.
Diffstat (limited to 'gnu/packages/magic-wormhole.scm')
-rw-r--r--gnu/packages/magic-wormhole.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/magic-wormhole.scm b/gnu/packages/magic-wormhole.scm
index b99ee7b113..0ff214a397 100644
--- a/gnu/packages/magic-wormhole.scm
+++ b/gnu/packages/magic-wormhole.scm
@@ -21,6 +21,7 @@
   #:use-module (guix download)
   #:use-module (guix licenses)
   #:use-module (guix build-system python)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz))
@@ -63,3 +64,42 @@ clients connect to.  The server performs store-and-forward delivery for small
 key-exchange and control messages.  Bulk data is sent over a direct TCP
 connection, or through a transit-relay.")
    (license expat)))
+
+(define-public magic-wormhole-transit-relay
+  (package
+    (name "magic-wormhole-transit-relay")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "magic-wormhole-transit-relay" version))
+        (sha256
+         (base32
+          "11w5gdc6am2ph5rns60x0694sx4zrlzxj540jljhn5cmnbx1ngxi"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (docs (string-append out "/share/doc/magic-wormhole-transit-relay")))
+               (for-each (lambda (file)
+                           (install-file file docs))
+                         (find-files "docs/"))
+               #t))))))
+    (native-inputs
+     `(("python-mock" ,python-mock)
+       ("python-pyflakes" ,python-pyflakes)
+       ("python-tox" ,python-tox)))
+    (propagated-inputs
+     `(("python-twisted" ,python-twisted)))
+    (home-page
+      "https://github.com/warner/magic-wormhole-transit-relay")
+    (synopsis "Magic-Wormhole relay server")
+    (description "This package provides the Magic-Wormhole Transit Relay
+server, which helps clients establish bulk-data transit connections even when
+both are behind NAT boxes.  Each side makes a TCP connection to this server and
+presents a handshake.  Two connections with identical handshakes are glued
+together, allowing them to pretend they have a direct connection.")
+    (license expat)))