multi_deps and pyver
Trying to build some PythonPackage with easybuild 4.1.0 I noticed that if I declare
versionsuffix = '-Python-%(pyver)s'
dependencies = [('Python', '3.7.4')
('SciPy-bundle', '2019.10', versionsuffix)]
works, but trying with multi_deps like this
versionsuffix = '-Python-%(pyver)s'
multi_deps = {'Python': ['3.7.4', '2.7.16']}
dependencies = [('SciPy-bundle', '2019.10', versionsuffix)]
results in ERROR: Missing dependencies: SciPy-bundle/2019.10-foss-2019b-Python-%(pyver)s. Looks like multi_deps with multiple python versions does not properly define pyver?
If you build a package with python multi_dep there should be no versionsuffix -Python-... since it only creates a single installation.
But for Python 3.7.4/2.7.16 SciPy-bundle can't be made multi_dep due to numpy version differing between Python 3.7.4 and 2.7.16. So you need to create separate packages if it depends on SciPy-bundle
Yeah, I don't think your use case is supported yet, where you want one dependency version if it is Python2 and another if it is Python3. But we are doing something like that for architecture support (for Power) so maybe it is worth considering? It might work for SciPy since that is a bundle anyway so should only differ by a versionsuffix.
I "worked around" this by picking the latest version of the python package that dropped support for python 2.7, so the multi_deps thing went away entirely.