summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2016-08-29 02:14:11 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2016-09-16 01:49:13 +0200
commitdd65f3b7444048ca0f537ef01a9b742271b1c536 (patch)
tree5b879e6f1dc283dee09664815fcd2a1e78c0a551
parent25847b327e9add2c55ba4980a95708484db46473 (diff)
gnu: Add mcelog.
* gnu/packages/linux.scm (mcelog): New variable.
-rw-r--r--gnu/packages/linux.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index cdb06b5e36..df2eb68426 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2939,3 +2939,41 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
"Tools for loading and managing Linux kernel modules, such as `modprobe',
`insmod', `lsmod', and more.")
(license license:gpl2+)))
+
+(define-public mcelog
+ (package
+ (name "mcelog")
+ (version "141")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
+ "mcelog.git/snapshot/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ws8blq0prj7slcaljyaxxq20kgmlakzac0ri1pvh24xs1jn2xxg"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; The snapshots lack a .git directory, breaking ‘git describe’.
+ `(substitute* "Makefile"
+ (("\"unknown\"") (string-append "\"v" ,version "\""))))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)) ; no configure script
+ #:make-flags (let ((out (assoc-ref %outputs "out")))
+ (list "CC=gcc"
+ (string-append "prefix=" out)
+ (string-append "DOCDIR=" out "/share/doc/mcelog")
+ "etcprefix=$(DOCDIR)/examples"))
+ ;; The tests will only run as root on certain supported CPU models.
+ #:tests? #f))
+ (supported-systems (list "i686-linux" "x86_64-linux"))
+ (home-page "http://mcelog.org/")
+ (synopsis "Machine check monitor for x86 Linux systems")
+ (description
+ "The mcelog daemon is required by the Linux kernel to log memory, I/O, CPU,
+and other hardware errors on x86 systems. It can also perform user-defined
+tasks, such as bringing bad pages off-line, when configurable error thresholds
+are exceeded.")
+ (license license:gpl2)))