gnu: Add inxi.
* gnu/packages/admin.scm (inxi): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>master
parent
a288ab1f39
commit
bbc94ed03a
|
@ -50,8 +50,11 @@
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages cyrus-sasl)
|
#:use-module (gnu packages cyrus-sasl)
|
||||||
|
#:use-module (gnu packages dns)
|
||||||
|
#:use-module (gnu packages file)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
|
@ -70,6 +73,7 @@
|
||||||
#:use-module (gnu packages gnupg)
|
#:use-module (gnu packages gnupg)
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
#:use-module (gnu packages flex)
|
#:use-module (gnu packages flex)
|
||||||
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages openldap)
|
#:use-module (gnu packages openldap)
|
||||||
#:use-module (gnu packages mcrypt)
|
#:use-module (gnu packages mcrypt)
|
||||||
|
@ -97,7 +101,8 @@
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages elf)
|
#:use-module (gnu packages elf)
|
||||||
#:use-module (gnu packages mpi))
|
#:use-module (gnu packages mpi)
|
||||||
|
#:use-module (gnu packages web))
|
||||||
|
|
||||||
(define-public aide
|
(define-public aide
|
||||||
(package
|
(package
|
||||||
|
@ -2652,3 +2657,117 @@ Python loading in HPC environments.")
|
||||||
;; This package supports x86_64 and PowerPC64
|
;; This package supports x86_64 and PowerPC64
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(license license:lgpl2.1)))
|
(license license:lgpl2.1)))
|
||||||
|
|
||||||
|
(define-public inxi-minimal
|
||||||
|
(let ((real-name "inxi"))
|
||||||
|
(package
|
||||||
|
(name "inxi-minimal")
|
||||||
|
(version "3.0.04-1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://github.com/smxi/inxi"
|
||||||
|
"/archive/" version "/inxi.tar.gz"))
|
||||||
|
(file-name (string-append real-name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"14zxdsjgh9dbijmpp0hhvg2yiqqfwnqgcc6x8dpl1v15z1h1r7pc"))))
|
||||||
|
(build-system trivial-build-system)
|
||||||
|
(inputs
|
||||||
|
`(("bash" ,bash)
|
||||||
|
("perl" ,perl)))
|
||||||
|
(native-inputs
|
||||||
|
`(("gzip" ,gzip)
|
||||||
|
("tar" ,tar)))
|
||||||
|
(arguments
|
||||||
|
`(#:modules
|
||||||
|
((guix build utils)
|
||||||
|
(ice-9 match)
|
||||||
|
(srfi srfi-26))
|
||||||
|
#:builder
|
||||||
|
(begin
|
||||||
|
(use-modules (guix build utils)
|
||||||
|
(ice-9 match)
|
||||||
|
(srfi srfi-26))
|
||||||
|
(setenv "PATH" (string-append
|
||||||
|
(assoc-ref %build-inputs "bash") "/bin" ":"
|
||||||
|
(assoc-ref %build-inputs "gzip") "/bin" ":"
|
||||||
|
(assoc-ref %build-inputs "perl") "/bin" ":"
|
||||||
|
(assoc-ref %build-inputs "tar") "/bin" ":"))
|
||||||
|
(invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
|
||||||
|
(with-directory-excursion ,(string-append real-name "-" version)
|
||||||
|
(with-fluids ((%default-port-encoding #f))
|
||||||
|
(substitute* "inxi" (("/usr/bin/env perl") (which "perl"))))
|
||||||
|
(let ((bin (string-append %output "/bin")))
|
||||||
|
(install-file "inxi" bin)
|
||||||
|
(wrap-program (string-append bin "/inxi")
|
||||||
|
`("PATH" ":" =
|
||||||
|
("$PATH"
|
||||||
|
,@(map (lambda (input)
|
||||||
|
(match input
|
||||||
|
((name . store)
|
||||||
|
(let ((store-append
|
||||||
|
(cut string-append store <>)))
|
||||||
|
(cond
|
||||||
|
((member name '("util-linux"))
|
||||||
|
(string-append (store-append "/bin") ":"
|
||||||
|
(store-append "/sbin")))
|
||||||
|
((member name '("dmidecode" "iproute2"))
|
||||||
|
(store-append "/sbin"))
|
||||||
|
(else (store-append "/bin")))))))
|
||||||
|
%build-inputs)))
|
||||||
|
`("PERL5LIB" ":" =
|
||||||
|
,(delete
|
||||||
|
""
|
||||||
|
(map (match-lambda
|
||||||
|
(((? (cut string-prefix? "perl-" <>) name) . dir)
|
||||||
|
(string-append dir "/lib/perl5/site_perl"))
|
||||||
|
(_ ""))
|
||||||
|
%build-inputs)))))
|
||||||
|
(invoke "gzip" "inxi.1")
|
||||||
|
(install-file "inxi.1.gz"
|
||||||
|
(string-append %output "/share/doc/man/man1")))
|
||||||
|
#t)))
|
||||||
|
(home-page "https://smxi.org/docs/inxi.htm")
|
||||||
|
(synopsis "Full featured system information script")
|
||||||
|
(description "Inxi is a system information script that can display
|
||||||
|
various things about your hardware and software to users in an IRC chatroom or
|
||||||
|
support forum. It runs with the /exec command in most IRC clients.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public inxi
|
||||||
|
(package
|
||||||
|
(inherit inxi-minimal)
|
||||||
|
(name "inxi")
|
||||||
|
(inputs
|
||||||
|
`(("dmidecode" ,dmidecode)
|
||||||
|
("file" ,file)
|
||||||
|
("bind:utils" ,isc-bind "utils") ; dig
|
||||||
|
("gzip" ,gzip)
|
||||||
|
("iproute2" ,iproute) ; ip
|
||||||
|
("kmod" ,kmod) ; modinfo
|
||||||
|
("lm-sensors" ,lm-sensors)
|
||||||
|
("mesa-utils" ,mesa-utils)
|
||||||
|
("pciutils" ,pciutils)
|
||||||
|
("procps" ,procps)
|
||||||
|
("tar" ,tar)
|
||||||
|
("tree" ,tree)
|
||||||
|
("util-linux" ,util-linux) ; lsblk
|
||||||
|
("usbutils" ,usbutils) ; lsusb
|
||||||
|
("wmctrl" ,wmctrl)
|
||||||
|
("xdpyinfo" ,xdpyinfo)
|
||||||
|
("xprop" ,xprop)
|
||||||
|
("xrandr" ,xrandr)
|
||||||
|
("coreutils" ,coreutils) ; uptime
|
||||||
|
("inetutils" ,inetutils) ; ifconfig
|
||||||
|
("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
|
||||||
|
("perl-http-tiny" ,perl-http-tiny)
|
||||||
|
("perl-io-socket-ssl" ,perl-io-socket-ssl)
|
||||||
|
("perl-json-xs" ,perl-json-xs)
|
||||||
|
("perl-time-hires" ,perl-time-hires)
|
||||||
|
;; TODO: Add more inputs:
|
||||||
|
;; ipmi-sensors
|
||||||
|
;; hddtemp
|
||||||
|
;; perl-xml-dumper
|
||||||
|
;; ipmitool
|
||||||
|
,@(package-inputs inxi-minimal)))))
|
||||||
|
|
Reference in New Issue