1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, pyqt5
6, pyqtwebengine
7, matplotlib
8, orange-canvas-core
9, pyqtgraph
10, typing-extensions
11, qt5
12, pytestCheckHook
13, pytest-qt
14, appnope
15}:
16
17buildPythonPackage rec {
18 pname = "orange-widget-base";
19 version = "4.22.0";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-nV2aBPZzn7K+QECtCVoLLh5smG31zE2G9jFTKlxh9qM=";
24 };
25
26 propagatedBuildInputs = [
27 matplotlib
28 orange-canvas-core
29 pyqt5
30 pyqtgraph
31 pyqtwebengine
32 typing-extensions
33 ] ++ lib.optionals stdenv.isDarwin [
34 appnope
35 ];
36
37 pythonImportsCheck = [ "orangewidget" ];
38
39 preCheck = ''
40 export HOME=$(mktemp -d)
41 export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
42 export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins";
43 export QT_QPA_PLATFORM=offscreen
44 '';
45
46 nativeCheckInputs = [
47 pytest-qt
48 pytestCheckHook
49 ];
50
51 disabledTestPaths = [
52 "orangewidget/report/tests/test_report.py"
53 "orangewidget/tests/test_widget.py"
54 ];
55
56 meta = {
57 description = "Implementation of the base OWBaseWidget class and utilities for use in Orange Canvas workflows";
58 homepage = "https://github.com/biolab/orange-widget-base";
59 license = [ lib.licenses.gpl3Plus ];
60 maintainers = [ lib.maintainers.lucasew ];
61 };
62}