diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix index e0d780fb9c79..cee9868cfacb 100644 --- a/pkgs/development/python-modules/ipython/default.nix +++ b/pkgs/development/python-modules/ipython/default.nix @@ -3,69 +3,79 @@ , buildPythonPackage , fetchPypi , pythonOlder + # Build dependencies , glibcLocales -# Test dependencies -, nose -, pygments + # Runtime dependencies -, black -, jedi -, decorator -, matplotlib-inline -, pickleshare -, traitlets -, prompt-toolkit -, pexpect , appnope , backcall +, black +, decorator +, jedi +, matplotlib-inline +, pexpect +, pickleshare +, prompt-toolkit +, pygments , stack-data +, traitlets + +# Test dependencies +, pytestCheckHook +, testpath }: buildPythonPackage rec { pname = "ipython"; version = "8.0.1"; - disabled = pythonOlder "3.7"; + format = "pyproject"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; sha256 = "0x19sj4dlq7r4p1mqnpx9245r8dwvpjwd8n34snfm37a452lsmmb"; }; - prePatch = lib.optionalString stdenv.isDarwin '' - substituteInPlace setup.py --replace "'gnureadline'" " " - ''; - - buildInputs = [ glibcLocales ]; - - checkInputs = [ nose pygments ]; + buildInputs = [ + glibcLocales + ]; propagatedBuildInputs = [ + backcall black - jedi decorator + jedi matplotlib-inline + pexpect pickleshare - stack-data - 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 - - checkPhase = '' - nosetests - ''; - pythonImportsCheck = [ "IPython" ]; + preCheck = '' + export HOME=$TMPDIR + + # doctests try to fetch an image from the internet + substituteInPlace pytest.ini \ + --replace "--ipdoctest-modules" "--ipdoctest-modules --ignore=IPython/core/display.py" + ''; + + checkInputs = [ + pytestCheckHook + testpath + ]; + meta = with lib; { description = "IPython: Productive Interactive Computing"; homepage = "http://ipython.org/";