1{ lib 2, stdenv 3, buildPythonPackage 4, fetchPypi 5, pythonOlder 6# Build dependencies 7, glibcLocales 8# Test dependencies 9, nose 10, pygments 11# Runtime dependencies 12, jedi 13, decorator 14, pickleshare 15, simplegeneric 16, traitlets 17, prompt_toolkit 18, pexpect 19, appnope 20, typing 21, backcall 22}: 23 24buildPythonPackage rec { 25 pname = "ipython"; 26 version = "6.5.0"; 27 28 src = fetchPypi { 29 inherit pname version; 30 sha256 = "b0f2ef9eada4a68ef63ee10b6dde4f35c840035c50fd24265f8052c98947d5a4"; 31 }; 32 33 prePatch = lib.optionalString stdenv.isDarwin '' 34 substituteInPlace setup.py --replace "'gnureadline'" " " 35 ''; 36 37 buildInputs = [ glibcLocales ]; 38 39 checkInputs = [ nose pygments ]; 40 41 propagatedBuildInputs = [ 42 jedi 43 decorator 44 pickleshare 45 simplegeneric 46 traitlets 47 prompt_toolkit 48 pexpect 49 backcall 50 ] ++ lib.optionals stdenv.isDarwin [appnope] 51 ++ lib.optionals (pythonOlder "3.5") [ typing ]; 52 53 LC_ALL="en_US.UTF-8"; 54 55 doCheck = false; # Circular dependency with ipykernel 56 57 checkPhase = '' 58 nosetests 59 ''; 60 61 # IPython 6.0.0 and above does not support Python < 3.3. 62 # The last IPython version to support older Python versions 63 # is 5.3.x. 64 disabled = pythonOlder "3.3"; 65 66 meta = { 67 description = "IPython: Productive Interactive Computing"; 68 homepage = http://ipython.org/; 69 license = lib.licenses.bsd3; 70 maintainers = with lib.maintainers; [ bjornfor jgeerds fridh ]; 71 }; 72}