1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
3 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2015 Stefan Reichör <stefan@xsteve.at>
7 ;;; This file is part of GNU Guix.
9 ;;; GNU Guix is free software; you can redistribute it and/or modify it
10 ;;; under the terms of the GNU General Public License as published by
11 ;;; the Free Software Foundation; either version 3 of the License, or (at
12 ;;; your option) any later version.
14 ;;; GNU Guix is distributed in the hope that it will be useful, but
15 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;;; GNU General Public License for more details.
19 ;;; You should have received a copy of the GNU General Public License
20 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 (define-module (gnu packages networking)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages tls)
28 #:use-module (gnu packages ncurses))
36 (uri (string-append "http://www.remlab.net/files/miredo/miredo-"
40 "0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps"))))
41 (build-system gnu-build-system)
44 (modify-phases %standard-phases
45 ;; The checkconf test in src/ requires network access.
47 'check 'disable-checkconf-test
49 (substitute* "src/Makefile"
50 (("^TESTS = .*") "TESTS = \n")))))))
51 (home-page "http://www.remlab.net/miredo/")
52 (synopsis "Teredo IPv6 tunneling software")
54 "Miredo is an implementation (client, relay, server) of the Teredo
55 specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts
56 residing in IPv4-only networks, even when they are behind a NAT device.")
57 (license license:gpl2+)))
66 "http://www.dest-unreach.org/socat/download/socat-"
70 "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb"))))
71 (build-system gnu-build-system)
72 (arguments '(#:tests? #f)) ;no 'check' phase
73 (inputs `(("openssl" ,openssl)))
74 (home-page "http://www.dest-unreach.org/socat/")
76 "Open bidirectional communication channels from the command line")
78 "socat is a relay for bidirectional data transfer between two independent
79 data channels---files, pipes, devices, sockets, etc. It can create
80 \"listening\" sockets, named pipes, and pseudo terminals.
82 socat can be used, for instance, as TCP port forwarder, as a shell interface
83 to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
84 line, to logically connect serial lines on different computers, or to
85 establish a relatively secure environment (su and chroot) for running client
86 or server shell scripts with network connections.")
87 (license license:gpl2)))
95 (uri (string-append "http://download.zeromq.org/zeromq-"
99 "0arl8fy8d03xd5h0mgda1s5bajwg8iyh1kk4hd1420rpcxgkrj9v"))))
100 (build-system gnu-build-system)
101 (home-page "http://zeromq.org")
102 (synopsis "Library for message-based applications")
104 "The 0MQ lightweight messaging kernel is a library which extends the
105 standard socket interfaces with features traditionally provided by specialized
106 messaging middle-ware products. 0MQ sockets provide an abstraction of
107 asynchronous message queues, multiple messaging patterns, message
108 filtering (subscriptions), seamless access to multiple transport protocols and
110 (license license:lgpl3+)))
112 (define-public libndp
118 (uri (string-append "http://libndp.org/files/"
119 name "-" version ".tar.gz"))
122 "15f743hjc7yy2sv3hzvfc27s1gny4mh5aww59vn195fff2midwgs"))))
123 (build-system gnu-build-system)
124 (home-page "http://libndp.org/")
125 (synopsis "Library for Neighbor Discovery Protocol")
127 "libndp contains a library which provides a wrapper for IPv6 Neighbor
128 Discovery Protocol. It also provides a tool named ndptool for sending and
129 receiving NDP messages.")
130 (license license:lgpl2.1+)))
132 (define-public ethtool
138 (uri (string-append "mirror://kernel.org/software/network/"
139 name "/" name "-" version ".tar.xz"))
142 "1zzcwn6pk8qfasalqkxg8vrhacksfa50xsq4xifw7yfjqyn8fj4h"))))
143 (build-system gnu-build-system)
144 (home-page "https://www.kernel.org/pub/software/network/ethtool/")
145 (synopsis "Display or change Ethernet device settings")
147 "ethtool can be used to query and change settings such as speed,
148 auto-negotiation and checksum offload on many network devices, especially
150 (license license:gpl2)))
152 (define-public ifstatus
158 (uri (string-append "mirror://sourceforge/ifstatus/ifstatus-v"
162 "045cbsq9ps32j24v8y5hpyqxnqn9mpaf3mgvirlhgpqyb9jsia0c"))
163 (modules '((guix build utils)))
165 '(substitute* "Main.h"
166 (("#include <stdio.h>")
167 "#include <stdio.h>\n#include <stdlib.h>")))))
168 (build-system gnu-build-system)
170 '(#:tests? #f ; no "check" target
172 (modify-phases %standard-phases
173 (delete 'configure) ; no configure script
175 (lambda* (#:key outputs #:allow-other-keys)
176 (let* ((out (assoc-ref outputs "out"))
177 (bin (string-append out "/bin")))
179 (copy-file "ifstatus"
180 (string-append bin "/ifstatus"))))))))
181 (inputs `(("ncurses" ,ncurses)))
182 (home-page "http://ifstatus.sourceforge.net/graphic/index.html")
183 (synopsis "Text based network interface status monitor")
185 "IFStatus is a simple, easy-to-use program for displaying commonly
186 needed/wanted real-time traffic statistics of multiple network
187 interfaces, with a simple and efficient view on the command line. It is
188 intended as a substitute for the PPPStatus and EthStatus projects.")
189 (license license:gpl2+)))