From cf8457d3cc61d2b35a75250e2f76bba0cc9ef960 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Sun, 26 May 2019 23:24:45 +0100 Subject: [PATCH] throttled: init at 0.6 --- pkgs/tools/system/throttled/default.nix | 43 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 45 insertions(+) create mode 100644 pkgs/tools/system/throttled/default.nix diff --git a/pkgs/tools/system/throttled/default.nix b/pkgs/tools/system/throttled/default.nix new file mode 100644 index 00000000000..4f52b5e0945 --- /dev/null +++ b/pkgs/tools/system/throttled/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, python3Packages }: + +stdenv.mkDerivation rec { + pname = "throttled"; + version = "0.6"; + + src = fetchFromGitHub { + owner = "erpalma"; + repo = pname; + rev = "v${version}"; + sha256 = "1icb2288pj25vbdnd16zvisw9c01hp8vkk25ilkc74gy76xhpcs4"; + }; + + nativeBuildInputs = [ python3Packages.wrapPython ]; + + pythonPath = with python3Packages; [ + configparser + dbus-python + pygobject3 + ]; + + # The upstream unit both assumes the install location, and tries to run in a virtualenv + postPatch = ''sed -e 's|ExecStart=.*|ExecStart=${placeholder "out"}/bin/lenovo_fix.py|' -i systemd/lenovo_fix.service''; + + installPhase = '' + runHook preInstall + install -D -m755 -t $out/bin lenovo_fix.py + install -D -t $out/bin lenovo_fix.py mmio.py + install -D -m644 -t $out/etc etc/* + install -D -m644 -t $out/lib/systemd/system systemd/* + runHook postInstall + ''; + + postFixup = ''wrapPythonPrograms''; + + meta = with stdenv.lib; { + description = "Fix for Intel CPU throttling issues"; + homepage = https://github.com/erpalma/throttled; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ michaelpj ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6246cc4a5fb..8b6465926b3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23749,6 +23749,8 @@ in thermald = callPackage ../tools/system/thermald { }; + throttled = callPackage ../tools/system/throttled { }; + thinkfan = callPackage ../tools/system/thinkfan { }; tup = callPackage ../development/tools/build-managers/tup { };