summaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linux.scm')
-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)))