Mass conversion of setup_(dependent_)?environment (#13924)
* Mass conversion of setup_(dependent_)?environment * prefix -> self.prefix
This commit is contained in:
parent
92ca639905
commit
ab98ef1765
@ -942,7 +942,7 @@ def mpi_setup_dependent_build_environment(
|
|||||||
for key, value in wrapper_vars.items():
|
for key, value in wrapper_vars.items():
|
||||||
env.set(key, value)
|
env.set(key, value)
|
||||||
|
|
||||||
debug_print("adding to spack_env:", wrapper_vars)
|
debug_print("adding to build env:", wrapper_vars)
|
||||||
|
|
||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
# General support for child packages
|
# General support for child packages
|
||||||
@ -1054,7 +1054,7 @@ def _setup_dependent_env_callback(
|
|||||||
env.append_path('SPACK_COMPILER_EXTRA_RPATHS',
|
env.append_path('SPACK_COMPILER_EXTRA_RPATHS',
|
||||||
env_mods['SPACK_COMPILER_EXTRA_RPATHS'])
|
env_mods['SPACK_COMPILER_EXTRA_RPATHS'])
|
||||||
|
|
||||||
debug_print("adding/modifying spack_env:", env_mods)
|
debug_print("adding/modifying build env:", env_mods)
|
||||||
|
|
||||||
if '+mpi' in self.spec or self.provides('mpi'):
|
if '+mpi' in self.spec or self.provides('mpi'):
|
||||||
if compilers_of_client:
|
if compilers_of_client:
|
||||||
|
@ -29,12 +29,11 @@ class OctavePackage(PackageBase):
|
|||||||
extends('octave')
|
extends('octave')
|
||||||
depends_on('octave', type=('build', 'run'))
|
depends_on('octave', type=('build', 'run'))
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
"""Set up the compile and runtime environments for a package."""
|
|
||||||
# octave does not like those environment variables to be set:
|
# octave does not like those environment variables to be set:
|
||||||
spack_env.unset('CC')
|
env.unset('CC')
|
||||||
spack_env.unset('CXX')
|
env.unset('CXX')
|
||||||
spack_env.unset('FC')
|
env.unset('FC')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
"""Install the package from the archive file"""
|
"""Install the package from the archive file"""
|
||||||
|
@ -141,7 +141,6 @@ def invalid_sha256_digest(fetcher):
|
|||||||
assert [] == errors
|
assert [] == errors
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.xfail
|
|
||||||
def test_api_for_build_and_run_environment():
|
def test_api_for_build_and_run_environment():
|
||||||
"""Ensure that every package uses the correct API to set build and
|
"""Ensure that every package uses the correct API to set build and
|
||||||
run environment, and not the old one.
|
run environment, and not the old one.
|
||||||
@ -182,7 +181,9 @@ def test_prs_update_old_api():
|
|||||||
if failed:
|
if failed:
|
||||||
failing.append(name)
|
failing.append(name)
|
||||||
|
|
||||||
msg = 'there are {0} packages still using old APIs in this PR [{1}]'
|
msg = ('there are {0} packages using the old API to set build '
|
||||||
|
'and run environment [{1}], for further information see '
|
||||||
|
'https://github.com/spack/spack/pull/11115')
|
||||||
assert not failing, msg.format(
|
assert not failing, msg.format(
|
||||||
len(failing), ','.join(failing)
|
len(failing), ','.join(failing)
|
||||||
)
|
)
|
||||||
|
@ -40,11 +40,11 @@ class Amber(Package, CudaPackage):
|
|||||||
depends_on('py-matplotlib@:2.9', type=('build', 'run'))
|
depends_on('py-matplotlib@:2.9', type=('build', 'run'))
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
sp_dir = join_path(self.prefix, 'python2.7/site-packages')
|
sp_dir = join_path(self.prefix, 'python2.7/site-packages')
|
||||||
|
|
||||||
run_env.set('AMBERHOME', self.prefix)
|
env.set('AMBERHOME', self.prefix)
|
||||||
run_env.prepend_path('PYTHONPATH', sp_dir)
|
env.prepend_path('PYTHONPATH', sp_dir)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
# install AmberTools where it should be
|
# install AmberTools where it should be
|
||||||
|
@ -173,16 +173,16 @@ def edit(self, spec, prefix):
|
|||||||
with open('GNUmakefile', 'w') as file:
|
with open('GNUmakefile', 'w') as file:
|
||||||
file.writelines(contents)
|
file.writelines(contents)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# We don't want an AMREX_HOME the user may have set already
|
# We don't want an AMREX_HOME the user may have set already
|
||||||
spack_env.unset('AMREX_HOME')
|
env.unset('AMREX_HOME')
|
||||||
# Help force Amrvis to not pick up random system compilers
|
# Help force Amrvis to not pick up random system compilers
|
||||||
if '+mpi' in self.spec:
|
if '+mpi' in self.spec:
|
||||||
spack_env.set('MPI_HOME', self.spec['mpi'].prefix)
|
env.set('MPI_HOME', self.spec['mpi'].prefix)
|
||||||
spack_env.set('CC', self.spec['mpi'].mpicc)
|
env.set('CC', self.spec['mpi'].mpicc)
|
||||||
spack_env.set('CXX', self.spec['mpi'].mpicxx)
|
env.set('CXX', self.spec['mpi'].mpicxx)
|
||||||
spack_env.set('F77', self.spec['mpi'].mpif77)
|
env.set('F77', self.spec['mpi'].mpif77)
|
||||||
spack_env.set('FC', self.spec['mpi'].mpifc)
|
env.set('FC', self.spec['mpi'].mpifc)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
# Install exe manually
|
# Install exe manually
|
||||||
|
@ -22,8 +22,8 @@ class Angsd(MakefilePackage):
|
|||||||
depends_on('htslib')
|
depends_on('htslib')
|
||||||
conflicts('^htslib@1.6:', when='@0.919')
|
conflicts('^htslib@1.6:', when='@0.919')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('R_LIBS', prefix.R)
|
env.set('R_LIBS', self.prefix.R)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
mkdirp(prefix.bin)
|
mkdirp(prefix.bin)
|
||||||
|
@ -30,5 +30,5 @@ def install(self, spec, prefix):
|
|||||||
make("install")
|
make("install")
|
||||||
install_tree('Scripts', prefix.bin)
|
install_tree('Scripts', prefix.bin)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('ANTSPATH', self.prefix.bin)
|
env.set('ANTSPATH', self.prefix.bin)
|
||||||
|
@ -17,8 +17,8 @@ class AsperaCli(Package):
|
|||||||
url='https://download.asperasoft.com/download/sw/cli/3.7.7/aspera-cli-3.7.7.608.927cce8-linux-64-release.sh',
|
url='https://download.asperasoft.com/download/sw/cli/3.7.7/aspera-cli-3.7.7.608.927cce8-linux-64-release.sh',
|
||||||
expand=False)
|
expand=False)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.prefix.cli.bin)
|
env.prepend_path('PATH', self.prefix.cli.bin)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
runfile = glob(join_path(self.stage.source_path, 'aspera-cli*.sh'))[0]
|
runfile = glob(join_path(self.stage.source_path, 'aspera-cli*.sh'))[0]
|
||||||
|
@ -44,5 +44,5 @@ def install(self, spec, prefix):
|
|||||||
filter_file('astral.jar', join_path(prefix.tools, jar_file),
|
filter_file('astral.jar', join_path(prefix.tools, jar_file),
|
||||||
script, **kwargs)
|
script, **kwargs)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('ASTRAL_HOME', self.prefix.tools)
|
env.set('ASTRAL_HOME', self.prefix.tools)
|
||||||
|
@ -35,6 +35,6 @@ def url_for_version(self, version):
|
|||||||
url = 'http://ftp.gnome.org/pub/gnome/sources/at-spi2-core'
|
url = 'http://ftp.gnome.org/pub/gnome/sources/at-spi2-core'
|
||||||
return url + '/%s/at-spi2-core-%s.tar.xz' % (version.up_to(2), version)
|
return url + '/%s/at-spi2-core-%s.tar.xz' % (version.up_to(2), version)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# this avoids an "import site" error in the build
|
# this avoids an "import site" error in the build
|
||||||
spack_env.unset('PYTHONHOME')
|
env.unset('PYTHONHOME')
|
||||||
|
@ -35,11 +35,11 @@ def url_for_version(self, version):
|
|||||||
url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
|
url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
|
||||||
return url + '/%s/atk-%s.tar.xz' % (version.up_to(2), version)
|
return url + '/%s/atk-%s.tar.xz' % (version.up_to(2), version)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS",
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
self.prefix.share)
|
|
||||||
run_env.prepend_path("XDG_DATA_DIRS",
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
self.prefix.share)
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
with working_dir('spack-build', create=True):
|
with working_dir('spack-build', create=True):
|
||||||
|
@ -20,6 +20,6 @@ class Bbmap(Package):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('.', prefix.bin)
|
install_tree('.', prefix.bin)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('BBMAP_CONFIG', self.prefix.bin.config)
|
env.set('BBMAP_CONFIG', self.prefix.bin.config)
|
||||||
run_env.set('BBMAP_RESOURCES', self.prefix.bin.resources)
|
env.set('BBMAP_RESOURCES', self.prefix.bin.resources)
|
||||||
|
@ -22,8 +22,8 @@ class Beast2(Package):
|
|||||||
|
|
||||||
depends_on('java')
|
depends_on('java')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('BEAST', self.prefix)
|
env.set('BEAST', self.prefix)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('bin', prefix.bin)
|
install_tree('bin', prefix.bin)
|
||||||
|
@ -45,10 +45,7 @@ def install(self, spec, prefix):
|
|||||||
install_tree('hdf', prefix.hdf)
|
install_tree('hdf', prefix.hdf)
|
||||||
install_tree('pbdata', prefix.pbdata)
|
install_tree('pbdata', prefix.pbdata)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path('LD_LIBRARY_PATH',
|
env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.hdf)
|
||||||
self.spec.prefix.hdf)
|
env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.alignment)
|
||||||
spack_env.prepend_path('LD_LIBRARY_PATH',
|
env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.pbdata)
|
||||||
self.spec.prefix.alignment)
|
|
||||||
spack_env.prepend_path('LD_LIBRARY_PATH',
|
|
||||||
self.spec.prefix.pbdata)
|
|
||||||
|
@ -26,19 +26,19 @@ class Blasr(Package):
|
|||||||
|
|
||||||
phases = ['configure', 'build', 'install']
|
phases = ['configure', 'build', 'install']
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.spec.prefix.utils)
|
env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix)
|
||||||
spack_env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix)
|
env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.pbdata)
|
||||||
spack_env.prepend_path('CPATH', self.spec[
|
env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.alignment)
|
||||||
'blasr-libcpp'].prefix.pbdata)
|
env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.hdf)
|
||||||
spack_env.prepend_path('CPATH', self.spec[
|
|
||||||
'blasr-libcpp'].prefix.alignment)
|
|
||||||
spack_env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.hdf)
|
|
||||||
|
|
||||||
# hdf has +mpi by default, so handle that possibility
|
# hdf has +mpi by default, so handle that possibility
|
||||||
if ('+mpi' in self.spec['hdf5']):
|
if ('+mpi' in self.spec['hdf5']):
|
||||||
spack_env.set('CC', self.spec['mpi'].mpicc)
|
env.set('CC', self.spec['mpi'].mpicc)
|
||||||
spack_env.set('CXX', self.spec['mpi'].mpicxx)
|
env.set('CXX', self.spec['mpi'].mpicxx)
|
||||||
|
|
||||||
|
def setup_run_environment(self, env):
|
||||||
|
env.prepend_path('PATH', self.spec.prefix.utils)
|
||||||
|
|
||||||
def configure(self, spec, prefix):
|
def configure(self, spec, prefix):
|
||||||
configure_args = [
|
configure_args = [
|
||||||
|
@ -17,8 +17,8 @@ class Blat(Package):
|
|||||||
|
|
||||||
depends_on('libpng')
|
depends_on('libpng')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('MACHTYPE', 'x86_64')
|
env.set('MACHTYPE', 'x86_64')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
mkdirp(prefix.bin)
|
mkdirp(prefix.bin)
|
||||||
|
@ -201,11 +201,11 @@ def cmake_args(self):
|
|||||||
#
|
#
|
||||||
# Environment setup
|
# Environment setup
|
||||||
#
|
#
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# Bohrium needs an extra include dir apart from
|
# Bohrium needs an extra include dir apart from
|
||||||
# the self.prefix.include dir
|
# the self.prefix.include dir
|
||||||
run_env.prepend_path("CPATH", self.prefix.include.bohrium)
|
env.prepend_path("CPATH", self.prefix.include.bohrium)
|
||||||
run_env.set("BH_CONFIG", self.config_file)
|
env.set("BH_CONFIG", self.config_file)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Quick tests
|
# Quick tests
|
||||||
|
@ -62,5 +62,5 @@ def filter_sbang(self):
|
|||||||
for file in files:
|
for file in files:
|
||||||
filter_file(pattern, repl, *files, backup=False)
|
filter_file(pattern, repl, *files, backup=False)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PERL5LIB', prefix.lib)
|
env.prepend_path('PERL5LIB', self.prefix.lib)
|
||||||
|
@ -30,8 +30,6 @@ class Breseq(AutotoolsPackage):
|
|||||||
conflicts('%gcc@:4.8')
|
conflicts('%gcc@:4.8')
|
||||||
conflicts('%clang@:3.3')
|
conflicts('%clang@:3.3')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('LDFLAGS',
|
env.set('LDFLAGS', "-L{0}".format(self.spec['zlib'].prefix.lib))
|
||||||
"-L{0}".format(self.spec['zlib'].prefix.lib))
|
env.set('CFLAGS', "-I{0}".format(self.spec['zlib'].prefix.include))
|
||||||
spack_env.set('CFLAGS',
|
|
||||||
"-I{0}".format(self.spec['zlib'].prefix.include))
|
|
||||||
|
@ -25,5 +25,5 @@ class Casper(MakefilePackage):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('.', prefix)
|
install_tree('.', prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.spec.prefix)
|
env.prepend_path('PATH', self.spec.prefix)
|
||||||
|
@ -148,7 +148,7 @@ def do_stage(self, mirror_only=False):
|
|||||||
tty.msg("Already generated %s in %s" % (self.name,
|
tty.msg("Already generated %s in %s" % (self.name,
|
||||||
self.stage.source_path))
|
self.stage.source_path))
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# paraview 5.5 and later
|
# paraview 5.5 and later
|
||||||
# - cmake under lib/cmake/paraview-5.5
|
# - cmake under lib/cmake/paraview-5.5
|
||||||
# - libs under lib
|
# - libs under lib
|
||||||
@ -160,18 +160,18 @@ def setup_environment(self, spack_env, run_env):
|
|||||||
|
|
||||||
if self.spec.version <= Version('5.4.1'):
|
if self.spec.version <= Version('5.4.1'):
|
||||||
lib_dir = join_path(lib_dir, paraview_subdir)
|
lib_dir = join_path(lib_dir, paraview_subdir)
|
||||||
run_env.set('ParaView_DIR', self.prefix)
|
env.set('ParaView_DIR', self.prefix)
|
||||||
run_env.prepend_path('LIBRARY_PATH', lib_dir)
|
env.prepend_path('LIBRARY_PATH', lib_dir)
|
||||||
run_env.prepend_path('LD_LIBRARY_PATH', lib_dir)
|
env.prepend_path('LD_LIBRARY_PATH', lib_dir)
|
||||||
|
|
||||||
if '+python' in self.spec or '+python3' in self.spec:
|
if '+python' in self.spec or '+python3' in self.spec:
|
||||||
python_version = self.spec['python'].version.up_to(2)
|
python_version = self.spec['python'].version.up_to(2)
|
||||||
run_env.prepend_path('PYTHONPATH', join_path(lib_dir,
|
env.prepend_path('PYTHONPATH', join_path(lib_dir,
|
||||||
'python{0}'.format(python_version),
|
'python{0}'.format(python_version),
|
||||||
'site-packages'))
|
'site-packages'))
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.set('ParaView_DIR', self.prefix)
|
env.set('ParaView_DIR', self.prefix)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def root_cmakelists_dir(self):
|
def root_cmakelists_dir(self):
|
||||||
|
@ -31,27 +31,27 @@ class Cbench(MakefilePackage):
|
|||||||
conflicts('%xl')
|
conflicts('%xl')
|
||||||
conflicts('%xl_r')
|
conflicts('%xl_r')
|
||||||
|
|
||||||
def setup_environment(self, build_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# The location of the Cbench source tree
|
# The location of the Cbench source tree
|
||||||
build_env.set('CBENCHOME', self.stage.source_path)
|
env.set('CBENCHOME', self.stage.source_path)
|
||||||
|
|
||||||
# The location that will contain all of your tests and their results
|
# The location that will contain all of your tests and their results
|
||||||
build_env.set('CBENCHTEST', self.prefix)
|
env.set('CBENCHTEST', self.prefix)
|
||||||
|
|
||||||
# The location of the system MPI tree
|
# The location of the system MPI tree
|
||||||
build_env.set('MPIHOME', self.spec['mpi'].prefix)
|
env.set('MPIHOME', self.spec['mpi'].prefix)
|
||||||
|
|
||||||
# Pick the compiler collection/chain you want to compile with.
|
# Pick the compiler collection/chain you want to compile with.
|
||||||
# Examples include: intel, gcc, pgi.
|
# Examples include: intel, gcc, pgi.
|
||||||
build_env.set('COMPILERCOLLECTION', self.compiler.name)
|
env.set('COMPILERCOLLECTION', self.compiler.name)
|
||||||
|
|
||||||
# Linking flags for BLAS/LAPACK and FFTW
|
# Linking flags for BLAS/LAPACK and FFTW
|
||||||
build_env.set('BLASLIB', self.spec['blas'].libs.ld_flags)
|
env.set('BLASLIB', self.spec['blas'].libs.ld_flags)
|
||||||
build_env.set('LAPACKLIB', self.spec['lapack'].libs.ld_flags)
|
env.set('LAPACKLIB', self.spec['lapack'].libs.ld_flags)
|
||||||
build_env.set('FFTWLIB', self.spec['fftw'].libs.ld_flags)
|
env.set('FFTWLIB', self.spec['fftw'].libs.ld_flags)
|
||||||
|
|
||||||
# The number of make jobs (commands) to run simultaneously
|
# The number of make jobs (commands) to run simultaneously
|
||||||
build_env.set('JOBS', str(make_jobs))
|
env.set('JOBS', str(make_jobs))
|
||||||
|
|
||||||
@run_before('build')
|
@run_before('build')
|
||||||
@on_package_attributes(run_tests=True)
|
@on_package_attributes(run_tests=True)
|
||||||
|
@ -31,5 +31,5 @@ def build(self, spec, prefix):
|
|||||||
make_args.append('zlib=no')
|
make_args.append('zlib=no')
|
||||||
make(*make_args)
|
make(*make_args)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('PREFIX', prefix.bin)
|
env.set('PREFIX', self.prefix.bin)
|
||||||
|
@ -82,17 +82,17 @@ class Charmpp(Package):
|
|||||||
provides('mpi@2', when='@6.7.1: build-target=AMPI backend={0}'.format(b))
|
provides('mpi@2', when='@6.7.1: build-target=AMPI backend={0}'.format(b))
|
||||||
provides('mpi@2', when='@6.7.1: build-target=LIBS backend={0}'.format(b))
|
provides('mpi@2', when='@6.7.1: build-target=LIBS backend={0}'.format(b))
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.set('MPICC', join_path(self.prefix.bin, 'ampicc'))
|
env.set('MPICC', self.prefix.bin.ampicc)
|
||||||
spack_env.set('MPICXX', join_path(self.prefix.bin, 'ampicxx'))
|
env.set('MPICXX', self.prefix.bin.ampicxx)
|
||||||
spack_env.set('MPIF77', join_path(self.prefix.bin, 'ampif77'))
|
env.set('MPIF77', self.prefix.bin.ampif77)
|
||||||
spack_env.set('MPIF90', join_path(self.prefix.bin, 'ampif90'))
|
env.set('MPIF90', self.prefix.bin.ampif90)
|
||||||
|
|
||||||
def setup_dependent_package(self, module, dependent_spec):
|
def setup_dependent_package(self, module, dependent_spec):
|
||||||
self.spec.mpicc = join_path(self.prefix.bin, 'ampicc')
|
self.spec.mpicc = self.prefix.bin.ampicc
|
||||||
self.spec.mpicxx = join_path(self.prefix.bin, 'ampicxx')
|
self.spec.mpicxx = self.prefix.bin.ampicxx
|
||||||
self.spec.mpifc = join_path(self.prefix.bin, 'ampif90')
|
self.spec.mpifc = self.prefix.bin.ampif90
|
||||||
self.spec.mpif77 = join_path(self.prefix.bin, 'ampif77')
|
self.spec.mpif77 = self.prefix.bin.ampif77
|
||||||
|
|
||||||
depends_on("mpi", when="backend=mpi")
|
depends_on("mpi", when="backend=mpi")
|
||||||
depends_on("papi", when="+papi")
|
depends_on("papi", when="+papi")
|
||||||
|
@ -35,22 +35,27 @@ def autoreconf(self, spec, prefix):
|
|||||||
bash = which('bash')
|
bash = which('bash')
|
||||||
bash('./bootstrap')
|
bash('./bootstrap')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
rose_home = self.spec['rose'].prefix
|
rose_home = self.spec['rose'].prefix
|
||||||
boost_home = self.spec['boost'].prefix
|
boost_home = self.spec['boost'].prefix
|
||||||
iegen_home = self.spec['iegenlib'].prefix
|
iegen_home = self.spec['iegenlib'].prefix
|
||||||
|
|
||||||
spack_env.append_path('LD_LIBRARY_PATH', rose_home.lib)
|
env.set('ROSEHOME', rose_home)
|
||||||
spack_env.append_path('LD_LIBRARY_PATH', boost_home.lib)
|
env.set('BOOSTHOME', boost_home)
|
||||||
spack_env.append_path('LD_LIBRARY_PATH', iegen_home.lib)
|
env.set('IEGENHOME', iegen_home)
|
||||||
|
|
||||||
run_env.append_path('LD_LIBRARY_PATH', rose_home.lib)
|
env.append_path('LD_LIBRARY_PATH', rose_home.lib)
|
||||||
run_env.append_path('LD_LIBRARY_PATH', boost_home.lib)
|
env.append_path('LD_LIBRARY_PATH', boost_home.lib)
|
||||||
run_env.append_path('LD_LIBRARY_PATH', iegen_home.lib)
|
env.append_path('LD_LIBRARY_PATH', iegen_home.lib)
|
||||||
|
|
||||||
spack_env.set('ROSEHOME', rose_home)
|
def setup_run_environment(self, env):
|
||||||
spack_env.set('BOOSTHOME', boost_home)
|
rose_home = self.spec['rose'].prefix
|
||||||
spack_env.set('IEGENHOME', iegen_home)
|
boost_home = self.spec['boost'].prefix
|
||||||
|
iegen_home = self.spec['iegenlib'].prefix
|
||||||
|
|
||||||
|
env.append_path('LD_LIBRARY_PATH', rose_home.lib)
|
||||||
|
env.append_path('LD_LIBRARY_PATH', boost_home.lib)
|
||||||
|
env.append_path('LD_LIBRARY_PATH', iegen_home.lib)
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = ['--with-rose={0}'.format(self.spec['rose'].prefix),
|
args = ['--with-rose={0}'.format(self.spec['rose'].prefix),
|
||||||
|
@ -29,5 +29,5 @@ def install(self, spec, prefix):
|
|||||||
os.rename('chlorop', 'bin/chlorop')
|
os.rename('chlorop', 'bin/chlorop')
|
||||||
install_tree('.', prefix)
|
install_tree('.', prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('CHLOROP', self.prefix)
|
env.set('CHLOROP', self.prefix)
|
||||||
|
@ -23,6 +23,6 @@ def install(self, spec, prefix):
|
|||||||
# (CMake) Header Only library so just copy
|
# (CMake) Header Only library so just copy
|
||||||
install_tree(self.stage.source_path, prefix)
|
install_tree(self.stage.source_path, prefix)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path('CMAKE_PREFIX_PATH', self.prefix)
|
env.prepend_path('CMAKE_PREFIX_PATH', self.prefix)
|
||||||
spack_env.set('CINCH_SOURCE_DIR', self.prefix)
|
env.set('CINCH_SOURCE_DIR', self.prefix)
|
||||||
|
@ -36,9 +36,9 @@ class Citcoms(AutotoolsPackage):
|
|||||||
conflicts('+pyre', when='@3.3:', msg='Pyre support was removed from 3.3+')
|
conflicts('+pyre', when='@3.3:', msg='Pyre support was removed from 3.3+')
|
||||||
conflicts('+exchanger', when='@3.3:', msg='Exchanger support was removed from 3.3+')
|
conflicts('+exchanger', when='@3.3:', msg='Exchanger support was removed from 3.3+')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
if '+ggrd' in self.spec:
|
if '+ggrd' in self.spec:
|
||||||
spack_env.set('HC_HOME', self.spec['hc'].prefix)
|
env.set('HC_HOME', self.spec['hc'].prefix)
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = ['CC={0}'.format(self.spec['mpi'].mpicc)]
|
args = ['CC={0}'.format(self.spec['mpi'].mpicc)]
|
||||||
|
@ -215,7 +215,7 @@ def install(self, spec, prefix):
|
|||||||
if not os.path.exists('make_surface'):
|
if not os.path.exists('make_surface'):
|
||||||
os.symlink(make_surface, 'make_surface')
|
os.symlink(make_surface, 'make_surface')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# CONVERGE searches for a valid license file in:
|
# CONVERGE searches for a valid license file in:
|
||||||
# $CONVERGE_ROOT/license/license.lic
|
# $CONVERGE_ROOT/license/license.lic
|
||||||
run_env.set('CONVERGE_ROOT', self.prefix)
|
env.set('CONVERGE_ROOT', self.prefix)
|
||||||
|
@ -21,8 +21,8 @@ class Cppunit(AutotoolsPackage):
|
|||||||
multi=False,
|
multi=False,
|
||||||
description='Use the specified C++ standard when building.')
|
description='Use the specified C++ standard when building.')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
cxxstd = self.spec.variants['cxxstd'].value
|
cxxstd = self.spec.variants['cxxstd'].value
|
||||||
cxxstdflag = '' if cxxstd == 'default' else \
|
cxxstdflag = '' if cxxstd == 'default' else \
|
||||||
getattr(self.compiler, 'cxx{0}_flag'.format(cxxstd))
|
getattr(self.compiler, 'cxx{0}_flag'.format(cxxstd))
|
||||||
spack_env.append_flags('CXXFLAGS', cxxstdflag)
|
env.append_flags('CXXFLAGS', cxxstdflag)
|
||||||
|
@ -47,7 +47,10 @@ def configure_args(self):
|
|||||||
]
|
]
|
||||||
return args
|
return args
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
"""Prepend the sbin directory to PATH."""
|
"""Prepend the sbin directory to PATH."""
|
||||||
spack_env.prepend_path('PATH', self.prefix.sbin)
|
env.prepend_path('PATH', self.prefix.sbin)
|
||||||
run_env.prepend_path('PATH', self.prefix.sbin)
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
"""Prepend the sbin directory to PATH."""
|
||||||
|
env.prepend_path('PATH', self.prefix.sbin)
|
||||||
|
@ -54,7 +54,7 @@ def install(self, spec, prefix):
|
|||||||
make()
|
make()
|
||||||
make('install')
|
make('install')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# default path for log file, could be user or site specific setting
|
# default path for log file, could be user or site specific setting
|
||||||
darshan_log_dir = '%s' % os.environ['HOME']
|
darshan_log_dir = os.environ['HOME']
|
||||||
run_env.set('DARSHAN_LOG_DIR_PATH', darshan_log_dir)
|
env.set('DARSHAN_LOG_DIR_PATH', darshan_log_dir)
|
||||||
|
@ -17,5 +17,5 @@ class DealiiParameterGui(CMakePackage):
|
|||||||
|
|
||||||
depends_on('qt')
|
depends_on('qt')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('PARAMETER_GUI_DIR', self.prefix)
|
env.set('PARAMETER_GUI_DIR', self.prefix)
|
||||||
|
@ -37,5 +37,5 @@ def install(self, spec, prefix):
|
|||||||
chmod('+x', join_path(prefix.bin, 'deconseq.pl'))
|
chmod('+x', join_path(prefix.bin, 'deconseq.pl'))
|
||||||
chmod('+x', join_path(prefix.bin, 'splitFasta.pl'))
|
chmod('+x', join_path(prefix.bin, 'splitFasta.pl'))
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PERL5LIB', prefix)
|
env.prepend_path('PERL5LIB', self.prefix)
|
||||||
|
@ -24,5 +24,5 @@ def install(self, spec, prefix):
|
|||||||
mkdirp(prefix.share)
|
mkdirp(prefix.share)
|
||||||
install_tree('dialign2_dir', prefix.share)
|
install_tree('dialign2_dir', prefix.share)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('DIALIGN2_DIR', self.prefix.share)
|
env.set('DIALIGN2_DIR', self.prefix.share)
|
||||||
|
@ -32,10 +32,10 @@ class Dmd(MakefilePackage):
|
|||||||
sha256='71fa249dbfd278eec2b95ce577af32e623e44caf0d993905ddc189e3beec21d0',
|
sha256='71fa249dbfd278eec2b95ce577af32e623e44caf0d993905ddc189e3beec21d0',
|
||||||
placement='tools')
|
placement='tools')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.prefix.linux.bin64)
|
env.prepend_path('PATH', self.prefix.linux.bin64)
|
||||||
run_env.prepend_path('LIBRARY_PATH', self.prefix.linux.lib64)
|
env.prepend_path('LIBRARY_PATH', self.prefix.linux.lib64)
|
||||||
run_env.prepend_path('LD_LIBRARY_PATH', self.prefix.linux.lib64)
|
env.prepend_path('LD_LIBRARY_PATH', self.prefix.linux.lib64)
|
||||||
|
|
||||||
def edit(self, spec, prefix):
|
def edit(self, spec, prefix):
|
||||||
# Move contents to dmd/
|
# Move contents to dmd/
|
||||||
|
@ -26,10 +26,10 @@ def install(self, spec, prefix):
|
|||||||
def catalog(self):
|
def catalog(self):
|
||||||
return os.path.join(self.prefix, 'catalog.xml')
|
return os.path.join(self.prefix, 'catalog.xml')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
catalog = self.catalog
|
catalog = self.catalog
|
||||||
run_env.set('XML_CATALOG_FILES', catalog, separator=' ')
|
env.set('XML_CATALOG_FILES', catalog, separator=' ')
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
catalog = self.catalog
|
catalog = self.catalog
|
||||||
spack_env.prepend_path("XML_CATALOG_FILES", catalog)
|
env.prepend_path("XML_CATALOG_FILES", catalog)
|
||||||
|
@ -45,6 +45,3 @@ def build(self, spec, prefix):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
mkdirp(spec.prefix.bin)
|
mkdirp(spec.prefix.bin)
|
||||||
install('ecj1', spec.prefix.bin)
|
install('ecj1', spec.prefix.bin)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
|
||||||
run_env.prepend_path('PATH', self.prefix.bin)
|
|
||||||
|
@ -48,9 +48,8 @@ class Eigen(CMakePackage):
|
|||||||
|
|
||||||
patch('find-ptscotch.patch', when='@3.3.4')
|
patch('find-ptscotch.patch', when='@3.3.4')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('CPATH',
|
env.prepend_path('CPATH', self.prefix.include.eigen3)
|
||||||
join_path(self.prefix, 'include', 'eigen3'))
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def headers(self):
|
def headers(self):
|
||||||
|
@ -18,6 +18,3 @@ class EverytraceExample(CMakePackage):
|
|||||||
|
|
||||||
# Currently the only MPI this everytrace works with.
|
# Currently the only MPI this everytrace works with.
|
||||||
depends_on('openmpi')
|
depends_on('openmpi')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
|
||||||
run_env.prepend_path('PATH', join_path(self.prefix, 'bin'))
|
|
||||||
|
@ -31,6 +31,3 @@ def cmake_args(self):
|
|||||||
'-DUSE_MPI=%s' % ('YES' if '+mpi' in spec else 'NO'),
|
'-DUSE_MPI=%s' % ('YES' if '+mpi' in spec else 'NO'),
|
||||||
'-DUSE_FORTRAN=%s' % ('YES' if '+fortran' in spec else 'NO'),
|
'-DUSE_FORTRAN=%s' % ('YES' if '+fortran' in spec else 'NO'),
|
||||||
'-DUSE_CXX=%s' % ('YES' if '+cxx' in spec else 'NO')]
|
'-DUSE_CXX=%s' % ('YES' if '+cxx' in spec else 'NO')]
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
|
||||||
run_env.prepend_path('PATH', join_path(self.prefix, 'bin'))
|
|
||||||
|
@ -40,6 +40,6 @@ def patch(self):
|
|||||||
edit.filter(r'\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
|
edit.filter(r'\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
|
||||||
'libbamtools.a', '%s' % self.spec['bamtools'].libs)
|
'libbamtools.a', '%s' % self.spec['bamtools'].libs)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.prepend_path('CPATH', self.spec[
|
env.prepend_path('CPATH',
|
||||||
'bamtools'].prefix.include.bamtools)
|
self.spec['bamtools'].prefix.include.bamtools)
|
||||||
|
@ -101,10 +101,10 @@ def install(self, spec, prefix):
|
|||||||
else:
|
else:
|
||||||
make('install', parallel=False)
|
make('install', parallel=False)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# set EXTRAE_HOME in the module file
|
# set EXTRAE_HOME in the module file
|
||||||
run_env.set('EXTRAE_HOME', self.prefix)
|
env.set('EXTRAE_HOME', self.prefix)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
# set EXTRAE_HOME for everyone using the Extrae package
|
# set EXTRAE_HOME for everyone using the Extrae package
|
||||||
spack_env.set('EXTRAE_HOME', self.prefix)
|
env.set('EXTRAE_HOME', self.prefix)
|
||||||
|
@ -34,8 +34,8 @@ def install(self, spec, prefix):
|
|||||||
|
|
||||||
# In theory the 'run' dependency on 'jdk' above should take
|
# In theory the 'run' dependency on 'jdk' above should take
|
||||||
# care of this for me. In practice, it does not.
|
# care of this for me. In practice, it does not.
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
"""Add <prefix> to the path; the package has a script at the
|
"""Add <prefix> to the path; the package has a script at the
|
||||||
top level.
|
top level.
|
||||||
"""
|
"""
|
||||||
run_env.prepend_path('PATH', self.spec['java'].prefix.bin)
|
env.prepend_path('PATH', self.spec['java'].prefix.bin)
|
||||||
|
@ -34,6 +34,6 @@ class Fgsl(AutotoolsPackage):
|
|||||||
def create_m4_dir(self):
|
def create_m4_dir(self):
|
||||||
mkdir('m4')
|
mkdir('m4')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
if self.compiler.name == 'gcc':
|
if self.compiler.name == 'gcc':
|
||||||
spack_env.append_flags('FCFLAGS', "-ffree-line-length-none")
|
env.append_flags('FCFLAGS', "-ffree-line-length-none")
|
||||||
|
@ -71,9 +71,11 @@ def post_install(self):
|
|||||||
chmod = which('chmod')
|
chmod = which('chmod')
|
||||||
chmod('+x', flang)
|
chmod('+x', flang)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# to find llvm's libc++.so
|
# to find llvm's libc++.so
|
||||||
spack_env.set('LD_LIBRARY_PATH', self.spec['llvm'].prefix.lib)
|
env.set('LD_LIBRARY_PATH', self.spec['llvm'].prefix.lib)
|
||||||
run_env.set('FC', join_path(self.spec.prefix.bin, 'flang'))
|
|
||||||
run_env.set('F77', join_path(self.spec.prefix.bin, 'flang'))
|
def setup_run_environment(self, env):
|
||||||
run_env.set('F90', join_path(self.spec.prefix.bin, 'flang'))
|
env.set('FC', self.spec.prefix.bin.flang)
|
||||||
|
env.set('F77', self.spec.prefix.bin.flang)
|
||||||
|
env.set('F90', self.spec.prefix.bin.flang)
|
||||||
|
@ -118,7 +118,7 @@ class FoamExtend(Package):
|
|||||||
# - End of definitions / setup -
|
# - End of definitions / setup -
|
||||||
#
|
#
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
"""Add environment variables to the generated module file.
|
"""Add environment variables to the generated module file.
|
||||||
These environment variables come from running:
|
These environment variables come from running:
|
||||||
|
|
||||||
@ -126,13 +126,6 @@ def setup_environment(self, spack_env, run_env):
|
|||||||
|
|
||||||
$ . $WM_PROJECT_DIR/etc/bashrc
|
$ . $WM_PROJECT_DIR/etc/bashrc
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# NOTE: Spack runs setup_environment twice.
|
|
||||||
# 1) pre-build to set up the build environment
|
|
||||||
# 2) post-install to determine runtime environment variables
|
|
||||||
# The etc/bashrc is only available (with corrrect content)
|
|
||||||
# post-installation.
|
|
||||||
|
|
||||||
bashrc = join_path(self.projectdir, 'etc', 'bashrc')
|
bashrc = join_path(self.projectdir, 'etc', 'bashrc')
|
||||||
minimal = True
|
minimal = True
|
||||||
if os.path.isfile(bashrc):
|
if os.path.isfile(bashrc):
|
||||||
@ -173,7 +166,7 @@ def setup_environment(self, spack_env, run_env):
|
|||||||
'PYTHON_BIN_DIR',
|
'PYTHON_BIN_DIR',
|
||||||
])
|
])
|
||||||
|
|
||||||
run_env.extend(mods)
|
env.extend(mods)
|
||||||
minimal = False
|
minimal = False
|
||||||
tty.info('foam-extend env: {0}'.format(bashrc))
|
tty.info('foam-extend env: {0}'.format(bashrc))
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -182,19 +175,19 @@ def setup_environment(self, spack_env, run_env):
|
|||||||
if minimal:
|
if minimal:
|
||||||
# pre-build or minimal environment
|
# pre-build or minimal environment
|
||||||
tty.info('foam-extend minimal env {0}'.format(self.prefix))
|
tty.info('foam-extend minimal env {0}'.format(self.prefix))
|
||||||
run_env.set('FOAM_INST_DIR', os.path.dirname(self.projectdir)),
|
env.set('FOAM_INST_DIR', os.path.dirname(self.projectdir)),
|
||||||
run_env.set('FOAM_PROJECT_DIR', self.projectdir)
|
env.set('FOAM_PROJECT_DIR', self.projectdir)
|
||||||
run_env.set('WM_PROJECT_DIR', self.projectdir)
|
env.set('WM_PROJECT_DIR', self.projectdir)
|
||||||
for d in ['wmake', self.archbin]: # bin added automatically
|
for d in ['wmake', self.archbin]: # bin added automatically
|
||||||
run_env.prepend_path('PATH', join_path(self.projectdir, d))
|
env.prepend_path('PATH', join_path(self.projectdir, d))
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
"""Location of the OpenFOAM project.
|
"""Location of the OpenFOAM project.
|
||||||
This is identical to the WM_PROJECT_DIR value, but we avoid that
|
This is identical to the WM_PROJECT_DIR value, but we avoid that
|
||||||
variable since it would mask the normal OpenFOAM cleanup of
|
variable since it would mask the normal OpenFOAM cleanup of
|
||||||
previous versions.
|
previous versions.
|
||||||
"""
|
"""
|
||||||
spack_env.set('FOAM_PROJECT_DIR', self.projectdir)
|
env.set('FOAM_PROJECT_DIR', self.projectdir)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def projectdir(self):
|
def projectdir(self):
|
||||||
|
@ -77,10 +77,9 @@ class FontUtil(AutotoolsPackage):
|
|||||||
default=','.join(fonts),
|
default=','.join(fonts),
|
||||||
multi=True)
|
multi=True)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.prepend_path('PATH', self.prefix.bin)
|
env.prepend_path('PATH', self.prefix.bin)
|
||||||
spack_env.prepend_path('PKG_CONFIG_PATH',
|
env.prepend_path('PKG_CONFIG_PATH', self.prefix.lib.pkgconfig)
|
||||||
join_path(self.prefix.lib, 'pkgconfig'))
|
|
||||||
|
|
||||||
@run_after('install')
|
@run_after('install')
|
||||||
def font_install(self):
|
def font_install(self):
|
||||||
|
@ -51,33 +51,33 @@ def install(self, spec, prefix):
|
|||||||
|
|
||||||
install_tree('.', prefix)
|
install_tree('.', prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
if not self.stage.source_path:
|
if not self.stage.source_path:
|
||||||
self.stage.fetch()
|
self.stage.fetch()
|
||||||
self.stage.expand_archive()
|
self.stage.expand_archive()
|
||||||
|
|
||||||
spack_env.set('FSLDIR', self.stage.source_path)
|
env.set('FSLDIR', self.stage.source_path)
|
||||||
|
|
||||||
# Here, run-time environment variables are being set manually.
|
|
||||||
# Normally these would be added to the modulefile at build-time
|
|
||||||
# by sourcing fsl.sh, but incorrect paths were being set, pointing to
|
|
||||||
# the staging directory rather than the install directory.
|
|
||||||
run_env.set('FSLDIR', self.prefix)
|
|
||||||
run_env.set('FSLOUTPUTTYPE', 'NIFTI_GZ')
|
|
||||||
run_env.set('FSLMULTIFILEQUIT', 'TRUE')
|
|
||||||
run_env.set('FSLTCLSH', self.prefix.bin.fsltclsh)
|
|
||||||
run_env.set('FSLWISH', self.prefix.bin.fslwish)
|
|
||||||
run_env.set('FSLLOCKDIR', '')
|
|
||||||
run_env.set('FSLMACHINELIST', '')
|
|
||||||
run_env.set('FSLREMOTECALL', '')
|
|
||||||
run_env.set('FSLGECUDAQ', 'cuda.q')
|
|
||||||
|
|
||||||
run_env.prepend_path('PATH', self.prefix)
|
|
||||||
|
|
||||||
# Below is for sourcing purposes during building
|
# Below is for sourcing purposes during building
|
||||||
fslsetup = join_path(self.stage.source_path, 'etc', 'fslconf',
|
fslsetup = join_path(self.stage.source_path, 'etc', 'fslconf',
|
||||||
'fsl.sh')
|
'fsl.sh')
|
||||||
|
|
||||||
if os.path.isfile(fslsetup):
|
if os.path.isfile(fslsetup):
|
||||||
spack_env.extend(EnvironmentModifications.from_sourcing_file(
|
env.extend(EnvironmentModifications.from_sourcing_file(fslsetup))
|
||||||
fslsetup))
|
|
||||||
|
def setup_run_environment(self, env):
|
||||||
|
# Here, run-time environment variables are being set manually.
|
||||||
|
# Normally these would be added to the modulefile at build-time
|
||||||
|
# by sourcing fsl.sh, but incorrect paths were being set, pointing to
|
||||||
|
# the staging directory rather than the install directory.
|
||||||
|
env.set('FSLDIR', self.prefix)
|
||||||
|
env.set('FSLOUTPUTTYPE', 'NIFTI_GZ')
|
||||||
|
env.set('FSLMULTIFILEQUIT', 'TRUE')
|
||||||
|
env.set('FSLTCLSH', self.prefix.bin.fsltclsh)
|
||||||
|
env.set('FSLWISH', self.prefix.bin.fslwish)
|
||||||
|
env.set('FSLLOCKDIR', '')
|
||||||
|
env.set('FSLMACHINELIST', '')
|
||||||
|
env.set('FSLREMOTECALL', '')
|
||||||
|
env.set('FSLGECUDAQ', 'cuda.q')
|
||||||
|
|
||||||
|
env.prepend_path('PATH', self.prefix)
|
||||||
|
@ -33,8 +33,8 @@ def setup_dependent_package(self, module, dependent_spec):
|
|||||||
self.spec.mpif77 = self.prefix.bin.mpifrt
|
self.spec.mpif77 = self.prefix.bin.mpifrt
|
||||||
self.spec.mpifc = self.prefix.bin.mpifrt
|
self.spec.mpifc = self.prefix.bin.mpifrt
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.set('MPICC', self.prefix.bin.mpifcc)
|
env.set('MPICC', self.prefix.bin.mpifcc)
|
||||||
spack_env.set('MPICXX', self.prefix.bin.mpiFCC)
|
env.set('MPICXX', self.prefix.bin.mpiFCC)
|
||||||
spack_env.set('MPIF77', self.prefix.bin.mpifrt)
|
env.set('MPIF77', self.prefix.bin.mpifrt)
|
||||||
spack_env.set('MPIF90', self.prefix.bin.mpifrt)
|
env.set('MPIF90', self.prefix.bin.mpifrt)
|
||||||
|
@ -21,8 +21,8 @@ def install(self, spec, prefix):
|
|||||||
.format(self.version))
|
.format(self.version))
|
||||||
install_tree(self.stage.source_path, install_path)
|
install_tree(self.stage.source_path, install_path)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
run_env.set('G4ENSDFSTATEDATA', join_path(prefix.share, 'data'))
|
env.set('G4ENSDFSTATEDATA', self.prefix.share.data)
|
||||||
|
|
||||||
def url_for_version(self, version):
|
def url_for_version(self, version):
|
||||||
"""Handle version string."""
|
"""Handle version string."""
|
||||||
|
@ -20,10 +20,9 @@ class Gams(Package):
|
|||||||
def url_for_version(self, version):
|
def url_for_version(self, version):
|
||||||
return "file://{0}/linux_x64_64_sfx.exe".format(os.getcwd())
|
return "file://{0}/linux_x64_64_sfx.exe".format(os.getcwd())
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path("PATH", join_path(self.prefix,
|
env.prepend_path("PATH", join_path(
|
||||||
'gams{0}_linux_x64_64_sfx'
|
self.prefix, 'gams{0}_linux_x64_64_sfx'.format(self.version)))
|
||||||
.format(self.version)))
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
os.chmod(join_path(self.stage.source_path,
|
os.chmod(join_path(self.stage.source_path,
|
||||||
|
@ -87,7 +87,7 @@ def install(self, spec, prefix):
|
|||||||
**kwargs
|
**kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path(
|
env.prepend_path(
|
||||||
"GATK", join_path(self.prefix, "bin", "GenomeAnalysisTK.jar")
|
"GATK", join_path(self.prefix.bin, "GenomeAnalysisTK.jar")
|
||||||
)
|
)
|
||||||
|
@ -38,15 +38,14 @@ def install(self, spec, prefix):
|
|||||||
filter_file('/usr/bin/linda', prefix.bin, join_path(prefix.bin,
|
filter_file('/usr/bin/linda', prefix.bin, join_path(prefix.bin,
|
||||||
filename), string='True')
|
filename), string='True')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('g09root', self.prefix)
|
env.set('g09root', self.prefix)
|
||||||
run_env.set('GAUSSIANHOME', self.prefix)
|
env.set('GAUSSIANHOME', self.prefix)
|
||||||
run_env.set('GAUSS_EXEDIR', self.prefix.bin)
|
env.set('GAUSS_EXEDIR', self.prefix.bin)
|
||||||
run_env.set('G09_BASIS', join_path(self.prefix.bin, 'basis'))
|
env.set('G09_BASIS', self.prefix.bin.basis)
|
||||||
run_env.set('GAUSS_LEXEDIR', join_path(self.prefix.bin,
|
env.set('GAUSS_LEXEDIR', join_path(self.prefix.bin, 'linda-exe'))
|
||||||
'linda-exe'))
|
env.set('GAUSS_ARCHDIR', self.prefix.bin.arch)
|
||||||
run_env.set('GAUSS_ARCHDIR', join_path(self.prefix.bin, 'arch'))
|
env.set('GAUSS_BSDDIR', self.prefix.bin.bsd)
|
||||||
run_env.set('GAUSS_BSDDIR', join_path(self.prefix.bin, 'bsd'))
|
env.prepend_path('LD_LIBRARY_PATH', join_path(self.prefix.bin,
|
||||||
run_env.prepend_path('LD_LIBRARY_PATH', join_path(self.prefix.bin,
|
'linda8.2', 'opteron-linux', 'lib'))
|
||||||
'linda8.2/opteron-linux/lib'))
|
env.prepend_path('LD_LIBRARY_PATH', self.prefix.bin)
|
||||||
run_env.prepend_path('LD_LIBRARY_PATH', self.prefix.bin)
|
|
||||||
|
@ -46,11 +46,11 @@ def url_for_version(self, version):
|
|||||||
url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/{0}/gdk-pixbuf-{1}.tar.xz"
|
url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/{0}/gdk-pixbuf-{1}.tar.xz"
|
||||||
return url.format(version.up_to(2), version)
|
return url.format(version.up_to(2), version)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS",
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
self.prefix.share)
|
|
||||||
run_env.prepend_path("XDG_DATA_DIRS",
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
self.prefix.share)
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
with working_dir('spack-build', create=True):
|
with working_dir('spack-build', create=True):
|
||||||
@ -81,7 +81,7 @@ def install(self, spec, prefix):
|
|||||||
if self.run_tests:
|
if self.run_tests:
|
||||||
make('installcheck')
|
make('installcheck')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# The "post-install.sh" script uses gdk-pixbuf-query-loaders,
|
# The "post-install.sh" script uses gdk-pixbuf-query-loaders,
|
||||||
# which was installed earlier.
|
# which was installed earlier.
|
||||||
spack_env.prepend_path('PATH', self.prefix.bin)
|
env.prepend_path('PATH', self.prefix.bin)
|
||||||
|
@ -145,7 +145,7 @@ def make_data_links(self):
|
|||||||
target = os.readlink(d)
|
target = os.readlink(d)
|
||||||
os.symlink(target, os.path.basename(target))
|
os.symlink(target, os.path.basename(target))
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dep_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
version = self.version
|
version = self.version
|
||||||
major = version[0]
|
major = version[0]
|
||||||
minor = version[1]
|
minor = version[1]
|
||||||
@ -154,6 +154,5 @@ def setup_dependent_environment(self, spack_env, run_env, dep_spec):
|
|||||||
else:
|
else:
|
||||||
patch = 0
|
patch = 0
|
||||||
datadir = 'Geant4-%s.%s.%s' % (major, minor, patch)
|
datadir = 'Geant4-%s.%s.%s' % (major, minor, patch)
|
||||||
spack_env.append_path('CMAKE_MODULE_PATH',
|
env.append_path('CMAKE_MODULE_PATH', join_path(
|
||||||
'{0}/{1}/Modules'.format(
|
self.prefix.lib64, datadir, 'Modules'))
|
||||||
self.prefix.lib64, datadir))
|
|
||||||
|
@ -55,5 +55,5 @@ def filter_sbang(self):
|
|||||||
for file in files:
|
for file in files:
|
||||||
filter_file(pattern, repl, *files, backup=False)
|
filter_file(pattern, repl, *files, backup=False)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PERL5LIB', prefix.lib)
|
env.prepend_path('PERL5LIB', self.prefix.lib)
|
||||||
|
@ -25,5 +25,5 @@ class Genometools(MakefilePackage):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
make('install', 'prefix=%s' % prefix)
|
make('install', 'prefix=%s' % prefix)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.set('CPATH', self.prefix.include.genometools)
|
env.set('CPATH', self.prefix.include.genometools)
|
||||||
|
@ -185,13 +185,13 @@ class Git(AutotoolsPackage):
|
|||||||
depends_on('m4', type='build')
|
depends_on('m4', type='build')
|
||||||
depends_on('tk', type=('build', 'link'), when='+tcltk')
|
depends_on('tk', type=('build', 'link'), when='+tcltk')
|
||||||
|
|
||||||
# See the comment in setup_environment re EXTLIBS.
|
# See the comment in setup_build_environment re EXTLIBS.
|
||||||
def patch(self):
|
def patch(self):
|
||||||
filter_file(r'^EXTLIBS =$',
|
filter_file(r'^EXTLIBS =$',
|
||||||
'#EXTLIBS =',
|
'#EXTLIBS =',
|
||||||
'Makefile')
|
'Makefile')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# We use EXTLIBS rather than LDFLAGS so that git's Makefile
|
# We use EXTLIBS rather than LDFLAGS so that git's Makefile
|
||||||
# inserts the information into the proper place in the link commands
|
# inserts the information into the proper place in the link commands
|
||||||
# (alongside the # other libraries/paths that configure discovers).
|
# (alongside the # other libraries/paths that configure discovers).
|
||||||
@ -204,9 +204,9 @@ def setup_environment(self, spack_env, run_env):
|
|||||||
# In that case the node in the DAG gets truncated and git DOES NOT
|
# In that case the node in the DAG gets truncated and git DOES NOT
|
||||||
# have a gettext dependency.
|
# have a gettext dependency.
|
||||||
if 'gettext' in self.spec:
|
if 'gettext' in self.spec:
|
||||||
spack_env.append_flags('EXTLIBS', '-L{0} -lintl'.format(
|
env.append_flags('EXTLIBS', '-L{0} -lintl'.format(
|
||||||
self.spec['gettext'].prefix.lib))
|
self.spec['gettext'].prefix.lib))
|
||||||
spack_env.append_flags('CFLAGS', '-I{0}'.format(
|
env.append_flags('CFLAGS', '-I{0}'.format(
|
||||||
self.spec['gettext'].prefix.include))
|
self.spec['gettext'].prefix.include))
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
from spack import *
|
from spack import *
|
||||||
import os
|
|
||||||
|
|
||||||
|
|
||||||
class Gnutls(AutotoolsPackage):
|
class Gnutls(AutotoolsPackage):
|
||||||
@ -49,11 +48,10 @@ def url_for_version(self, version):
|
|||||||
url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v{0}/gnutls-{1}.tar.xz"
|
url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v{0}/gnutls-{1}.tar.xz"
|
||||||
return url.format(version.up_to(2), version)
|
return url.format(version.up_to(2), version)
|
||||||
|
|
||||||
def setup_environment(self, build_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
if '+guile' in spec:
|
if '+guile' in spec:
|
||||||
build_env.set('GUILE', os.path.join(spec["guile"].prefix.bin,
|
env.set('GUILE', spec["guile"].prefix.bin.guile)
|
||||||
'guile'))
|
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
|
@ -55,8 +55,8 @@ def install(self, spec, prefix):
|
|||||||
|
|
||||||
install_tree('.', prefix)
|
install_tree('.', prefix)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.set('GOROOT_BOOTSTRAP', self.spec.prefix)
|
env.set('GOROOT_BOOTSTRAP', self.spec.prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('GOROOT_FINAL', self.spec.prefix)
|
env.set('GOROOT_FINAL', self.spec.prefix)
|
||||||
|
@ -57,9 +57,11 @@ def url_for_version(self, version):
|
|||||||
url = 'http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/{0}/gobject-introspection-{1}.tar.xz'
|
url = 'http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/{0}/gobject-introspection-{1}.tar.xz'
|
||||||
return url.format(version.up_to(2), version)
|
return url.format(version.up_to(2), version)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
@ -69,5 +71,5 @@ def install(self, spec, prefix):
|
|||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('SPACK_SBANG', "%s/bin/sbang" % spack_root)
|
env.set('SPACK_SBANG', "%s/bin/sbang" % spack_root)
|
||||||
|
@ -51,5 +51,5 @@ def install(self, spec, prefix):
|
|||||||
# The gpu_burn program looks for the compare.ptx file in the current
|
# The gpu_burn program looks for the compare.ptx file in the current
|
||||||
# working directory. Create an environment variable that can be pointed to
|
# working directory. Create an environment variable that can be pointed to
|
||||||
# so that it can be copied or linked.
|
# so that it can be copied or linked.
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('COMPARE_PTX', join_path(self.prefix.share, 'compare.ptx'))
|
env.set('COMPARE_PTX', join_path(self.prefix.share, 'compare.ptx'))
|
||||||
|
@ -25,16 +25,16 @@ class Grnboost(Package):
|
|||||||
depends_on('xgboost+jvm-packages', type='run')
|
depends_on('xgboost+jvm-packages', type='run')
|
||||||
depends_on('spark+hadoop', type='run')
|
depends_on('spark+hadoop', type='run')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
grnboost_jar = join_path(self.prefix, 'target',
|
grnboost_jar = join_path(self.prefix, 'target',
|
||||||
'scala-2.11', 'GRNBoost.jar')
|
'scala-2.11', 'GRNBoost.jar')
|
||||||
xgboost_version = self.spec['xgboost'].version.string
|
xgboost_version = self.spec['xgboost'].version.string
|
||||||
xgboost_jar = join_path(self.spec['xgboost'].prefix,
|
xgboost_jar = join_path(self.spec['xgboost'].prefix,
|
||||||
'xgboost4j-' + xgboost_version + '.jar')
|
'xgboost4j-' + xgboost_version + '.jar')
|
||||||
run_env.set('GRNBOOST_JAR', grnboost_jar)
|
env.set('GRNBOOST_JAR', grnboost_jar)
|
||||||
run_env.set('JAVA_HOME', self.spec['java'].prefix)
|
env.set('JAVA_HOME', self.spec['java'].prefix)
|
||||||
run_env.set('CLASSPATH', xgboost_jar)
|
env.set('CLASSPATH', xgboost_jar)
|
||||||
run_env.set('XGBOOST_JAR', xgboost_jar)
|
env.set('XGBOOST_JAR', xgboost_jar)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
sbt = which('sbt')
|
sbt = which('sbt')
|
||||||
|
@ -48,11 +48,11 @@ def patch(self):
|
|||||||
filter_file(r'CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"',
|
filter_file(r'CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"',
|
||||||
'', 'configure', string=True)
|
'', 'configure', string=True)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS",
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
self.prefix.share)
|
|
||||||
run_env.prepend_path("XDG_DATA_DIRS",
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
self.prefix.share)
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = []
|
args = []
|
||||||
|
@ -42,13 +42,17 @@ def url_for_version(self, version):
|
|||||||
url += '{0}/gtksourceview-{1}.tar.xz'
|
url += '{0}/gtksourceview-{1}.tar.xz'
|
||||||
return url.format(version.up_to(2), version)
|
return url.format(version.up_to(2), version)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
|
||||||
|
def setup_build_environment(self, env):
|
||||||
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
|
|
||||||
|
def setup_run_environment(self, env):
|
||||||
|
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
||||||
|
|
||||||
# TODO: If https://github.com/spack/spack/pull/12344 is merged, this
|
# TODO: If https://github.com/spack/spack/pull/12344 is merged, this
|
||||||
# method is unnecessary.
|
# method is unnecessary.
|
||||||
|
@ -35,8 +35,8 @@ class Gurobi(Package):
|
|||||||
def url_for_version(self, version):
|
def url_for_version(self, version):
|
||||||
return "file://{0}/gurobi{1}_linux64.tar.gz".format(os.getcwd(), version)
|
return "file://{0}/gurobi{1}_linux64.tar.gz".format(os.getcwd(), version)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('GUROBI_HOME', self.prefix)
|
env.set('GUROBI_HOME', self.prefix)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('linux64', prefix)
|
install_tree('linux64', prefix)
|
||||||
|
@ -183,10 +183,14 @@ def check_install(self, spec):
|
|||||||
raise RuntimeError("HDF5 Blosc plugin check failed")
|
raise RuntimeError("HDF5 Blosc plugin check failed")
|
||||||
shutil.rmtree(checkdir)
|
shutil.rmtree(checkdir)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
||||||
run_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_run_environment(self, env):
|
||||||
spack_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
||||||
run_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
|
||||||
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
|
env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
||||||
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib)
|
||||||
|
@ -40,5 +40,5 @@ def install(self, spec, prefix):
|
|||||||
if os.path.isfile(file):
|
if os.path.isfile(file):
|
||||||
install(file, prefix.bin)
|
install(file, prefix.bin)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.spec.prefix)
|
env.prepend_path('PATH', self.spec.prefix)
|
||||||
|
@ -31,8 +31,8 @@ class Hybpiper(Package):
|
|||||||
depends_on('bwa')
|
depends_on('bwa')
|
||||||
depends_on('samtools')
|
depends_on('samtools')
|
||||||
|
|
||||||
def setup_envionment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('HYBPIPER_HOME', prefix)
|
env.set('HYBPIPER_HOME', self.prefix)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
mkdirp(prefix.bin)
|
mkdirp(prefix.bin)
|
||||||
|
@ -48,11 +48,11 @@ def home(self):
|
|||||||
def libs(self):
|
def libs(self):
|
||||||
return find_libraries(['libjvm'], root=self.home, recursive=True)
|
return find_libraries(['libjvm'], root=self.home, recursive=True)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('JAVA_HOME', self.home)
|
env.set('JAVA_HOME', self.home)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.set('JAVA_HOME', self.home)
|
env.set('JAVA_HOME', self.home)
|
||||||
|
|
||||||
def setup_dependent_package(self, module, dependent_spec):
|
def setup_dependent_package(self, module, dependent_spec):
|
||||||
self.spec.home = self.home
|
self.spec.home = self.home
|
||||||
|
@ -153,18 +153,18 @@ def configure_args(self):
|
|||||||
]
|
]
|
||||||
return args
|
return args
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
"""Set JAVA_HOME."""
|
"""Set JAVA_HOME."""
|
||||||
|
|
||||||
run_env.set('JAVA_HOME', self.home)
|
env.set('JAVA_HOME', self.home)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
"""Set JAVA_HOME and CLASSPATH.
|
"""Set JAVA_HOME and CLASSPATH.
|
||||||
|
|
||||||
CLASSPATH contains the installation prefix for the extension and any
|
CLASSPATH contains the installation prefix for the extension and any
|
||||||
other Java extensions it depends on."""
|
other Java extensions it depends on."""
|
||||||
|
|
||||||
spack_env.set('JAVA_HOME', self.home)
|
env.set('JAVA_HOME', self.home)
|
||||||
|
|
||||||
class_paths = []
|
class_paths = []
|
||||||
for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
|
for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
|
||||||
@ -172,14 +172,19 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
|||||||
class_paths.extend(find(d.prefix, '*.jar'))
|
class_paths.extend(find(d.prefix, '*.jar'))
|
||||||
|
|
||||||
classpath = os.pathsep.join(class_paths)
|
classpath = os.pathsep.join(class_paths)
|
||||||
spack_env.set('CLASSPATH', classpath)
|
env.set('CLASSPATH', classpath)
|
||||||
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
"""Set CLASSPATH.
|
||||||
|
|
||||||
|
CLASSPATH contains the installation prefix for the extension and any
|
||||||
|
other Java extensions it depends on."""
|
||||||
# For runtime environment set only the path for
|
# For runtime environment set only the path for
|
||||||
# dependent_spec and prepend it to CLASSPATH
|
# dependent_spec and prepend it to CLASSPATH
|
||||||
if dependent_spec.package.extends(self.spec):
|
if dependent_spec.package.extends(self.spec):
|
||||||
class_paths = find(dependent_spec.prefix, '*.jar')
|
class_paths = find(dependent_spec.prefix, '*.jar')
|
||||||
classpath = os.pathsep.join(class_paths)
|
classpath = os.pathsep.join(class_paths)
|
||||||
run_env.prepend_path('CLASSPATH', classpath)
|
env.prepend_path('CLASSPATH', classpath)
|
||||||
|
|
||||||
def setup_dependent_package(self, module, dependent_spec):
|
def setup_dependent_package(self, module, dependent_spec):
|
||||||
"""Allows spec['java'].home to work."""
|
"""Allows spec['java'].home to work."""
|
||||||
|
@ -22,6 +22,6 @@ class Icet(CMakePackage):
|
|||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
return ['-DICET_USE_OPENGL:BOOL=OFF']
|
return ['-DICET_USE_OPENGL:BOOL=OFF']
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
"""Work-around for ill-placed CMake modules"""
|
"""Work-around for ill-placed CMake modules"""
|
||||||
spack_env.prepend_path('CMAKE_PREFIX_PATH', self.prefix.lib)
|
env.prepend_path('CMAKE_PREFIX_PATH', self.prefix.lib)
|
||||||
|
@ -20,6 +20,6 @@ class Jmol(Package):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('jmol-{0}'.format(self.version), prefix)
|
install_tree('jmol-{0}'.format(self.version), prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.prefix)
|
env.prepend_path('PATH', self.prefix)
|
||||||
run_env.set('JMOL_HOME', self.prefix)
|
env.set('JMOL_HOME', self.prefix)
|
||||||
|
@ -33,10 +33,8 @@ class Jube(PythonPackage):
|
|||||||
|
|
||||||
depends_on('py-setuptools', type='build')
|
depends_on('py-setuptools', type='build')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
if not self.spec.variants['resource_manager'].value == 'none':
|
if not self.spec.variants['resource_manager'].value == 'none':
|
||||||
run_env.prepend_path(
|
env.prepend_path('JUBE_INCLUDE_PATH', join_path(
|
||||||
'JUBE_INCLUDE_PATH',
|
self.prefix.platform,
|
||||||
prefix + "/platform/" +
|
self.spec.variants['resource_manager'].value))
|
||||||
self.spec.variants['resource_manager'].value
|
|
||||||
)
|
|
||||||
|
@ -30,10 +30,6 @@ class Karma(Package):
|
|||||||
destination='./'
|
destination='./'
|
||||||
)
|
)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
|
||||||
run_env.prepend_path('LIBRARY_PATH', self.prefix.lib)
|
|
||||||
run_env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('./karma-1.7.25/amd64_Linux_libc6.3/bin', prefix.bin)
|
install_tree('./karma-1.7.25/amd64_Linux_libc6.3/bin', prefix.bin)
|
||||||
install_tree('./karma-1.7.25/amd64_Linux_libc6.3/lib', prefix.lib)
|
install_tree('./karma-1.7.25/amd64_Linux_libc6.3/lib', prefix.lib)
|
||||||
|
@ -28,9 +28,9 @@ class Launchmon(AutotoolsPackage):
|
|||||||
|
|
||||||
patch('launchmon-char-conv.patch', when='@1.0.2')
|
patch('launchmon-char-conv.patch', when='@1.0.2')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies('@master'):
|
if self.spec.satisfies('@master'):
|
||||||
# automake for launchmon requires the AM_PATH_LIBGCRYPT macro
|
# automake for launchmon requires the AM_PATH_LIBGCRYPT macro
|
||||||
# which is defined in libgcrypt.m4
|
# which is defined in libgcrypt.m4
|
||||||
spack_env.prepend_path('ACLOCAL_PATH',
|
env.prepend_path('ACLOCAL_PATH',
|
||||||
self.spec['libgcrypt'].prefix.share.aclocal)
|
self.spec['libgcrypt'].prefix.share.aclocal)
|
||||||
|
@ -31,14 +31,14 @@ class LdcBootstrap(CMakePackage):
|
|||||||
depends_on('libedit')
|
depends_on('libedit')
|
||||||
depends_on('binutils')
|
depends_on('binutils')
|
||||||
|
|
||||||
def setup_dependent_environment(self, build_env, run_env, dep_spec):
|
def setup_dependent_build_environment(self, env, dep_spec):
|
||||||
|
|
||||||
# The code below relies on this function being executed after the
|
# The code below relies on this function being executed after the
|
||||||
# environment has been sanitized (because LD_LIBRARY_PATH is among
|
# environment has been sanitized (because LD_LIBRARY_PATH is among
|
||||||
# the variables that get unset)
|
# the variables that get unset)
|
||||||
|
|
||||||
# We need libphobos in LD_LIBRARY_PATH
|
# We need libphobos in LD_LIBRARY_PATH
|
||||||
build_env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
|
env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
return [
|
return [
|
||||||
|
@ -90,9 +90,9 @@ class Libfabric(AutotoolsPackage):
|
|||||||
sha256='3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e',
|
sha256='3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e',
|
||||||
placement='fabtests', when='@1.5.0')
|
placement='fabtests', when='@1.5.0')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
if self.run_tests:
|
if self.run_tests:
|
||||||
spack_env.prepend_path('PATH', self.prefix.bin)
|
env.prepend_path('PATH', self.prefix.bin)
|
||||||
|
|
||||||
@when('@develop')
|
@when('@develop')
|
||||||
def autoreconf(self, spec, prefix):
|
def autoreconf(self, spec, prefix):
|
||||||
|
@ -81,15 +81,15 @@ def optflags(self):
|
|||||||
|
|
||||||
return flags
|
return flags
|
||||||
|
|
||||||
def setup_environment(self, build_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# Set optimization flags
|
# Set optimization flags
|
||||||
build_env.set('CFLAGS', self.optflags)
|
env.set('CFLAGS', self.optflags)
|
||||||
build_env.set('CXXFLAGS', self.optflags)
|
env.set('CXXFLAGS', self.optflags)
|
||||||
|
|
||||||
# Change AR to xiar if we compile with Intel and we
|
# Change AR to xiar if we compile with Intel and we
|
||||||
# find the executable
|
# find the executable
|
||||||
if '%intel' in self.spec and which('xiar'):
|
if '%intel' in self.spec and which('xiar'):
|
||||||
build_env.set('AR', 'xiar')
|
env.set('AR', 'xiar')
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
|
|
||||||
|
@ -245,5 +245,5 @@ def configure_args(self):
|
|||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.append_flags('PERL', self.spec['perl'].command.path)
|
env.append_flags('PERL', self.spec['perl'].command.path)
|
||||||
|
@ -44,11 +44,13 @@ def url_for_version(self, version):
|
|||||||
url += '{0}/libpeas-{1}.tar.xz'
|
url += '{0}/libpeas-{1}.tar.xz'
|
||||||
return url.format(version.up_to(2), version)
|
return url.format(version.up_to(2), version)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
|
|
||||||
|
def setup_build_environment(self, env):
|
||||||
# Let
|
# Let
|
||||||
#
|
#
|
||||||
# python = self.spec['python']
|
# python = self.spec['python']
|
||||||
@ -76,10 +78,11 @@ def setup_environment(self, spack_env, run_env):
|
|||||||
python_pc_file = os.path.join(python_prefix, 'python3.pc')
|
python_pc_file = os.path.join(python_prefix, 'python3.pc')
|
||||||
python_ldflags = pkg_config('--libs', python_pc_file, output=str)
|
python_ldflags = pkg_config('--libs', python_pc_file, output=str)
|
||||||
|
|
||||||
spack_env.append_path('LDFLAGS',
|
env.append_path('LDFLAGS', python_ldflags)
|
||||||
python_ldflags)
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
spack_env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
|
||||||
run_env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
def setup_run_environment(self, env):
|
||||||
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
|
|
||||||
def autoreconf(self, spec, prefix):
|
def autoreconf(self, spec, prefix):
|
||||||
autoreconf_args = ['-ivf']
|
autoreconf_args = ['-ivf']
|
||||||
|
@ -30,10 +30,14 @@ def url_for_version(self, version):
|
|||||||
url += "{0}/librsvg-{1}.tar.xz"
|
url += "{0}/librsvg-{1}.tar.xz"
|
||||||
return url.format(version.up_to(2), version)
|
return url.format(version.up_to(2), version)
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
|
|
||||||
|
def setup_build_environment(self, env):
|
||||||
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
|
|
||||||
|
def setup_run_environment(self, env):
|
||||||
|
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
|
||||||
|
@ -37,9 +37,8 @@ def autoreconf(self, spec, prefix):
|
|||||||
def _make_executable(self, name):
|
def _make_executable(self, name):
|
||||||
return Executable(join_path(self.prefix.bin, name))
|
return Executable(join_path(self.prefix.bin, name))
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.append_path('ACLOCAL_PATH',
|
env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal)
|
||||||
join_path(self.prefix.share, 'aclocal'))
|
|
||||||
|
|
||||||
def setup_dependent_package(self, module, dependent_spec):
|
def setup_dependent_package(self, module, dependent_spec):
|
||||||
# Automake is very likely to be a build dependency, so we add
|
# Automake is very likely to be a build dependency, so we add
|
||||||
|
@ -27,9 +27,11 @@ class Libx11(AutotoolsPackage):
|
|||||||
depends_on('util-macros', type='build')
|
depends_on('util-macros', type='build')
|
||||||
depends_on('perl', type='build')
|
depends_on('perl', type='build')
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale)
|
env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale)
|
||||||
run_env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale)
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def libs(self):
|
def libs(self):
|
||||||
|
@ -49,7 +49,7 @@ def libs(self):
|
|||||||
libraries, root=self.prefix, shared=shared, recursive=True
|
libraries, root=self.prefix, shared=shared, recursive=True
|
||||||
)
|
)
|
||||||
|
|
||||||
def setup_build_environment(self, spack_env):
|
def setup_build_environment(self, env):
|
||||||
optflags = '-O2'
|
optflags = '-O2'
|
||||||
if self.compiler.name == 'intel':
|
if self.compiler.name == 'intel':
|
||||||
# Optimizations for the Intel compiler, suggested by CP2K
|
# Optimizations for the Intel compiler, suggested by CP2K
|
||||||
@ -76,10 +76,10 @@ def setup_build_environment(self, spack_env):
|
|||||||
#
|
#
|
||||||
optflags += ' -xSSE4.2 -axAVX,CORE-AVX2 -ipo'
|
optflags += ' -xSSE4.2 -axAVX,CORE-AVX2 -ipo'
|
||||||
if which('xiar'):
|
if which('xiar'):
|
||||||
spack_env.set('AR', 'xiar')
|
env.set('AR', 'xiar')
|
||||||
|
|
||||||
spack_env.append_flags('CFLAGS', optflags)
|
env.append_flags('CFLAGS', optflags)
|
||||||
spack_env.append_flags('FCFLAGS', optflags)
|
env.append_flags('FCFLAGS', optflags)
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = ['--enable-shared']
|
args = ['--enable-shared']
|
||||||
|
@ -26,10 +26,10 @@ class Libxpm(AutotoolsPackage):
|
|||||||
depends_on('pkgconfig', type='build')
|
depends_on('pkgconfig', type='build')
|
||||||
depends_on('util-macros', type='build')
|
depends_on('util-macros', type='build')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# If libxpm is installed as an external package, gettext won't
|
# If libxpm is installed as an external package, gettext won't
|
||||||
# be available in the spec. See
|
# be available in the spec. See
|
||||||
# https://github.com/spack/spack/issues/9149 for details.
|
# https://github.com/spack/spack/issues/9149 for details.
|
||||||
if 'gettext' in self.spec:
|
if 'gettext' in self.spec:
|
||||||
spack_env.append_flags('LDFLAGS', '-L{0} -lintl'.format(
|
env.append_flags('LDFLAGS', '-L{0} -lintl'.format(
|
||||||
self.spec['gettext'].prefix.lib))
|
self.spec['gettext'].prefix.lib))
|
||||||
|
@ -16,11 +16,11 @@ class LinuxHeaders(Package):
|
|||||||
|
|
||||||
version('4.9.10', sha256='bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525')
|
version('4.9.10', sha256='bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# This variable is used in the Makefile. If it is defined on the
|
# This variable is used in the Makefile. If it is defined on the
|
||||||
# system, it can break the build if there is no build recipe for
|
# system, it can break the build if there is no build recipe for
|
||||||
# that specific ARCH
|
# that specific ARCH
|
||||||
spack_env.unset('ARCH')
|
env.unset('ARCH')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
make('headers_install', 'INSTALL_HDR_PATH={0}'.format(prefix))
|
make('headers_install', 'INSTALL_HDR_PATH={0}'.format(prefix))
|
||||||
|
@ -48,10 +48,10 @@ class Lmod(AutotoolsPackage):
|
|||||||
|
|
||||||
parallel = False
|
parallel = False
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
stage_lua_path = join_path(
|
stage_lua_path = join_path(
|
||||||
self.stage.source_path, 'src', '?.lua')
|
self.stage.source_path, 'src', '?.lua')
|
||||||
spack_env.append_path('LUA_PATH', stage_lua_path.format(
|
env.append_path('LUA_PATH', stage_lua_path.format(
|
||||||
version=self.version), separator=';')
|
version=self.version), separator=';')
|
||||||
|
|
||||||
def patch(self):
|
def patch(self):
|
||||||
|
@ -94,7 +94,7 @@ def append_paths(self, paths, cpaths, path):
|
|||||||
paths.append(os.path.join(path, '?', 'init.lua'))
|
paths.append(os.path.join(path, '?', 'init.lua'))
|
||||||
cpaths.append(os.path.join(path, '?.so'))
|
cpaths.append(os.path.join(path, '?.so'))
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def _setup_dependent_env_helper(self, env, dependent_spec):
|
||||||
lua_paths = []
|
lua_paths = []
|
||||||
for d in dependent_spec.traverse(
|
for d in dependent_spec.traverse(
|
||||||
deptypes=('build', 'run'), deptype_query='run'):
|
deptypes=('build', 'run'), deptype_query='run'):
|
||||||
@ -115,38 +115,44 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
|||||||
os.path.join(self.spec.prefix, self.lua_share_dir)):
|
os.path.join(self.spec.prefix, self.lua_share_dir)):
|
||||||
self.append_paths(lua_patterns, lua_cpatterns, p)
|
self.append_paths(lua_patterns, lua_cpatterns, p)
|
||||||
|
|
||||||
spack_env.set('LUA_PATH', ';'.join(lua_patterns), separator=';')
|
return lua_patterns, lua_cpatterns
|
||||||
spack_env.set('LUA_CPATH', ';'.join(lua_cpatterns), separator=';')
|
|
||||||
|
|
||||||
# Add LUA to PATH for dependent packages
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
spack_env.prepend_path('PATH', self.prefix.bin)
|
lua_patterns, lua_cpatterns = _setup_dependent_env_helper(
|
||||||
|
self, env, dependent_spec)
|
||||||
|
|
||||||
|
env.set('LUA_PATH', ';'.join(lua_patterns), separator=';')
|
||||||
|
env.set('LUA_CPATH', ';'.join(lua_cpatterns), separator=';')
|
||||||
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
# For run time environment set only the path for dependent_spec and
|
# For run time environment set only the path for dependent_spec and
|
||||||
# prepend it to LUAPATH
|
# prepend it to LUAPATH
|
||||||
|
lua_patterns, lua_cpatterns = _setup_dependent_env_helper(
|
||||||
|
self, env, dependent_spec)
|
||||||
|
|
||||||
if dependent_spec.package.extends(self.spec):
|
if dependent_spec.package.extends(self.spec):
|
||||||
run_env.prepend_path('LUA_PATH', ';'.join(lua_patterns),
|
env.prepend_path('LUA_PATH', ';'.join(lua_patterns), separator=';')
|
||||||
separator=';')
|
env.prepend_path('LUA_CPATH', ';'.join(lua_cpatterns),
|
||||||
run_env.prepend_path('LUA_CPATH', ';'.join(lua_cpatterns),
|
|
||||||
separator=';')
|
separator=';')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path(
|
env.prepend_path(
|
||||||
'LUA_PATH',
|
'LUA_PATH',
|
||||||
os.path.join(self.spec.prefix, self.lua_share_dir, '?.lua'),
|
os.path.join(self.spec.prefix, self.lua_share_dir, '?.lua'),
|
||||||
separator=';')
|
separator=';')
|
||||||
run_env.prepend_path(
|
env.prepend_path(
|
||||||
'LUA_PATH', os.path.join(self.spec.prefix, self.lua_share_dir, '?',
|
'LUA_PATH', os.path.join(self.spec.prefix, self.lua_share_dir, '?',
|
||||||
'init.lua'),
|
'init.lua'),
|
||||||
separator=';')
|
separator=';')
|
||||||
run_env.prepend_path(
|
env.prepend_path(
|
||||||
'LUA_PATH',
|
'LUA_PATH',
|
||||||
os.path.join(self.spec.prefix, self.lua_lib_dir, '?.lua'),
|
os.path.join(self.spec.prefix, self.lua_lib_dir, '?.lua'),
|
||||||
separator=';')
|
separator=';')
|
||||||
run_env.prepend_path(
|
env.prepend_path(
|
||||||
'LUA_PATH',
|
'LUA_PATH',
|
||||||
os.path.join(self.spec.prefix, self.lua_lib_dir, '?', 'init.lua'),
|
os.path.join(self.spec.prefix, self.lua_lib_dir, '?', 'init.lua'),
|
||||||
separator=';')
|
separator=';')
|
||||||
run_env.prepend_path(
|
env.prepend_path(
|
||||||
'LUA_CPATH',
|
'LUA_CPATH',
|
||||||
os.path.join(self.spec.prefix, self.lua_lib_dir, '?.so'),
|
os.path.join(self.spec.prefix, self.lua_lib_dir, '?.so'),
|
||||||
separator=';')
|
separator=';')
|
||||||
|
@ -21,11 +21,11 @@ class Mc(AutotoolsPackage):
|
|||||||
depends_on('glib@2.14:')
|
depends_on('glib@2.14:')
|
||||||
depends_on('libssh2@1.2.5:')
|
depends_on('libssh2@1.2.5:')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# Fix compilation bug on macOS by pretending we don't have utimensat()
|
# Fix compilation bug on macOS by pretending we don't have utimensat()
|
||||||
# https://github.com/MidnightCommander/mc/pull/130
|
# https://github.com/MidnightCommander/mc/pull/130
|
||||||
if 'darwin' in self.spec.architecture:
|
if 'darwin' in self.spec.architecture:
|
||||||
env['ac_cv_func_utimensat'] = 'no'
|
env.set('ac_cv_func_utimensat', 'no')
|
||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = [
|
args = [
|
||||||
|
@ -23,5 +23,5 @@ class Mefit(Package):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('.', prefix)
|
install_tree('.', prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.prefix)
|
env.prepend_path('PATH', self.prefix)
|
||||||
|
@ -41,8 +41,8 @@ class Memsurfer(PythonPackage):
|
|||||||
depends_on('hdf5 +hl')
|
depends_on('hdf5 +hl')
|
||||||
|
|
||||||
# memsurfer's setup needs path to these deps to build extension modules
|
# memsurfer's setup needs path to these deps to build extension modules
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('VTK_ROOT', self.spec['vtk'].prefix)
|
env.set('VTK_ROOT', self.spec['vtk'].prefix)
|
||||||
spack_env.set('CGAL_ROOT', self.spec['cgal'].prefix)
|
env.set('CGAL_ROOT', self.spec['cgal'].prefix)
|
||||||
spack_env.set('BOOST_ROOT', self.spec['boost'].prefix)
|
env.set('BOOST_ROOT', self.spec['boost'].prefix)
|
||||||
spack_env.set('EIGEN_ROOT', self.spec['eigen'].prefix)
|
env.set('EIGEN_ROOT', self.spec['eigen'].prefix)
|
||||||
|
@ -28,6 +28,6 @@ def patch(self):
|
|||||||
edit = FileFilter('CMakeLists.txt')
|
edit = FileFilter('CMakeLists.txt')
|
||||||
edit.filter(r"-static-libstdc\+\+", "")
|
edit.filter(r"-static-libstdc\+\+", "")
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.set('MERACULOUS_ROOT', self.prefix)
|
env.set('MERACULOUS_ROOT', self.prefix)
|
||||||
run_env.prepend_path('PERL5LIB', self.prefix.lib)
|
env.prepend_path('PERL5LIB', self.prefix.lib)
|
||||||
|
@ -39,12 +39,12 @@ class Mercurial(PythonPackage):
|
|||||||
depends_on('py-pygments', type=('build', 'run'))
|
depends_on('py-pygments', type=('build', 'run'))
|
||||||
depends_on('py-certifi', type=('build', 'run'))
|
depends_on('py-certifi', type=('build', 'run'))
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
# Python 3 support is still experimental, explicitly allow
|
# Python 3 support is still experimental, explicitly allow
|
||||||
spack_env.set('HGALLOWPYTHON3', True)
|
env.set('HGALLOWPYTHON3', True)
|
||||||
spack_env.set('HGPYTHON3', True)
|
env.set('HGPYTHON3', True)
|
||||||
# Setuptools is still opt-in, explicitly enable
|
# Setuptools is still opt-in, explicitly enable
|
||||||
spack_env.set('FORCE_SETUPTOOLS', True)
|
env.set('FORCE_SETUPTOOLS', True)
|
||||||
|
|
||||||
@run_after('install')
|
@run_after('install')
|
||||||
def post_install(self):
|
def post_install(self):
|
||||||
|
@ -27,8 +27,8 @@ def install(self, spec, prefix):
|
|||||||
install_tree('RESOURCES', prefix.resources)
|
install_tree('RESOURCES', prefix.resources)
|
||||||
install_tree('AmosCmp16Spipeline', prefix.AmosCmp16Spipeline)
|
install_tree('AmosCmp16Spipeline', prefix.AmosCmp16Spipeline)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.prefix.ChimeraSlayer)
|
env.prepend_path('PATH', self.prefix.ChimeraSlayer)
|
||||||
run_env.prepend_path('PATH', join_path(self.prefix, 'NAST-iEr'))
|
env.prepend_path('PATH', join_path(self.prefix, 'NAST-iEr'))
|
||||||
run_env.prepend_path('PATH', self.prefix.TreeChopper)
|
env.prepend_path('PATH', self.prefix.TreeChopper)
|
||||||
run_env.prepend_path('PATH', self.prefix.WigeoN)
|
env.prepend_path('PATH', self.prefix.WigeoN)
|
||||||
|
@ -21,5 +21,5 @@ class Mii(MakefilePackage):
|
|||||||
version('1.0.3', sha256='9b5a0e4e0961cf848677ed61b4f6c03e6a443f8592ed668d1afea302314b47a8')
|
version('1.0.3', sha256='9b5a0e4e0961cf848677ed61b4f6c03e6a443f8592ed668d1afea302314b47a8')
|
||||||
version('1.0.2', sha256='1c2c86ec37779ecd3821c30ce5b6dd19be4ec1813da41832d49ff3dcf615e22d')
|
version('1.0.2', sha256='1c2c86ec37779ecd3821c30ce5b6dd19be4ec1813da41832d49ff3dcf615e22d')
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
spack_env.set('PREFIX', self.prefix)
|
env.set('PREFIX', self.prefix)
|
||||||
|
@ -44,6 +44,6 @@ def install(self, spec, prefix):
|
|||||||
chmod = which('chmod')
|
chmod = which('chmod')
|
||||||
chmod('+x', join_path(prefix, 'MitoFates.pl'))
|
chmod('+x', join_path(prefix, 'MitoFates.pl'))
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
# We want the main MitoFates.pl script in the path
|
# We want the main MitoFates.pl script in the path
|
||||||
run_env.prepend_path('PATH', self.prefix)
|
env.prepend_path('PATH', self.prefix)
|
||||||
|
@ -25,5 +25,5 @@ class Mixcr(Package):
|
|||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree('.', prefix)
|
install_tree('.', prefix)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_run_environment(self, env):
|
||||||
run_env.prepend_path('PATH', self.prefix)
|
env.prepend_path('PATH', self.prefix)
|
||||||
|
@ -24,8 +24,8 @@ def install(self, spec, prefix):
|
|||||||
mkdirp(prefix.bin)
|
mkdirp(prefix.bin)
|
||||||
install('mpest', prefix.bin)
|
install('mpest', prefix.bin)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies('platform=darwin'):
|
if self.spec.satisfies('platform=darwin'):
|
||||||
spack_env.set('ARCHITECTURE', 'mac')
|
env.set('ARCHITECTURE', 'mac')
|
||||||
else:
|
else:
|
||||||
spack_env.set('ARCHITECTURE', 'unix')
|
env.set('ARCHITECTURE', 'unix')
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user