From d93b59509cfbbdaec39896f7c19e61b9a033aba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=A9tan=20Lepage?= <33058747+GaetanLepage@users.noreply.github.com> Date: Tue, 18 Oct 2022 22:50:56 +0200 Subject: [PATCH] python3Packages.nvidia-ml-py: init 11.515.48 (#189028) Co-authored-by: Gaetan Lepage Co-authored-by: Sandro --- ...01-locate-libnvidia-ml.so.1-on-NixOS.patch | 17 ++++++++++ .../python-modules/nvidia-ml-py/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 3 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/nvidia-ml-py/0001-locate-libnvidia-ml.so.1-on-NixOS.patch create mode 100644 pkgs/development/python-modules/nvidia-ml-py/default.nix diff --git a/pkgs/development/python-modules/nvidia-ml-py/0001-locate-libnvidia-ml.so.1-on-NixOS.patch b/pkgs/development/python-modules/nvidia-ml-py/0001-locate-libnvidia-ml.so.1-on-NixOS.patch new file mode 100644 index 000000000000..3db9030c0ee5 --- /dev/null +++ b/pkgs/development/python-modules/nvidia-ml-py/0001-locate-libnvidia-ml.so.1-on-NixOS.patch @@ -0,0 +1,17 @@ +diff --git a/pynvml.py b/pynvml.py +index 9a424de..669afe0 100644 +--- a/pynvml.py ++++ b/pynvml.py +@@ -1676,7 +1676,11 @@ def _LoadNvmlLibrary(): + nvmlLib = CDLL(os.path.join(os.getenv("ProgramFiles", "C:/Program Files"), "NVIDIA Corporation/NVSMI/nvml.dll")) + else: + # assume linux +- nvmlLib = CDLL("libnvidia-ml.so.1") ++ try: ++ nvmlLib = CDLL("libnvidia-ml.so.1") ++ except OSError: ++ # Assume NixOS ++ nvmlLib = CDLL("/run/opengl-driver/lib/libnvidia-ml.so.1") + except OSError as ose: + _nvmlCheckReturn(NVML_ERROR_LIBRARY_NOT_FOUND) + if (nvmlLib == None): diff --git a/pkgs/development/python-modules/nvidia-ml-py/default.nix b/pkgs/development/python-modules/nvidia-ml-py/default.nix new file mode 100644 index 000000000000..3adb6f829ab2 --- /dev/null +++ b/pkgs/development/python-modules/nvidia-ml-py/default.nix @@ -0,0 +1,33 @@ +{ lib +, fetchPypi +, buildPythonPackage +}: + +buildPythonPackage rec { + pname = "nvidia-ml-py"; + version = "11.515.48"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + extension = "tar.gz"; + hash = "sha256-iNLQu9c8Q3B+FXMObRTtxqE3B/siJIlIlCH6T0rX+sY="; + }; + + patches = [ + ./0001-locate-libnvidia-ml.so.1-on-NixOS.patch + ]; + + # no tests + doCheck = false; + + pythonImportsCheck = [ "pynvml" ]; + + meta = { + description = "Python Bindings for the NVIDIA Management Library"; + homepage = "https://pypi.org/project/nvidia-ml-py"; + license = lib.licenses.bsd3; + platforms = [ "x86_64-linux" ]; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d633e5ebdde9..a65466b0cdca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6406,6 +6406,8 @@ in { nvchecker = callPackage ../development/python-modules/nvchecker { }; + nvidia-ml-py = callPackage ../development/python-modules/nvidia-ml-py { }; + nxt-python = callPackage ../development/python-modules/nxt-python { }; python-nvd3 = callPackage ../development/python-modules/python-nvd3 { };