aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2020-05-09 17:11:17 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2020-05-09 22:40:22 +0200
commit510a8eb1b8b4f2686606e427b8965c126b81ed8a (patch)
treea4568ab851aa8e7c9a8f05a6bf5e39b61215b4f1
parented7f4d33b82c7ab3598f0b568a8be35122d4dd62 (diff)
downloadguix-510a8eb1b8b4f2686606e427b8965c126b81ed8a.tar
guix-510a8eb1b8b4f2686606e427b8965c126b81ed8a.tar.gz
gnu: Add powerstat.
* gnu/packages/linux.scm (powerstat): New public variable.
-rw-r--r--gnu/packages/linux.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ae0f41ceed..e9fdf94ec6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1208,6 +1208,53 @@ at login. Local and dynamic reconfiguration are its key features.")
;;; Miscellaneous.
;;;
+(define-public powerstat
+ (package
+ (name "powerstat")
+ (version "0.02.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://kernel.ubuntu.com/~cking/tarballs/"
+ "powerstat/powerstat-" version ".tar.gz"))
+ (sha256
+ (base32 "0r355b9syqa2nhfy8ksvxyy5d58v0isf983842js091s6liy0x7g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (let* ((target ,(%current-target-system)))
+ (list (string-append "CC=" (if target
+ (string-append target "-gcc")
+ "gcc"))
+ (string-append "prefix=" (assoc-ref %outputs "out"))))
+ #:tests? #f ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'respect-$prefix
+ ;; https://bugs.launchpad.net/ubuntu/+source/powerstat/+bug/1877744
+ (lambda _
+ (substitute* "Makefile"
+ (("DIR=/usr/") "DIR=$(prefix)/"))
+ #t))
+ (delete 'configure)))) ; no configure script
+ (home-page "https://kernel.ubuntu.com/~cking/powerstat/")
+ (synopsis "Measure system power consumption")
+ (description
+ "Powerstat measures and reports your computer's power consumption in real
+time. On mobile PCs, it uses ACPI battery information to measure the power
+drain of the entire system.
+
+Powerstat can also report @acronym{RAPL, Running Average Power Limit} power
+domain measurements. These are available only on some hardware such as Intel
+Sandybridge and newer, and cover only part of the machine's components such as
+CPU, DRAM, and graphics. However, they provide accurate and immediate readings
+and don't require a battery at all.
+
+The output is like @command{vmstat} but also shows power consumption statistics:
+at the end of a run, @command{powerstat} will calculate the average, standard
+deviation, and minimum and maximum values. It can show a nice histogram too.")
+ (license license:gpl2)))
+
(define-public psmisc
(package
(name "psmisc")