From 7a6c7f23a0eedbd63963a98451ac5516327c0a22 Mon Sep 17 00:00:00 2001 From: George Hartzell Date: Thu, 14 Nov 2019 14:26:44 -0800 Subject: [PATCH] py-matplotlib only needs backports when ^python@:2 (#13712) * py-matplotlib only needs backports when ^python@:2 This implements @scheibelp's suggestion in #13711. py-matplotlib should only depends_on py-backports-functools-lru-cache when it's using a python that actually *needs* it. See #13711 for details. * Don't depend_ons py-enum34 unless python@:3.3 * Tighten up enum34 dependency @adamjstewart cracked open the setup.py files and suggested a tighter dependency for py-enum34. 1.4 and 1.5 only require it for pythons before 3.4, 1.3 requires it unconditionally. So...., we'll do the same. * Remove conflict on python 3.4 from enum34 at @adamjstewart's request see PR notes --- var/spack/repos/builtin/packages/py-enum34/package.py | 1 - var/spack/repos/builtin/packages/py-matplotlib/package.py | 2 +- var/spack/repos/builtin/packages/py-multiqc/package.py | 3 ++- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-enum34/package.py b/var/spack/repos/builtin/packages/py-enum34/package.py index ee2d3e2ac6b..98f7fb088f3 100644 --- a/var/spack/repos/builtin/packages/py-enum34/package.py +++ b/var/spack/repos/builtin/packages/py-enum34/package.py @@ -15,6 +15,5 @@ class PyEnum34(PythonPackage): version('1.1.6', sha256='8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1') depends_on('python') - conflicts('python@3.4:') depends_on('py-ordereddict', when='^python@:2.6', type=('build', 'run')) depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index dfefbf01757..f51f9690c1e 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -85,7 +85,7 @@ class PyMatplotlib(PythonPackage): depends_on('py-subprocess32', type=('build', 'run'), when='^python@:2.7') depends_on('py-functools32', type=('build', 'run'), when='@:2.0.999 ^python@2.7') depends_on('py-backports-functools-lru-cache', type=('build', 'run'), - when='@2.1.0:2.999.999') + when='@2.1.0:2.999.999 ^python@:2') depends_on('py-six@1.9.0:', type=('build', 'run'), when='@:2') # Optional backend dependencies diff --git a/var/spack/repos/builtin/packages/py-multiqc/package.py b/var/spack/repos/builtin/packages/py-multiqc/package.py index 52d2a2bcbc3..b099cb9a36f 100644 --- a/var/spack/repos/builtin/packages/py-multiqc/package.py +++ b/var/spack/repos/builtin/packages/py-multiqc/package.py @@ -31,5 +31,6 @@ class PyMultiqc(PythonPackage): depends_on('py-pyyaml', type=('build', 'run')) depends_on('py-simplejson', type=('build', 'run')) depends_on('py-requests', type=('build', 'run'), when='@1.5:') - depends_on('py-enum34', type=('build', 'run'), when='@1.5:') + depends_on('py-enum34', type=('build', 'run'), when='@1.4:1.5 ^python@:3.3') + depends_on('py-enum34', type=('build', 'run'), when='@1.3') depends_on('py-markdown', type=('build', 'run'), when='@1.5:')