From a8253fbe5ff0371e783edc8bb949996f07dd643a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 31 Jul 2018 13:19:33 +0200 Subject: [PATCH] gnu: Add net-snmp. * gnu/packages/networking.scm (net-snmp): New variable. Co-authored-by: Marius Bakke Co-authored-by: Oleg Pykhalov --- gnu/packages/networking.scm | 79 ++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 90967b9b1f..fad4f526ea 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2017, 2018 Ludovic Courtès -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2016, 2017 Stefan Reichör ;;; Copyright © 2016 Raimon Grau @@ -23,6 +23,8 @@ ;;; Copyright © 2018 Tonton ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Theodoros Foradis +;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -1965,3 +1967,78 @@ (define-public shadowsocks @item Destination IP blacklist @end itemize") (license license:asl2.0)))) + +(define-public net-snmp + (package + (name "net-snmp") + (version "5.8") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/net-snmp/net-snmp/" + version "/net-snmp-" version ".tar.gz")) + (sha256 + (base32 + "1pvajzj9gmj56dmwix0ywmkmy2pglh6nny646hkm7ghfhh03bz5j")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Drop bundled libraries. + (delete-file-recursively "snmplib/openssl") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; XXX: With parallel build enabled, Perl modules may not get linked with + ;; libnetsnmp. See e.g. . + #:parallel-build? #f + #:configure-flags + (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib") + "--with-logfile=/var/log/snmpd.log") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "testing/fulltests/support/simple_TESTCONF.sh" + (("NETSTAT=\"\"") + (string-append "NETSTAT=\"" (which "netstat") "\""))) + (substitute* '("testing/fulltests/default/T065agentextend_simple" + "testing/fulltests/default/T115agentxperl_simple") + (("/usr/bin/env") (which "env"))) + (substitute* "testing/fulltests/default/T065agentextend_sh_simple" + (("/bin/sh") (which "sh"))) + ;; These tests require network access. + (for-each delete-file + '("testing/fulltests/default/T070com2sec_simple" + "testing/fulltests/default/T071com2sec6_simple")) + #t)) + (add-after 'unpack 'patch-Makefile.PL + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("Makefile.PL -NET") + (string-append "Makefile.PL PREFIX=" + (assoc-ref outputs "out") + " INSTALLDIRS=site" " NO_PERLLOCAL=1" + " -NET"))) + #t))))) + (inputs + `(("perl" ,perl) + ("openssl" ,openssl) + ("libnl" ,libnl))) + ;; These inputs are only needed for tests. + (native-inputs + `(("net-tools" ,net-tools) + ("coreutils" ,coreutils) + ("grep" ,grep))) + (home-page "http://www.net-snmp.org/") + (synopsis "Simple Network Management Protocol library and tools") + (description "The @dfn{Simple Network Management Protocol} (SNMP) is a +widely used protocol for monitoring the health and welfare of network +equipment (e.g. routers), computer equipment and even devices like UPSs. +Net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and +SNMP v3 using both IPv4 and IPv6.") + (license (list license:bsd-3 + (license:non-copyleft + "http://www.net-snmp.org/about/license.html" + "CMU/UCD copyright notice")))))