depot/third_party/nixpkgs/pkgs/development/python-modules/pynvml/default.nix

60 lines
1.2 KiB
Nix
Raw Normal View History

{
lib,
buildPythonPackage,
fetchFromGitHub,
substituteAll,
pythonOlder,
addOpenGLRunpath,
setuptools,
pytestCheckHook,
versioneer,
}:
buildPythonPackage rec {
pname = "pynvml";
version = "11.5.0";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "gpuopenanalytics";
repo = "pynvml";
rev = "refs/tags/${version}";
hash = "sha256-K3ZENjgi+TVDxr55dRK1y8SwzfgVIzcnD4oEI+KHRa4=";
};
patches = [
(substituteAll {
src = ./0001-locate-libnvidia-ml.so.1-on-NixOS.patch;
inherit (addOpenGLRunpath) driverLink;
})
];
# unvendor versioneer
postPatch = ''
rm versioneer.py
'';
nativeBuildInputs = [
setuptools
versioneer
];
pythonImportsCheck = [
"pynvml"
"pynvml.smi"
];
nativeCheckInputs = [ pytestCheckHook ];
# OSError: /run/opengl-driver/lib/libnvidia-ml.so.1: cannot open shared object file: No such file or directory
doCheck = false;
meta = with lib; {
description = "Python bindings for the NVIDIA Management Library";
homepage = "https://github.com/gpuopenanalytics/pynvml";
license = licenses.bsd3;
maintainers = [ maintainers.bcdarwin ];
};
}