gnu: Add nmon.
* gnu/packages/admin.scm (nmon): New public variable.
This commit is contained in:
parent
8c2c5c2c9c
commit
1023bd85cc
1 changed files with 71 additions and 0 deletions
|
|
@ -1127,6 +1127,77 @@ IPv6, proxies, and Unix sockets.")
|
||||||
(license (list license:bsd-3
|
(license (list license:bsd-3
|
||||||
license:bsd-2)))) ; atomicio.*, socks.c
|
license:bsd-2)))) ; atomicio.*, socks.c
|
||||||
|
|
||||||
|
(define-public nmon
|
||||||
|
(package
|
||||||
|
(name "nmon")
|
||||||
|
(version "16n")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "mirror://sourceforge/nmon/lmon" version ".c"))
|
||||||
|
(sha256
|
||||||
|
(base32 "1wpm2f30414b87kpbr9hbidblr5cmfby5skwqd0fkpi5v712q0f0"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:tests? #f ; no test suite
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(replace 'unpack
|
||||||
|
(lambda _
|
||||||
|
(copy-file #$(package-source this-package) "lmon.c")))
|
||||||
|
(delete 'configure) ; no build system
|
||||||
|
(replace 'build
|
||||||
|
;; There is an example ‘Makefile’ in the .c file.
|
||||||
|
(lambda _
|
||||||
|
;; These #defines aren't well-documented and, e.g., POWER was
|
||||||
|
;; not actually tested on every possible TARGET-POWERPC?.
|
||||||
|
(let* ((system #$(cond ((target-x86-32?) "X86")
|
||||||
|
((target-x86-64?) "X86")
|
||||||
|
((target-arm?) "ARM")
|
||||||
|
((target-powerpc?) "POWER")
|
||||||
|
(else "CROSS_FINGERS"))))
|
||||||
|
(format #t "Building for ~a~%" system)
|
||||||
|
(invoke #$(cc-for-target) "-o" "nmon" "lmon.c"
|
||||||
|
"-g" "-Wall" "-D" system
|
||||||
|
"-lncurses" "-lm"))))
|
||||||
|
(replace 'install
|
||||||
|
(lambda _
|
||||||
|
(let ((bin (string-append #$output "/bin"))
|
||||||
|
(man1 (string-append #$output "/share/man/man1")))
|
||||||
|
(install-file "nmon" bin)
|
||||||
|
(mkdir-p man1)
|
||||||
|
(copy-file #$(this-package-native-input "man-page")
|
||||||
|
(string-append man1 "/nmon.1"))))))))
|
||||||
|
(native-inputs
|
||||||
|
(list `("man-page"
|
||||||
|
,(origin
|
||||||
|
;; There is no man page upstream, so install Debian's.
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://salsa.debian.org/carnil/nmon/"
|
||||||
|
"-/raw/debian/" version "+debian-1/"
|
||||||
|
"debian/nmon.1"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1gpvd2kjyhs18sh6sga5bk9wj8s78blfd4c0m38r0wl92jx2yv1b"))))))
|
||||||
|
(inputs
|
||||||
|
(list ncurses))
|
||||||
|
(home-page "http://nmon.sourceforge.net/")
|
||||||
|
(synopsis
|
||||||
|
"Monitor system performance in a terminal or to a @file{.csv} log file")
|
||||||
|
(description
|
||||||
|
"@acronym{Nmon, Nigel's performance monitor} is yet another system monitor
|
||||||
|
useful in systems administration, debugging, tuning, and benchmarking.
|
||||||
|
|
||||||
|
The configurable ncurses interface displays all the classic resource usage
|
||||||
|
statistics (CPU, memory, network, disk, ...) as real-time graphs or numbers.
|
||||||
|
It can also list the processes responsible in a @command{top}-like table.
|
||||||
|
|
||||||
|
A less common nmon feature is its ability to create highly detailed log files
|
||||||
|
in @acronym{CSV, comma-separated values} format. These can be imported into
|
||||||
|
spreadsheets or fed straight into an @acronym{RRD, round-robin database} using
|
||||||
|
@command{rrdtool} for further analyisis, or to create colourful graphs.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public sipcalc
|
(define-public sipcalc
|
||||||
(package
|
(package
|
||||||
(name "sipcalc")
|
(name "sipcalc")
|
||||||
|
|
|
||||||
Reference in a new issue