From 3e992aa283bce1fbc6d8b52a6927ce304fd0c5da Mon Sep 17 00:00:00 2001 From: Marcus Boden Date: Wed, 5 Jan 2022 17:53:30 +0100 Subject: [PATCH] Snakemake: New Version 6.12.3 (#28252) * snakemake: New version The newer versions of snakemake have a lot of new dependencies. The optional dependencies still have to be added. * removed comment * some changes * added reports variant * deprecate older version and add me as maintainer * Added dependency py-ratelimiter --- .../packages/py-ratelimiter/package.py | 19 ++++++++++ .../builtin/packages/snakemake/package.py | 36 +++++++++++++++++-- 2 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-ratelimiter/package.py diff --git a/var/spack/repos/builtin/packages/py-ratelimiter/package.py b/var/spack/repos/builtin/packages/py-ratelimiter/package.py new file mode 100644 index 0000000000..d501855f8b --- /dev/null +++ b/var/spack/repos/builtin/packages/py-ratelimiter/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyRatelimiter(PythonPackage): + """Simple Python module providing rate limiting.""" + + homepage = 'https://github.com/RazerM/ratelimiter' + pypi = 'ratelimiter/ratelimiter-1.2.0.post0.tar.gz' + + maintainers = ['marcusboden'] + + version('1.2.0.post0', '5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7') + + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/snakemake/package.py b/var/spack/repos/builtin/packages/snakemake/package.py index 3cc12feacd..73302ac437 100644 --- a/var/spack/repos/builtin/packages/snakemake/package.py +++ b/var/spack/repos/builtin/packages/snakemake/package.py @@ -10,11 +10,41 @@ class Snakemake(PythonPackage): """Snakemake is an MIT-licensed workflow management system.""" homepage = "https://snakemake.readthedocs.io/en/stable/" - pypi = "snakemake/snakemake-3.11.2.tar.gz" + pypi = "snakemake/snakemake-6.12.3.tar.gz" + maintainers = ['marcusboden'] - version('3.11.2', sha256='f7a3b586bc2195f2dce4a4817b7ec828b6d2a0cff74a04e0f7566dcd923f9761') + version('6.12.3', sha256='af86af9a540da3dceb05dad1040f1d3d733e6a695f8b3f8c30f8cf3bc6570a88') + version('3.11.2', sha256='f7a3b586bc2195f2dce4a4817b7ec828b6d2a0cff74a04e0f7566dcd923f9761', deprecated=True) - depends_on('python@3.3:3.6') depends_on('py-requests', type=('build', 'run')) depends_on('py-setuptools', type=('build', 'run')) depends_on('py-wrapt', type=('build', 'run')) + + depends_on('python@3.3:3.6', when='@:5') + + with when('@6:'): + depends_on('python@3.5:') + depends_on('py-pyyaml', type=('build', 'run')) + depends_on('py-configargparse', type=('build', 'run')) + depends_on('py-appdirs', type=('build', 'run')) + depends_on('py-datrie', type=('build', 'run')) + depends_on('py-jsonschema', type=('build', 'run')) + depends_on('py-docutils', type=('build', 'run')) + depends_on('py-gitpython', type=('build', 'run')) + depends_on('py-psutil', type=('build', 'run')) + depends_on('py-nbformat', type=('build', 'run')) + depends_on('py-toposort', type=('build', 'run')) + depends_on('py-connectionpool@0.0.3:', type=('build', 'run')) + depends_on('py-pulp@2.0:', type=('build', 'run')) + depends_on('py-smart-open@3.0:', type=('build', 'run')) + depends_on('py-filelock', type=('build', 'run')) + depends_on('py-stopit', type=('build', 'run')) + depends_on('py-tabulate', type=('build', 'run')) + depends_on('py-ratelimiter', type=('build', 'run')) + + variant('reports', default=False, description='Generate self-contained HTML reports') + with when('+reports'): + depends_on('py-jinja2', type=('build', 'run')) + depends_on('py-networkx', type=('build', 'run')) + depends_on('py-pygments', type=('build', 'run')) + depends_on('py-pygraphviz', type=('build', 'run'))