nixpkgs/pkgs/development/python-modules/ipython/default.nix
Keshav Kini eabba0daf0 python36Packages.ipython: 7.17 -> 7.16.1 (downgrade)
IPython versions 7.17 and higher don't support Python 3.6 anymore, so
this commit adds back the old expression for 7.16.1 from before
ba1038a98b for use in python36Packages
only.

    nix-repl> :b python36.withPackages (ps: [ ps.ipython ])
    builder for '/nix/store/q8v4f89xwv35a3idb9z345z6n3nzfycb-python3.6-ipython-7.17.0.drv' failed with exit code 1; last 10 log lines:
      Python 3.5 was supported with IPython 7.0 to 7.9.
      Python 3.6 was supported with IPython up to 7.16.

      See IPython `README.rst` file for more information:

          https://github.com/ipython/ipython/blob/master/README.rst

      Python sys.version_info(major=3, minor=6, micro=12, releaselevel='final', serial=0) detected.
    cannot build derivation '/nix/store/mhpdarp18z6skzswrl7sbgzv8hr4gwih-python3-3.6.12-env.drv': 1 dependencies couldn't be built
    [0 built (1 failed)]
    error: build of '/nix/store/mhpdarp18z6skzswrl7sbgzv8hr4gwih-python3-3.6.12-env.drv' failed
2020-09-16 09:22:38 +02:00

70 lines
1.2 KiB
Nix

{ 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.17.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "b70974aaa2674b05eb86a910c02ed09956a33f2dd6c71afc60f0b128a77e7f28";
};
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 ];
};
}