nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8 trubar,
9
10 # dependencies
11 anyqt,
12 cachecontrol,
13 commonmark,
14 dictdiffer,
15 docutils,
16 filelock,
17 lockfile,
18 numpy,
19 packaging,
20 pip,
21 qasync,
22 requests,
23 requests-cache,
24 truststore,
25 typing-extensions,
26
27 # tests
28 qt5,
29 pyqt5,
30 pytest-qt,
31 pytestCheckHook,
32
33 stdenv,
34 gitUpdater,
35}:
36
37buildPythonPackage rec {
38 pname = "orange-canvas-core";
39 version = "0.2.7";
40 pyproject = true;
41
42 src = fetchFromGitHub {
43 owner = "biolab";
44 repo = "orange-canvas-core";
45 tag = version;
46 hash = "sha256-mJSF2OWSIxBn1blQReLFlf8Uu/vP7F3vJrcrAz0uWFY=";
47 };
48
49 build-system = [
50 setuptools
51 trubar
52 ];
53
54 dependencies = [
55 anyqt
56 commonmark
57 dictdiffer
58 docutils
59 filelock
60 lockfile
61 numpy
62 packaging
63 pip
64 qasync
65 requests
66 requests-cache
67 truststore
68 typing-extensions
69 ];
70
71 pythonImportsCheck = [ "orangecanvas" ];
72
73 preCheck = ''
74 export HOME=$(mktemp -d)
75 export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
76 export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins";
77 export QT_QPA_PLATFORM=offscreen
78 '';
79
80 nativeCheckInputs = [
81 pyqt5
82 pytest-qt
83 pytestCheckHook
84 ];
85
86 disabledTests = [
87 # Failed: CALL ERROR: Exceptions caught in Qt event loop
88 "test_create_new_window"
89 "test_dont_load_swp_on_new_window"
90 "test_editlinksnode"
91 "test_flattened"
92 "test_links_edit"
93 "test_links_edit_widget"
94 "test_new_window"
95 "test_toolbox"
96 "test_tooltree_registry"
97 "test_widgettoolgrid"
98 ];
99
100 passthru.updateScript = gitUpdater { };
101
102 disabledTestPaths = [ "orangecanvas/canvas/items/tests/test_graphicstextitem.py" ];
103
104 meta = {
105 description = "Orange framework for building graphical user interfaces for editing workflows";
106 homepage = "https://github.com/biolab/orange-canvas-core";
107 changelog = "https://github.com/biolab/orange-canvas-core/releases/tag/${src.tag}";
108 license = [ lib.licenses.gpl3 ];
109 maintainers = [ ];
110 # Segmentation fault during tests
111 broken = stdenv.hostPlatform.isDarwin;
112 };
113}