summaryrefslogtreecommitdiff
path: root/gnu/packages/networking.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2018-07-31 13:19:33 +0200
committerRicardo Wurmus <rekado@elephly.net>2018-08-01 20:31:42 +0200
commita8253fbe5ff0371e783edc8bb949996f07dd643a (patch)
tree836d733b7fbc20e2c54f8bb59b53e17b659971e4 /gnu/packages/networking.scm
parentc54511fde0b74bb53c144a84641e3b78ee629dd2 (diff)
gnu: Add net-snmp.
* gnu/packages/networking.scm (net-snmp): New variable. Co-authored-by: Marius Bakke <mbakke@fastmail.com> Co-authored-by: Oleg Pykhalov <go.wigust@gmail.com>
Diffstat (limited to 'gnu/packages/networking.scm')
-rw-r--r--gnu/packages/networking.scm79
1 files changed, 78 insertions, 1 deletions
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 <ludo@gnu.org>
-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
@@ -23,6 +23,8 @@
;;; Copyright © 2018 Tonton <tonton@riseup.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1965,3 +1967,78 @@ Features:
@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. <https://bugzilla.novell.com/show_bug.cgi?id=819497>.
+ #: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")))))