gnu: Add nyx.

* gnu/packages/tor.scm (nyx): New variable.
master
Tobias Geerinckx-Rice 2017-01-29 14:08:14 +01:00
parent 71794d7b94
commit 61ac754453
No known key found for this signature in database
GPG Key ID: 91CCDB9B48541B99
1 changed files with 64 additions and 0 deletions

View File

@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -227,3 +228,66 @@ internet. The other user just needs to use Tor Browser to download the file
from you.")
(license (list license:gpl3+
license:bsd-3)))) ; onionshare/socks.py
(define-public nyx
;; The last arm relase was 5 years ago. Meanwhile, python3 support has
;; been added and the software was renamed to nyx.
(let ((commit "fea209127484d9b304b908a4711c9528b1d065bc")
(revision "1")) ; Guix package revision
(package
(name "nyx")
(version (string-append "1.9-"
revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(file-name (string-append name "-" version "-checkout"))
(uri (git-reference
(url "https://git.torproject.org/nyx.git")
(commit commit)))
(sha256
(base32
"1g0l4988076xg5gs0x0nxzlg58rfx5g5agmklvyh4yp03vxncdb9"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("python-pep8" ,python-pep8)
("python-pyflakes" ,python-pyflakes)))
(inputs
`(("python-stem" ,python-stem)))
(arguments
`(#:configure-flags
(list (string-append "--man-page="
(assoc-ref %outputs "out")
"/share/man/man1/nyx.1")
(string-append "--sample-path="
(assoc-ref %outputs "out")
"/share/doc/nyx/nyxrc.sample"))
#:use-setuptools? #f ; setup.py still uses distutils
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "./run_tests.py" "--unit")))))))
;; A Nyx home page is being worked on. Use Arm's for now, which at
;; least mentions the new source repository:
(home-page "http://www.atagar.com/arm/")
(synopsis "Tor relay status monitor")
(description "Nyx (formerly Anonymizing Relay Monitor or \"arm\")
monitors the performance of relays participating in the
@uref{https://www.torproject.org/, Tor anonymity network}. It displays this
information visually and in real time, using a curses-based terminal interface.
This makes Nyx well-suited for remote shell connections and servers without a
graphical display. It's like @command{top} for Tor, providing detailed
statistics and status reports on:
@enumerate
@item connections (with IP address, hostname, fingerprint, and consensus data),
@item bandwidth, processor, and memory usage,
@item the relay's current configuration,
@item logged events,
@item and much more.
@end enumerate
Potential client and exit connections are scrubbed of sensitive information.")
(license license:gpl3+))))