diff options
Diffstat (limited to 'pkgs/development/python-modules/htseq/default.nix')
-rw-r--r-- | pkgs/development/python-modules/htseq/default.nix | 72 |
1 files changed, 61 insertions, 11 deletions
diff --git a/pkgs/development/python-modules/htseq/default.nix b/pkgs/development/python-modules/htseq/default.nix index 9d69a8bfef542..c62c2ecfa5196 100644 --- a/pkgs/development/python-modules/htseq/default.nix +++ b/pkgs/development/python-modules/htseq/default.nix @@ -1,29 +1,79 @@ -{ lib, buildPythonPackage, fetchFromGitHub, cython, numpy, pysam, matplotlib, python, isPy27, isPy3k }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchpatch, + swig, + cython, + matplotlib, + numpy, + pandas, + pysam, + setuptools, + pytestCheckHook, + nix-update-script, +}: buildPythonPackage rec { - version = "0.12.4"; - format = "setuptools"; pname = "htseq"; + version = "2.0.4"; + pyproject = true; src = fetchFromGitHub { owner = "htseq"; repo = "htseq"; rev = "release_${version}"; - sha256 = "0y7vh249sljqjnv81060w4xkdx6f1y5zdqkh38yk926x6v9riijm"; + hash = "sha256-7ocrmuj9LOtPz9XbI5rKGcdE5JbFz/pZh00Nie65XxE="; }; - nativeBuildInputs = [ cython ]; - propagatedBuildInputs = [ numpy pysam matplotlib ]; + patches = [ + # https://github.com/htseq/htseq/pull/84 + (fetchpatch { + name = "replace-distutils-with-sysconfig.patch"; + url = "https://github.com/htseq/htseq/commit/f0f1e464ee9aee56f0b44f905e7b3355b0bb8f29.patch"; + hash = "sha256-yDYkXCPy+YFgnk1rnXwCB998aZwVd5nJeejZIgeEzAo="; + }) + ]; - checkPhase = lib.optionalString isPy27 '' - ${python.interpreter} python2/test/test_general.py - '' + lib.optionalString isPy3k '' - ${python.interpreter} python3/test/test_general.py + nativeBuildInputs = [ swig ]; + + build-system = [ + cython + numpy + pysam + setuptools + ]; + + dependencies = [ + numpy + pysam + ]; + + optional-dependencies = { + htseq-qa = [ matplotlib ]; + }; + + pythonImportsCheck = [ "HTSeq" ]; + + nativeCheckInputs = [ + pandas + pytestCheckHook + ] ++ optional-dependencies.htseq-qa; + + preCheck = '' + rm -r src HTSeq + export PATH=$out/bin:$PATH ''; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release_(.+)" + ]; + }; + meta = with lib; { homepage = "https://htseq.readthedocs.io/"; description = "A framework to work with high-throughput sequencing data"; maintainers = with maintainers; [ unode ]; - platforms = platforms.unix; }; } |