From b804f745864eb06613a51e6055b8b0b4c4865401 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Sat, 30 Apr 2016 10:31:13 +0200
Subject: [PATCH] gnu: Add thinkfan.
* gnu/packages/linux.scm (thinkfan): New variable.
---
gnu/packages/linux.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
@@ -11,6 +11,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,6 +64,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages calendar)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages freedesktop)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@@ -2591,3 +2593,47 @@ where they are less likely to cause damage to the spinning disc. Requires a
drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload
feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(license license:gpl2)))
+
+(define-public thinkfan
+ (package
+ (name "thinkfan")
+ (version "0.9.2")
+ (source (origin
+ (method url-fetch/tarbomb)
+ (file-name (string-append name "-" version))
+ (uri (string-append "mirror://sourceforge/thinkfan/"
+ version "/thinkfan-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ydgabk2758f6j64g1r9vdsd221nqsv5rwnphm81s7i2vgra1nlh"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:modules ((guix build cmake-build-system)
+ (guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:tests? #f ;no test target
+ #:configure-flags
+ ;; Allow reading temperatures from hard disks via S.M.A.R.T.
+ `("-DUSE_ATASMART:BOOL=ON")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Install scripts for various foreign init systems.
+ (add-after 'install 'install-rc-scripts
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each (cute install-file <>
+ (string-append (assoc-ref outputs "out")
+ "/share/thinkfan"))
+ (find-files "../source/rcscripts" ".*"))
+ #t)))))
+ (inputs
+ `(("libatasmart" ,libatasmart)))
+ (home-page "http://thinkfan.sourceforge.net/")
+ (synopsis "Simple fan control program")
+ (description
+ "Thinkfan is a simple fan control program. It reads temperatures,
+checks them against configured limits and switches to appropriate (also
+pre-configured) fan level. It requires a working @code{thinkpad_acpi} or any
+other @code{hwmon} driver that enables temperature reading and fan control
+from userspace.")
+ (license license:gpl3+)))
--
2.7.4