diff --git a/pkgs/development/python-modules/nipreps-versions/default.nix b/pkgs/development/python-modules/nipreps-versions/default.nix index 163acc5cbfb2..8bfc005cabc2 100644 --- a/pkgs/development/python-modules/nipreps-versions/default.nix +++ b/pkgs/development/python-modules/nipreps-versions/default.nix @@ -2,39 +2,59 @@ lib, buildPythonPackage, fetchFromGitHub, - flit-scm, + + # build-system + hatch-vcs, + hatchling, + + # dependencies packaging, setuptools-scm, + vcs-versioning, + + # tests pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "nipreps-versions"; - version = "1.0.4"; + version = "1.2.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "nipreps"; repo = "version-schemes"; - tag = version; - hash = "sha256-B2wtLurzgk59kTooH51a2dewK7aEyA0dAm64Wp+tqhM="; + tag = finalAttrs.version; + hash = "sha256-SPJ4L68dFcSv1+Ytp3b3n+lr35Krq71fIlaReFux1nk="; }; - nativeBuildInputs = [ - flit-scm - setuptools-scm + build-system = [ + hatch-vcs + hatchling ]; - propagatedBuildInputs = [ packaging ]; + dependencies = [ + packaging + setuptools-scm + vcs-versioning + ]; nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "nipreps_versions" ]; + disabledTests = [ + # Rely on the current date, which is pinned to 1980 in the sandbox (`SOURCE_DATE_EPOCH`) + "invalid_branch_version" + "test_next_calver" + ]; + meta = { description = "Setuptools_scm plugin for nipreps version schemes"; homepage = "https://github.com/nipreps/version-schemes"; - changelog = "https://github.com/nipreps/version-schemes/blob/${src.rev}/CHANGES.md"; + changelog = "https://github.com/nipreps/version-schemes/blob/${finalAttrs.src.tag}/CHANGES.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ bcdarwin ]; }; -} +}) diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix index 21659531a6f3..70777d48b2b3 100644 --- a/pkgs/development/python-modules/nipype/default.nix +++ b/pkgs/development/python-modules/nipype/default.nix @@ -2,7 +2,7 @@ lib, stdenv, buildPythonPackage, - fetchPypi, + fetchFromGitHub, # build-system hatchling, @@ -24,9 +24,6 @@ puremagic, pybids, pydot, - pytestCheckHook, - pytest-xdist, - pytest-cov-stub, rdflib, scipy, simplejson, @@ -35,33 +32,49 @@ # optional-dependencies datalad, duecredit, - pandas, paramiko, psutil, - sphinx, xvfbwrapper, - # other dependencies - which, + # tests bash, glibcLocales, + pandas, + pytestCheckHook, + pytest-cov-stub, + pytest-doctestplus, + pytest-env, + pytest-timeout, + pytest-xdist, + sphinx, + which, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "nipype"; version = "1.11.0"; pyproject = true; + __structuredAttrs = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-ZwfsTDz44Zg673+O6nlifue3q0qklkmZFVDhKcFlt6c="; + src = fetchFromGitHub { + owner = "nipy"; + repo = "nipype"; + tag = finalAttrs.version; + hash = "sha256-Xa7hoD+UvxozXsW4ztjQfKPmvHJL42EMuu95rWWlbe8="; }; postPatch = '' substituteInPlace nipype/interfaces/base/tests/test_core.py \ - --replace-fail "/usr/bin/env bash" "${bash}/bin/bash" + --replace-fail "/usr/bin/env bash" "${lib.getExe bash}" substituteInPlace nipype/pipeline/engine/tests/test_nodes.py \ - --replace-fail "/bin/bash" "${bash}/bin/bash" + --replace-fail "/bin/bash" "${lib.getExe bash}" + '' + # `nilearn.input_data` was renamed to `nilearn.maskers` in nilearn 0.9 and dropped in 0.13 + + '' + substituteInPlace nipype/interfaces/nilearn.py \ + --replace-fail \ + "import nilearn.input_data as nl" \ + "import nilearn.maskers as nl" ''; build-system = [ @@ -90,7 +103,7 @@ buildPythonPackage rec { traits ]; - passthru.optional-dependencies = { + optional-dependencies = { data = [ datalad ]; duecredit = [ duecredit ]; profiler = [ psutil ]; @@ -104,6 +117,9 @@ buildPythonPackage rec { pandas pytestCheckHook pytest-cov-stub + pytest-doctestplus + pytest-env + pytest-timeout pytest-xdist sphinx which @@ -119,11 +135,12 @@ buildPythonPackage rec { ]; meta = { - homepage = "https://nipy.org/nipype"; description = "Neuroimaging in Python: Pipelines and Interfaces"; - changelog = "https://github.com/nipy/nipype/releases/tag/${version}"; + homepage = "https://nipy.org/nipype"; + downloadPage = "https://github.com/nipy/nipype"; + changelog = "https://github.com/nipy/nipype/releases/tag/${finalAttrs.src.tag}"; mainProgram = "nipypecli"; - license = lib.licenses.bsd3; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ashgillman ]; }; -} +}) diff --git a/pkgs/development/python-modules/niworkflows/default.nix b/pkgs/development/python-modules/niworkflows/default.nix index 102570ee3581..c71ba305df0a 100644 --- a/pkgs/development/python-modules/niworkflows/default.nix +++ b/pkgs/development/python-modules/niworkflows/default.nix @@ -44,6 +44,7 @@ buildPythonPackage (finalAttrs: { pname = "niworkflows"; version = "1.14.4"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "nipreps"; @@ -55,13 +56,14 @@ buildPythonPackage (finalAttrs: { # fails to determine the version automatically env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version; - pythonRelaxDeps = [ "traits" ]; - build-system = [ hatch-vcs hatchling ]; + pythonRelaxDeps = [ + "traits" + ]; dependencies = [ acres attrs