aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2024-05-02 21:38:47 +0200
committerRicardo Wurmus <rekado@elephly.net>2024-05-05 22:38:17 +0200
commit36a1e76173b025376ee880280d84bdb20febf52d (patch)
tree66626069e2859eeba0d2643106f8c26d7d1eb4f0 /gnu/packages/python-xyz.scm
parent6095e5b43649b3ec47c8f2e7a88124041dd59907 (diff)
downloadguix-36a1e76173b025376ee880280d84bdb20febf52d.tar
guix-36a1e76173b025376ee880280d84bdb20febf52d.tar.gz
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
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm33
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