diff --git a/pkgs/development/python-modules/ipython/7.9.nix b/pkgs/development/python-modules/ipython/7.9.nix new file mode 100644 index 000000000000..c097bdbe9e1d --- /dev/null +++ b/pkgs/development/python-modules/ipython/7.9.nix @@ -0,0 +1,69 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pythonOlder +# Build dependencies +, glibcLocales +# Test dependencies +, nose +, pygments +# Runtime dependencies +, jedi +, decorator +, pickleshare +, traitlets +, prompt_toolkit +, pexpect +, appnope +, backcall +, fetchpatch +}: + +buildPythonPackage rec { + pname = "ipython"; + version = "7.9.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "103jkw18z7fnwdal1mdbijjxi1fndzn31g887lmj7ddpf2r07lyz"; + }; + + prePatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace setup.py --replace "'gnureadline'" " " + ''; + + buildInputs = [ glibcLocales ]; + + checkInputs = [ nose pygments ]; + + propagatedBuildInputs = [ + jedi + decorator + pickleshare + traitlets + prompt_toolkit + pygments + pexpect + backcall + ] ++ lib.optionals stdenv.isDarwin [appnope]; + + LC_ALL="en_US.UTF-8"; + + doCheck = false; # Circular dependency with ipykernel + + checkPhase = '' + nosetests + ''; + + pythonImportsCheck = [ + "IPython" + ]; + + meta = with lib; { + description = "IPython: Productive Interactive Computing"; + homepage = http://ipython.org/; + license = licenses.bsd3; + maintainers = with maintainers; [ bjornfor fridh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a4936330ce4e..faa2b1695fcf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3715,8 +3715,10 @@ in { ipyparallel = callPackage ../development/python-modules/ipyparallel { }; - ipython = if pythonOlder "3.5" then + ipython = if isPy27 then callPackage ../development/python-modules/ipython/5.nix { } + else if isPy35 then + callPackage ../development/python-modules/ipython/7.9.nix { } else callPackage ../development/python-modules/ipython { };