Switch to buildPythonApplication.

This commit is contained in:
Tom Alexander 2025-08-17 11:43:40 -04:00
parent b224a78b89
commit bf419b6f4a
No known key found for this signature in database
GPG Key ID: D3A179C9A53C0EDE

View File

@ -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
# # '';
# }