nixpkgs/pkgs/development/python-modules/apptools/default.nix

74 lines
1.6 KiB
Nix

{ lib
, buildPythonPackage
, configobj
, fetchpatch
, fetchPypi
, importlib-resources
, pandas
, pytestCheckHook
, pythonAtLeast
, pythonOlder
, tables
, traits
, traitsui
}:
buildPythonPackage rec {
pname = "apptools";
version = "5.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "12x5lcs1cllpybz7f0i1lcwvmqsaa5n818wb2165lj049wqxx4yh";
};
patches = [
# python39: importlib_resources -> importlib.resources. This patch will be included
# in the next release after 5.1.0.
(fetchpatch {
url = "https://github.com/enthought/apptools/commit/0ae4f52f19a8c0ca9d7926e17c7de949097f24b4.patch";
sha256 = "165aiwjisr5c3lasg7xblcha7y1y5bq23vi3g9gc80c24bzwcbsw";
})
];
propagatedBuildInputs = [
configobj
traits
traitsui
] ++ lib.optionals (pythonOlder "3.9") [
importlib-resources
];
checkInputs = [
tables
pandas
pytestCheckHook
];
preCheck = ''
export HOME=$TMP
'';
disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
# https://github.com/enthought/apptools/issues/303
"apptools/io/h5/tests/test_dict_node.py"
"apptools/io/h5/tests/test_file.py"
"apptools/io/h5/tests/test_table_node.py"
];
pythonImportsCheck = [
"apptools"
];
meta = with lib; {
description = "Set of packages that Enthought has found useful in creating a number of applications";
homepage = "https://github.com/enthought/apptools";
license = licenses.bsdOriginal;
maintainers = with maintainers; [ knedlsepp ];
};
}