From 7b1f10714c44c0f73c3473214962fe2de4496ac7 Mon Sep 17 00:00:00 2001 From: Michael Schubert Date: Mon, 17 Feb 2025 18:38:39 +0000 Subject: [PATCH] dev-python/snakemake: version bump 8.28.0 and improve tests Signed-off-by: Michael Schubert --- dev-python/snakemake/Manifest | 2 +- dev-python/snakemake/snakemake-8.25.3.ebuild | 71 --------- dev-python/snakemake/snakemake-8.28.0.ebuild | 144 +++++++++++++++++++ 3 files changed, 145 insertions(+), 72 deletions(-) delete mode 100644 dev-python/snakemake/snakemake-8.25.3.ebuild create mode 100644 dev-python/snakemake/snakemake-8.28.0.ebuild diff --git a/dev-python/snakemake/Manifest b/dev-python/snakemake/Manifest index 48490208afa..a383c058822 100644 --- a/dev-python/snakemake/Manifest +++ b/dev-python/snakemake/Manifest @@ -1,2 +1,2 @@ DIST snakemake-7.32.4.gh.tar.gz 8885863 BLAKE2B 6bb7ff4722dd06f0edf5e8079b42f5e54d6f55f41e2987b7dae7f9b75df0d4d836138e28340e5977107a5cc0b5afe793b0d7897c501246cc1b4340eb4eca2f17 SHA512 34fef61528b18facab798652c88ed5c698ef02161e023255fdd024b7c7781c4e582cdb04b2740fdff9b6f3600acaec719742984acee57920bb48ef3b5af99d9a -DIST snakemake-8.25.3.gh.tar.gz 8693083 BLAKE2B 8d5070d5c78f560bc714da189454776ea87a8403075da98b45b021ac304053cb08763c929846d4c8f949c71245566bdb012b78d8807f40a584805cd08917af14 SHA512 f769c89e98130c738bb43931f240eaa93482d19403c6bcda65334910ccf4cac2e11257ed8b133d220d645ea39b0af8aa580fe24c57221478ea7dd0fb4d21d4e7 +DIST snakemake-8.28.0.gh.tar.gz 8702504 BLAKE2B 11356559080231d372208ce37b5c3c2dbc7a7d660c5a59201fe0a09a1f49f39c74542ad66ca075959c38d763e13deed93acbd0ae9fc66104adb7baf52009e1f7 SHA512 aa9ad3f417a743e2fbc54d9fef8b11e52858195481d89bdc7ac635e10f9f017b0056999ed112bcc6f85c9de30c10117c32a5a5e35c98c7c1393c2efb6e8399c9 diff --git a/dev-python/snakemake/snakemake-8.25.3.ebuild b/dev-python/snakemake/snakemake-8.25.3.ebuild deleted file mode 100644 index 180f32309a6..00000000000 --- a/dev-python/snakemake/snakemake-8.25.3.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..12} ) -DISTUTILS_USE_PEP517=setuptools - -inherit distutils-r1 - -DESCRIPTION="Make-like task language" -HOMEPAGE="https://snakemake.readthedocs.io" -SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/appdirs[${PYTHON_USEDEP}] - dev-python/immutables[${PYTHON_USEDEP}] - dev-python/configargparse[${PYTHON_USEDEP}] - >=dev-python/connection_pool-0.0.3[${PYTHON_USEDEP}] - dev-python/datrie[${PYTHON_USEDEP}] - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/gitpython[${PYTHON_USEDEP}] - dev-python/humanfriendly[${PYTHON_USEDEP}] - >=dev-python/jinja2-3.0[${PYTHON_USEDEP}] - dev-python/jsonschema[${PYTHON_USEDEP}] - dev-python/nbformat[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - >=dev-python/requests-2.8.1[${PYTHON_USEDEP}] - dev-python/reretry[${PYTHON_USEDEP}] - >=dev-python/smart-open-4.0[${PYTHON_USEDEP}] - >=dev-python/snakemake-interface-common-1.17.0[${PYTHON_USEDEP}] - >=dev-python/snakemake-interface-executor-plugins-9.3.2[${PYTHON_USEDEP}] - >=dev-python/snakemake-interface-storage-plugins-3.2.3[${PYTHON_USEDEP}] - >=dev-python/snakemake-interface-report-plugins-1.1.0[${PYTHON_USEDEP}] - dev-python/stopit[${PYTHON_USEDEP}] - dev-python/tabulate[${PYTHON_USEDEP}] - dev-python/throttler[${PYTHON_USEDEP}] - dev-python/wrapt[${PYTHON_USEDEP}] - >=dev-python/yte-1.5.1[${PYTHON_USEDEP}] - >=dev-python/dpath-2.1.6[${PYTHON_USEDEP}] - >=dev-python/conda-inject-1.3.1[${PYTHON_USEDEP}] - >=sci-mathematics/pulp-2.3.1[${PYTHON_USEDEP}] -" - -# distutils_enable_sphinx docs \ -# dev-python/sphinxcontrib-napoleon \ -# dev-python/sphinx-argparse \ -# dev-python/sphinx-rtd-theme \ -# dev-python/docutils \ -# dev-python/recommonmark \ -# dev-python/myst-parser - -EPYTEST_IGNORE=( - # __file__ attribute does not match test name ('python_3_7') - tests/test_conda_python_3_7_script/test_script.py - # ModuleNotFoundError: No module named 'snakemake_executor_plugin_cluster_generic' - tests/test_executor_test_suite.py - # ImportError: cannot import name 'snakemake' from 'snakemake.script' - tests/test_script_py/scripts/test_explicit_import.py -) -EPYTEST_DESELECT=( - # No module named 'snakemake_storage_plugin_s3' - tests/test_api.py::test_deploy_sources -) -distutils_enable_tests pytest diff --git a/dev-python/snakemake/snakemake-8.28.0.ebuild b/dev-python/snakemake/snakemake-8.28.0.ebuild new file mode 100644 index 00000000000..46ff8027128 --- /dev/null +++ b/dev-python/snakemake/snakemake-8.28.0.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..12} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +DESCRIPTION="Make-like task language" +HOMEPAGE="https://snakemake.readthedocs.io" +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/immutables[${PYTHON_USEDEP}] + dev-python/configargparse[${PYTHON_USEDEP}] + >=dev-python/connection_pool-0.0.3[${PYTHON_USEDEP}] + dev-python/datrie[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/gitpython[${PYTHON_USEDEP}] + dev-python/humanfriendly[${PYTHON_USEDEP}] + >=dev-python/jinja-3.0[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/nbformat[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/requests-2.8.1[${PYTHON_USEDEP}] + dev-python/reretry[${PYTHON_USEDEP}] + >=dev-python/smart-open-4.0[${PYTHON_USEDEP}] + >=dev-python/snakemake-interface-common-1.17.0[${PYTHON_USEDEP}] + >=dev-python/snakemake-interface-executor-plugins-9.3.2[${PYTHON_USEDEP}] + >=dev-python/snakemake-interface-storage-plugins-3.2.3[${PYTHON_USEDEP}] + >=dev-python/snakemake-interface-report-plugins-1.1.0[${PYTHON_USEDEP}] + dev-python/stopit[${PYTHON_USEDEP}] + dev-python/tabulate[${PYTHON_USEDEP}] + dev-python/throttler[${PYTHON_USEDEP}] + dev-python/wrapt[${PYTHON_USEDEP}] + >=dev-python/yte-1.5.5[${PYTHON_USEDEP}] + >=dev-python/dpath-2.1.6[${PYTHON_USEDEP}] + >=dev-python/conda-inject-1.3.1[${PYTHON_USEDEP}] + >=sci-mathematics/pulp-2.3.1[${PYTHON_USEDEP}] +" +DEPEND=" + ${RDEPEND} + test? ( + dev-python/pytest-mock + ) +" + +# distutils_enable_sphinx docs \ +# dev-python/sphinxcontrib-napoleon \ +# dev-python/sphinx-argparse \ +# dev-python/sphinx-rtd-theme \ +# dev-python/docutils \ +# dev-python/recommonmark \ +# dev-python/myst-parser + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # No module named 'snakemake_storage_plugin_s3' + tests/tests.py::test_default_storage + tests/tests.py::test_default_storage_local_job + tests/tests.py::test_storage + tests/tests.py::test_output_file_cache_storage + tests/test_api.py::test_deploy_sources + # No module 'snakemake-executor-plugin-cluster-generic' + tests/tests.py::test_singularity_cluster + tests/tests.py::test_group_jobs + tests/tests.py::test_group_jobs_attempts + tests/tests.py::test_groups_out_of_jobs + tests/tests.py::test_global_resource_limits_limit_scheduling_of_groups + tests/tests.py::test_new_resources_can_be_defined_as_local + tests/tests.py::test_resources_can_be_overwritten_as_global + tests/tests.py::test_group_job_resources_with_pipe_with_too_much_constraint + tests/tests.py::test_multicomp_group_jobs + tests/tests.py::test_group_job_fail + tests/tests.py::test_issue850 + tests/tests.py::test_issue860 + tests/tests.py::test_job_properties + tests/tests.py::test_issue930 + tests/tests.py::test_string_resources + tests/tests.py::test_github_issue1158 + tests/tests.py::test_checkpoint_allowed_rules + tests/tests.py::test_groupid_expand_cluster + tests/tests.py::test_storage_localrule + tests/tests.py::test_storage_cleanup_local + tests/tests.py::test_scopes_submitted_to_cluster + tests/tests.py::test_resources_submitted_to_cluster + tests/tests.py::test_excluded_resources_not_submitted_to_cluster + tests/tests.py::test_group_job_resources_with_pipe + # Missing snakemake-storage-plugin-http + tests/tests.py::test_ancient + tests/tests.py::test_modules_prefix + # Missing snakemake-storage-plugin-fs + tests/tests.py::test_handle_storage_multi_consumers + tests/tests.py::test_checkpoint_open + # Missing python-polars + tests/tests.py::test_params_pickling + # requires conda and does not skip: https://github.com/snakemake/snakemake/pull/3298 + tests/tests.py::test_conda_create_envs_only + tests/tests.py::test_get_log_none + tests/tests.py::test_get_log_both + tests/tests.py::test_get_log_stderr + tests/tests.py::test_get_log_stdout + tests/tests.py::test_get_log_complex + tests/tests.py::test_issue1046 + tests/tests.py::test_containerize + # requires singularity and does not skip + tests/tests.py::test_singularity + tests/tests.py::test_cwl_singularity + tests/tests.py::test_shell_exec + # requires 'stress' in $PATH + tests/tests.py::test_benchmark + tests/tests.py::test_benchmark_jsonl + # requires 'dot' bash module + tests/tests.py::test_env_modules + # requires python-peppy + tests/tests.py::test_modules_peppy + tests/tests.py::test_peppy + tests/tests.py::test_pep_pathlib + # specifies CLI call --snakefile in spaced dir without quoting + tests/tests.py::test_with_parentheses + # missing .bashrc + tests/tests.py::test_strict_mode + # creates directory with chmod 000, breaks portage cleanup + tests/tests.py::test_github_issue640 + ) + + epytest -W ignore::ResourceWarning \ + tests/tests.py \ + tests/test_expand.py \ + tests/test_io.py \ + tests/test_schema.py \ + tests/test_api.py +}