1{ stdenv
2, buildPythonPackage
3, fetchPypi
4, isPy3k
5# python dependencies
6, click
7, configparser ? null
8, dateutil
9, etelemetry
10, filelock
11, funcsigs
12, future
13, futures
14, mock
15, networkx
16, nibabel
17, numpy
18, packaging
19, pathlib2
20, prov
21, psutil
22, pybids
23, pydot
24, pytest
25, pytest_xdist
26, pytest-forked
27, scipy
28, simplejson
29, traits
30, xvfbwrapper
31, pytestcov
32, codecov
33# other dependencies
34, which
35, bash
36, glibcLocales
37, callPackage
38}:
39
40assert !isPy3k -> configparser != null;
41
42let
43
44 # This is a temporary convenience package for changes waiting to be merged into the primary rdflib repo.
45 neurdflib = callPackage ./neurdflib.nix { };
46
47in
48
49buildPythonPackage rec {
50 pname = "nipype";
51 version = "1.3.1";
52
53 src = fetchPypi {
54 inherit pname version;
55 sha256 = "bb190964b568d64b04b73d2aa7eae31061fdbc3051d8c27bb34b1632db07ec71";
56 };
57
58 postPatch = ''
59 substituteInPlace nipype/interfaces/base/tests/test_core.py \
60 --replace "/usr/bin/env bash" "${bash}/bin/bash"
61 '';
62
63 propagatedBuildInputs = [
64 click
65 dateutil
66 etelemetry
67 filelock
68 funcsigs
69 future
70 networkx
71 neurdflib
72 nibabel
73 numpy
74 packaging
75 prov
76 psutil
77 pydot
78 scipy
79 simplejson
80 traits
81 xvfbwrapper
82 ] ++ stdenv.lib.optionals (!isPy3k) [
83 configparser
84 futures
85 pathlib2 # darwin doesn't receive this transitively, but it is in install_requires
86 ];
87
88 checkInputs = [
89 pybids
90 codecov
91 glibcLocales
92 mock
93 pytest
94 pytest-forked
95 pytest_xdist
96 pytestcov
97 which
98 ];
99
100 # checks on darwin inspect memory which doesn't work in build environment
101 doCheck = !stdenv.isDarwin;
102 # ignore tests which incorrect fail to detect xvfb
103 checkPhase = ''
104 LC_ALL="en_US.UTF-8" pytest -v nipype -k 'not display'
105 '';
106
107 meta = with stdenv.lib; {
108 homepage = https://nipy.org/nipype/;
109 description = "Neuroimaging in Python: Pipelines and Interfaces";
110 license = licenses.bsd3;
111 maintainers = with maintainers; [ ashgillman ];
112 broken = true;
113 };
114}