diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/system/auto-cpufreq')
4 files changed, 170 insertions, 118 deletions
diff --git a/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix b/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix index faa280575e1e..4c15908eab19 100644 --- a/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix +++ b/nixpkgs/pkgs/tools/system/auto-cpufreq/default.nix @@ -2,16 +2,16 @@ python3Packages.buildPythonPackage rec { pname = "auto-cpufreq"; - version = "1.7.1"; + version = "1.9.9"; src = fetchFromGitHub { owner = "AdnanHodzic"; repo = pname; rev = "v${version}"; - sha256 = "1r27ydv258c6pc82za0wq8q8fj0j3r50c8wxc6r7dwr6wx8q3asx"; + sha256 = "sha256-D/5pwE2V+yXj92ECOUcl/dajMDbvVdz9YNJrl2Pzvts="; }; - propagatedBuildInputs = with python3Packages; [ click distro psutil ]; + propagatedBuildInputs = with python3Packages; [ setuptools-git-versioning click distro psutil ]; doCheck = false; pythonImportsCheck = [ "auto_cpufreq" ]; @@ -25,6 +25,8 @@ python3Packages.buildPythonPackage rec { # patch to prevent script copying and to disable install ./prevent-install-and-copy.patch + # patch to prevent update + ./prevent-update.patch ]; postInstall = '' @@ -34,15 +36,14 @@ python3Packages.buildPythonPackage rec { # systemd service mkdir -p $out/lib/systemd/system cp ${src}/scripts/auto-cpufreq.service $out/lib/systemd/system - substituteInPlace $out/lib/systemd/system/auto-cpufreq.service --replace "/usr/local" $out ''; meta = with lib; { + mainProgram = "${pname}"; homepage = "https://github.com/AdnanHodzic/auto-cpufreq"; description = "Automatic CPU speed & power optimizer for Linux"; license = licenses.lgpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.Technical27 ]; - mainProgram = "auto-cpufreq"; }; } diff --git a/nixpkgs/pkgs/tools/system/auto-cpufreq/fix-version-output.patch b/nixpkgs/pkgs/tools/system/auto-cpufreq/fix-version-output.patch index 69293a4c3dc2..fad9f091da40 100644 --- a/nixpkgs/pkgs/tools/system/auto-cpufreq/fix-version-output.patch +++ b/nixpkgs/pkgs/tools/system/auto-cpufreq/fix-version-output.patch @@ -1,37 +1,33 @@ +diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py +index 99397a9..f3ef28f 100755 --- a/auto_cpufreq/core.py +++ b/auto_cpufreq/core.py -@@ -68,32 +68,8 @@ dist_name = distro.id() +@@ -144,26 +144,10 @@ except PermissionError: # display running version of auto-cpufreq def app_version(): -- -- print("auto-cpufreq version:") -- ++ print("auto-cpufreq version: @version@") ++ print("Git commit: v@version@") + +- print("auto-cpufreq version: ", end="") + - # snap package - if os.getenv("PKG_MARKER") == "SNAP": -- print(getoutput("echo Snap: $SNAP_VERSION")) +- print(getoutput("echo \(Snap\) $SNAP_VERSION")) - # aur package - elif dist_name in ["arch", "manjaro", "garuda"]: - aur_pkg_check = call("pacman -Qs auto-cpufreq > /dev/null", shell=True) - if aur_pkg_check == 1: -- print( -- "Git commit:", -- check_output(["git", "describe", "--always"]).strip().decode(), -- ) +- print(get_formatted_version()) - else: - print(getoutput("pacman -Qi auto-cpufreq | grep Version")) - else: - # source code (auto-cpufreq-installer) - try: -- print( -- "Git commit:", -- check_output(["git", "describe", "--always"]).strip().decode(), -- ) +- print(get_formatted_version()) - except Exception as e: - print(repr(e)) - pass -+ print("auto-cpufreq version: @version@") -+ print("Git commit: v@version@") - - - def app_res_use(): + def verify_update(): + # Specify the repository and package name + # IT IS IMPORTANT TO THAT IF THE REPOSITORY STRUCTURE IS CHANGED, THE FOLLOWING FUNCTION NEEDS TO BE UPDATED ACCORDINGLY \ No newline at end of file diff --git a/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch b/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch index 41bd3dc5916e..9b5bffb5591e 100644 --- a/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch +++ b/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch @@ -1,8 +1,8 @@ diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py -index 83d0d64..04b5035 100644 +index 99397a9..48a377a 100755 --- a/auto_cpufreq/core.py +++ b/auto_cpufreq/core.py -@@ -204,35 +204,13 @@ def get_current_gov(): +@@ -350,30 +334,13 @@ def get_current_gov(): def cpufreqctl(): @@ -15,14 +15,8 @@ index 83d0d64..04b5035 100644 - pass - else: - # deploy cpufreqctl.auto-cpufreq script -- if os.path.isfile("/usr/bin/cpufreqctl"): -- shutil.copy( -- SCRIPTS_DIR / "cpufreqctl.sh", "/usr/bin/cpufreqctl.auto-cpufreq" -- ) -- else: -- shutil.copy( -- SCRIPTS_DIR / "cpufreqctl.sh", "/usr/bin/cpufreqctl.auto-cpufreq" -- ) +- if not os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"): +- shutil.copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/local/bin/cpufreqctl.auto-cpufreq") + # scripts are already in the correct place + pass @@ -35,14 +29,15 @@ index 83d0d64..04b5035 100644 - if os.getenv("PKG_MARKER") == "SNAP": - pass - else: -- if os.path.isfile("/usr/bin/cpufreqctl.auto-cpufreq"): -- os.remove("/usr/bin/cpufreqctl.auto-cpufreq") +- if os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"): +- os.remove("/usr/local/bin/cpufreqctl.auto-cpufreq") +- + # no need to restore + pass - def footer(l=79): -@@ -276,76 +254,13 @@ def remove_complete_msg(): + print("\n" + "-" * l + "\n") +@@ -400,30 +367,8 @@ def remove_complete_msg(): def deploy_daemon(): @@ -51,62 +46,58 @@ index 83d0d64..04b5035 100644 - # deploy cpufreqctl script func call - cpufreqctl() - -- print("* Turn off bluetooth on boot") -- btconf = Path("/etc/bluetooth/main.conf") -- try: -- orig_set = "AutoEnable=true" -- change_set = "AutoEnable=false" -- with btconf.open(mode="r+") as f: -- content = f.read() -- f.seek(0) -- f.truncate() -- f.write(content.replace(orig_set, change_set)) -- except Exception as e: -- print(f"\nERROR:\nWas unable to turn off bluetooth on boot\n{repr(e)}") +- # turn off bluetooth on boot +- bluetooth_disable() - - auto_cpufreq_stats_path.touch(exist_ok=True) - - print("\n* Deploy auto-cpufreq install script") -- shutil.copy( -- SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/bin/auto-cpufreq-install" -- ) +- shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/local/bin/auto-cpufreq-install") - - print("\n* Deploy auto-cpufreq remove script") -- shutil.copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/bin/auto-cpufreq-remove") +- shutil.copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/local/bin/auto-cpufreq-remove") +- +- # output warning if gnome power profile is running +- gnome_power_detect_install() +- gnome_power_svc_disable() - -- call("/usr/bin/auto-cpufreq-install", shell=True) +- # output warning if TLP service is detected +- tlp_service_detect() +- +- call("/usr/local/bin/auto-cpufreq-install", shell=True) + # prevent needless copying and system changes + pass + def deploy_daemon_performance(): +@@ -463,40 +408,7 @@ def deploy_daemon_performance(): + # remove auto-cpufreq daemon - def remove(): + def remove_daemon(): - - # check if auto-cpufreq is installed -- if not os.path.exists("/usr/bin/auto-cpufreq-remove"): +- if not os.path.exists("/usr/local/bin/auto-cpufreq-remove"): - print("\nauto-cpufreq daemon is not installed.\n") - sys.exit(1) - - print("\n" + "-" * 21 + " Removing auto-cpufreq daemon " + "-" * 22 + "\n") - -- print("* Turn on bluetooth on boot") -- btconf = "/etc/bluetooth/main.conf" -- try: -- orig_set = "AutoEnable=true" -- change_set = "AutoEnable=false" -- with open(btconf, "r+") as f: -- content = f.read() -- f.seek(0) -- f.truncate() -- f.write(content.replace(change_set, orig_set)) -- except Exception as e: -- print(f"\nERROR:\nWas unable to turn on bluetooth on boot\n{repr(e)}") -- -- # run auto-cpufreq daemon install script -- call("/usr/bin/auto-cpufreq-remove", shell=True) +- # turn on bluetooth on boot +- bluetooth_enable() +- +- # output warning if gnome power profile is stopped +- gnome_power_rm_reminder() +- gnome_power_svc_enable() +- +- # run auto-cpufreq daemon remove script +- call("/usr/local/bin/auto-cpufreq-remove", shell=True) - - # remove auto-cpufreq-remove -- os.remove("/usr/bin/auto-cpufreq-remove") +- os.remove("/usr/local/bin/auto-cpufreq-remove") +- +- # delete override pickle if it exists +- if os.path.exists(governor_override_state): +- os.remove(governor_override_state) - - # delete stats file - if auto_cpufreq_stats_path.exists(): @@ -117,52 +108,56 @@ index 83d0d64..04b5035 100644 - - # restore original cpufrectl script - cpufreqctl_restore() -- + pass - def gov_check(): - for gov in get_avail_gov(): -diff --git a/scripts/cpufreqctl.sh b/scripts/cpufreqctl.sh -index 63a2b5b..e157efe 100755 ---- a/scripts/cpufreqctl.sh -+++ b/scripts/cpufreqctl.sh -@@ -467,35 +467,21 @@ fi - if [ $OPTION = "--install" ] - then -- echo 'installing helpers...' -- cp $0 /usr/bin/ -- echo 'installing policy...' -- cp $(dirname "$(readlink -f "$0")")/konkor.cpufreq.policy /usr/share/polkit-1/actions/ -- echo 'installing fonts...' -- mkdir -p /usr/share/fonts/truetype/cpufreq -- cp $(dirname "$(readlink -f "$0")")/fonts/cpufreq.ttf /usr/share/fonts/truetype/cpufreq/ -- echo "done" -+ echo "install is disabled in the nix package" - exit - fi - if [ $OPTION = "--update-fonts" ] - then -- fc-cache -f -+ echo "update-fonts is disabled in the nix package" - exit - fi - if [ $OPTION = "--uninstall" ] - then -- echo 'uninstalling cpufreqctl helper...' -- rm /usr/bin/cpufreqctl -- echo 'uninstalling policy...' -- rm /usr/share/polkit-1/actions/konkor.cpufreq.policy -- echo 'uninstalling fonts...' -- rm -rf /usr/share/fonts/truetype/cpufreq -- echo "done" -+ echo "uninstall is disabled in the nix package" - exit - fi - if [ $OPTION = "--reset" ] - then -- echo 'reset to default values...' -- dconf reset -f "/org/gnome/shell/extensions/cpufreq/" -+ echo "reset is disabled in the nix package" - exit - fi + def gov_check(): + +diff --git a/bin/auto-cpufreq b/bin/auto-cpufreq +index b89d925..b73974c 100755 +--- a/bin/auto-cpufreq ++++ b/bin/auto-cpufreq +@@ -189,41 +189,9 @@ + print("https://github.com/AdnanHodzic/auto-cpufreq/#donate") + footer() + elif install: +- if os.getenv("PKG_MARKER") == "SNAP": +- root_check() +- running_daemon_check() +- gnome_power_detect_snap() +- tlp_service_detect_snap() +- bluetooth_notif_snap() +- gov_check() +- run("snapctl set daemon=enabled", shell=True) +- run("snapctl start --enable auto-cpufreq", shell=True) +- deploy_complete_msg() +- else: +- root_check() +- running_daemon_check() +- gov_check() +- deploy_daemon() +- deploy_complete_msg() ++ print("install is disabled in the nix package") + elif remove: +- if os.getenv("PKG_MARKER") == "SNAP": +- root_check() +- run("snapctl set daemon=disabled", shell=True) +- run("snapctl stop --disable auto-cpufreq", shell=True) +- if auto_cpufreq_stats_path.exists(): +- if auto_cpufreq_stats_file is not None: +- auto_cpufreq_stats_file.close() +- +- auto_cpufreq_stats_path.unlink() +- # ToDo: +- # {the following snippet also used in --update, update it there too(if required)} +- # * undo bluetooth boot disable +- gnome_power_rm_reminder_snap() +- remove_complete_msg() +- else: +- root_check() +- remove_daemon() +- remove_complete_msg() ++ print("remove is disabled in the nix package") + elif update: + root_check() + if os.getenv("PKG_MARKER") == "SNAP": \ No newline at end of file diff --git a/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-update.patch b/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-update.patch new file mode 100644 index 000000000000..10da9fec9785 --- /dev/null +++ b/nixpkgs/pkgs/tools/system/auto-cpufreq/prevent-update.patch @@ -0,0 +1,60 @@ +diff --git a/requirements.txt b/requirements.txt +index f492cac..e61d1a4 100755 +--- a/requirements.txt ++++ b/requirements.txt +@@ -2,4 +2,3 @@ + psutil + click + distro +-requests + +diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py +index 99397a9..697fb68 100755 +--- a/auto_cpufreq/core.py ++++ b/auto_cpufreq/core.py +@@ -18,7 +18,6 @@ from math import isclose + from pathlib import Path + from shutil import which + from subprocess import getoutput, call, run, check_output, DEVNULL +-import requests + import re + + # execution timestamp used in countdown func + +diff --git a/bin/auto-cpufreq b/bin/auto-cpufreq +index b89d925..b73974c 100755 +--- a/bin/auto-cpufreq ++++ b/bin/auto-cpufreq +@@ -193,31 +193,7 @@ + elif remove: + print("remove is disabled in the nix package") + elif update: +- root_check() +- if os.getenv("PKG_MARKER") == "SNAP": +- print("Detected auto-cpufreq was installed using snap") +- # refresh snap directly using this command +- +- print("Please update using snap package manager, i.e: `sudo snap refresh auto-cpufreq`.") +- #check for AUR +- elif subprocess.run(["bash", "-c", "command -v yay >/dev/null 2>&1"]).returncode == 0 or subprocess.run(["bash", "-c", "command -v pacman >/dev/null 2>&1"]).returncode == 0: +- print("Arch-based distribution with AUR support detected. Please refresh auto-cpufreq using your AUR helper.") +- else: +- verify_update() +- ans = input ("Do you want to update auto-cpufreq to the latest release? [y/n]: ") +- valid_options = ['y', 'Y', 'yes', 'YES', 'Yes'] +- if ans.lower() in valid_options: +- remove_daemon() +- remove_complete_msg() +- new_update() +- else: +- print("incorrect input\n") +- print("Aborted") +- print("enabling daemon") +- run(["auto-cpufreq", "--install"]) +- print("auto-cpufreq is installed with the latest version") +- app_version() +- ++ print("update is disabled in the nix package") + + + if __name__ == "__main__": \ No newline at end of file |