about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/system/thinkfan/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/system/thinkfan/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/system/thinkfan/default.nix38
1 files changed, 25 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
index 8c8034005844..f3b4ab8440e3 100644
--- a/nixpkgs/pkgs/tools/system/thinkfan/default.nix
+++ b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
@@ -1,34 +1,46 @@
-{ stdenv, fetchurl, cmake
+{ stdenv, fetchFromGitHub, cmake, libyamlcpp, pkgconfig
 , smartSupport ? false, libatasmart }:
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
-  version = "0.9.3";
+  version = "1.0.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/thinkfan/thinkfan-${version}.tar.gz";
-    sha256 = "0nz4c48f0i0dljpk5y33c188dnnwg8gz82s4grfl8l64jr4n675n";
+  src = fetchFromGitHub {
+    owner = "vmatare";
+    repo = "thinkfan";
+    rev = version;
+    sha256 = "107vw0962hrwva3wra9n3hxlbfzg82ldc10qssv3dspja88g8psr";
   };
 
-  nativeBuildInputs = [ cmake ];
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}"
+    "-DUSE_NVML=OFF"
+  ] ++ stdenv.lib.optional smartSupport "-DUSE_ATASMART=ON";
 
-  buildInputs = stdenv.lib.optional smartSupport libatasmart;
+  nativeBuildInputs = [ cmake pkgconfig ];
 
-  cmakeFlags = stdenv.lib.optional smartSupport "-DUSE_ATASMART=ON";
+  buildInputs = [ libyamlcpp ] ++ stdenv.lib.optional smartSupport libatasmart;
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm755 {.,$out/bin}/thinkfan
 
     cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust
     install -Dm644 {.,$out/share/doc/thinkfan}/README
     cp -R examples $out/share/doc/thinkfan
     install -Dm644 {src,$out/share/man/man1}/thinkfan.1
+
+    runHook postInstall
   '';
 
-  meta = {
-    license = stdenv.lib.licenses.gpl3;
-    homepage = http://thinkfan.sourceforge.net/;
-    maintainers = with stdenv.lib.maintainers; [ domenkozar ];
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "A minimalist fan control program. Originally designed
+specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
+the sysfs hwmon interface (/sys/class/hwmon).";
+    license = licenses.gpl3;
+    homepage = "https://github.com/vmatare/thinkfan";
+    maintainers = with maintainers; [ domenkozar ];
+    platforms = platforms.linux;
   };
 }