ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
114 lines
2.1 KiB
Nix
114 lines
2.1 KiB
Nix
{ lib, stdenv
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, pythonOlder
|
|
, pythonRelaxDepsHook
|
|
# python dependencies
|
|
, click
|
|
, python-dateutil
|
|
, etelemetry
|
|
, filelock
|
|
, funcsigs
|
|
, future
|
|
, looseversion
|
|
, mock
|
|
, networkx
|
|
, nibabel
|
|
, numpy
|
|
, packaging
|
|
, prov
|
|
, psutil
|
|
, pybids
|
|
, pydot
|
|
, pytest
|
|
, pytest-xdist
|
|
, pytest-forked
|
|
, rdflib
|
|
, scipy
|
|
, simplejson
|
|
, traits
|
|
, xvfbwrapper
|
|
, codecov
|
|
# other dependencies
|
|
, which
|
|
, bash
|
|
, glibcLocales
|
|
, callPackage
|
|
# causes Python packaging conflict with any package requiring rdflib,
|
|
# so use the unpatched rdflib by default (disables Nipype provenance tracking);
|
|
# see https://github.com/nipy/nipype/issues/2888:
|
|
, useNeurdflib ? false
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "nipype";
|
|
version = "1.8.6";
|
|
disabled = pythonOlder "3.7";
|
|
format = "setuptools";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-l3sTFej3D5QWPsB+MeVXG+g/Kt1gIxQcWgascAEm+NE=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace nipype/interfaces/base/tests/test_core.py \
|
|
--replace "/usr/bin/env bash" "${bash}/bin/bash"
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
pythonRelaxDepsHook
|
|
];
|
|
|
|
pythonRelaxDeps = [ "traits" ];
|
|
|
|
propagatedBuildInputs = [
|
|
click
|
|
python-dateutil
|
|
etelemetry
|
|
filelock
|
|
funcsigs
|
|
future
|
|
looseversion
|
|
networkx
|
|
nibabel
|
|
numpy
|
|
packaging
|
|
prov
|
|
psutil
|
|
pydot
|
|
rdflib
|
|
scipy
|
|
simplejson
|
|
traits
|
|
xvfbwrapper
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pybids
|
|
codecov
|
|
glibcLocales
|
|
mock
|
|
pytest
|
|
pytest-forked
|
|
pytest-xdist
|
|
which
|
|
];
|
|
|
|
# checks on darwin inspect memory which doesn't work in build environment
|
|
doCheck = !stdenv.isDarwin;
|
|
# ignore tests which incorrect fail to detect xvfb
|
|
checkPhase = ''
|
|
LC_ALL="en_US.UTF-8" pytest nipype/tests -k 'not display and not test_no_et_multiproc'
|
|
'';
|
|
pythonImportsCheck = [ "nipype" ];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://nipy.org/nipype/";
|
|
description = "Neuroimaging in Python: Pipelines and Interfaces";
|
|
mainProgram = "nipypecli";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ ashgillman ];
|
|
};
|
|
}
|