[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
08/08: gnu: Add iputils.
From: |
guix-commits |
Subject: |
08/08: gnu: Add iputils. |
Date: |
Sun, 14 Jun 2020 17:17:05 -0400 (EDT) |
mbakke pushed a commit to branch master
in repository guix.
commit 065cb27abb354958d716d21a6a6561f6023c5a1e
Author: Marius Bakke <marius@gnu.org>
AuthorDate: Sun Jun 14 15:21:02 2020 +0200
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/local.mk | 1 +
gnu/packages/networking.scm | 72 ++++++++++++++++++++++++
gnu/packages/patches/iputils-libcap-compat.patch | 37 ++++++++++++
3 files changed, 110 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index 37bcc88..1c96947 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1103,6 +1103,7 @@ dist_patch_DATA =
\
%D%/packages/patches/inetutils-hurd.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
+ %D%/packages/patches/iputils-libcap-compat.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 88ee397..e8f398e 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")
diff --git a/gnu/packages/patches/iputils-libcap-compat.patch
b/gnu/packages/patches/iputils-libcap-compat.patch
new file mode 100644
index 0000000..dc6da31
--- /dev/null
+++ b/gnu/packages/patches/iputils-libcap-compat.patch
@@ -0,0 +1,37 @@
+Fix name clash with libcap 2.29.
+
+Taken from upstream:
+https://github.com/iputils/iputils/commit/18f9a84e0e702841d6cc4d5f593de4fbd1348e83
+
+diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
+--- a/ninfod/ninfod.c
++++ b/ninfod/ninfod.c
+@@ -455,7 +455,7 @@ static void do_daemonize(void)
+ /* --------- */
+ #ifdef HAVE_LIBCAP
+ static const cap_value_t cap_net_raw = CAP_NET_RAW;
+-static const cap_value_t cap_setuid = CAP_SETUID;
++static const cap_value_t cap_setuserid = CAP_SETUID;
+ static cap_flag_value_t cap_ok;
+ #else
+ static uid_t euid;
+@@ -487,7 +487,7 @@ static void limit_capabilities(void)
+
+ cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok);
+ if (cap_ok != CAP_CLEAR)
+- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
++ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
+
+ if (cap_set_proc(cap_p) < 0) {
+ DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
+@@ -520,8 +520,8 @@ static void drop_capabilities(void)
+
+ /* setuid / setuid */
+ if (cap_ok != CAP_CLEAR) {
+- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
+- cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET);
++ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
++ cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET);
+
+ if (cap_set_proc(cap_p) < 0) {
+ DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
- branch master updated (9a3ddee -> 065cb27), guix-commits, 2020/06/14
- 01/08: doc: Adjust branching and rebuilding strategy to match reality., guix-commits, 2020/06/14
- 02/08: gnu: Add ghc-curl., guix-commits, 2020/06/14
- 03/08: gnu: Add ghc-regex-pcre., guix-commits, 2020/06/14
- 04/08: gnu: Add shelltestrunner., guix-commits, 2020/06/14
- 05/08: gnu: Add ghc-psqueue., guix-commits, 2020/06/14
- 07/08: gnu: docbook: Add 5.0.1., guix-commits, 2020/06/14
- 06/08: gnu: Add ndisc6., guix-commits, 2020/06/14
- 08/08: gnu: Add iputils.,
guix-commits <=