at master 1.2 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 pythonOlder, 7 setuptools, 8 setuptools-scm, 9 libxcrypt, 10 numpy, 11 qt6, 12 qtpy, 13 pyqt6, 14 mesa, 15 pytestCheckHook, 16 pytest-cov-stub, 17}: 18 19buildPythonPackage rec { 20 pname = "echo"; 21 version = "0.11.0"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.10"; 25 26 src = fetchFromGitHub { 27 owner = "glue-viz"; 28 repo = "echo"; 29 tag = "v${version}"; 30 sha256 = "sha256-Uikzn9vbLctiZ6W0uA6hNvr7IB/FhCcHk+JxBW7yrA4="; 31 }; 32 33 build-system = [ 34 setuptools 35 setuptools-scm 36 ]; 37 38 nativeBuildInputs = [ 39 qt6.wrapQtAppsHook 40 ]; 41 42 buildInputs = lib.optionals (pythonOlder "3.9") [ libxcrypt ]; 43 44 dependencies = [ 45 qt6.qtconnectivity 46 qt6.qtbase 47 qt6.qttools 48 pyqt6 49 numpy 50 qtpy 51 ]; 52 53 doCheck = lib.meta.availableOn stdenv.hostPlatform mesa.llvmpipeHook; 54 55 preCheck = '' 56 export QT_QPA_PLATFORM=offscreen 57 ''; 58 59 nativeCheckInputs = [ 60 mesa.llvmpipeHook 61 pytestCheckHook 62 pytest-cov-stub 63 ]; 64 65 pythonImportsCheck = [ "echo" ]; 66 67 meta = with lib; { 68 homepage = "https://github.com/glue-viz/echo"; 69 description = "Callback Properties in Python"; 70 license = licenses.mit; 71 maintainers = with maintainers; [ ifurther ]; 72 }; 73}