summaryrefslogtreecommitdiff
path: root/lib/spack/spack/cmd/create.py
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2016-06-24 16:43:31 -0500
committerAdam J. Stewart <ajstewart426@gmail.com>2016-06-24 16:43:31 -0500
commitea88d9cfe9b13a5335b367d74a9008f60a5d9c53 (patch)
tree0ded490f4e48438f6b55387a503bb3b7ff42df96 /lib/spack/spack/cmd/create.py
parent055f7f4ab61603dfd8634319a919b5a0daba06bc (diff)
downloadspack-ea88d9cfe9b13a5335b367d74a9008f60a5d9c53.tar.gz
spack-ea88d9cfe9b13a5335b367d74a9008f60a5d9c53.tar.bz2
spack-ea88d9cfe9b13a5335b367d74a9008f60a5d9c53.tar.xz
spack-ea88d9cfe9b13a5335b367d74a9008f60a5d9c53.zip
Make spack create automatically add dependencies for build system
Diffstat (limited to 'lib/spack/spack/cmd/create.py')
-rw-r--r--lib/spack/spack/cmd/create.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py
index 8cbb367f86..71bd196598 100644
--- a/lib/spack/spack/cmd/create.py
+++ b/lib/spack/spack/cmd/create.py
@@ -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 @@ class ConfigureGuesser(object):
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.