nixpkgs/pkgs/development/python-modules/nipype/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

115 lines
2.1 KiB
Nix

{ lib, stdenv
, buildPythonPackage
, fetchPypi
, isPy27
# python dependencies
, click
, python-dateutil
, etelemetry
, filelock
, funcsigs
, future
, mock
, networkx
, nibabel
, numpy
, packaging
, prov
, psutil
, pybids
, pydot
, pytest
, pytest-xdist
, pytest-forked
, rdflib
, scipy
, simplejson
, traits
, xvfbwrapper
, pytest-cov
, codecov
, sphinx
# 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
}:
let
# This is a temporary convenience package for changes waiting to be merged into the primary rdflib repo.
neurdflib = callPackage ./neurdflib.nix { };
in
buildPythonPackage rec {
pname = "nipype";
version = "1.8.5";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-44QnQ/tmBGTdKd5z3Pye9m0nO+ELzGQFn/Ic1e8ellU=";
};
postPatch = ''
substituteInPlace nipype/interfaces/base/tests/test_core.py \
--replace "/usr/bin/env bash" "${bash}/bin/bash"
'';
nativeBuildInputs = [
sphinx
];
propagatedBuildInputs = [
click
python-dateutil
etelemetry
filelock
funcsigs
future
networkx
nibabel
numpy
packaging
prov
psutil
pydot
scipy
simplejson
traits
xvfbwrapper
] ++ [ (if useNeurdflib then neurdflib else rdflib) ];
nativeCheckInputs = [
pybids
codecov
glibcLocales
mock
pytest
pytest-forked
pytest-xdist
pytest-cov
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'
'';
pythonImportsCheck = [ "nipype" ];
meta = with lib; {
homepage = "https://nipy.org/nipype/";
description = "Neuroimaging in Python: Pipelines and Interfaces";
license = licenses.bsd3;
maintainers = with maintainers; [ ashgillman ];
};
}