From 065cb27abb354958d716d21a6a6561f6023c5a1e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 14 Jun 2020 15:21:02 +0200 Subject: gnu: Add iputils. * gnu/packages/patches/iputils-libcap-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/networking.scm (iputils): New public variable. --- gnu/packages/networking.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'gnu/packages/networking.scm') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 88ee3976fa..e8f398e521 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -63,6 +63,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) @@ -85,6 +86,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) + #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) @@ -681,6 +683,76 @@ 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 iputils + (package + (name "iputils") + (version "20190709") + (home-page "https://github.com/iputils/iputils") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "s" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "iputils-libcap-compat.patch")) + (sha256 + (base32 + "04bp4af15adp79ipxmiakfp0ij6hx5qam266flzbr94pr8z8l693")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags '("-DBUILD_RARPD=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-docbook-url + (lambda* (#:key inputs #:allow-other-keys) + (let* ((docbook-xsl (assoc-ref inputs "docbook-xsl")) + (uri (string-append docbook-xsl "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl)))) + (for-each + (lambda (file) + (substitute* file + (("http://docbook\\.sourceforge\\.net/release/xsl-ns/current") + uri))) + (cons "doc/meson.build" + (find-files "doc" "\\.xsl$"))) + #t)))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml" ,docbook-xml-5) + ("libxml2" ,libxml2) ;for XML_CATALOG_FILES + ("xsltproc" ,libxslt))) + (inputs + `(("libcap" ,libcap) + ("libidn2" ,libidn2) + ("openssl" ,openssl))) + (synopsis "Collection of network utilities") + (description + "This package contains a variety of tools for dealing with network +configuration, troubleshooting, or servers. Utilities included are: + +@itemize @bullet +@item @command{arping}: Ping hosts using the @dfn{Adress Resolution Protocol}. +@item @command{clockdiff}: Compute time difference between network hosts +using ICMP TSTAMP messages. +@item @command{ninfod}: Daemon that responds to IPv6 Node Information Queries. +@item @command{ping}: Use ICMP ECHO messages to measure round-trip delays +and packet loss across network paths. +@item @command{rarpd}: Answer RARP requests from clients. +@item @command{rdisc}: Populate network routing tables with information from +the ICMP router discovery protocol. +@item @command{tftpd}: Trivial file transfer protocol server. +@item @command{tracepath}: Trace network path to an IPv4 or IPv6 address and +discover MTU along the way. +@end itemize") + ;; The various utilities are covered by different licenses, see LICENSE + ;; for details. + (license (list license:gpl2+ ;arping, rarpd, tracepath + license:bsd-3 ;clockdiff, ninfod, ping, tftpd + (license:non-copyleft + "https://spdx.org/licenses/Rdisc.html" + "Sun Microsystems license, see rdisc.c for details"))))) + (define-public nload (package (name "nload") -- cgit v1.2.3