about summary refs log tree commit diff
path: root/pkgs/development/python-modules/spyder/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/spyder/default.nix')
-rw-r--r--pkgs/development/python-modules/spyder/default.nix132
1 files changed, 70 insertions, 62 deletions
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index edefde907e2c..dfd9a79aeb38 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -1,73 +1,87 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-, atomicwrites
-, chardet
-, cloudpickle
-, cookiecutter
-, diff-match-patch
-, intervaltree
-, jedi
-, jellyfish
-, keyring
-, matplotlib
-, nbconvert
-, numpy
-, numpydoc
-, pickleshare
-, psutil
-, pygments
-, pylint-venv
-, pyls-spyder
-, pyopengl
-, pyqtwebengine
-, python-lsp-black
-, python-lsp-server
-, pyxdg
-, pyzmq
-, qdarkstyle
-, qstylizer
-, qtawesome
-, qtconsole
-, qtpy
-, rope
-, rtree
-, scipy
-, setuptools
-, spyder-kernels
-, textdistance
-, three-merge
-, watchdog
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+
+  # nativeBuildInputs
+
+  # build-system
+  setuptools,
+
+  # dependencies
+  aiohttp,
+  asyncssh,
+  atomicwrites,
+  chardet,
+  cloudpickle,
+  cookiecutter,
+  diff-match-patch,
+  fzf,
+  intervaltree,
+  jedi,
+  jellyfish,
+  keyring,
+  matplotlib,
+  nbconvert,
+  numpy,
+  numpydoc,
+  pickleshare,
+  psutil,
+  pygithub,
+  pygments,
+  pylint-venv,
+  pyls-spyder,
+  pyopengl,
+  pyqtwebengine,
+  python-lsp-black,
+  python-lsp-server,
+  pyuca,
+  pyzmq,
+  qdarkstyle,
+  qstylizer,
+  qtawesome,
+  qtconsole,
+  qtpy,
+  rope,
+  rtree,
+  scipy,
+  spyder-kernels,
+  superqt,
+  textdistance,
+  three-merge,
+  watchdog,
+  yarl,
 }:
 
 buildPythonPackage rec {
   pname = "spyder";
-  version = "5.5.4";
+  version = "6.0.2";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UiIyoFREfd3gV0uhSgZ8TVFQiP3yprrBZDOm3+8Dge0=";
+    hash = "sha256-mPUrAYFn3k5NQrsk7B2aPFnkAxKSKC4I97DnFPK1pvM=";
   };
 
-  patches = [
-    ./dont-clear-pythonpath.patch
+  patches = [ ./dont-clear-pythonpath.patch ];
+
+  nativeBuildInputs = [
+    pyqtwebengine.wrapQtAppsHook
   ];
 
   build-system = [
-    pyqtwebengine.wrapQtAppsHook
     setuptools
   ];
 
   dependencies = [
+    aiohttp
+    asyncssh
     atomicwrites
     chardet
     cloudpickle
     cookiecutter
     diff-match-patch
+    fzf
     intervaltree
     jedi
     jellyfish
@@ -78,6 +92,7 @@ buildPythonPackage rec {
     numpydoc
     pickleshare
     psutil
+    pygithub
     pygments
     pylint-venv
     pyls-spyder
@@ -85,7 +100,7 @@ buildPythonPackage rec {
     pyqtwebengine
     python-lsp-black
     python-lsp-server
-    pyxdg
+    pyuca
     pyzmq
     qdarkstyle
     qstylizer
@@ -96,23 +111,16 @@ buildPythonPackage rec {
     rtree
     scipy
     spyder-kernels
+    superqt
     textdistance
     three-merge
     watchdog
+    yarl
   ] ++ python-lsp-server.optional-dependencies.all;
 
   # There is no test for spyder
   doCheck = false;
 
-  postPatch = ''
-    # Remove dependency on pyqtwebengine
-    # This is still part of the pyqt 5.11 version we have in nixpkgs
-    sed -i /pyqtwebengine/d setup.py
-    substituteInPlace setup.py \
-      --replace "qdarkstyle>=3.0.2,<3.1.0" "qdarkstyle" \
-      --replace "ipython>=7.31.1,<8.0.0" "ipython"
-  '';
-
   postInstall = ''
     # Add Python libs to env so Spyder subprocesses
     # created to run compute kernels don't fail with ImportErrors
@@ -125,7 +133,7 @@ buildPythonPackage rec {
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Scientific python development environment";
     mainProgram = "spyder";
     longDescription = ''
@@ -136,8 +144,8 @@ buildPythonPackage rec {
     homepage = "https://www.spyder-ide.org/";
     downloadPage = "https://github.com/spyder-ide/spyder/releases";
     changelog = "https://github.com/spyder-ide/spyder/blob/master/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ gebner ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ gebner ];
+    platforms = lib.platforms.linux;
   };
 }