container: Gracefully report mount errors in the child process.
[jackhill/guix/guix.git] / gnu / packages / networking.scm
index 717e624..6f4339a 100644 (file)
@@ -1,6 +1,11 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>
+;;; Copyright   2016 John Darrington <jmd@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages tls))
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages compression))
+
+(define-public macchanger
+  (package
+    (name "macchanger")
+    (version "1.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/"
+                                  name "/" name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1xsiivjjyhqcs6dyjcshrnxlgypvyfzacjz7gcjgl88xiw9lylri"))))
+    (build-system gnu-build-system)
+    (home-page "http://www.gnu.org/software/macchanger")
+    (synopsis "Display or change the MAC address of networking devices")
+    (description "GNU MAC Changer is a utility for viewing and changing MAC
+addresses of networking devices.  New addresses may be set explicitly or
+randomly.  They can include MAC addresses of the same or other hardware vendors
+or, more generally, MAC addresses of the same category of hardware.") 
+    (license license:gpl2+)))
 
 (define-public miredo
   (package
@@ -56,7 +85,7 @@ residing in IPv4-only networks, even when they are behind a NAT device.")
 (define-public socat
   (package
     (name "socat")
-    (version "1.7.2.4")
+    (version "1.7.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -64,7 +93,7 @@ residing in IPv4-only networks, even when they are behind a NAT device.")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb"))))
+                "1apvi7sahcl44arnq1ad2y6lbfqnmvx7nhz9i3rkk0f382anbnnj"))))
     (build-system gnu-build-system)
     (arguments '(#:tests? #f))                    ;no 'check' phase
     (inputs `(("openssl" ,openssl)))
@@ -86,14 +115,14 @@ or server shell scripts with network connections.")
 (define-public zeromq
   (package
     (name "zeromq")
-    (version "4.0.5")
+    (version "4.0.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://download.zeromq.org/zeromq-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0arl8fy8d03xd5h0mgda1s5bajwg8iyh1kk4hd1420rpcxgkrj9v"))))
+                "00vvwhgcdr1lva2pavicvy92iad0hj8cf71n702hv6blw1kjj2z0"))))
     (build-system gnu-build-system)
     (home-page "http://zeromq.org")
     (synopsis "Library for message-based applications")
@@ -105,3 +134,142 @@ asynchronous message queues, multiple messaging patterns, message
 filtering (subscriptions), seamless access to multiple transport protocols and
 more.")
     (license license:lgpl3+)))
+
+(define-public libndp
+  (package
+    (name "libndp")
+    (version "1.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://libndp.org/files/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "03mczwrxqbp54msafxzzyhaazkvjdwm2kipjkrb5xg8kw22glz8c"))))
+    (build-system gnu-build-system)
+    (home-page "http://libndp.org/")
+    (synopsis "Library for Neighbor Discovery Protocol")
+    (description
+     "libndp contains a library which provides a wrapper for IPv6 Neighbor
+Discovery Protocol.  It also provides a tool named ndptool for sending and
+receiving NDP messages.")
+    (license license:lgpl2.1+)))
+
+(define-public ethtool
+  (package
+    (name "ethtool")
+    (version "4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kernel.org/software/network/"
+                                  name "/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1zzcwn6pk8qfasalqkxg8vrhacksfa50xsq4xifw7yfjqyn8fj4h"))))
+    (build-system gnu-build-system)
+    (home-page "https://www.kernel.org/pub/software/network/ethtool/")
+    (synopsis "Display or change Ethernet device settings")
+    (description
+     "ethtool can be used to query and change settings such as speed,
+auto-negotiation and checksum offload on many network devices, especially
+Ethernet devices.")
+    (license license:gpl2)))
+
+(define-public ifstatus
+  (package
+    (name "ifstatus")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/ifstatus/ifstatus-v"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "045cbsq9ps32j24v8y5hpyqxnqn9mpaf3mgvirlhgpqyb9jsia0c"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "Main.h"
+                  (("#include <stdio.h>")
+                   "#include <stdio.h>\n#include <stdlib.h>")))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f                                ; no "check" target
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)             ; no configure script
+         (replace 'install
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let* ((out (assoc-ref outputs "out"))
+                           (bin (string-append out "/bin")))
+                      (mkdir-p bin)
+                      (copy-file "ifstatus"
+                                 (string-append bin "/ifstatus"))))))))
+    (inputs `(("ncurses" ,ncurses)))
+    (home-page "http://ifstatus.sourceforge.net/graphic/index.html")
+    (synopsis "Text based network interface status monitor")
+    (description
+     "IFStatus is a simple, easy-to-use program for displaying commonly
+needed/wanted real-time traffic statistics of multiple network
+interfaces, with a simple and efficient view on the command line.  It is
+intended as a substitute for the PPPStatus and EthStatus projects.")
+    (license license:gpl2+)))
+
+(define-public nload
+  (package
+    (name "nload")
+    (version "0.7.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/nload/nload-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61"))))
+    (build-system gnu-build-system)
+    (inputs `(("ncurses" ,ncurses)))
+    (home-page "http://www.roland-riegel.de/nload/")
+    (synopsis "Realtime console network usage monitor")
+    (description
+     "Nload is a console application which monitors network traffic and
+bandwidth usage in real time.  It visualizes the in- and outgoing traffic using
+two graphs and provides additional info like total amount of transfered data
+and min/max network usage.")
+    (license license:gpl2+)))
+
+(define-public iodine
+  (package
+    (name "iodine")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://code.kryo.se/" name "/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0gh17kcxxi37k65zm4gqsvbk3aw7yphcs3c02pn1c4s2y6n40axd"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'check 'delete-failing-tests
+           ;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105
+           (lambda _
+             (substitute* "tests/common.c"
+               (("tcase_add_test\\(tc, \
+test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);")
+                "")))))
+       #:make-flags (list "CC=gcc"
+                          (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:test-target "test"))
+    (inputs `(("zlib" ,zlib)))
+    (native-inputs `(("check" ,check)
+                     ("pkg-config" ,pkg-config)))
+    (home-page "http://code.kryo.se/iodine/")
+    (synopsis "Tunnel IPv4 data through a DNS server")
+    (description "Iodine tunnels IPv4 data through a DNS server.  This
+can be useful in different situations where internet access is firewalled, but
+DNS queries are allowed.  The bandwidth is asymmetrical, with limited upstream
+and up to 1 Mbit/s downstream.")
+    ;; src/md5.[ch] is released under the zlib license
+    (license (list license:isc license:zlib))))