Make spack create automatically add dependencies for build system

This commit is contained in:
Adam J. Stewart 2016-06-24 16:43:31 -05:00
parent 055f7f4ab6
commit ea88d9cfe9

View File

@ -95,9 +95,9 @@ class ${class_name}(Package):
url = "${url}"
${versions}
${extends}
# FIXME: Add dependencies if this package requires them.
# depends_on("foo")
# FIXME: Add additional dependencies if required.
${dependencies}
def install(self, spec, prefix):
${install}
@ -136,8 +136,17 @@ def setup_parser(subparser):
class ConfigureGuesser(object):
def __call__(self, stage):
"""Try to guess the type of build system used by the project.
Set the appropriate default installation instructions and any
necessary extensions for Python and R."""
Set any necessary build dependencies or extensions.
Set the appropriate default installation instructions."""
# Build dependencies and extensions
dependenciesDict = {
'autotools': "# depends_on('foo')",
'cmake': "depends_on('cmake')",
'scons': "depends_on('scons')",
'python': "extends('python')",
'R': "extends('R')"
}
# Default installation instructions
installDict = {
@ -214,16 +223,12 @@ def __call__(self, stage):
self.build_system = build_system
# Set any necessary build dependencies or extensions.
self.dependencies = dependenciesDict[build_system]
# Set the appropriate default installation instructions
self.install = installDict[build_system]
# Set any necessary extensions for Python and R
extensions = ''
if build_system in ['python', 'R']:
extensions = "\n extends('{0}')\n".format(build_system)
self.extends = extensions
def guess_name_and_version(url, args):
# Try to deduce name and version of the new package from the URL
@ -361,7 +366,7 @@ def create(parser, args):
class_name=mod_to_class(name),
url=url,
versions=make_version_calls(ver_hash_tuples),
extends=guesser.extends,
dependencies=guesser.dependencies,
install=guesser.install))
# If everything checks out, go ahead and edit.