summary refs log tree commit diff
path: root/pkgs/development/python-modules/ipython/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/ipython/default.nix')
-rw-r--r--pkgs/development/python-modules/ipython/default.nix70
1 files changed, 42 insertions, 28 deletions
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index 73ead288ee4..cee9868cfac 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -3,63 +3,77 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+
 # Build dependencies
 , glibcLocales
-# Test dependencies
-, nose
-, pygments
+
 # Runtime dependencies
-, jedi
+, appnope
+, backcall
+, black
 , decorator
+, jedi
 , matplotlib-inline
+, pexpect
 , pickleshare
-, traitlets
 , prompt-toolkit
-, pexpect
-, appnope
-, backcall
+, pygments
+, stack-data
+, traitlets
+
+# Test dependencies
+, pytestCheckHook
+, testpath
 }:
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "7.30.1";
-  disabled = pythonOlder "3.7";
+  version = "8.0.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb6aef731bf708a7727ab6cde8df87f0281b1427d41e65d62d4b68934fa54e97";
+    sha256 = "0x19sj4dlq7r4p1mqnpx9245r8dwvpjwd8n34snfm37a452lsmmb";
   };
 
-  prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace setup.py --replace "'gnureadline'" " "
-  '';
-
-  buildInputs = [ glibcLocales ];
-
-  checkInputs = [ nose pygments ];
+  buildInputs = [
+    glibcLocales
+  ];
 
   propagatedBuildInputs = [
-    jedi
+    backcall
+    black
     decorator
+    jedi
     matplotlib-inline
+    pexpect
     pickleshare
-    traitlets
     prompt-toolkit
     pygments
-    pexpect
-    backcall
-  ] ++ lib.optionals stdenv.isDarwin [appnope];
+    stack-data
+    traitlets
+  ] ++ lib.optionals stdenv.isDarwin [
+    appnope
+  ];
 
   LC_ALL="en_US.UTF-8";
 
-  doCheck = false; # Circular dependency with ipykernel
+  pythonImportsCheck = [
+    "IPython"
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
 
-  checkPhase = ''
-    nosetests
+    # doctests try to fetch an image from the internet
+    substituteInPlace pytest.ini \
+      --replace "--ipdoctest-modules" "--ipdoctest-modules --ignore=IPython/core/display.py"
   '';
 
-  pythonImportsCheck = [
-    "IPython"
+  checkInputs = [
+    pytestCheckHook
+    testpath
   ];
 
   meta = with lib; {