2015-05-08 23:11:20 +01:00
|
|
|
{ stdenv, fetchurl, kernel, which }:
|
|
|
|
|
|
|
|
assert stdenv.isLinux;
|
2015-05-09 01:49:36 +01:00
|
|
|
# Don't bother with older versions, though some would probably work:
|
2015-05-08 23:11:20 +01:00
|
|
|
assert stdenv.lib.versionAtLeast kernel.version "4.0";
|
2015-05-09 01:49:36 +01:00
|
|
|
# Disable on grsecurity kernels, which break module building:
|
|
|
|
assert !kernel.features ? grsecurity;
|
2015-05-08 23:11:20 +01:00
|
|
|
|
|
|
|
let version = "0.4.0-rev17"; in
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "linux-phc-intel-${version}-${kernel.version}";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
sha256 = "1fdfpghnsa5s98lisd2sn0vplrq0n54l0pkyyzkyb77z4fa6bs4p";
|
|
|
|
url = "http://www.linux-phc.org/forum/download/file.php?id=166";
|
|
|
|
name = "phc-intel-pack-rev17.tar.bz2";
|
|
|
|
};
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
inherit version;
|
|
|
|
description = "Undervolting kernel driver for Intel processors";
|
|
|
|
longDescription = ''
|
|
|
|
PHC is a Linux kernel patch to undervolt processors. This can divide the
|
|
|
|
power consumption of the CPU by two or more, increasing battery life
|
|
|
|
while noticably reducing fan noise. This driver works only on supported
|
|
|
|
Intel architectures.
|
|
|
|
'';
|
|
|
|
homepage = http://www.linux-phc.org/;
|
|
|
|
downloadPage = "http://www.linux-phc.org/forum/viewtopic.php?f=7&t=267";
|
2015-05-28 18:20:29 +01:00
|
|
|
license = licenses.gpl2;
|
2015-05-08 23:11:20 +01:00
|
|
|
platforms = with platforms; linux;
|
|
|
|
maintainers = with maintainers; [ nckx ];
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ which ];
|
|
|
|
|
|
|
|
makeFlags = "KERNELSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build DESTDIR=$(out)";
|
|
|
|
|
|
|
|
configurePhase = ''
|
|
|
|
echo make $makeFlags brave
|
|
|
|
'';
|
|
|
|
|
|
|
|
enableParallelBuilding = false;
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
install -m 755 -d $out/lib/modules/${kernel.version}/extra/
|
|
|
|
install -m 644 *.ko $out/lib/modules/${kernel.version}/extra/
|
|
|
|
'';
|
|
|
|
}
|