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