gnu: calibre: Build with non-modular Qt.
[jackhill/guix/guix.git] / gnu / packages / networking.scm
index 08380b1..b92ad0a 100644 (file)
@@ -3,6 +3,10 @@
 ;;; 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 <me@tobias.gr>
+;;; Copyright   2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages tls)
-  #:use-module (gnu packages ncurses))
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages adns)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages mit-krb5)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tls))
+
+(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
@@ -59,7 +99,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
@@ -67,7 +107,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)))
@@ -89,14 +129,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")
@@ -109,17 +149,54 @@ filtering (subscriptions), seamless access to multiple transport protocols and
 more.")
     (license license:lgpl3+)))
 
+(define-public librdkafka
+  (package
+    (name "librdkafka")
+    (version "0.9.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/edenhill/librdkafka/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "10ldx7g7ymmg17snzx78vy4n8ma1rjx0agzi34g15j2fk867xmas"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           ;; its custom configure script doesn't understand 'CONFIG_SHELL'.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; librdkafka++.so lacks RUNPATH for librdkafka.so
+               (setenv "LDFLAGS"
+                       (string-append "-Wl,-rpath=" out "/lib"))
+               (zero? (system* "./configure"
+                               (string-append "--prefix=" out)))))))))
+    (native-inputs
+     `(("python" ,python-wrapper)))
+    (propagated-inputs
+     `(("zlib" ,zlib))) ; in the Libs.private field of rdkafka.pc
+    (home-page "https://github.com/edenhill/librdkafka")
+    (synopsis "Apache Kafka C/C++ client library")
+    (description
+     "librdkafka is a C library implementation of the Apache Kafka protocol,
+containing both Producer and Consumer support.")
+    (license license:bsd-2)))
+
 (define-public libndp
   (package
     (name "libndp")
-    (version "1.5")
+    (version "1.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://libndp.org/files/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "15f743hjc7yy2sv3hzvfc27s1gny4mh5aww59vn195fff2midwgs"))))
+                "03mczwrxqbp54msafxzzyhaazkvjdwm2kipjkrb5xg8kw22glz8c"))))
     (build-system gnu-build-system)
     (home-page "http://libndp.org/")
     (synopsis "Library for Neighbor Discovery Protocol")
@@ -155,7 +232,8 @@ Ethernet devices.")
     (version "1.1.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://sourceforge/ifstatus/ifstatus-v"
+              (uri (string-append "mirror://sourceforge/ifstatus/ifstatus/"
+                                  "ifstatus%20v" version "/ifstatus-v"
                                   version ".tar.gz"))
               (sha256
                (base32
@@ -183,7 +261,118 @@ Ethernet devices.")
     (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
+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:bsd-2)))
+    (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
+                                  "/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))))
+
+(define-public wireshark
+  (package
+    (name "wireshark")
+    (version "2.0.4")
+    (synopsis "Network traffic analyzer")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "19g11m8m8qd7dkcvcb27lyppklg608d9ap7wr3mr88clm4nwiacy"))))
+    (build-system glib-or-gtk-build-system)
+    (inputs `(("bison" ,bison)
+              ("c-ares" ,c-ares)
+              ("flex" ,flex)
+              ("gnutls" ,gnutls)
+              ("gtk+" ,gtk+)
+              ("libcap" ,libcap)
+              ("libgcrypt" ,libgcrypt)
+              ("libnl" ,libnl)
+              ("libpcap" ,libpcap)
+              ("lua" ,lua)
+              ("krb5" ,mit-krb5)
+              ("openssl" ,openssl)
+              ("portaudio" ,portaudio)
+              ("sbc" ,sbc)
+              ("zlib" ,zlib)))
+    (native-inputs `(("perl" ,perl)
+                     ("pkg-config" ,pkg-config)
+                     ("python" ,python-wrapper)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
+             (string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
+             (string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
+             (string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
+             (string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
+             (string-append "--with-portaudio="
+                             (assoc-ref %build-inputs "portaudio"))
+             (string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
+             (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))
+             (string-append "--with-zlib=" (assoc-ref %build-inputs "zlib"))
+             "--without-qt")))
+    (description "Wireshark is a network protocol analyzer, or @dfn{packet
+sniffer}, that lets you capture and interactively browse the contents of
+network frames.")
+    (license license:gpl2+)
+    (home-page "https://www.wireshark.org/")))