mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-17 02:14:08 +00:00
31bc4ea688
The outcome of the temperature sensor tests depends on hardware sensors present on the build machine so they can cause the build to succeed due just to build system configuration.
73 lines
1.8 KiB
Nix
73 lines
1.8 KiB
Nix
{ lib
|
|
, stdenv
|
|
, buildPythonPackage
|
|
, CoreFoundation
|
|
, fetchPypi
|
|
, IOKit
|
|
, pytestCheckHook
|
|
, python
|
|
, pythonOlder
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "psutil";
|
|
version = "5.9.4";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-PX+XOetDXUsTOJRKviP0lYS95TlfJ0h9LuJa2ah3SmI=";
|
|
};
|
|
|
|
buildInputs =
|
|
# workaround for https://github.com/NixOS/nixpkgs/issues/146760
|
|
lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
|
|
CoreFoundation
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
IOKit
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
];
|
|
|
|
# Segfaults on darwin:
|
|
# https://github.com/giampaolo/psutil/issues/1715
|
|
doCheck = !stdenv.isDarwin;
|
|
|
|
# In addition to the issues listed above there are some that occure due to
|
|
# our sandboxing which we can work around by disabling some tests:
|
|
# - cpu_times was flaky on darwin
|
|
# - the other disabled tests are likely due to sanboxing (missing specific errors)
|
|
pytestFlagsArray = [
|
|
# Note: $out must be referenced as test import paths are relative
|
|
"$out/${python.sitePackages}/psutil/tests/test_system.py"
|
|
];
|
|
|
|
disabledTests = [
|
|
# Some of the tests have build-system hardware-based impurities (like
|
|
# reading temperature sensor values). Disable them to avoid the failures
|
|
# that sometimes result.
|
|
"cpu_freq"
|
|
"cpu_times"
|
|
"disk_io_counters"
|
|
"sensors_battery"
|
|
"sensors_temperatures"
|
|
"user"
|
|
"test_disk_partitions" # problematic on Hydra's Linux builders, apparently
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"psutil"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Process and system utilization information interface";
|
|
homepage = "https://github.com/giampaolo/psutil";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ jonringer ];
|
|
};
|
|
}
|