nixpkgs/pkgs/development/python-modules/psutil/default.nix
2020-08-16 12:53:08 -07:00

42 lines
1.2 KiB
Nix

{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, python
, darwin
, pytest
, mock
, ipaddress
, unittest2
}:
buildPythonPackage rec {
pname = "psutil";
version = "5.7.2";
src = fetchPypi {
inherit pname version;
sha256 = "90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb";
};
# arch doesn't report frequency is the same way
# tests segfaults on darwin https://github.com/giampaolo/psutil/issues/1715
doCheck = !stdenv.isDarwin && stdenv.isx86_64;
checkInputs = [ pytest ]
++ lib.optionals isPy27 [ mock ipaddress unittest2 ];
# out must be referenced as test import paths are relative
# disable tests which don't work in sandbox
# cpu_times is flakey on darwin
checkPhase = ''
pytest $out/${python.sitePackages}/psutil/tests/test_system.py \
-k 'not user and not disk_io_counters and not sensors_battery and not cpu_times'
'';
buildInputs = lib.optionals stdenv.isDarwin [ darwin.IOKit ];
pythonImportsCheck = [ "psutil" ];
meta = with lib; {
description = "Process and system utilization information interface for python";
homepage = "https://github.com/giampaolo/psutil";
license = licenses.bsd3;
maintainers = with maintainers; [ jonringer ];
};
}