guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 643e9233e1ad76031a46234a9091ef4e48de0f31
Author: Nicolas Graves <[email protected]>
AuthorDate: Mon Aug 17 21:20:27 2026 +0200
gnu: snakemake: Update to 9.25.1.
* gnu/packages/python-science.scm (snakemake): Update to 9.25.1.
[source]: Switch to git-fetch.
[arguments]{test-flags}: Refresh them.
{phases}: Add phase 'relax-requirements, drop phase
'call-wrapper-not-wrapped-snakemake, which was not effective for some
time already.
[propagated-inputs]: Add python-snakemake-interface-logger-plugins,
python-snakemake-interface-scheduler-plugins,
python-snakemake-interface-software-deployment-plugins,
python-sqlmodel.
[native-inputs]: Add python-pytest, python-setuptools-scm,
python-snakemake-interface-software-deployment-plugin-container,
spython-snakemake-interface-logger-plugin-envmodules.
Relates-to: guix/guix!10625
Reviewed-by: Hugo Buddelmeijer <[email protected]>
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/python-science.scm | 67 +++++++++++++++++++++--------------------
1 file changed, 34 insertions(+), 33 deletions(-)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ea8856be11..d9ade7a7db 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -7084,27 +7084,39 @@ are source structure, project manager, interactive
help, workspace...")
(define-public snakemake
(package
(name "snakemake")
- (version "8.30.0")
+ (version "9.25.1")
(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 "08k6qk886a6f79higkd0pjjrq9sn6w5gk0gdgx88rhr1aln1qk7x"))))
+ (base32 "15xic0m0pyhakyzvi9r2hlm9rvfnws53ngxnwkp9l9x47xqfgh7v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
+ ;; Conda is ignored, see
+ ;; github.com/snakemake/snakemake/pull/3339#issuecomment-5241768006
+ "--ignore=tests/test_software_directive.py"
+ ;; These tests require snakemake-executor-plugin-cluster-generic.
+ "--ignore=tests/test_executor_test_suite.py"
+ "--deselect=tests/test_logging.py::test_group_job_failure_events"
+ ;; Those require additional snakemake plugins.
+ "--ignore=tests/test_api.py"
;; XXX: Unclear why these tests fail.
+ "--ignore=tests/test_jupyter_notebook_pathlike.py"
+ "--ignore=tests/test_persistence.py"
+ "--deselect=tests/test_script.py::TestBashEncoder"
+ "--deselect=tests/test_sourcecache.py::test_github_file_fetch"
"--ignore=tests/test_report_href/test_script.py"
"--ignore=tests/test_script_py/scripts/test_explicit_import.py"
"--ignore=tests/test_output_index.py"
;; We don't care about testing old [email protected] on Guix.
"--ignore=tests/test_conda_python_3_7_script/test_script_python_3_7.py"
- ;; Those require additional snakemake plugins.
- "--ignore=tests/test_api.py"
- "--ignore=tests/test_executor_test_suite.py"
;; We don't care about lints.
"--ignore=tests/test_linting.py"
;; These tests attempt to change S3 buckets on AWS and fail
@@ -7115,37 +7127,18 @@ are source structure, project manager, interactive
help, workspace...")
"--ignore=tests/test_google_lifesciences")
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("\"pip\",")
+ "")
+ (("\"packaging.*\",")
+ "\"packaging\","))))
(add-after 'unpack 'avoid-assets-download
(lambda _
(substitute* "setup.py"
(("^from assets import Assets") "")
(("^Assets\\.deploy\\(\\)") ""))))
- ;; 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 _
- (substitute* "snakemake/executors/__init__.py"
- (("self\\.get_python_executable\\(\\),")
- "")
- (("\"-m snakemake\"")
- (string-append "\"" #$output
- "/bin/snakemake" "\""))
- ;; The snakemake command produced by format_job_exec contains
- ;; references to /gnu/store. Prior to patching above that's
- ;; just a reference to Python; after patching it's a reference
- ;; to the snakemake executable.
- ;;
- ;; In Tibanna execution mode Snakemake arranges for a certain
- ;; Docker image to be deployed to AWS. It then passes its own
- ;; command line to Tibanna. This is misguided because it only
- ;; ever works if the local Snakemake command was run inside
- ;; the same Docker image. In the case of using Guix this is
- ;; never correct, so we need to replace the store reference.
- (("tibanna_args.command = command")
- (string-append
- "tibanna_args.command = command.replace('"
- #$output "/bin/snakemake', 'python3 -m snakemake')")))))
(add-before 'check 'pre-check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -7171,8 +7164,12 @@ are source structure, project manager, interactive help,
workspace...")
python-smart-open
python-snakemake-interface-common
python-snakemake-interface-executor-plugins
+ python-snakemake-interface-logger-plugins
python-snakemake-interface-report-plugins
+ python-snakemake-interface-scheduler-plugins
+ python-snakemake-interface-software-deployment-plugins
python-snakemake-interface-storage-plugins
+ python-sqlmodel
python-tabulate
python-throttler
python-wrapt
@@ -7181,7 +7178,11 @@ are source structure, project manager, interactive help,
workspace...")
(list python-docutils
python-numpy
python-pandas
+ python-pytest
python-setuptools
+ python-setuptools-scm
+ python-snakemake-software-deployment-plugin-container
+ python-snakemake-software-deployment-plugin-envmodules
python-tomli))
(home-page "https://snakemake.readthedocs.io")
(synopsis "Python-based execution environment for make-like workflows")