Spack packages now PEP8 compliant.

This commit is contained in:
Todd Gamblin
2016-08-10 01:50:00 -07:00
parent 867121ca68
commit 240f1fd223
381 changed files with 2457 additions and 1617 deletions

View File

@@ -23,21 +23,24 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
import sys
class AdolC(Package):
"""A package for the automatic differentiation of first and higher derivatives of vector functions in C and C++ programs by operator overloading."""
"""A package for the automatic differentiation of first and higher
derivatives of vector functions in C and C++ programs by operator
overloading."""
homepage = "https://projects.coin-or.org/ADOL-C"
url = "http://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.6.1.tgz"
version('head', svn='https://projects.coin-or.org/svn/ADOL-C/trunk/')
version('2.6.1', '1032b28427d6e399af4610e78c0f087b')
variant('doc', default=True, description='Install documentation')
variant('openmp', default=False, description='Enable OpenMP support')
variant('sparse', default=False, description='Enable sparse drivers')
variant('tests', default=True, description='Build all included examples as a test case')
variant('tests', default=True,
description='Build all included examples as a test case')
patch('openmp_exam.patch')
def install(self, spec, prefix):
@@ -49,10 +52,14 @@ def install(self, spec, prefix):
if '+openmp' in spec:
if spec.satisfies('%gcc'):
make_args.extend([
'--with-openmp-flag=-fopenmp' # FIXME: Is this required? -I <path to omp.h> -L <LLVM OpenMP library path>
# FIXME: Is this required? -I <path to omp.h> -L <LLVM
# OpenMP library path>
'--with-openmp-flag=-fopenmp'
])
else:
raise InstallError("OpenMP flags for compilers other than GCC are not implemented.")
raise InstallError(
"OpenMP flags for compilers other than GCC "
"are not implemented.")
if '+sparse' in spec:
make_args.extend([
@@ -63,7 +70,7 @@ def install(self, spec, prefix):
# whether Adol-C works as expected
if '+tests' in spec:
make_args.extend([
'--enable-docexa', # Documeted examples
'--enable-docexa', # Documeted examples
'--enable-addexa' # Additional examples
])
if '+openmp' in spec:
@@ -74,31 +81,36 @@ def install(self, spec, prefix):
configure(*make_args)
make()
make("install")
# Copy the config.h file, as some packages might require it
source_directory = self.stage.source_path
config_h = join_path(source_directory,'ADOL-C','src','config.h')
install(config_h, join_path(prefix.include,'adolc'))
config_h = join_path(source_directory, 'ADOL-C', 'src', 'config.h')
install(config_h, join_path(prefix.include, 'adolc'))
# Install documentation to {prefix}/share
if '+doc' in spec:
install_tree(join_path('ADOL-C','doc'),
join_path(prefix.share,'doc'))
install_tree(join_path('ADOL-C', 'doc'),
join_path(prefix.share, 'doc'))
# Install examples to {prefix}/share
if '+tests' in spec:
install_tree(join_path('ADOL-C','examples'),
join_path(prefix.share,'examples'))
install_tree(join_path('ADOL-C', 'examples'),
join_path(prefix.share, 'examples'))
# Run some examples that don't require user input
# TODO: Check that bundled examples produce the correct results
with working_dir(join_path(source_directory,'ADOL-C','examples')):
with working_dir(join_path(
source_directory, 'ADOL-C', 'examples')):
Executable('./tapeless_scalar')()
Executable('./tapeless_vector')()
with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
with working_dir(join_path(
source_directory,
'ADOL-C', 'examples', 'additional_examples')):
Executable('./checkpointing/checkpointing')()
if '+openmp' in spec:
with working_dir(join_path(source_directory,'ADOL-C','examples','additional_examples')):
with working_dir(join_path(
source_directory,
'ADOL-C', 'examples', 'additional_examples')):
Executable('./checkpointing/checkpointing')()