From c84123dce5a576c0f677eb5918858591851b3921 Mon Sep 17 00:00:00 2001 From: alalazo Date: Sat, 22 Oct 2016 10:39:33 +0200 Subject: [PATCH] spack info : shows the build-system class used --- lib/spack/spack/cmd/info.py | 7 +++++-- lib/spack/spack/package.py | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/cmd/info.py b/lib/spack/spack/cmd/info.py index 0171d28fde..5366ad4aa8 100644 --- a/lib/spack/spack/cmd/info.py +++ b/lib/spack/spack/cmd/info.py @@ -48,8 +48,11 @@ def setup_parser(subparser): def print_text_info(pkg): """Print out a plain text description of a package.""" - print "Package: ", pkg.name - print "Homepage: ", pkg.homepage + header = "{0}: ".format(pkg.build_system_class) + + print header, pkg.name + whitespaces = ''.join([' '] * (len(header) - len("Homepage: "))) + print "Homepage:", whitespaces, pkg.homepage print print "Safe versions: " diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 75a708de9c..bc39c6400d 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -1674,6 +1674,9 @@ def rpath_args(self): class Package(PackageBase): phases = ['install'] + # To be used in UI queries that require to know which + # build-system class we are using + build_system_class = 'Package' # This will be used as a registration decorator in user # packages, if need be PackageBase.sanity_check('install')(PackageBase.sanity_check_prefix) @@ -1681,6 +1684,9 @@ class Package(PackageBase): class EditableMakefile(PackageBase): phases = ['edit', 'build', 'install'] + # To be used in UI queries that require to know which + # build-system class we are using + build_system_class = 'EditableMakefile' def wdir(self): return self.stage.source_path @@ -1709,6 +1715,9 @@ def install(self, spec, prefix): class AutotoolsPackage(PackageBase): phases = ['autoreconf', 'configure', 'build', 'install'] + # To be used in UI queries that require to know which + # build-system class we are using + build_system_class = 'AutotoolsPackage' def autoreconf(self, spec, prefix): """Not needed usually, configure should be already there""" @@ -1750,6 +1759,9 @@ def _run_default_function(self): class CMakePackage(PackageBase): phases = ['cmake', 'build', 'install'] + # To be used in UI queries that require to know which + # build-system class we are using + build_system_class = 'CMakePackage' def build_type(self): return 'RelWithDebInfo'