1{
2 lib,
3 apptools,
4 buildPythonPackage,
5 fetchPypi,
6 fetchpatch,
7 ipython,
8 pytestCheckHook,
9 pythonAtLeast,
10 pythonOlder,
11 setuptools,
12 traits,
13}:
14
15buildPythonPackage rec {
16 pname = "envisage";
17 version = "7.0.3";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-97GviL86j/8qmsbja7SN6pkp4/YSIEz+lK7WKwMWyeM=";
25 };
26
27 # for the optional dependency ipykernel, only versions < 6 are
28 # supported, so it's not included in the tests, and not propagated
29 propagatedBuildInputs = [
30 traits
31 apptools
32 setuptools
33 ];
34
35 preCheck = ''
36 export HOME=$PWD/HOME
37 '';
38
39 nativeCheckInputs = [
40 ipython
41 pytestCheckHook
42 ];
43
44 disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
45 # https://github.com/enthought/envisage/issues/455
46 "envisage/tests/test_egg_basket_plugin_manager.py"
47 "envisage/tests/test_egg_plugin_manager.py"
48 ];
49
50 pythonImportsCheck = [ "envisage" ];
51
52 meta = with lib; {
53 description = "Framework for building applications whose functionalities can be extended by adding plug-ins";
54 homepage = "https://github.com/enthought/envisage";
55 license = licenses.bsdOriginal;
56 maintainers = with lib.maintainers; [ knedlsepp ];
57 };
58}