diff --git a/nix/configuration/roles/amd_s2idle/package.nix b/nix/configuration/roles/amd_s2idle/package.nix index c417687..d9536f6 100644 --- a/nix/configuration/roles/amd_s2idle/package.nix +++ b/nix/configuration/roles/amd_s2idle/package.nix @@ -14,41 +14,88 @@ makeWrapper, lib, python3, + # python3Packages, ... }: -stdenv.mkDerivation { - name = "amd_s2idle"; - src = pkgs.fetchgit { - url = "https://gitlab.freedesktop.org/drm/amd.git"; - rev = "0f486d26c05044cebe2c61143bfd56899eef716f"; - sha256 = "sha256-Q1QTaxuvtVKEizO7OHudhcZzxrgcYRgGJOvLDQPMGZ0="; - }; - buildInputs = [ ]; - nativeBuildInputs = [ makeWrapper ]; - phases = [ - "installPhase" - # "fixupPhase" +let + version = "0.2.7"; +in +python3.pkgs.buildPythonApplication { + pname = "amd-debug-tools"; + version = version; + pyproject = true; + + # name = "amd-debug-tools"; + # format = "pyproject"; + nativeBuildInputs = with python3.pkgs; [ + setuptools + setuptools-git-versioning + setuptools-git + pyudev ]; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - cp $src/scripts/amd_s2idle.py $out/bin/amd_s2idle - runHook postInstall + propagatedBuildInputs = with python3.pkgs; [ + pyudev + pandas + jinja2 + tabulate + seaborn + # cysystemd + jinja2 + matplotlib + seaborn + ]; + src = pkgs.fetchgit { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git"; + tag = version; + sha256 = "sha256-6X9cUKN0BkkKcYGU+YJYCGT+l5iUZDN+D8Fqq/ns98Q="; + leaveDotGit = true; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail ', "setuptools-git-versioning>=2.0,<3"' "" ''; - postInstall = '' - sed -i 's@#!/usr/bin/python3@#!/usr/bin/env python3@g' $out/bin/amd_s2idle - wrapProgram $out/bin/amd_s2idle --prefix PATH : ${ - lib.makeBinPath [ - (python3.withPackages (python-pkgs: [ - python-pkgs.distro # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py - python-pkgs.pyudev # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py - python-pkgs.systemd # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py - python-pkgs.packaging # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py - ])) - ] - } - ''; - # fixupPhase = '' - # patchShebangs $out/bin/.amd_s2idle-wrapped - # ''; + + meta = with lib; { + description = "Debug tools for AMD zen systems"; + homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git/"; + license = licenses.mit; + platforms = platforms.linux; + }; } +# stdenv.mkDerivation { +# name = "amd_s2idle"; +# src = pkgs.fetchgit { +# url = "https://gitlab.freedesktop.org/drm/amd.git"; +# rev = "0f486d26c05044cebe2c61143bfd56899eef716f"; +# sha256 = "sha256-Q1QTaxuvtVKEizO7OHudhcZzxrgcYRgGJOvLDQPMGZ0="; +# }; +# buildInputs = [ ]; +# nativeBuildInputs = [ makeWrapper ]; +# phases = [ +# "installPhase" +# # "fixupPhase" +# ]; +# installPhase = '' +# runHook preInstall +# mkdir -p $out/bin +# cp $src/scripts/amd_s2idle.py $out/bin/amd_s2idle +# runHook postInstall +# ''; +# postInstall = '' +# sed -i 's@#!/usr/bin/python3@#!/usr/bin/env python3@g' $out/bin/amd_s2idle +# wrapProgram $out/bin/amd_s2idle --prefix PATH : ${ +# lib.makeBinPath [ +# (python3.withPackages (python-pkgs: [ +# python-pkgs.distro # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py +# python-pkgs.pyudev # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py +# python-pkgs.systemd # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py +# python-pkgs.packaging # For https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py +# ])) +# ] +# } +# ''; +# # fixupPhase = '' +# # patchShebangs $out/bin/.amd_s2idle-wrapped +# # ''; +# }