summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-08-01 08:18:36 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-08-01 08:20:04 +0200
commitf8724820439efad1c15801701be19bc1f7eae471 (patch)
tree5875dc55419a259b3216b0e03ce5f1cb415e1043 /gnu/packages/python-xyz.scm
parent896b40d2cad5ebe34b6b99a5d6f82739ddbeea53 (diff)
gnu: snakemake-7: Fix version reporting.
* gnu/packages/python-xyz.scm (snakemake-7)[arguments]: Add phase 'patch-version and use G-exp. [build-system]: Use pyproject-build-system.
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm59
1 files changed, 34 insertions, 25 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c058c25071..e7236c075c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11519,32 +11519,41 @@ Python style, together with a fast and comfortable execution environment.")
(file-name (git-file-name name version))
(sha256
(base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- ;; For cluster execution Snakemake will call Python. Since there is
- ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
- ;; fix this by calling the snakemake wrapper instead.
- (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "snakemake/executors/__init__.py"
- (("self\\.get_python_executable\\(\\),")
- "")
- (("\"-m snakemake\"")
- (string-append "\"" (assoc-ref outputs "out")
- "/bin/snakemake" "\"")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- ;; This test attempts to change S3 buckets on AWS and fails
- ;; because there are no AWS credentials.
- (delete-file "tests/test_tibanna.py")
- ;; It's a similar story with this test, which requires access
- ;; to the Google Storage service.
- (delete-file "tests/test_google_lifesciences.py")
- (invoke "pytest")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; For cluster execution Snakemake will call Python. Since there is
+ ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
+ ;; fix this by calling the snakemake wrapper instead.
+ (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "snakemake/executors/__init__.py"
+ (("self\\.get_python_executable\\(\\),")
+ "")
+ (("\"-m snakemake\"")
+ (string-append "\"" #$output
+ "/bin/snakemake" "\"")))))
+ (add-after 'unpack 'patch-version
+ (lambda _
+ (substitute* "setup.py"
+ (("version=versioneer.get_version\\(\\)")
+ (format #f "version=~s" #$version)))
+ (substitute* '("snakemake/_version.py"
+ "versioneer.py")
+ (("0\\+unknown") #$version))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ ;; This test attempts to change S3 buckets on AWS and fails
+ ;; because there are no AWS credentials.
+ (delete-file "tests/test_tibanna.py")
+ ;; It's a similar story with this test, which requires access
+ ;; to the Google Storage service.
+ (delete-file "tests/test_google_lifesciences.py")
+ (invoke "pytest")))))))
(propagated-inputs
(list python-appdirs
python-configargparse