608 lines
23 KiB
Scheme
608 lines
23 KiB
Scheme
;;; 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 <me@tobias.gr>
|
|
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
|
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
|
;;;
|
|
;;; This file is part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (gnu packages networking)
|
|
#:use-module (guix build-system perl)
|
|
#: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)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages adns)
|
|
#:use-module (gnu packages algebra)
|
|
#: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 gettext)
|
|
#: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 "Viewing and manipulating MAC addresses of network interfaces")
|
|
(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
|
|
(name "miredo")
|
|
(version "1.2.6")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://www.remlab.net/files/miredo/miredo-"
|
|
version ".tar.xz"))
|
|
(sha256
|
|
(base32
|
|
"0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps"))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
;; The checkconf test in src/ requires network access.
|
|
(add-before
|
|
'check 'disable-checkconf-test
|
|
(lambda _
|
|
(substitute* "src/Makefile"
|
|
(("^TESTS = .*") "TESTS = \n")))))))
|
|
(home-page "http://www.remlab.net/miredo/")
|
|
(synopsis "Teredo IPv6 tunneling software")
|
|
(description
|
|
"Miredo is an implementation (client, relay, server) of the Teredo
|
|
specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts
|
|
residing in IPv4-only networks, even when they are behind a NAT device.")
|
|
(license license:gpl2+)))
|
|
|
|
(define-public socat
|
|
(package
|
|
(name "socat")
|
|
(version "1.7.3.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"http://www.dest-unreach.org/socat/download/socat-"
|
|
version ".tar.bz2"))
|
|
(sha256
|
|
(base32
|
|
"1apvi7sahcl44arnq1ad2y6lbfqnmvx7nhz9i3rkk0f382anbnnj"))))
|
|
(build-system gnu-build-system)
|
|
(arguments '(#:tests? #f)) ;no 'check' phase
|
|
(inputs `(("openssl" ,openssl)))
|
|
(home-page "http://www.dest-unreach.org/socat/")
|
|
(synopsis
|
|
"Open bidirectional communication channels from the command line")
|
|
(description
|
|
"socat is a relay for bidirectional data transfer between two independent
|
|
data channels---files, pipes, devices, sockets, etc. It can create
|
|
\"listening\" sockets, named pipes, and pseudo terminals.
|
|
|
|
socat can be used, for instance, as TCP port forwarder, as a shell interface
|
|
to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
|
|
line, to logically connect serial lines on different computers, or to
|
|
establish a relatively secure environment (su and chroot) for running client
|
|
or server shell scripts with network connections.")
|
|
(license license:gpl2)))
|
|
|
|
(define-public zeromq
|
|
(package
|
|
(name "zeromq")
|
|
(version "4.0.7")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://download.zeromq.org/zeromq-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"00vvwhgcdr1lva2pavicvy92iad0hj8cf71n702hv6blw1kjj2z0"))))
|
|
(build-system gnu-build-system)
|
|
(home-page "http://zeromq.org")
|
|
(synopsis "Library for message-based applications")
|
|
(description
|
|
"The 0MQ lightweight messaging kernel is a library which extends the
|
|
standard socket interfaces with features traditionally provided by specialized
|
|
messaging middle-ware products. 0MQ sockets provide an abstraction of
|
|
asynchronous message queues, multiple messaging patterns, message
|
|
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.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/"
|
|
"ifstatus%20v" version "/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
|
|
"/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.5")
|
|
(synopsis "Network traffic analyzer")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
|
|
version ".tar.bz2"))
|
|
(sha256
|
|
(base32
|
|
"02xi3fz8blcz9cf75rs11g7bijk06wm45vpgnksp72c2609j9q0c"))))
|
|
(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/")))
|
|
|
|
(define-public httping
|
|
(package
|
|
(name "httping")
|
|
(version "2.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://www.vanheusden.com/httping/httping-"
|
|
version ".tgz"))
|
|
(sha256
|
|
(base32
|
|
"1110r3gpsj9xmybdw7w4zkhj3zmn5mnv2nq0ijbvrywbn019zdfs"))))
|
|
(build-system gnu-build-system)
|
|
(native-inputs
|
|
`(("gettext" ,gnu-gettext)))
|
|
(inputs
|
|
`(("fftw" ,fftw)
|
|
("ncurses" ,ncurses)
|
|
("openssl" ,openssl)))
|
|
(arguments
|
|
`(#:make-flags (list "CC=gcc"
|
|
(string-append "DESTDIR=" (assoc-ref %outputs "out"))
|
|
"PREFIX=")
|
|
#:tests? #f)) ; no tests
|
|
(home-page "https://www.vanheusden.com/httping/")
|
|
(synopsis "Web server latency and throughput monitor")
|
|
(description
|
|
"httping measures how long it takes to connect to a web server, send an
|
|
HTTP(S) request, and receive the reply headers. It is somewhat similar to
|
|
@command{ping}, but can be used even in cases where ICMP traffic is blocked
|
|
by firewalls or when you want to monitor the response time of the actual web
|
|
application stack itself.")
|
|
(license license:gpl2))) ; with permission to link with OpenSSL
|
|
|
|
(define-public perl-net-dns
|
|
(package
|
|
(name "perl-net-dns")
|
|
(version "1.06")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"07m5331132h9xkh1i6jv9d80f571yva27iqa31aq4sm31iw7nn53"))))
|
|
(build-system perl-build-system)
|
|
(inputs
|
|
`(("perl-digest-hmac" ,perl-digest-hmac)))
|
|
(home-page "http://search.cpan.org/dist/Net-DNS")
|
|
(synopsis
|
|
"Perl Interface to the Domain Name System")
|
|
(description "Net::DNS is the Perl Interface to the Domain Name System.")
|
|
(license license:x11)))
|
|
|
|
(define-public perl-socket6
|
|
(package
|
|
(name "perl-socket6")
|
|
(version "0.28")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"11j5jzqbzmwlws9zals43ry2f1nw9qy6im7yhn9ck5rikywrmm5z"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'configure
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(args `("Makefile.PL"
|
|
,(string-append "PREFIX=" out)
|
|
"INSTALLDIRS=site")))
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
(zero? (apply system* "perl" args))))))))
|
|
(home-page "http://search.cpan.org/dist/Socket6")
|
|
(synopsis
|
|
"IPv6 related part of the C socket.h defines and structure manipulators for Perl")
|
|
(description "Socket6 binds the IPv6 related part of the C socket header
|
|
definitions and structure manipulators for Perl.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public perl-net-dns-resolver-programmable
|
|
(package
|
|
(name "perl-net-dns-resolver-programmable")
|
|
(version "v0.003")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/"
|
|
"Net-DNS-Resolver-Programmable-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1v3nl2kaj4fs55n1617n53q8sa3mir06898vpy1rq98zjih24h4d"))
|
|
(patches
|
|
(search-patches
|
|
"perl-net-dns-resolver-programmable-Fix-broken-interface.patch"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-module-build" ,perl-module-build)))
|
|
(inputs `(("perl-net-dns" ,perl-net-dns)))
|
|
(home-page
|
|
"http://search.cpan.org/dist/Net-DNS-Resolver-Programmable")
|
|
(synopsis
|
|
"Programmable DNS resolver class for offline emulation of DNS")
|
|
(description "Net::DNS::Resolver::Programmable is a programmable DNS resolver for
|
|
offline emulation of DNS.")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-netaddr-ip
|
|
(package
|
|
(name "perl-netaddr-ip")
|
|
(version "4.079")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1rx0dinrz9fk9qcg4rwqq5n1dm3xv2arymixpclcv2q2nzgq4npc"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'configure
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(args `("Makefile.PL"
|
|
,(string-append "PREFIX=" out)
|
|
"INSTALLDIRS=site")))
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
(zero? (apply system* "perl" args))))))))
|
|
(home-page
|
|
"http://search.cpan.org/dist/NetAddr-IP")
|
|
(synopsis
|
|
"Manages IPv4 and IPv6 addresses and subnets")
|
|
(description "NetAddr::IP manages IPv4 and IPv6 addresses and subsets.")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-net-patricia
|
|
(package
|
|
(name "perl-net-patricia")
|
|
(version "1.22")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0ln5f57vc8388kyh9vhx2infrdzfhbpgyby74h1qsnhwds95m0vh"))))
|
|
(build-system perl-build-system)
|
|
(inputs
|
|
`(("perl-net-cidr-lite" ,perl-net-cidr-lite)
|
|
("perl-socket6" ,perl-socket6)))
|
|
(home-page
|
|
"http://search.cpan.org/dist/Net-Patricia")
|
|
(synopsis
|
|
"Patricia Trie Perl module for fast IP address lookups")
|
|
(description
|
|
"Net::Patricia does IP address lookups quickly in Perl.")
|
|
;; The bindings are licensed under GPL2 or later.
|
|
;; libpatricia is licensed under 2-clause BSD.
|
|
(license (list license:gpl2+ license:bsd-2))))
|
|
|
|
(define-public perl-net-cidr-lite
|
|
(package
|
|
(name "perl-net-cidr-lite")
|
|
(version "0.21")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DO/DOUGW/Net-CIDR-Lite-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"14shj73zbqmfjbp0qz1fs9j4p2dpvz5hfkm4qfdjbydflbl2b8fg"))))
|
|
(build-system perl-build-system)
|
|
(home-page
|
|
"http://search.cpan.org/dist/Net-CIDR-Lite")
|
|
(synopsis
|
|
"Perl extension for merging IPv4 or IPv6 CIDR addresses")
|
|
(description "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.")
|
|
(license license:gpl1+)))
|
|
|
|
;; TODO: Use the geolite-mirror-simple.pl script from the example
|
|
;; directory to stay current with the databases. How?
|
|
(define-public perl-geo-ip
|
|
(package
|
|
(name "perl-geo-ip")
|
|
(version "1.50")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0ar69lrm26rp6sqxjf0p6cvjfprjx8gkxx11r399lvh99rqfl7zr"))))
|
|
(build-system perl-build-system)
|
|
(home-page "http://search.cpan.org/dist/Geo-IP")
|
|
(synopsis
|
|
"Look up location and network information by IP Address in Perl")
|
|
(description "The Perl module 'Geo::IP'. It looks up location and network
|
|
information by IP Address.")
|
|
(license (package-license perl))))
|