diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2024-05-02 21:38:47 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2024-05-05 22:38:17 +0200 |
commit | 36a1e76173b025376ee880280d84bdb20febf52d (patch) | |
tree | 66626069e2859eeba0d2643106f8c26d7d1eb4f0 | |
parent | 6095e5b43649b3ec47c8f2e7a88124041dd59907 (diff) |
gnu: snakemake: Fetch from git repository.
* gnu/packages/python-xyz.scm (snakemake)[source]: Fetch from git repository
to include tests.
[arguments]: Enable tests; add 'pre-check phase.
[build-system]: Use pyproject-build-system.
[native-inputs]: Add git-minimal, python-wrapper, python-pytest,
python-pandas, and python-requests-mock.
Change-Id: I32e9d36752cc91eacb8f05138d969834dbbce817
-rw-r--r-- | gnu/packages/python-xyz.scm | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7f368d1ebc..788148f32b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13200,15 +13200,26 @@ approach.") (version "5.32.2") (source (origin - (method url-fetch) - (uri (pypi-uri "snakemake" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/snakemake/snakemake") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "13013gdavwvyj1qr9xfi9fpwhb3km8c3z53bja5b7ic3sb2z6dgz")))) - (build-system python-build-system) + (base32 "0nxp4z81vykv07kv2b6zrwk7ns8s10zqsb7vcignp8695yq3nlcm")))) + (build-system pyproject-build-system) (arguments - ;; TODO: Package missing test dependencies. (list - #:tests? #f + #:test-flags + '(list + ;; We have no TES support. + "--ignore=tests/test_tes.py" + ;; This test attempts to change S3 buckets on AWS and fails + ;; because there are no AWS credentials. + "--ignore=tests/test_tibanna.py" + ;; It's a similar story with this test, which requires access + ;; to the Google Storage service. + "--ignore=tests/test_google_lifesciences.py") #:phases #~(modify-phases %standard-phases ;; For cluster execution Snakemake will call Python. Since there is @@ -13218,7 +13229,9 @@ approach.") (lambda _ (substitute* "snakemake/executors/__init__.py" (("\\{sys.executable\\} -m snakemake") - (string-append #$output "/bin/snakemake")))))))) + (string-append #$output "/bin/snakemake"))))) + (add-before 'check 'pre-check + (lambda _ (setenv "HOME" "/tmp")))))) (propagated-inputs (list python-appdirs python-configargparse @@ -13236,6 +13249,12 @@ approach.") python-requests python-toposort python-wrapt)) + (native-inputs + (list git-minimal + python-wrapper + python-pytest + python-pandas + python-requests-mock)) (home-page "https://snakemake.readthedocs.io") (synopsis "Python-based execution environment for make-like workflows") (description |