Make spack create automatically add dependencies for build system
This commit is contained in:
parent
055f7f4ab6
commit
ea88d9cfe9
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user