Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at litex 2.8 kB view raw
1{ lib 2, buildPythonPackage 3, fetchPypi 4, pythonOlder 5, atomicwrites 6, chardet 7, cloudpickle 8, cookiecutter 9, diff-match-patch 10, flake8 11, intervaltree 12, jedi 13, jellyfish 14, keyring 15, matplotlib 16, mccabe 17, nbconvert 18, numpy 19, numpydoc 20, psutil 21, pygments 22, pylint 23, pylint-venv 24, pyls-spyder 25, pyopengl 26, pyqtwebengine 27, python-lsp-black 28, python-lsp-server 29, pyxdg 30, pyzmq 31, pycodestyle 32, qdarkstyle 33, qstylizer 34, qtawesome 35, qtconsole 36, qtpy 37, rope 38, rtree 39, scipy 40, spyder-kernels 41, textdistance 42, three-merge 43, watchdog 44}: 45 46buildPythonPackage rec { 47 pname = "spyder"; 48 version = "5.4.2"; 49 format = "setuptools"; 50 51 disabled = pythonOlder "3.7"; 52 53 src = fetchPypi { 54 inherit pname version; 55 hash = "sha256-L8zgT7M7N+P5/9FQgf6ab7afUQXC1afzwUjAp6yKxC8="; 56 }; 57 58 patches = [ 59 ./dont-clear-pythonpath.patch 60 ]; 61 62 nativeBuildInputs = [ 63 pyqtwebengine.wrapQtAppsHook 64 ]; 65 66 propagatedBuildInputs = [ 67 atomicwrites 68 chardet 69 cloudpickle 70 cookiecutter 71 diff-match-patch 72 intervaltree 73 jedi 74 jellyfish 75 keyring 76 matplotlib 77 nbconvert 78 numpy 79 numpydoc 80 psutil 81 pygments 82 pylint-venv 83 pyls-spyder 84 pyopengl 85 pyqtwebengine 86 python-lsp-black 87 python-lsp-server 88 pyxdg 89 pyzmq 90 qdarkstyle 91 qstylizer 92 qtawesome 93 qtconsole 94 qtpy 95 rope 96 rtree 97 scipy 98 spyder-kernels 99 textdistance 100 three-merge 101 watchdog 102 ] ++ python-lsp-server.optional-dependencies.all; 103 104 # There is no test for spyder 105 doCheck = false; 106 107 postPatch = '' 108 # Remove dependency on pyqtwebengine 109 # This is still part of the pyqt 5.11 version we have in nixpkgs 110 sed -i /pyqtwebengine/d setup.py 111 substituteInPlace setup.py \ 112 --replace "qdarkstyle>=3.0.2,<3.1.0" "qdarkstyle" \ 113 --replace "ipython>=7.31.1,<8.0.0" "ipython" 114 ''; 115 116 postInstall = '' 117 # Add Python libs to env so Spyder subprocesses 118 # created to run compute kernels don't fail with ImportErrors 119 wrapProgram $out/bin/spyder --prefix PYTHONPATH : "$PYTHONPATH" 120 ''; 121 122 dontWrapQtApps = true; 123 124 preFixup = '' 125 makeWrapperArgs+=("''${qtWrapperArgs[@]}") 126 ''; 127 128 meta = with lib; { 129 description = "Scientific python development environment"; 130 longDescription = '' 131 Spyder (previously known as Pydee) is a powerful interactive development 132 environment for the Python language with advanced editing, interactive 133 testing, debugging and introspection features. 134 ''; 135 homepage = "https://www.spyder-ide.org/"; 136 downloadPage = "https://github.com/spyder-ide/spyder/releases"; 137 changelog = "https://github.com/spyder-ide/spyder/blob/master/CHANGELOG.md"; 138 license = licenses.mit; 139 maintainers = with maintainers; [ gebner ]; 140 platforms = platforms.linux; 141 }; 142}