1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, pythonOlder
6# Build dependencies
7, glibcLocales
8# Test dependencies
9, nose
10, pygments
11, testpath
12, isPy27
13, mock
14# Runtime dependencies
15, backports_shutil_get_terminal_size
16, jedi
17, decorator
18, pathlib2
19, pickleshare
20, requests
21, simplegeneric
22, traitlets
23, prompt_toolkit
24, pexpect
25, appnope
26}:
27
28buildPythonPackage rec {
29 pname = "ipython";
30 version = "5.5.0";
31 name = "${pname}-${version}";
32
33 src = fetchPypi {
34 inherit pname version;
35 sha256 = "66469e894d1f09d14a1f23b971a410af131daa9ad2a19922082e02e0ddfd150f";
36 };
37
38 prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
39 substituteInPlace setup.py --replace "'gnureadline'" " "
40 '';
41
42 buildInputs = [ glibcLocales ];
43
44 checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock;
45
46 propagatedBuildInputs = [
47 backports_shutil_get_terminal_size decorator pickleshare prompt_toolkit
48 simplegeneric traitlets requests pathlib2 pexpect
49 ] ++ lib.optionals stdenv.isDarwin [ appnope ];
50
51 LC_ALL="en_US.UTF-8";
52
53 doCheck = false; # Circular dependency with ipykernel
54
55 checkPhase = ''
56 nosetests
57 '';
58
59 meta = {
60 description = "IPython: Productive Interactive Computing";
61 homepage = http://ipython.org/;
62 license = lib.licenses.bsd3;
63 maintainers = with lib.maintainers; [ bjornfor jgeerds orivej lnl7 ];
64 };
65}