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

58 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 ];
};
}