diff --git a/lib/spack/spack/build_systems/intel.py b/lib/spack/spack/build_systems/intel.py index 9b32c20d017eea24d42a5f0aef5820994027edd0..0ec81f35372ab0474910fba9d8e1bdff5841b32a 100644 --- a/lib/spack/spack/build_systems/intel.py +++ b/lib/spack/spack/build_systems/intel.py @@ -942,7 +942,7 @@ def mpi_setup_dependent_build_environment( for key, value in wrapper_vars.items(): 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 @@ -1054,7 +1054,7 @@ def _setup_dependent_env_callback( env.append_path('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 compilers_of_client: diff --git a/lib/spack/spack/build_systems/octave.py b/lib/spack/spack/build_systems/octave.py index 677e623bd672954cd3212dd0d653cbd665fe4a01..5535cd4d9f4e1f3dbb030c9cf8907760e25273a1 100644 --- a/lib/spack/spack/build_systems/octave.py +++ b/lib/spack/spack/build_systems/octave.py @@ -29,12 +29,11 @@ class OctavePackage(PackageBase): extends('octave') depends_on('octave', type=('build', 'run')) - def setup_environment(self, spack_env, run_env): - """Set up the compile and runtime environments for a package.""" + def setup_build_environment(self, env): # octave does not like those environment variables to be set: - spack_env.unset('CC') - spack_env.unset('CXX') - spack_env.unset('FC') + env.unset('CC') + env.unset('CXX') + env.unset('FC') def install(self, spec, prefix): """Install the package from the archive file""" diff --git a/lib/spack/spack/test/package_sanity.py b/lib/spack/spack/test/package_sanity.py index bbf63881a7cb51b189521bc0dc90ebc2fcaaabb9..e7ac1563eb33332541ac263c1ce471d170328070 100644 --- a/lib/spack/spack/test/package_sanity.py +++ b/lib/spack/spack/test/package_sanity.py @@ -141,7 +141,6 @@ def invalid_sha256_digest(fetcher): assert [] == errors -@pytest.mark.xfail def test_api_for_build_and_run_environment(): """Ensure that every package uses the correct API to set build and run environment, and not the old one. @@ -154,7 +153,7 @@ def test_api_for_build_and_run_environment(): failing.append(pkg) msg = ('there are {0} packages using the old API to set build ' - 'and run environment [{1}], for further information see' + 'and run environment [{1}], for further information see ' 'https://github.com/spack/spack/pull/11115') assert not failing, msg.format( len(failing), ','.join(x.name for x in failing) @@ -182,7 +181,9 @@ def test_prs_update_old_api(): if failed: 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( len(failing), ','.join(failing) ) diff --git a/var/spack/repos/builtin/packages/amber/package.py b/var/spack/repos/builtin/packages/amber/package.py index 94e3f23d1e7dc6f0ed961353bfab351c567efc49..93af77bbbccc61e04e19fcc80a10e0d1b9dfa7b1 100644 --- a/var/spack/repos/builtin/packages/amber/package.py +++ b/var/spack/repos/builtin/packages/amber/package.py @@ -40,11 +40,11 @@ class Amber(Package, CudaPackage): depends_on('py-matplotlib@:2.9', type=('build', 'run')) 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') - run_env.set('AMBERHOME', self.prefix) - run_env.prepend_path('PYTHONPATH', sp_dir) + env.set('AMBERHOME', self.prefix) + env.prepend_path('PYTHONPATH', sp_dir) def install(self, spec, prefix): # install AmberTools where it should be diff --git a/var/spack/repos/builtin/packages/amrvis/package.py b/var/spack/repos/builtin/packages/amrvis/package.py index 9a21ba8eca2c50effc5c85337f0b2947d9ff7f53..df1ed73e069e77e22a57fbbbd374e1041d4e9a2c 100644 --- a/var/spack/repos/builtin/packages/amrvis/package.py +++ b/var/spack/repos/builtin/packages/amrvis/package.py @@ -173,16 +173,16 @@ def edit(self, spec, prefix): with open('GNUmakefile', 'w') as file: 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 - spack_env.unset('AMREX_HOME') + env.unset('AMREX_HOME') # Help force Amrvis to not pick up random system compilers if '+mpi' in self.spec: - spack_env.set('MPI_HOME', self.spec['mpi'].prefix) - spack_env.set('CC', self.spec['mpi'].mpicc) - spack_env.set('CXX', self.spec['mpi'].mpicxx) - spack_env.set('F77', self.spec['mpi'].mpif77) - spack_env.set('FC', self.spec['mpi'].mpifc) + env.set('MPI_HOME', self.spec['mpi'].prefix) + env.set('CC', self.spec['mpi'].mpicc) + env.set('CXX', self.spec['mpi'].mpicxx) + env.set('F77', self.spec['mpi'].mpif77) + env.set('FC', self.spec['mpi'].mpifc) def install(self, spec, prefix): # Install exe manually diff --git a/var/spack/repos/builtin/packages/angsd/package.py b/var/spack/repos/builtin/packages/angsd/package.py index 7959f2b20cb87e5a7794dafbb97222d684aaba8b..0d9d981be03a3defe660b7f91fef904f2d1b2010 100644 --- a/var/spack/repos/builtin/packages/angsd/package.py +++ b/var/spack/repos/builtin/packages/angsd/package.py @@ -22,8 +22,8 @@ class Angsd(MakefilePackage): depends_on('htslib') conflicts('^htslib@1.6:', when='@0.919') - def setup_environment(self, spack_env, run_env): - run_env.set('R_LIBS', prefix.R) + def setup_run_environment(self, env): + env.set('R_LIBS', self.prefix.R) def install(self, spec, prefix): mkdirp(prefix.bin) diff --git a/var/spack/repos/builtin/packages/ants/package.py b/var/spack/repos/builtin/packages/ants/package.py index 903be43a485e83d48abea4eea3b4effb07dd29b5..f6591edbecdcb9a149adc3148d83ac81e48a0cc3 100644 --- a/var/spack/repos/builtin/packages/ants/package.py +++ b/var/spack/repos/builtin/packages/ants/package.py @@ -30,5 +30,5 @@ def install(self, spec, prefix): make("install") install_tree('Scripts', prefix.bin) - def setup_environment(self, spack_env, run_env): - run_env.set('ANTSPATH', self.prefix.bin) + def setup_run_environment(self, env): + env.set('ANTSPATH', self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/aspera-cli/package.py b/var/spack/repos/builtin/packages/aspera-cli/package.py index 00253a197388a4afaa06ee432bfc394869d51392..228d6538621aa6884e176c28495fcc087dd44ca6 100644 --- a/var/spack/repos/builtin/packages/aspera-cli/package.py +++ b/var/spack/repos/builtin/packages/aspera-cli/package.py @@ -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', expand=False) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix.cli.bin) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix.cli.bin) def install(self, spec, prefix): runfile = glob(join_path(self.stage.source_path, 'aspera-cli*.sh'))[0] diff --git a/var/spack/repos/builtin/packages/astral/package.py b/var/spack/repos/builtin/packages/astral/package.py index f3a110a1bd34ca7c20e0a8733d9237e7225548b2..696a8076306b8efbf827a2c18d57fafb185592ab 100644 --- a/var/spack/repos/builtin/packages/astral/package.py +++ b/var/spack/repos/builtin/packages/astral/package.py @@ -44,5 +44,5 @@ def install(self, spec, prefix): filter_file('astral.jar', join_path(prefix.tools, jar_file), script, **kwargs) - def setup_environment(self, spack_env, run_env): - run_env.set('ASTRAL_HOME', self.prefix.tools) + def setup_run_environment(self, env): + env.set('ASTRAL_HOME', self.prefix.tools) diff --git a/var/spack/repos/builtin/packages/at-spi2-core/package.py b/var/spack/repos/builtin/packages/at-spi2-core/package.py index 97d582b18db2927077d505cdcd4021ccc950192b..252bb3e2ff398304c9b4b7edcd57b4e895ed266d 100644 --- a/var/spack/repos/builtin/packages/at-spi2-core/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-core/package.py @@ -35,6 +35,6 @@ def url_for_version(self, version): 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) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): # this avoids an "import site" error in the build - spack_env.unset('PYTHONHOME') + env.unset('PYTHONHOME') diff --git a/var/spack/repos/builtin/packages/atk/package.py b/var/spack/repos/builtin/packages/atk/package.py index f3931e0ceddffd0e21bd835fd4b52d6a371dbc7b..763d550ee98d3ea4f4970ba98f66ac0018c6626c 100644 --- a/var/spack/repos/builtin/packages/atk/package.py +++ b/var/spack/repos/builtin/packages/atk/package.py @@ -35,11 +35,11 @@ def url_for_version(self, version): url = 'http://ftp.gnome.org/pub/gnome/sources/atk' return url + '/%s/atk-%s.tar.xz' % (version.up_to(2), version) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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): with working_dir('spack-build', create=True): diff --git a/var/spack/repos/builtin/packages/bbmap/package.py b/var/spack/repos/builtin/packages/bbmap/package.py index 47197d1c17f61f608bf957a7aada4834bbc41d6e..486edd02044ce2e208ff300b7772363be4bbac87 100644 --- a/var/spack/repos/builtin/packages/bbmap/package.py +++ b/var/spack/repos/builtin/packages/bbmap/package.py @@ -20,6 +20,6 @@ class Bbmap(Package): def install(self, spec, prefix): install_tree('.', prefix.bin) - def setup_environment(self, spack_env, run_env): - run_env.set('BBMAP_CONFIG', self.prefix.bin.config) - run_env.set('BBMAP_RESOURCES', self.prefix.bin.resources) + def setup_run_environment(self, env): + env.set('BBMAP_CONFIG', self.prefix.bin.config) + env.set('BBMAP_RESOURCES', self.prefix.bin.resources) diff --git a/var/spack/repos/builtin/packages/beast2/package.py b/var/spack/repos/builtin/packages/beast2/package.py index 299fbba8493e9ead7e287f134bdea8574ded6a52..0e8cd279a226b30d894f2afff594fb60f8654a66 100644 --- a/var/spack/repos/builtin/packages/beast2/package.py +++ b/var/spack/repos/builtin/packages/beast2/package.py @@ -22,8 +22,8 @@ class Beast2(Package): depends_on('java') - def setup_environment(self, spack_env, run_env): - run_env.set('BEAST', self.prefix) + def setup_run_environment(self, env): + env.set('BEAST', self.prefix) def install(self, spec, prefix): install_tree('bin', prefix.bin) diff --git a/var/spack/repos/builtin/packages/blasr-libcpp/package.py b/var/spack/repos/builtin/packages/blasr-libcpp/package.py index 40693d9e89da317eb96a20c86259de8b20164a0d..4080e383a60415aab0fb0d92724510481519b393 100644 --- a/var/spack/repos/builtin/packages/blasr-libcpp/package.py +++ b/var/spack/repos/builtin/packages/blasr-libcpp/package.py @@ -45,10 +45,7 @@ def install(self, spec, prefix): install_tree('hdf', prefix.hdf) install_tree('pbdata', prefix.pbdata) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path('LD_LIBRARY_PATH', - self.spec.prefix.hdf) - spack_env.prepend_path('LD_LIBRARY_PATH', - self.spec.prefix.alignment) - spack_env.prepend_path('LD_LIBRARY_PATH', - self.spec.prefix.pbdata) + def setup_dependent_build_environment(self, env, dependent_spec): + env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.hdf) + env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.alignment) + env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.pbdata) diff --git a/var/spack/repos/builtin/packages/blasr/package.py b/var/spack/repos/builtin/packages/blasr/package.py index a25f1486da3a34ec68cbd81f3dd95022afdacb08..9bc9e1b5f0f4439347849093ca626814f24d0977 100644 --- a/var/spack/repos/builtin/packages/blasr/package.py +++ b/var/spack/repos/builtin/packages/blasr/package.py @@ -26,19 +26,19 @@ class Blasr(Package): phases = ['configure', 'build', 'install'] - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.spec.prefix.utils) - spack_env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix) - spack_env.prepend_path('CPATH', self.spec[ - 'blasr-libcpp'].prefix.pbdata) - spack_env.prepend_path('CPATH', self.spec[ - 'blasr-libcpp'].prefix.alignment) - spack_env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.hdf) + def setup_build_environment(self, env): + env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix) + env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.pbdata) + env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.alignment) + env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.hdf) # hdf has +mpi by default, so handle that possibility if ('+mpi' in self.spec['hdf5']): - spack_env.set('CC', self.spec['mpi'].mpicc) - spack_env.set('CXX', self.spec['mpi'].mpicxx) + env.set('CC', self.spec['mpi'].mpicc) + 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): configure_args = [ diff --git a/var/spack/repos/builtin/packages/blat/package.py b/var/spack/repos/builtin/packages/blat/package.py index 7b2f5de64920b3a865c502c85a4a7275a590d088..e403f4063a8c5b68b8a79917a5c2944bf4249047 100644 --- a/var/spack/repos/builtin/packages/blat/package.py +++ b/var/spack/repos/builtin/packages/blat/package.py @@ -17,8 +17,8 @@ class Blat(Package): depends_on('libpng') - def setup_environment(self, spack_env, run_env): - spack_env.set('MACHTYPE', 'x86_64') + def setup_build_environment(self, env): + env.set('MACHTYPE', 'x86_64') def install(self, spec, prefix): mkdirp(prefix.bin) diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py index eb3f644d00c7c1ada3082fbc6671d7f7a218cfe1..9c5debb338d5b3731fb475760209f91bbfb13a0e 100644 --- a/var/spack/repos/builtin/packages/bohrium/package.py +++ b/var/spack/repos/builtin/packages/bohrium/package.py @@ -201,11 +201,11 @@ def cmake_args(self): # # Environment setup # - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # Bohrium needs an extra include dir apart from # the self.prefix.include dir - run_env.prepend_path("CPATH", self.prefix.include.bohrium) - run_env.set("BH_CONFIG", self.config_file) + env.prepend_path("CPATH", self.prefix.include.bohrium) + env.set("BH_CONFIG", self.config_file) # # Quick tests diff --git a/var/spack/repos/builtin/packages/braker/package.py b/var/spack/repos/builtin/packages/braker/package.py index f9db018c1d68571c669e46e4de6ac0f5dc32823d..7627e551779d3104d89c8b5c5df42249df5aa160 100644 --- a/var/spack/repos/builtin/packages/braker/package.py +++ b/var/spack/repos/builtin/packages/braker/package.py @@ -62,5 +62,5 @@ def filter_sbang(self): for file in files: filter_file(pattern, repl, *files, backup=False) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PERL5LIB', prefix.lib) + def setup_run_environment(self, env): + env.prepend_path('PERL5LIB', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/breseq/package.py b/var/spack/repos/builtin/packages/breseq/package.py index 82893663d934df1cb371db54a91ab79a5b2a118d..c3a16307fc28746ed9743463954a50aee262aa86 100644 --- a/var/spack/repos/builtin/packages/breseq/package.py +++ b/var/spack/repos/builtin/packages/breseq/package.py @@ -30,8 +30,6 @@ class Breseq(AutotoolsPackage): conflicts('%gcc@:4.8') conflicts('%clang@:3.3') - def setup_environment(self, spack_env, run_env): - spack_env.set('LDFLAGS', - "-L{0}".format(self.spec['zlib'].prefix.lib)) - spack_env.set('CFLAGS', - "-I{0}".format(self.spec['zlib'].prefix.include)) + def setup_build_environment(self, env): + env.set('LDFLAGS', "-L{0}".format(self.spec['zlib'].prefix.lib)) + env.set('CFLAGS', "-I{0}".format(self.spec['zlib'].prefix.include)) diff --git a/var/spack/repos/builtin/packages/casper/package.py b/var/spack/repos/builtin/packages/casper/package.py index 088a0b49b1d963fec64c88e9b216c2d6aeb983b4..d5bd3a4fee1d7515cdc6f94ad59d3c19aafe0f56 100644 --- a/var/spack/repos/builtin/packages/casper/package.py +++ b/var/spack/repos/builtin/packages/casper/package.py @@ -25,5 +25,5 @@ class Casper(MakefilePackage): def install(self, spec, prefix): install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.spec.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/catalyst/package.py b/var/spack/repos/builtin/packages/catalyst/package.py index a37574a888872f290fffa2972dabb56e55451edf..974eb06892021aced95bc3de493b6ae4afef4f12 100644 --- a/var/spack/repos/builtin/packages/catalyst/package.py +++ b/var/spack/repos/builtin/packages/catalyst/package.py @@ -148,7 +148,7 @@ def do_stage(self, mirror_only=False): tty.msg("Already generated %s in %s" % (self.name, self.stage.source_path)) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # paraview 5.5 and later # - cmake under lib/cmake/paraview-5.5 # - libs under lib @@ -160,18 +160,18 @@ def setup_environment(self, spack_env, run_env): if self.spec.version <= Version('5.4.1'): lib_dir = join_path(lib_dir, paraview_subdir) - run_env.set('ParaView_DIR', self.prefix) - run_env.prepend_path('LIBRARY_PATH', lib_dir) - run_env.prepend_path('LD_LIBRARY_PATH', lib_dir) + env.set('ParaView_DIR', self.prefix) + env.prepend_path('LIBRARY_PATH', lib_dir) + env.prepend_path('LD_LIBRARY_PATH', lib_dir) if '+python' in self.spec or '+python3' in self.spec: python_version = self.spec['python'].version.up_to(2) - run_env.prepend_path('PYTHONPATH', join_path(lib_dir, - 'python{0}'.format(python_version), - 'site-packages')) + env.prepend_path('PYTHONPATH', join_path(lib_dir, + 'python{0}'.format(python_version), + 'site-packages')) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('ParaView_DIR', self.prefix) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('ParaView_DIR', self.prefix) @property def root_cmakelists_dir(self): diff --git a/var/spack/repos/builtin/packages/cbench/package.py b/var/spack/repos/builtin/packages/cbench/package.py index 8c00aeeaddff2b5c8500ce017fb292d4dbba89fc..a6d0e931e89bb71bccb56111e82410943311f974 100644 --- a/var/spack/repos/builtin/packages/cbench/package.py +++ b/var/spack/repos/builtin/packages/cbench/package.py @@ -31,27 +31,27 @@ class Cbench(MakefilePackage): conflicts('%xl') conflicts('%xl_r') - def setup_environment(self, build_env, run_env): + def setup_build_environment(self, env): # 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 - build_env.set('CBENCHTEST', self.prefix) + env.set('CBENCHTEST', self.prefix) # 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. # 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 - build_env.set('BLASLIB', self.spec['blas'].libs.ld_flags) - build_env.set('LAPACKLIB', self.spec['lapack'].libs.ld_flags) - build_env.set('FFTWLIB', self.spec['fftw'].libs.ld_flags) + env.set('BLASLIB', self.spec['blas'].libs.ld_flags) + env.set('LAPACKLIB', self.spec['lapack'].libs.ld_flags) + env.set('FFTWLIB', self.spec['fftw'].libs.ld_flags) # 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') @on_package_attributes(run_tests=True) diff --git a/var/spack/repos/builtin/packages/cdhit/package.py b/var/spack/repos/builtin/packages/cdhit/package.py index a2ba8c72bb7c3c6e3f8a1862dd5bb92982b0aef0..b771184468199c6b613f108257056deeffc070d6 100644 --- a/var/spack/repos/builtin/packages/cdhit/package.py +++ b/var/spack/repos/builtin/packages/cdhit/package.py @@ -31,5 +31,5 @@ def build(self, spec, prefix): make_args.append('zlib=no') make(*make_args) - def setup_environment(self, spack_env, run_env): - spack_env.set('PREFIX', prefix.bin) + def setup_build_environment(self, env): + env.set('PREFIX', self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/charmpp/package.py b/var/spack/repos/builtin/packages/charmpp/package.py index c667ff28ef900e02ade89d3460db5774717d095b..c979454e93147bacf091097f6cfd984f38a4b210 100644 --- a/var/spack/repos/builtin/packages/charmpp/package.py +++ b/var/spack/repos/builtin/packages/charmpp/package.py @@ -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=LIBS backend={0}'.format(b)) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('MPICC', join_path(self.prefix.bin, 'ampicc')) - spack_env.set('MPICXX', join_path(self.prefix.bin, 'ampicxx')) - spack_env.set('MPIF77', join_path(self.prefix.bin, 'ampif77')) - spack_env.set('MPIF90', join_path(self.prefix.bin, 'ampif90')) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('MPICC', self.prefix.bin.ampicc) + env.set('MPICXX', self.prefix.bin.ampicxx) + env.set('MPIF77', self.prefix.bin.ampif77) + env.set('MPIF90', self.prefix.bin.ampif90) def setup_dependent_package(self, module, dependent_spec): - self.spec.mpicc = join_path(self.prefix.bin, 'ampicc') - self.spec.mpicxx = join_path(self.prefix.bin, 'ampicxx') - self.spec.mpifc = join_path(self.prefix.bin, 'ampif90') - self.spec.mpif77 = join_path(self.prefix.bin, 'ampif77') + self.spec.mpicc = self.prefix.bin.ampicc + self.spec.mpicxx = self.prefix.bin.ampicxx + self.spec.mpifc = self.prefix.bin.ampif90 + self.spec.mpif77 = self.prefix.bin.ampif77 depends_on("mpi", when="backend=mpi") depends_on("papi", when="+papi") diff --git a/var/spack/repos/builtin/packages/chill/package.py b/var/spack/repos/builtin/packages/chill/package.py index 998f9500f2aa0be23f98d1b22b56b05e529e9336..215009c0b0ff2f929738308c92c3e3db54072a56 100644 --- a/var/spack/repos/builtin/packages/chill/package.py +++ b/var/spack/repos/builtin/packages/chill/package.py @@ -35,22 +35,27 @@ def autoreconf(self, spec, prefix): bash = which('bash') bash('./bootstrap') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): rose_home = self.spec['rose'].prefix boost_home = self.spec['boost'].prefix iegen_home = self.spec['iegenlib'].prefix - spack_env.append_path('LD_LIBRARY_PATH', rose_home.lib) - spack_env.append_path('LD_LIBRARY_PATH', boost_home.lib) - spack_env.append_path('LD_LIBRARY_PATH', iegen_home.lib) + env.set('ROSEHOME', rose_home) + env.set('BOOSTHOME', boost_home) + env.set('IEGENHOME', iegen_home) - run_env.append_path('LD_LIBRARY_PATH', rose_home.lib) - run_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', rose_home.lib) + env.append_path('LD_LIBRARY_PATH', boost_home.lib) + env.append_path('LD_LIBRARY_PATH', iegen_home.lib) - spack_env.set('ROSEHOME', rose_home) - spack_env.set('BOOSTHOME', boost_home) - spack_env.set('IEGENHOME', iegen_home) + def setup_run_environment(self, env): + rose_home = self.spec['rose'].prefix + 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): args = ['--with-rose={0}'.format(self.spec['rose'].prefix), diff --git a/var/spack/repos/builtin/packages/chlorop/package.py b/var/spack/repos/builtin/packages/chlorop/package.py index 13e3af34bb26545c744271679be54f0450436308..a206f539e68e81faea25a39aa26e015e20a03b02 100644 --- a/var/spack/repos/builtin/packages/chlorop/package.py +++ b/var/spack/repos/builtin/packages/chlorop/package.py @@ -29,5 +29,5 @@ def install(self, spec, prefix): os.rename('chlorop', 'bin/chlorop') install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): - run_env.set('CHLOROP', self.prefix) + def setup_run_environment(self, env): + env.set('CHLOROP', self.prefix) diff --git a/var/spack/repos/builtin/packages/cinch/package.py b/var/spack/repos/builtin/packages/cinch/package.py index caba1e469fa04e429c9934ef8c7dafd499b27d6a..0c6aa3e8fe5da4f6edba42070b62f544f3f79a01 100644 --- a/var/spack/repos/builtin/packages/cinch/package.py +++ b/var/spack/repos/builtin/packages/cinch/package.py @@ -23,6 +23,6 @@ def install(self, spec, prefix): # (CMake) Header Only library so just copy install_tree(self.stage.source_path, prefix) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path('CMAKE_PREFIX_PATH', self.prefix) - spack_env.set('CINCH_SOURCE_DIR', self.prefix) + def setup_dependent_build_environment(self, env, dependent_spec): + env.prepend_path('CMAKE_PREFIX_PATH', self.prefix) + env.set('CINCH_SOURCE_DIR', self.prefix) diff --git a/var/spack/repos/builtin/packages/citcoms/package.py b/var/spack/repos/builtin/packages/citcoms/package.py index d7d9d13b5837d9600141905034a5aa7a2623452d..99760541b23cd2d67285d3fde480006fc7281cce 100644 --- a/var/spack/repos/builtin/packages/citcoms/package.py +++ b/var/spack/repos/builtin/packages/citcoms/package.py @@ -36,9 +36,9 @@ class Citcoms(AutotoolsPackage): 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+') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): 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): args = ['CC={0}'.format(self.spec['mpi'].mpicc)] diff --git a/var/spack/repos/builtin/packages/converge/package.py b/var/spack/repos/builtin/packages/converge/package.py index 3b990ebd6af3cf8e5437ad01da5cd80641ac6978..de06a9e7804a27f82c1cfaa1c17b3105bb8d158e 100644 --- a/var/spack/repos/builtin/packages/converge/package.py +++ b/var/spack/repos/builtin/packages/converge/package.py @@ -215,7 +215,7 @@ def install(self, spec, prefix): if not os.path.exists('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_ROOT/license/license.lic - run_env.set('CONVERGE_ROOT', self.prefix) + env.set('CONVERGE_ROOT', self.prefix) diff --git a/var/spack/repos/builtin/packages/cppunit/package.py b/var/spack/repos/builtin/packages/cppunit/package.py index b85f06218a47f07b20862e59dce2bc8b60d151b2..166358f5405df19669cf7cff36f9d130868a01bb 100644 --- a/var/spack/repos/builtin/packages/cppunit/package.py +++ b/var/spack/repos/builtin/packages/cppunit/package.py @@ -21,8 +21,8 @@ class Cppunit(AutotoolsPackage): multi=False, 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 cxxstdflag = '' if cxxstd == 'default' else \ getattr(self.compiler, 'cxx{0}_flag'.format(cxxstd)) - spack_env.append_flags('CXXFLAGS', cxxstdflag) + env.append_flags('CXXFLAGS', cxxstdflag) diff --git a/var/spack/repos/builtin/packages/cryptsetup/package.py b/var/spack/repos/builtin/packages/cryptsetup/package.py index 1ff2c98c66ff559d4d85f9ec53e66689c3441032..05b7041485a8f8eb03ef6fdfaf60f41cdb84e484 100644 --- a/var/spack/repos/builtin/packages/cryptsetup/package.py +++ b/var/spack/repos/builtin/packages/cryptsetup/package.py @@ -47,7 +47,10 @@ def configure_args(self): ] 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.""" - spack_env.prepend_path('PATH', self.prefix.sbin) - run_env.prepend_path('PATH', self.prefix.sbin) + 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) diff --git a/var/spack/repos/builtin/packages/darshan-runtime/package.py b/var/spack/repos/builtin/packages/darshan-runtime/package.py index 0b3c770ded9a342a5fdeef4ef2d6c1eb97c201d5..0ae41c3ee577996864aeccc4fb2479554e18c686 100644 --- a/var/spack/repos/builtin/packages/darshan-runtime/package.py +++ b/var/spack/repos/builtin/packages/darshan-runtime/package.py @@ -54,7 +54,7 @@ def install(self, spec, prefix): make() 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 - darshan_log_dir = '%s' % os.environ['HOME'] - run_env.set('DARSHAN_LOG_DIR_PATH', darshan_log_dir) + darshan_log_dir = os.environ['HOME'] + env.set('DARSHAN_LOG_DIR_PATH', darshan_log_dir) diff --git a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py index 53329fcfc62144bd6db51d0a174af1c63f57b653..660859fdc31f1b6266cdd6efee532254e4a08aa3 100644 --- a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py +++ b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py @@ -17,5 +17,5 @@ class DealiiParameterGui(CMakePackage): depends_on('qt') - def setup_environment(self, spack_env, run_env): - run_env.set('PARAMETER_GUI_DIR', self.prefix) + def setup_run_environment(self, env): + env.set('PARAMETER_GUI_DIR', self.prefix) diff --git a/var/spack/repos/builtin/packages/deconseq-standalone/package.py b/var/spack/repos/builtin/packages/deconseq-standalone/package.py index ac451ff95abc987ca9316146f8a83af2c4bd9fd8..8516902cc6a15ac626f88f8f7102cdd9732bd91d 100644 --- a/var/spack/repos/builtin/packages/deconseq-standalone/package.py +++ b/var/spack/repos/builtin/packages/deconseq-standalone/package.py @@ -37,5 +37,5 @@ def install(self, spec, prefix): chmod('+x', join_path(prefix.bin, 'deconseq.pl')) chmod('+x', join_path(prefix.bin, 'splitFasta.pl')) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PERL5LIB', prefix) + def setup_run_environment(self, env): + env.prepend_path('PERL5LIB', self.prefix) diff --git a/var/spack/repos/builtin/packages/dialign/package.py b/var/spack/repos/builtin/packages/dialign/package.py index 5a8e6b7d7c0080888c437ef821ed2b38f39f983c..bad921c42e4797c2657586ea20bf9a7c0e76eae6 100644 --- a/var/spack/repos/builtin/packages/dialign/package.py +++ b/var/spack/repos/builtin/packages/dialign/package.py @@ -24,5 +24,5 @@ def install(self, spec, prefix): mkdirp(prefix.share) install_tree('dialign2_dir', prefix.share) - def setup_environment(self, spack_env, run_env): - run_env.set('DIALIGN2_DIR', self.prefix.share) + def setup_run_environment(self, env): + env.set('DIALIGN2_DIR', self.prefix.share) diff --git a/var/spack/repos/builtin/packages/dmd/package.py b/var/spack/repos/builtin/packages/dmd/package.py index 57555244763ce091739978be435924b151cf8748..94d07f54be787e27191d22616df3c87a79f98532 100644 --- a/var/spack/repos/builtin/packages/dmd/package.py +++ b/var/spack/repos/builtin/packages/dmd/package.py @@ -32,10 +32,10 @@ class Dmd(MakefilePackage): sha256='71fa249dbfd278eec2b95ce577af32e623e44caf0d993905ddc189e3beec21d0', placement='tools') - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix.linux.bin64) - run_env.prepend_path('LIBRARY_PATH', self.prefix.linux.lib64) - run_env.prepend_path('LD_LIBRARY_PATH', self.prefix.linux.lib64) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix.linux.bin64) + env.prepend_path('LIBRARY_PATH', self.prefix.linux.lib64) + env.prepend_path('LD_LIBRARY_PATH', self.prefix.linux.lib64) def edit(self, spec, prefix): # Move contents to dmd/ diff --git a/var/spack/repos/builtin/packages/docbook-xsl/package.py b/var/spack/repos/builtin/packages/docbook-xsl/package.py index 99bfb06d66893d078871ee6e9d8bc919fa84b5ba..429c211cd6609deaff21c5d77e8f819fadc52d70 100644 --- a/var/spack/repos/builtin/packages/docbook-xsl/package.py +++ b/var/spack/repos/builtin/packages/docbook-xsl/package.py @@ -26,10 +26,10 @@ def install(self, spec, prefix): def catalog(self): 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 - 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 - spack_env.prepend_path("XML_CATALOG_FILES", catalog) + env.prepend_path("XML_CATALOG_FILES", catalog) diff --git a/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py b/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py index ef517b92d22842057fb9af6c777e09999eba99eb..b62f01616169b3911b0a4675e1270bd16a5ed655 100644 --- a/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py +++ b/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py @@ -45,6 +45,3 @@ def build(self, spec, prefix): def install(self, spec, prefix): mkdirp(spec.prefix.bin) install('ecj1', spec.prefix.bin) - - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py index 0c1a86d67698f69b0adca0ae4ea387abd409c111..843edc3a094878a7b064b05b547e33cd173227ab 100644 --- a/var/spack/repos/builtin/packages/eigen/package.py +++ b/var/spack/repos/builtin/packages/eigen/package.py @@ -48,9 +48,8 @@ class Eigen(CMakePackage): patch('find-ptscotch.patch', when='@3.3.4') - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('CPATH', - join_path(self.prefix, 'include', 'eigen3')) + def setup_run_environment(self, env): + env.prepend_path('CPATH', self.prefix.include.eigen3) @property def headers(self): diff --git a/var/spack/repos/builtin/packages/everytrace-example/package.py b/var/spack/repos/builtin/packages/everytrace-example/package.py index f5ccf381b84551c6e1b1279a57b5601f47e4a855..b4850bde4129277c19b0aa86ab3f0f1dd1a8601b 100644 --- a/var/spack/repos/builtin/packages/everytrace-example/package.py +++ b/var/spack/repos/builtin/packages/everytrace-example/package.py @@ -18,6 +18,3 @@ class EverytraceExample(CMakePackage): # Currently the only MPI this everytrace works with. depends_on('openmpi') - - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', join_path(self.prefix, 'bin')) diff --git a/var/spack/repos/builtin/packages/everytrace/package.py b/var/spack/repos/builtin/packages/everytrace/package.py index 1de226bdac61d42f90da896c162d30e99fee80b1..2b762bbd1c94a29dcec4e622640a788772e6b8b0 100644 --- a/var/spack/repos/builtin/packages/everytrace/package.py +++ b/var/spack/repos/builtin/packages/everytrace/package.py @@ -31,6 +31,3 @@ def cmake_args(self): '-DUSE_MPI=%s' % ('YES' if '+mpi' in spec else 'NO'), '-DUSE_FORTRAN=%s' % ('YES' if '+fortran' 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')) diff --git a/var/spack/repos/builtin/packages/express/package.py b/var/spack/repos/builtin/packages/express/package.py index 45a05cffa8963fb8ea3505c8c27cb91803f687a4..b787fbe9a5ab1068f0664c764ed1c5ab0f84a6a5 100644 --- a/var/spack/repos/builtin/packages/express/package.py +++ b/var/spack/repos/builtin/packages/express/package.py @@ -40,6 +40,6 @@ def patch(self): edit.filter(r'\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/' 'libbamtools.a', '%s' % self.spec['bamtools'].libs) - def setup_environment(self, spack_env, run_env): - spack_env.prepend_path('CPATH', self.spec[ - 'bamtools'].prefix.include.bamtools) + def setup_build_environment(self, env): + env.prepend_path('CPATH', + self.spec['bamtools'].prefix.include.bamtools) diff --git a/var/spack/repos/builtin/packages/extrae/package.py b/var/spack/repos/builtin/packages/extrae/package.py index 54c3622b06ef2653946103ddf3fbf47c7a5db27f..3270b3c9846f3325796566c9f83012339b69c79e 100644 --- a/var/spack/repos/builtin/packages/extrae/package.py +++ b/var/spack/repos/builtin/packages/extrae/package.py @@ -101,10 +101,10 @@ def install(self, spec, prefix): else: 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 - 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 - spack_env.set('EXTRAE_HOME', self.prefix) + env.set('EXTRAE_HOME', self.prefix) diff --git a/var/spack/repos/builtin/packages/fastqc/package.py b/var/spack/repos/builtin/packages/fastqc/package.py index 289cda53bb9991efc5021a6259c46a84a07cbb29..b66539e7f19526c0c9b0c426b83a48a088a541e2 100644 --- a/var/spack/repos/builtin/packages/fastqc/package.py +++ b/var/spack/repos/builtin/packages/fastqc/package.py @@ -34,8 +34,8 @@ def install(self, spec, prefix): # In theory the 'run' dependency on 'jdk' above should take # 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 top level. """ - run_env.prepend_path('PATH', self.spec['java'].prefix.bin) + env.prepend_path('PATH', self.spec['java'].prefix.bin) diff --git a/var/spack/repos/builtin/packages/fgsl/package.py b/var/spack/repos/builtin/packages/fgsl/package.py index 60d3580f25dd5ae3e7bfd3e663295f17c0da9810..f28e6f1c9c15fef06929b3fe5c6b9865c5b31367 100644 --- a/var/spack/repos/builtin/packages/fgsl/package.py +++ b/var/spack/repos/builtin/packages/fgsl/package.py @@ -34,6 +34,6 @@ class Fgsl(AutotoolsPackage): def create_m4_dir(self): mkdir('m4') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): if self.compiler.name == 'gcc': - spack_env.append_flags('FCFLAGS', "-ffree-line-length-none") + env.append_flags('FCFLAGS', "-ffree-line-length-none") diff --git a/var/spack/repos/builtin/packages/flang/package.py b/var/spack/repos/builtin/packages/flang/package.py index a09e25b5bea6f9f5dbf68c60793644e4b5619822..9608e68e29c8e9cb1fd74a49824ab6089d2fd824 100644 --- a/var/spack/repos/builtin/packages/flang/package.py +++ b/var/spack/repos/builtin/packages/flang/package.py @@ -71,9 +71,11 @@ def post_install(self): chmod = which('chmod') chmod('+x', flang) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): # to find llvm's libc++.so - spack_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')) - run_env.set('F90', join_path(self.spec.prefix.bin, 'flang')) + env.set('LD_LIBRARY_PATH', self.spec['llvm'].prefix.lib) + + def setup_run_environment(self, env): + env.set('FC', self.spec.prefix.bin.flang) + env.set('F77', self.spec.prefix.bin.flang) + env.set('F90', self.spec.prefix.bin.flang) diff --git a/var/spack/repos/builtin/packages/foam-extend/package.py b/var/spack/repos/builtin/packages/foam-extend/package.py index 8932c4cc07012bb6dd5931ebff817138b09abbf7..3b8703639fe9e65958e5cd6a6dc61c423145e503 100644 --- a/var/spack/repos/builtin/packages/foam-extend/package.py +++ b/var/spack/repos/builtin/packages/foam-extend/package.py @@ -118,7 +118,7 @@ class FoamExtend(Package): # - 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. These environment variables come from running: @@ -126,13 +126,6 @@ def setup_environment(self, spack_env, run_env): $ . $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') minimal = True if os.path.isfile(bashrc): @@ -173,7 +166,7 @@ def setup_environment(self, spack_env, run_env): 'PYTHON_BIN_DIR', ]) - run_env.extend(mods) + env.extend(mods) minimal = False tty.info('foam-extend env: {0}'.format(bashrc)) except Exception: @@ -182,19 +175,19 @@ def setup_environment(self, spack_env, run_env): if minimal: # pre-build or minimal environment tty.info('foam-extend minimal env {0}'.format(self.prefix)) - run_env.set('FOAM_INST_DIR', os.path.dirname(self.projectdir)), - run_env.set('FOAM_PROJECT_DIR', self.projectdir) - run_env.set('WM_PROJECT_DIR', self.projectdir) + env.set('FOAM_INST_DIR', os.path.dirname(self.projectdir)), + env.set('FOAM_PROJECT_DIR', self.projectdir) + env.set('WM_PROJECT_DIR', self.projectdir) 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. This is identical to the WM_PROJECT_DIR value, but we avoid that variable since it would mask the normal OpenFOAM cleanup of previous versions. """ - spack_env.set('FOAM_PROJECT_DIR', self.projectdir) + env.set('FOAM_PROJECT_DIR', self.projectdir) @property def projectdir(self): diff --git a/var/spack/repos/builtin/packages/font-util/package.py b/var/spack/repos/builtin/packages/font-util/package.py index 11635276fa80a83f7182e499ef4619f6604e2637..92ac5d30eba0f6e5e2aa874c3631a16650852569 100644 --- a/var/spack/repos/builtin/packages/font-util/package.py +++ b/var/spack/repos/builtin/packages/font-util/package.py @@ -77,10 +77,9 @@ class FontUtil(AutotoolsPackage): default=','.join(fonts), multi=True) - def setup_environment(self, spack_env, run_env): - spack_env.prepend_path('PATH', self.prefix.bin) - spack_env.prepend_path('PKG_CONFIG_PATH', - join_path(self.prefix.lib, 'pkgconfig')) + def setup_build_environment(self, env): + env.prepend_path('PATH', self.prefix.bin) + env.prepend_path('PKG_CONFIG_PATH', self.prefix.lib.pkgconfig) @run_after('install') def font_install(self): diff --git a/var/spack/repos/builtin/packages/fsl/package.py b/var/spack/repos/builtin/packages/fsl/package.py index 642f09644abcdaae671d9fe46a74134753749399..649be1fb96790a720d8714fbb048ca97bcd2c412 100644 --- a/var/spack/repos/builtin/packages/fsl/package.py +++ b/var/spack/repos/builtin/packages/fsl/package.py @@ -51,33 +51,33 @@ def install(self, spec, prefix): install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): if not self.stage.source_path: self.stage.fetch() self.stage.expand_archive() - spack_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) + env.set('FSLDIR', self.stage.source_path) # Below is for sourcing purposes during building fslsetup = join_path(self.stage.source_path, 'etc', 'fslconf', 'fsl.sh') if os.path.isfile(fslsetup): - spack_env.extend(EnvironmentModifications.from_sourcing_file( - fslsetup)) + env.extend(EnvironmentModifications.from_sourcing_file(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) diff --git a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py index 3370cc3b217347deebb9fe06586178a9b91a3a24..79b0eeba30f0e98a8f5eb75aa9a5b5ed9aa036fe 100644 --- a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py +++ b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py @@ -33,8 +33,8 @@ def setup_dependent_package(self, module, dependent_spec): self.spec.mpif77 = self.prefix.bin.mpifrt self.spec.mpifc = self.prefix.bin.mpifrt - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('MPICC', self.prefix.bin.mpifcc) - spack_env.set('MPICXX', self.prefix.bin.mpiFCC) - spack_env.set('MPIF77', self.prefix.bin.mpifrt) - spack_env.set('MPIF90', self.prefix.bin.mpifrt) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('MPICC', self.prefix.bin.mpifcc) + env.set('MPICXX', self.prefix.bin.mpiFCC) + env.set('MPIF77', self.prefix.bin.mpifrt) + env.set('MPIF90', self.prefix.bin.mpifrt) diff --git a/var/spack/repos/builtin/packages/g4ensdfstate/package.py b/var/spack/repos/builtin/packages/g4ensdfstate/package.py index ad065f92339f91a91a29d7a6a2b41e70a8054ee7..e71397f6f19e879d62e8c202afad1aa2a56ca507 100644 --- a/var/spack/repos/builtin/packages/g4ensdfstate/package.py +++ b/var/spack/repos/builtin/packages/g4ensdfstate/package.py @@ -21,8 +21,8 @@ def install(self, spec, prefix): .format(self.version)) install_tree(self.stage.source_path, install_path) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - run_env.set('G4ENSDFSTATEDATA', join_path(prefix.share, 'data')) + def setup_dependent_run_environment(self, env, dependent_spec): + env.set('G4ENSDFSTATEDATA', self.prefix.share.data) def url_for_version(self, version): """Handle version string.""" diff --git a/var/spack/repos/builtin/packages/gams/package.py b/var/spack/repos/builtin/packages/gams/package.py index c900c6aad8fcfa700f22c96682616cc7c5be9970..b42d41d5787387183c435db42500dd7edeaae646 100644 --- a/var/spack/repos/builtin/packages/gams/package.py +++ b/var/spack/repos/builtin/packages/gams/package.py @@ -20,10 +20,9 @@ class Gams(Package): def url_for_version(self, version): return "file://{0}/linux_x64_64_sfx.exe".format(os.getcwd()) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path("PATH", join_path(self.prefix, - 'gams{0}_linux_x64_64_sfx' - .format(self.version))) + def setup_run_environment(self, env): + env.prepend_path("PATH", join_path( + self.prefix, 'gams{0}_linux_x64_64_sfx'.format(self.version))) def install(self, spec, prefix): os.chmod(join_path(self.stage.source_path, diff --git a/var/spack/repos/builtin/packages/gatk/package.py b/var/spack/repos/builtin/packages/gatk/package.py index 8f620daba578ef465aacfb2d3c307efcda64bcd5..9329767be33b90b90ecf1a5efaa873c0a5747dee 100644 --- a/var/spack/repos/builtin/packages/gatk/package.py +++ b/var/spack/repos/builtin/packages/gatk/package.py @@ -87,7 +87,7 @@ def install(self, spec, prefix): **kwargs ) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path( - "GATK", join_path(self.prefix, "bin", "GenomeAnalysisTK.jar") + def setup_run_environment(self, env): + env.prepend_path( + "GATK", join_path(self.prefix.bin, "GenomeAnalysisTK.jar") ) diff --git a/var/spack/repos/builtin/packages/gaussian/package.py b/var/spack/repos/builtin/packages/gaussian/package.py index 3acb95974d0164e6c9146dad1cae99613a29f403..19bf35d12998c2b50278294f11fa824d8289b64c 100644 --- a/var/spack/repos/builtin/packages/gaussian/package.py +++ b/var/spack/repos/builtin/packages/gaussian/package.py @@ -38,15 +38,14 @@ def install(self, spec, prefix): filter_file('/usr/bin/linda', prefix.bin, join_path(prefix.bin, filename), string='True') - def setup_environment(self, spack_env, run_env): - run_env.set('g09root', self.prefix) - run_env.set('GAUSSIANHOME', self.prefix) - run_env.set('GAUSS_EXEDIR', self.prefix.bin) - run_env.set('G09_BASIS', join_path(self.prefix.bin, 'basis')) - run_env.set('GAUSS_LEXEDIR', join_path(self.prefix.bin, - 'linda-exe')) - run_env.set('GAUSS_ARCHDIR', join_path(self.prefix.bin, 'arch')) - run_env.set('GAUSS_BSDDIR', join_path(self.prefix.bin, 'bsd')) - run_env.prepend_path('LD_LIBRARY_PATH', join_path(self.prefix.bin, - 'linda8.2/opteron-linux/lib')) - run_env.prepend_path('LD_LIBRARY_PATH', self.prefix.bin) + def setup_run_environment(self, env): + env.set('g09root', self.prefix) + env.set('GAUSSIANHOME', self.prefix) + env.set('GAUSS_EXEDIR', self.prefix.bin) + env.set('G09_BASIS', self.prefix.bin.basis) + env.set('GAUSS_LEXEDIR', join_path(self.prefix.bin, 'linda-exe')) + env.set('GAUSS_ARCHDIR', self.prefix.bin.arch) + env.set('GAUSS_BSDDIR', self.prefix.bin.bsd) + env.prepend_path('LD_LIBRARY_PATH', join_path(self.prefix.bin, + 'linda8.2', 'opteron-linux', 'lib')) + env.prepend_path('LD_LIBRARY_PATH', self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py index 5981d6381ec5955058bee1b330a2ae4ab722361e..9fd81a4f4a30cdaa07e6cfc98a1187db2f17f3a1 100644 --- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py +++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py @@ -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" return url.format(version.up_to(2), version) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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): with working_dir('spack-build', create=True): @@ -81,7 +81,7 @@ def install(self, spec, prefix): if self.run_tests: 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, # which was installed earlier. - spack_env.prepend_path('PATH', self.prefix.bin) + env.prepend_path('PATH', self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index d0a4c111e76239c430033b1589a8646398a7af55..86b539f3a85250c04d09b0e7b26e3fd8a895ccc0 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -145,7 +145,7 @@ def make_data_links(self): target = os.readlink(d) 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 major = version[0] minor = version[1] @@ -154,6 +154,5 @@ def setup_dependent_environment(self, spack_env, run_env, dep_spec): else: patch = 0 datadir = 'Geant4-%s.%s.%s' % (major, minor, patch) - spack_env.append_path('CMAKE_MODULE_PATH', - '{0}/{1}/Modules'.format( - self.prefix.lib64, datadir)) + env.append_path('CMAKE_MODULE_PATH', join_path( + self.prefix.lib64, datadir, 'Modules')) diff --git a/var/spack/repos/builtin/packages/genemark-et/package.py b/var/spack/repos/builtin/packages/genemark-et/package.py index a66cfa87a0aeaf4fda8c51c13c65ada906b0fc8f..2c30370ccca76b524bd0263f77debae8135967dc 100644 --- a/var/spack/repos/builtin/packages/genemark-et/package.py +++ b/var/spack/repos/builtin/packages/genemark-et/package.py @@ -55,5 +55,5 @@ def filter_sbang(self): for file in files: filter_file(pattern, repl, *files, backup=False) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PERL5LIB', prefix.lib) + def setup_run_environment(self, env): + env.prepend_path('PERL5LIB', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/genometools/package.py b/var/spack/repos/builtin/packages/genometools/package.py index e76b0df92c4250975592b9849f247d46b5b89d5b..78f21db2c0e516e90f48597dcbe4741466fbb65a 100644 --- a/var/spack/repos/builtin/packages/genometools/package.py +++ b/var/spack/repos/builtin/packages/genometools/package.py @@ -25,5 +25,5 @@ class Genometools(MakefilePackage): def install(self, spec, prefix): make('install', 'prefix=%s' % prefix) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('CPATH', self.prefix.include.genometools) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('CPATH', self.prefix.include.genometools) diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py index 8828d682380478a30b6efefcdfac38f0727228cf..ceb4e2ccb04971e85735b915f9c78dc85ff7fc7b 100644 --- a/var/spack/repos/builtin/packages/git/package.py +++ b/var/spack/repos/builtin/packages/git/package.py @@ -185,13 +185,13 @@ class Git(AutotoolsPackage): depends_on('m4', type='build') 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): filter_file(r'^EXTLIBS =$', '#EXTLIBS =', '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 # inserts the information into the proper place in the link commands # (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 # have a gettext dependency. 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)) - spack_env.append_flags('CFLAGS', '-I{0}'.format( + env.append_flags('CFLAGS', '-I{0}'.format( self.spec['gettext'].prefix.include)) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py index 8511065177152edd39ac3a09ccf08b0795de77d0..71564bf0bb9547e39a18c3b61597822f54eaba2d 100644 --- a/var/spack/repos/builtin/packages/gnutls/package.py +++ b/var/spack/repos/builtin/packages/gnutls/package.py @@ -4,7 +4,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * -import os 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" 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 if '+guile' in spec: - build_env.set('GUILE', os.path.join(spec["guile"].prefix.bin, - 'guile')) + env.set('GUILE', spec["guile"].prefix.bin.guile) def configure_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/go-bootstrap/package.py b/var/spack/repos/builtin/packages/go-bootstrap/package.py index e5bfcef380753da9a37da9856a2b31eace3b6187..fdb0ec5686cac72379d4367590178394f80ecd4e 100644 --- a/var/spack/repos/builtin/packages/go-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/go-bootstrap/package.py @@ -55,8 +55,8 @@ def install(self, spec, prefix): install_tree('.', prefix) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('GOROOT_BOOTSTRAP', self.spec.prefix) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('GOROOT_BOOTSTRAP', self.spec.prefix) - def setup_environment(self, spack_env, run_env): - spack_env.set('GOROOT_FINAL', self.spec.prefix) + def setup_build_environment(self, env): + env.set('GOROOT_FINAL', self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/gobject-introspection/package.py b/var/spack/repos/builtin/packages/gobject-introspection/package.py index 20996c981f7a1a180f7b228ee36f746e349b4485..df16de3e8a79951b1008b7d9c062972851f9f5e5 100644 --- a/var/spack/repos/builtin/packages/gobject-introspection/package.py +++ b/var/spack/repos/builtin/packages/gobject-introspection/package.py @@ -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' return url.format(version.up_to(2), version) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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): configure("--prefix=%s" % prefix) @@ -69,5 +71,5 @@ def install(self, spec, prefix): make() make("install") - def setup_environment(self, spack_env, run_env): - spack_env.set('SPACK_SBANG', "%s/bin/sbang" % spack_root) + def setup_build_environment(self, env): + env.set('SPACK_SBANG', "%s/bin/sbang" % spack_root) diff --git a/var/spack/repos/builtin/packages/gpu-burn/package.py b/var/spack/repos/builtin/packages/gpu-burn/package.py index fd11176baa4ef1aa195a6ad8621eb7a6e5579f28..66af15f085222d2d5b36d76043dbc9004fed72d9 100644 --- a/var/spack/repos/builtin/packages/gpu-burn/package.py +++ b/var/spack/repos/builtin/packages/gpu-burn/package.py @@ -51,5 +51,5 @@ def install(self, spec, prefix): # The gpu_burn program looks for the compare.ptx file in the current # working directory. Create an environment variable that can be pointed to # so that it can be copied or linked. - def setup_environment(self, spack_env, run_env): - run_env.set('COMPARE_PTX', join_path(self.prefix.share, 'compare.ptx')) + def setup_run_environment(self, env): + env.set('COMPARE_PTX', join_path(self.prefix.share, 'compare.ptx')) diff --git a/var/spack/repos/builtin/packages/grnboost/package.py b/var/spack/repos/builtin/packages/grnboost/package.py index 442fa77746dacb92ae8c2c93c4cf1fa0a78e4e9c..ee89fa5c014773351006a746dd3ecf632f1d6210 100644 --- a/var/spack/repos/builtin/packages/grnboost/package.py +++ b/var/spack/repos/builtin/packages/grnboost/package.py @@ -25,16 +25,16 @@ class Grnboost(Package): depends_on('xgboost+jvm-packages', 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', 'scala-2.11', 'GRNBoost.jar') xgboost_version = self.spec['xgboost'].version.string xgboost_jar = join_path(self.spec['xgboost'].prefix, 'xgboost4j-' + xgboost_version + '.jar') - run_env.set('GRNBOOST_JAR', grnboost_jar) - run_env.set('JAVA_HOME', self.spec['java'].prefix) - run_env.set('CLASSPATH', xgboost_jar) - run_env.set('XGBOOST_JAR', xgboost_jar) + env.set('GRNBOOST_JAR', grnboost_jar) + env.set('JAVA_HOME', self.spec['java'].prefix) + env.set('CLASSPATH', xgboost_jar) + env.set('XGBOOST_JAR', xgboost_jar) def install(self, spec, prefix): sbt = which('sbt') diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py index dcd3e36529344a3eead5d98f2a19190307b171e7..92910aa8cd755455568aa4a80aaaf41ef2552bf2 100644 --- a/var/spack/repos/builtin/packages/gtkplus/package.py +++ b/var/spack/repos/builtin/packages/gtkplus/package.py @@ -48,11 +48,11 @@ def patch(self): filter_file(r'CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"', '', 'configure', string=True) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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 configure_args(self): args = [] diff --git a/var/spack/repos/builtin/packages/gtksourceview/package.py b/var/spack/repos/builtin/packages/gtksourceview/package.py index 9907a9525524babc461f1164b9571917f135c3cf..9b469e9171f72e2fbdaba4fda3998902aa32aca6 100644 --- a/var/spack/repos/builtin/packages/gtksourceview/package.py +++ b/var/spack/repos/builtin/packages/gtksourceview/package.py @@ -42,13 +42,17 @@ def url_for_version(self, version): url += '{0}/gtksourceview-{1}.tar.xz' return url.format(version.up_to(2), version) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_environment(self, spack_env, run_env): - spack_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 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 # method is unnecessary. diff --git a/var/spack/repos/builtin/packages/gurobi/package.py b/var/spack/repos/builtin/packages/gurobi/package.py index b9c416e46b942b075e77f77bb33140fe31f3cbfe..fff3554f1578f028fe0e50f346b296862146a87c 100644 --- a/var/spack/repos/builtin/packages/gurobi/package.py +++ b/var/spack/repos/builtin/packages/gurobi/package.py @@ -35,8 +35,8 @@ class Gurobi(Package): def url_for_version(self, version): return "file://{0}/gurobi{1}_linux64.tar.gz".format(os.getcwd(), version) - def setup_environment(self, spack_env, run_env): - run_env.set('GUROBI_HOME', self.prefix) + def setup_run_environment(self, env): + env.set('GUROBI_HOME', self.prefix) def install(self, spec, prefix): install_tree('linux64', prefix) diff --git a/var/spack/repos/builtin/packages/hdf5-blosc/package.py b/var/spack/repos/builtin/packages/hdf5-blosc/package.py index 7516ca6e4fbb1a1aeb961b8e886e9fcfe29a02d6..14a45f82a4f1cd42c21fa0098897db60836dc59e 100644 --- a/var/spack/repos/builtin/packages/hdf5-blosc/package.py +++ b/var/spack/repos/builtin/packages/hdf5-blosc/package.py @@ -183,10 +183,14 @@ def check_install(self, spec): raise RuntimeError("HDF5 Blosc plugin check failed") shutil.rmtree(checkdir) - def setup_environment(self, spack_env, run_env): - spack_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) - run_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) + def setup_build_environment(self, env): + env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) - run_env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) + def setup_run_environment(self, env): + 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) diff --git a/var/spack/repos/builtin/packages/hisat2/package.py b/var/spack/repos/builtin/packages/hisat2/package.py index 64c756a9e8e66c255410682329135dafa6004517..eacee0dc018c595193f7f2c2d69d9619756882cf 100644 --- a/var/spack/repos/builtin/packages/hisat2/package.py +++ b/var/spack/repos/builtin/packages/hisat2/package.py @@ -40,5 +40,5 @@ def install(self, spec, prefix): if os.path.isfile(file): install(file, prefix.bin) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.spec.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/hybpiper/package.py b/var/spack/repos/builtin/packages/hybpiper/package.py index 86bab5b86a8ce08d5cf2b145d3fb4c973c7e2dd9..ed56dd021a631f8f18a8757acb68ff96178d7d93 100644 --- a/var/spack/repos/builtin/packages/hybpiper/package.py +++ b/var/spack/repos/builtin/packages/hybpiper/package.py @@ -31,8 +31,8 @@ class Hybpiper(Package): depends_on('bwa') depends_on('samtools') - def setup_envionment(self, spack_env, run_env): - run_env.set('HYBPIPER_HOME', prefix) + def setup_run_environment(self, env): + env.set('HYBPIPER_HOME', self.prefix) def install(self, spec, prefix): mkdirp(prefix.bin) diff --git a/var/spack/repos/builtin/packages/ibm-java/package.py b/var/spack/repos/builtin/packages/ibm-java/package.py index 149a75aac415bcfa6e4075622920bea33b3c96bd..81db3881b7b526de3a436930a2c143a1d780a72f 100644 --- a/var/spack/repos/builtin/packages/ibm-java/package.py +++ b/var/spack/repos/builtin/packages/ibm-java/package.py @@ -48,11 +48,11 @@ def home(self): def libs(self): return find_libraries(['libjvm'], root=self.home, recursive=True) - def setup_environment(self, spack_env, run_env): - run_env.set('JAVA_HOME', self.home) + def setup_run_environment(self, env): + env.set('JAVA_HOME', self.home) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('JAVA_HOME', self.home) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('JAVA_HOME', self.home) def setup_dependent_package(self, module, dependent_spec): self.spec.home = self.home diff --git a/var/spack/repos/builtin/packages/icedtea/package.py b/var/spack/repos/builtin/packages/icedtea/package.py index a62550b2c10c46d3791c706879f1082165d7537c..a367d9222382439067a9914c533f049d9c4945ff 100644 --- a/var/spack/repos/builtin/packages/icedtea/package.py +++ b/var/spack/repos/builtin/packages/icedtea/package.py @@ -153,18 +153,18 @@ def configure_args(self): ] return args - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): """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. CLASSPATH contains the installation prefix for the extension and any other Java extensions it depends on.""" - spack_env.set('JAVA_HOME', self.home) + env.set('JAVA_HOME', self.home) class_paths = [] 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')) 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 # dependent_spec and prepend it to CLASSPATH if dependent_spec.package.extends(self.spec): class_paths = find(dependent_spec.prefix, '*.jar') 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): """Allows spec['java'].home to work.""" diff --git a/var/spack/repos/builtin/packages/icet/package.py b/var/spack/repos/builtin/packages/icet/package.py index 6e708a77838408b639b9846f939ba03f63d89e6a..932b674b010e55dd048c9454b0ef61102c6bb9b9 100644 --- a/var/spack/repos/builtin/packages/icet/package.py +++ b/var/spack/repos/builtin/packages/icet/package.py @@ -22,6 +22,6 @@ class Icet(CMakePackage): def cmake_args(self): 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""" - spack_env.prepend_path('CMAKE_PREFIX_PATH', self.prefix.lib) + env.prepend_path('CMAKE_PREFIX_PATH', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/jmol/package.py b/var/spack/repos/builtin/packages/jmol/package.py index 421199f70fe6b5317779226c7c233d7e05c96ab7..c61182f2bd1a22edb0e4a16abe99b039af5e2b0f 100644 --- a/var/spack/repos/builtin/packages/jmol/package.py +++ b/var/spack/repos/builtin/packages/jmol/package.py @@ -20,6 +20,6 @@ class Jmol(Package): def install(self, spec, prefix): install_tree('jmol-{0}'.format(self.version), prefix) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix) - run_env.set('JMOL_HOME', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) + env.set('JMOL_HOME', self.prefix) diff --git a/var/spack/repos/builtin/packages/jube/package.py b/var/spack/repos/builtin/packages/jube/package.py index 0eb96ffc120a933c66b7b85c0a9aa43a8844965a..79a43fb9a9dac894a8b073b821b5d831a95bc75b 100644 --- a/var/spack/repos/builtin/packages/jube/package.py +++ b/var/spack/repos/builtin/packages/jube/package.py @@ -33,10 +33,8 @@ class Jube(PythonPackage): 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': - run_env.prepend_path( - 'JUBE_INCLUDE_PATH', - prefix + "/platform/" + - self.spec.variants['resource_manager'].value - ) + env.prepend_path('JUBE_INCLUDE_PATH', join_path( + self.prefix.platform, + self.spec.variants['resource_manager'].value)) diff --git a/var/spack/repos/builtin/packages/karma/package.py b/var/spack/repos/builtin/packages/karma/package.py index 439369f69719319dcb47aba011a5d2656a75790b..bfab95e23eb7a1ce9bd1c0514c63bc921709196b 100644 --- a/var/spack/repos/builtin/packages/karma/package.py +++ b/var/spack/repos/builtin/packages/karma/package.py @@ -24,15 +24,11 @@ class Karma(Package): phases = ['install'] resource( - name='karma-linux', - url='ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-amd64_Linux_libc6.3.tar.bz2', - sha256='effc3ed61c28b966b357147d90357d03c22d743c6af6edb49a863c6eb625a441', - 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) + name='karma-linux', + url='ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-amd64_Linux_libc6.3.tar.bz2', + sha256='effc3ed61c28b966b357147d90357d03c22d743c6af6edb49a863c6eb625a441', + destination='./' + ) def install(self, spec, prefix): install_tree('./karma-1.7.25/amd64_Linux_libc6.3/bin', prefix.bin) diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py index b223387b96d013b141706d75cdaf1ed2014bc573..b4dda52d5ab84173d34d7f2c2577a9685c980334 100644 --- a/var/spack/repos/builtin/packages/launchmon/package.py +++ b/var/spack/repos/builtin/packages/launchmon/package.py @@ -28,9 +28,9 @@ class Launchmon(AutotoolsPackage): 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'): # automake for launchmon requires the AM_PATH_LIBGCRYPT macro # which is defined in libgcrypt.m4 - spack_env.prepend_path('ACLOCAL_PATH', - self.spec['libgcrypt'].prefix.share.aclocal) + env.prepend_path('ACLOCAL_PATH', + self.spec['libgcrypt'].prefix.share.aclocal) diff --git a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py index 05291360f16ea989a21e036c09ada886ba1eb965..e98e1be54666a005bb584997afdeda4753dc1c47 100644 --- a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py @@ -31,14 +31,14 @@ class LdcBootstrap(CMakePackage): depends_on('libedit') 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 # environment has been sanitized (because LD_LIBRARY_PATH is among # the variables that get unset) # 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): return [ diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py index ede7f53f668f28c8b030005e609672b8358d2d96..588911c15dd55d30b94d404313a72283d3cfaa51 100644 --- a/var/spack/repos/builtin/packages/libfabric/package.py +++ b/var/spack/repos/builtin/packages/libfabric/package.py @@ -90,9 +90,9 @@ class Libfabric(AutotoolsPackage): sha256='3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e', placement='fabtests', when='@1.5.0') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): if self.run_tests: - spack_env.prepend_path('PATH', self.prefix.bin) + env.prepend_path('PATH', self.prefix.bin) @when('@develop') def autoreconf(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py index d58e4fec1d3c968b34967ad43f1b83744042e13e..edb6d8d46f5ea4a1f40dca80dde555d0e7040d71 100644 --- a/var/spack/repos/builtin/packages/libint/package.py +++ b/var/spack/repos/builtin/packages/libint/package.py @@ -81,15 +81,15 @@ def optflags(self): return flags - def setup_environment(self, build_env, run_env): + def setup_build_environment(self, env): # Set optimization flags - build_env.set('CFLAGS', self.optflags) - build_env.set('CXXFLAGS', self.optflags) + env.set('CFLAGS', self.optflags) + env.set('CXXFLAGS', self.optflags) # Change AR to xiar if we compile with Intel and we # find the executable if '%intel' in self.spec and which('xiar'): - build_env.set('AR', 'xiar') + env.set('AR', 'xiar') def configure_args(self): diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py index 0990d25a2f66e551730dfec28330ed6b52648e3d..29ff2e2aa4f69b5ed9f175d4eea253c732713b4f 100644 --- a/var/spack/repos/builtin/packages/libmesh/package.py +++ b/var/spack/repos/builtin/packages/libmesh/package.py @@ -245,5 +245,5 @@ def configure_args(self): return options - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.append_flags('PERL', self.spec['perl'].command.path) + def setup_dependent_build_environment(self, env, dependent_spec): + env.append_flags('PERL', self.spec['perl'].command.path) diff --git a/var/spack/repos/builtin/packages/libpeas/package.py b/var/spack/repos/builtin/packages/libpeas/package.py index 01aef48f15001398d1dc44faf0931d5206bbd42b..2bf57652590b537c67dfe608b5367ea23fff5463 100644 --- a/var/spack/repos/builtin/packages/libpeas/package.py +++ b/var/spack/repos/builtin/packages/libpeas/package.py @@ -44,11 +44,13 @@ def url_for_version(self, version): url += '{0}/libpeas-{1}.tar.xz' return url.format(version.up_to(2), version) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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 # # 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_ldflags = pkg_config('--libs', python_pc_file, output=str) - spack_env.append_path('LDFLAGS', - python_ldflags) - spack_env.prepend_path('XDG_DATA_DIRS', self.prefix.share) - run_env.prepend_path('XDG_DATA_DIRS', self.prefix.share) + env.append_path('LDFLAGS', python_ldflags) + 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): autoreconf_args = ['-ivf'] diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py index 99131420de43d5b1cd5f522634104427e9461908..eb02d86289c36e4444bed9eba470074277f3e47d 100644 --- a/var/spack/repos/builtin/packages/librsvg/package.py +++ b/var/spack/repos/builtin/packages/librsvg/package.py @@ -30,10 +30,14 @@ def url_for_version(self, version): url += "{0}/librsvg-{1}.tar.xz" return url.format(version.up_to(2), version) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + env.prepend_path('XDG_DATA_DIRS', self.prefix.share) - def setup_environment(self, spack_env, run_env): - spack_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 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) diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py index bbad95e573585b740a539a177d2ccfcd021a399a..5754556c810c1559eeb2b0757a2395898bb668ef 100644 --- a/var/spack/repos/builtin/packages/libtool/package.py +++ b/var/spack/repos/builtin/packages/libtool/package.py @@ -37,9 +37,8 @@ def autoreconf(self, spec, prefix): def _make_executable(self, name): return Executable(join_path(self.prefix.bin, name)) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.append_path('ACLOCAL_PATH', - join_path(self.prefix.share, 'aclocal')) + def setup_dependent_build_environment(self, env, dependent_spec): + env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal) def setup_dependent_package(self, module, dependent_spec): # Automake is very likely to be a build dependency, so we add diff --git a/var/spack/repos/builtin/packages/libx11/package.py b/var/spack/repos/builtin/packages/libx11/package.py index 5c1a7f21f337259e294c8cb95fd8aef4e5fc77fb..d88b5bab6570bf67a0145e19c9c6bdfc876966e4 100644 --- a/var/spack/repos/builtin/packages/libx11/package.py +++ b/var/spack/repos/builtin/packages/libx11/package.py @@ -27,9 +27,11 @@ class Libx11(AutotoolsPackage): depends_on('util-macros', type='build') depends_on('perl', type='build') - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale) - run_env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale) + def setup_dependent_build_environment(self, env, dependent_spec): + 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 def libs(self): diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py index 987495a6e513535534345a6ce17756b17cb440a4..d592e824d6693aeb47dffe1e29e7558698b9fa1f 100644 --- a/var/spack/repos/builtin/packages/libxc/package.py +++ b/var/spack/repos/builtin/packages/libxc/package.py @@ -49,7 +49,7 @@ def libs(self): libraries, root=self.prefix, shared=shared, recursive=True ) - def setup_build_environment(self, spack_env): + def setup_build_environment(self, env): optflags = '-O2' if self.compiler.name == 'intel': # 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' if which('xiar'): - spack_env.set('AR', 'xiar') + env.set('AR', 'xiar') - spack_env.append_flags('CFLAGS', optflags) - spack_env.append_flags('FCFLAGS', optflags) + env.append_flags('CFLAGS', optflags) + env.append_flags('FCFLAGS', optflags) def configure_args(self): args = ['--enable-shared'] diff --git a/var/spack/repos/builtin/packages/libxpm/package.py b/var/spack/repos/builtin/packages/libxpm/package.py index 542052d4ddfffbe682e4644fca674815a538c2fb..8315b112de3e8e83e1256c4edf72b5470716b113 100644 --- a/var/spack/repos/builtin/packages/libxpm/package.py +++ b/var/spack/repos/builtin/packages/libxpm/package.py @@ -26,10 +26,10 @@ class Libxpm(AutotoolsPackage): depends_on('pkgconfig', 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 # be available in the spec. See # https://github.com/spack/spack/issues/9149 for details. 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)) diff --git a/var/spack/repos/builtin/packages/linux-headers/package.py b/var/spack/repos/builtin/packages/linux-headers/package.py index 6b0133dd75fc4a70b98104567f30fc13aee4a504..c34cae029ddbb65157853f09430748dd43d134b2 100644 --- a/var/spack/repos/builtin/packages/linux-headers/package.py +++ b/var/spack/repos/builtin/packages/linux-headers/package.py @@ -16,11 +16,11 @@ class LinuxHeaders(Package): 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 # system, it can break the build if there is no build recipe for # that specific ARCH - spack_env.unset('ARCH') + env.unset('ARCH') def install(self, spec, prefix): make('headers_install', 'INSTALL_HDR_PATH={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py index 697eb9c1bcda7b66a8c1feee85522fa303ac9b5c..7dd6e80395925b57f4c95657a62d30638df64c04 100644 --- a/var/spack/repos/builtin/packages/lmod/package.py +++ b/var/spack/repos/builtin/packages/lmod/package.py @@ -48,10 +48,10 @@ class Lmod(AutotoolsPackage): parallel = False - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): stage_lua_path = join_path( 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=';') def patch(self): diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py index 91528a6e2ada428b1714bb6143f04b0e48d263ea..0dac18d52cc9a59099278f93bcfb41c4bfabbc82 100644 --- a/var/spack/repos/builtin/packages/lua/package.py +++ b/var/spack/repos/builtin/packages/lua/package.py @@ -94,7 +94,7 @@ def append_paths(self, paths, cpaths, path): paths.append(os.path.join(path, '?', 'init.lua')) 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 = [] for d in dependent_spec.traverse( 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)): self.append_paths(lua_patterns, lua_cpatterns, p) - spack_env.set('LUA_PATH', ';'.join(lua_patterns), separator=';') - spack_env.set('LUA_CPATH', ';'.join(lua_cpatterns), separator=';') + return lua_patterns, lua_cpatterns - # Add LUA to PATH for dependent packages - spack_env.prepend_path('PATH', self.prefix.bin) + def setup_dependent_build_environment(self, env, dependent_spec): + 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 # prepend it to LUAPATH + lua_patterns, lua_cpatterns = _setup_dependent_env_helper( + self, env, dependent_spec) + if dependent_spec.package.extends(self.spec): - run_env.prepend_path('LUA_PATH', ';'.join(lua_patterns), - separator=';') - run_env.prepend_path('LUA_CPATH', ';'.join(lua_cpatterns), - separator=';') + env.prepend_path('LUA_PATH', ';'.join(lua_patterns), separator=';') + env.prepend_path('LUA_CPATH', ';'.join(lua_cpatterns), + separator=';') - def setup_environment(self, spack_env, run_env): - run_env.prepend_path( + def setup_run_environment(self, env): + env.prepend_path( 'LUA_PATH', os.path.join(self.spec.prefix, self.lua_share_dir, '?.lua'), separator=';') - run_env.prepend_path( + env.prepend_path( 'LUA_PATH', os.path.join(self.spec.prefix, self.lua_share_dir, '?', 'init.lua'), separator=';') - run_env.prepend_path( + env.prepend_path( 'LUA_PATH', os.path.join(self.spec.prefix, self.lua_lib_dir, '?.lua'), separator=';') - run_env.prepend_path( + env.prepend_path( 'LUA_PATH', os.path.join(self.spec.prefix, self.lua_lib_dir, '?', 'init.lua'), separator=';') - run_env.prepend_path( + env.prepend_path( 'LUA_CPATH', os.path.join(self.spec.prefix, self.lua_lib_dir, '?.so'), separator=';') diff --git a/var/spack/repos/builtin/packages/mc/package.py b/var/spack/repos/builtin/packages/mc/package.py index e67d10069dcc075579c3ee388d7fce8cc8605b4b..f45d506dab487e8a78042ea779fc64f09b3866d7 100644 --- a/var/spack/repos/builtin/packages/mc/package.py +++ b/var/spack/repos/builtin/packages/mc/package.py @@ -21,11 +21,11 @@ class Mc(AutotoolsPackage): depends_on('glib@2.14:') 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() # https://github.com/MidnightCommander/mc/pull/130 if 'darwin' in self.spec.architecture: - env['ac_cv_func_utimensat'] = 'no' + env.set('ac_cv_func_utimensat', 'no') def configure_args(self): args = [ diff --git a/var/spack/repos/builtin/packages/mefit/package.py b/var/spack/repos/builtin/packages/mefit/package.py index 6eed07134b551852b3986b89491a8fd15069913d..bc2ee8554721a13ba1eaa44f3837b66a21b15cc5 100644 --- a/var/spack/repos/builtin/packages/mefit/package.py +++ b/var/spack/repos/builtin/packages/mefit/package.py @@ -23,5 +23,5 @@ class Mefit(Package): def install(self, spec, prefix): install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/memsurfer/package.py b/var/spack/repos/builtin/packages/memsurfer/package.py index 6c28f3b293687f4ee212c017375814633d014c6a..05011b90f5bb7f024083b9a1b953ab8d09859d74 100644 --- a/var/spack/repos/builtin/packages/memsurfer/package.py +++ b/var/spack/repos/builtin/packages/memsurfer/package.py @@ -41,8 +41,8 @@ class Memsurfer(PythonPackage): depends_on('hdf5 +hl') # memsurfer's setup needs path to these deps to build extension modules - def setup_environment(self, spack_env, run_env): - spack_env.set('VTK_ROOT', self.spec['vtk'].prefix) - spack_env.set('CGAL_ROOT', self.spec['cgal'].prefix) - spack_env.set('BOOST_ROOT', self.spec['boost'].prefix) - spack_env.set('EIGEN_ROOT', self.spec['eigen'].prefix) + def setup_build_environment(self, env): + env.set('VTK_ROOT', self.spec['vtk'].prefix) + env.set('CGAL_ROOT', self.spec['cgal'].prefix) + env.set('BOOST_ROOT', self.spec['boost'].prefix) + env.set('EIGEN_ROOT', self.spec['eigen'].prefix) diff --git a/var/spack/repos/builtin/packages/meraculous/package.py b/var/spack/repos/builtin/packages/meraculous/package.py index 271e8756ad29539c360766ff2a4f23085d9fbd46..34aa9344ae9c84b8f0c240c6f2e91961fc5c6eea 100644 --- a/var/spack/repos/builtin/packages/meraculous/package.py +++ b/var/spack/repos/builtin/packages/meraculous/package.py @@ -28,6 +28,6 @@ def patch(self): edit = FileFilter('CMakeLists.txt') edit.filter(r"-static-libstdc\+\+", "") - def setup_environment(self, spack_env, run_env): - run_env.set('MERACULOUS_ROOT', self.prefix) - run_env.prepend_path('PERL5LIB', self.prefix.lib) + def setup_run_environment(self, env): + env.set('MERACULOUS_ROOT', self.prefix) + env.prepend_path('PERL5LIB', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/mercurial/package.py b/var/spack/repos/builtin/packages/mercurial/package.py index f099bb1774652700a4a6448ebcdbb6a526114899..51ae31200deac872a4a05bc2008bb90169e14496 100644 --- a/var/spack/repos/builtin/packages/mercurial/package.py +++ b/var/spack/repos/builtin/packages/mercurial/package.py @@ -39,12 +39,12 @@ class Mercurial(PythonPackage): depends_on('py-pygments', 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 - spack_env.set('HGALLOWPYTHON3', True) - spack_env.set('HGPYTHON3', True) + env.set('HGALLOWPYTHON3', True) + env.set('HGPYTHON3', True) # Setuptools is still opt-in, explicitly enable - spack_env.set('FORCE_SETUPTOOLS', True) + env.set('FORCE_SETUPTOOLS', True) @run_after('install') def post_install(self): diff --git a/var/spack/repos/builtin/packages/microbiomeutil/package.py b/var/spack/repos/builtin/packages/microbiomeutil/package.py index d536c1398929364a8cf0d7e19bf4236d18bc90a9..f6b6db045f1b52717074681a54ccbec0b51f215d 100644 --- a/var/spack/repos/builtin/packages/microbiomeutil/package.py +++ b/var/spack/repos/builtin/packages/microbiomeutil/package.py @@ -27,8 +27,8 @@ def install(self, spec, prefix): install_tree('RESOURCES', prefix.resources) install_tree('AmosCmp16Spipeline', prefix.AmosCmp16Spipeline) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix.ChimeraSlayer) - run_env.prepend_path('PATH', join_path(self.prefix, 'NAST-iEr')) - run_env.prepend_path('PATH', self.prefix.TreeChopper) - run_env.prepend_path('PATH', self.prefix.WigeoN) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix.ChimeraSlayer) + env.prepend_path('PATH', join_path(self.prefix, 'NAST-iEr')) + env.prepend_path('PATH', self.prefix.TreeChopper) + env.prepend_path('PATH', self.prefix.WigeoN) diff --git a/var/spack/repos/builtin/packages/mii/package.py b/var/spack/repos/builtin/packages/mii/package.py index 063ec4072d708cbcc7f2d963b6ffa6c24d3037b8..c277a922549f732c07ea7f5161943ef9def05e19 100644 --- a/var/spack/repos/builtin/packages/mii/package.py +++ b/var/spack/repos/builtin/packages/mii/package.py @@ -21,5 +21,5 @@ class Mii(MakefilePackage): version('1.0.3', sha256='9b5a0e4e0961cf848677ed61b4f6c03e6a443f8592ed668d1afea302314b47a8') version('1.0.2', sha256='1c2c86ec37779ecd3821c30ce5b6dd19be4ec1813da41832d49ff3dcf615e22d') - def setup_environment(self, spack_env, run_env): - spack_env.set('PREFIX', self.prefix) + def setup_build_environment(self, env): + env.set('PREFIX', self.prefix) diff --git a/var/spack/repos/builtin/packages/mitofates/package.py b/var/spack/repos/builtin/packages/mitofates/package.py index e6140808b28a52a01c7164ae73f62d196fb1afdc..d19af8c3297af13bd39439a57b4dcf61f331aa62 100644 --- a/var/spack/repos/builtin/packages/mitofates/package.py +++ b/var/spack/repos/builtin/packages/mitofates/package.py @@ -44,6 +44,6 @@ def install(self, spec, prefix): chmod = which('chmod') 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 - run_env.prepend_path('PATH', self.prefix) + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/mixcr/package.py b/var/spack/repos/builtin/packages/mixcr/package.py index f201eae25c62970a3679ee9225a4a7b59c5279a2..cfcc825595ae1314658879befbfd2ad34c21b84a 100644 --- a/var/spack/repos/builtin/packages/mixcr/package.py +++ b/var/spack/repos/builtin/packages/mixcr/package.py @@ -25,5 +25,5 @@ class Mixcr(Package): def install(self, spec, prefix): install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/mpest/package.py b/var/spack/repos/builtin/packages/mpest/package.py index e1ecca84f9461c89c85f2e726ba0678d0037fe27..4d9cbae595f4a72f66b1e72de706acf3d9cb3881 100644 --- a/var/spack/repos/builtin/packages/mpest/package.py +++ b/var/spack/repos/builtin/packages/mpest/package.py @@ -24,8 +24,8 @@ def install(self, spec, prefix): mkdirp(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'): - spack_env.set('ARCHITECTURE', 'mac') + env.set('ARCHITECTURE', 'mac') else: - spack_env.set('ARCHITECTURE', 'unix') + env.set('ARCHITECTURE', 'unix') diff --git a/var/spack/repos/builtin/packages/mrtrix3/package.py b/var/spack/repos/builtin/packages/mrtrix3/package.py index 63d00a200bb269516a755d0850a6cabacb0aa6f5..fc7cab062e65f0f1d1ef98c6b0fc2dfa39b1abff 100644 --- a/var/spack/repos/builtin/packages/mrtrix3/package.py +++ b/var/spack/repos/builtin/packages/mrtrix3/package.py @@ -35,5 +35,5 @@ def install(self, spec, prefix): build() install_tree('.', prefix) - def setup_environment(self, spac_env, run_env): - run_env.prepend_path('PATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py index a793b30719459278f1f67ddf71be38768a87f7e2..b0e37de85fc8a021a811723a672632a599d546d7 100644 --- a/var/spack/repos/builtin/packages/mumps/package.py +++ b/var/spack/repos/builtin/packages/mumps/package.py @@ -55,11 +55,6 @@ class Mumps(Package): patch('examples.patch', when='@5.1.1%clang^spectrum-mpi') patch('gfortran8.patch', when='@5.1.2') - # this function is not a patch function because in case scalapack - # is needed it uses self.spec['scalapack'].fc_link set by the - # setup_dependent_environment in scalapck. This happen after patch - # end before install - # def patch(self): def write_makefile_inc(self): if ('+parmetis' in self.spec or '+ptscotch' in self.spec) and ( '+mpi' not in self.spec): diff --git a/var/spack/repos/builtin/packages/mutationpp/package.py b/var/spack/repos/builtin/packages/mutationpp/package.py index 26eabdf8c11ca5d94f3e8196ad1f841071db819d..58bf94626ca3674bb5d3156ecf737c9c83945805 100644 --- a/var/spack/repos/builtin/packages/mutationpp/package.py +++ b/var/spack/repos/builtin/packages/mutationpp/package.py @@ -40,12 +40,12 @@ def install_examples(self): if '+examples' in self.spec and os.path.isdir('examples'): install_tree('examples', self.prefix.examples) - def setup_environment(self, spack_env, run_env): - run_env.set('MPP_DIRECTORY', self.prefix) + def setup_run_environment(self, env): + env.set('MPP_DIRECTORY', self.prefix) if os.path.isdir(self.prefix.data): - run_env.set('MPP_DATA_DIRECTORY', self.prefix.data) + env.set('MPP_DATA_DIRECTORY', self.prefix.data) - def setup_dependent_environment(self, spack_env, run_env): - spack_env.set('MPP_DIRECTORY', self.prefix) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('MPP_DIRECTORY', self.prefix) if os.path.isdir(self.prefix.data): - spack_env.set('MPP_DATA_DIRECTORY', self.prefix.data) + env.set('MPP_DATA_DIRECTORY', self.prefix.data) diff --git a/var/spack/repos/builtin/packages/mysql/package.py b/var/spack/repos/builtin/packages/mysql/package.py index 497b8568a8f7d9a69ba0f54e8cbf6c1ab6d9e316..9a13a2f4d2d38b66d88de672b56e097af76b9dd7 100644 --- a/var/spack/repos/builtin/packages/mysql/package.py +++ b/var/spack/repos/builtin/packages/mysql/package.py @@ -122,7 +122,7 @@ def cmake_args(self): options.append('-DWITHOUT_SERVER:BOOL=ON') return options - def _fix_dtrace_shebang(self, build_env): + def _fix_dtrace_shebang(self, env): # dtrace may cause build to fail because it uses # '/usr/bin/python' in the shebang. To work around that we copy # the original script into a temporary folder, and change the @@ -141,13 +141,7 @@ def _fix_dtrace_shebang(self, build_env): ) # To have our own copy of dtrace in PATH, we need to # prepend to PATH the temporary folder where it resides. - build_env.prepend_path('PATH', dtrace_copy_path) - - @run_before('cmake') - def _maybe_fix_dtrace_shebang(self): - if 'python' in self.spec.flat_dependencies() and \ - self.spec.satisfies('@:7.99.99'): - self._fix_dtrace_shebang(build_env) + env.prepend_path('PATH', dtrace_copy_path) def setup_build_environment(self, env): cxxstd = self.spec.variants['cxxstd'].value @@ -160,3 +154,7 @@ def setup_build_environment(self, env): '-Wno-deprecated-declarations') if int(cxxstd) > 14: env.append_flags('CXXFLAGS', '-Wno-error=register') + + if 'python' in self.spec.flat_dependencies() and \ + self.spec.satisfies('@:7.99.99'): + self._fix_dtrace_shebang(env) diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py index 06e51c1cab8ee0e122894b16861d7e91eec621e0..1b046181d789260a82b966b5b3032fe0e81d6054 100644 --- a/var/spack/repos/builtin/packages/nag/package.py +++ b/var/spack/repos/builtin/packages/nag/package.py @@ -37,6 +37,6 @@ def install(self, spec, prefix): # Run install script os.system('./INSTALLU.sh') - def setup_environment(self, spack_env, run_env): - run_env.set('F77', join_path(self.prefix.bin, 'nagfor')) - run_env.set('FC', join_path(self.prefix.bin, 'nagfor')) + def setup_run_environment(self, env): + env.set('F77', self.prefix.bin.nagfor) + env.set('FC', self.prefix.bin.nagfor) diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py index 5ecc403a3b892c45a6e9c3c0c0839141d64cdf96..e51574b1dc38681e1c9adc94d03edb9ef4843b31 100644 --- a/var/spack/repos/builtin/packages/nest/package.py +++ b/var/spack/repos/builtin/packages/nest/package.py @@ -147,5 +147,5 @@ def install_headers(self): self.stage.source_path, recursive=True): install(f, path_headers) - def setup_environment(self, spack_env, run_env): - run_env.set("NEST_INSTALL_DIR", self.spec.prefix) + def setup_run_environment(self, env): + env.set("NEST_INSTALL_DIR", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py index 86fcf5ac8449282bbe877439993b80718a7a89a8..28758b11faa8b6f91b0fc5509a30752ad6ef0e90 100644 --- a/var/spack/repos/builtin/packages/neuron/package.py +++ b/var/spack/repos/builtin/packages/neuron/package.py @@ -189,14 +189,12 @@ def install(self, spec, prefix): make('VERBOSE=1') make('install') - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): neuron_archdir = self.get_neuron_archdir() - run_env.prepend_path('PATH', join_path(neuron_archdir, 'bin')) - run_env.prepend_path( - 'LD_LIBRARY_PATH', join_path(neuron_archdir, 'lib')) + env.prepend_path('PATH', join_path(neuron_archdir, 'bin')) + env.prepend_path('LD_LIBRARY_PATH', join_path(neuron_archdir, 'lib')) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): neuron_archdir = self.get_neuron_archdir() - spack_env.prepend_path('PATH', join_path(neuron_archdir, 'bin')) - spack_env.prepend_path( - 'LD_LIBRARY_PATH', join_path(neuron_archdir, 'lib')) + env.prepend_path('PATH', join_path(neuron_archdir, 'bin')) + env.prepend_path('LD_LIBRARY_PATH', join_path(neuron_archdir, 'lib')) diff --git a/var/spack/repos/builtin/packages/nghttp2/package.py b/var/spack/repos/builtin/packages/nghttp2/package.py index 9f39e163d431473c98786c8f773ae16207a4d110..7b4953dd5164807b81e4aa0e516e608cdba9bf61 100644 --- a/var/spack/repos/builtin/packages/nghttp2/package.py +++ b/var/spack/repos/builtin/packages/nghttp2/package.py @@ -5,6 +5,8 @@ from spack import * +import os + class Nghttp2(AutotoolsPackage): """nghttp2 is an implementation of HTTP/2 and its header compression @@ -19,17 +21,17 @@ class Nghttp2(AutotoolsPackage): depends_on('py-cython@0.19:', type=('build', 'run')) depends_on('py-setuptools', type=('build')) - def setup_environment(self, spack_env, run_env): - site_packages_dir = '/'.join( - [self.spec.prefix.lib, - ('python' + str(self.spec['python'].version.up_to(2))), - 'site-packages']) - spack_env.prepend_path('PYTHONPATH', site_packages_dir) + def setup_build_environment(self, env): + site_packages_dir = os.path.join( + self.spec.prefix.lib, + 'python' + str(self.spec['python'].version.up_to(2)), + 'site-packages') + env.prepend_path('PYTHONPATH', site_packages_dir) @run_before('install') def ensure_install_dir_exists(self): - site_packages_dir = '/'.join( - [self.spec.prefix.lib, - ('python' + str(self.spec['python'].version.up_to(2))), - 'site-packages']) + site_packages_dir = os.path.join( + self.spec.prefix.lib, + 'python' + str(self.spec['python'].version.up_to(2)), + 'site-packages') mkdirp(site_packages_dir) diff --git a/var/spack/repos/builtin/packages/nginx/package.py b/var/spack/repos/builtin/packages/nginx/package.py index 32d7142a9ea136c86fd0963c9a89f79983973501..e52ad914889d7cd9804c3b2b36ee5a6c02787a56 100644 --- a/var/spack/repos/builtin/packages/nginx/package.py +++ b/var/spack/repos/builtin/packages/nginx/package.py @@ -28,6 +28,6 @@ def configure_args(self): args = ['--with-http_ssl_module'] return args - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): """Prepend the sbin directory to PATH.""" - run_env.prepend_path('PATH', join_path(self.prefix, 'sbin')) + env.prepend_path('PATH', self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/npm/package.py b/var/spack/repos/builtin/packages/npm/package.py index 76cc11703d7bcb5d1a7d998b89c58ab89ce3c87a..782b2b6cfa7ee0d9cfd332b371995d906f7f3c20 100644 --- a/var/spack/repos/builtin/packages/npm/package.py +++ b/var/spack/repos/builtin/packages/npm/package.py @@ -19,9 +19,14 @@ class Npm(AutotoolsPackage): depends_on('node-js', type=('build', 'run')) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): npm_config_cache_dir = "%s/npm-cache" % dependent_spec.prefix if not os.path.isdir(npm_config_cache_dir): mkdir(npm_config_cache_dir) - run_env.set('npm_config_cache', npm_config_cache_dir) - spack_env.set('npm_config_cache', npm_config_cache_dir) + env.set('npm_config_cache', npm_config_cache_dir) + + def setup_dependent_run_environment(self, env, dependent_spec): + npm_config_cache_dir = "%s/npm-cache" % dependent_spec.prefix + if not os.path.isdir(npm_config_cache_dir): + mkdir(npm_config_cache_dir) + env.set('npm_config_cache', npm_config_cache_dir) diff --git a/var/spack/repos/builtin/packages/occa/package.py b/var/spack/repos/builtin/packages/occa/package.py index c6528f296086712631864a8a63148d72429dc031..99fd35f91775ad4459a6a4d1c64a8fc9851e121a 100644 --- a/var/spack/repos/builtin/packages/occa/package.py +++ b/var/spack/repos/builtin/packages/occa/package.py @@ -41,7 +41,7 @@ class Occa(Package): conflicts('%gcc@7:', when='^cuda@:9') def install(self, spec, prefix): - # The build environment is set by the 'setup_environment' method. + # The build environment is set by the 'setup_build_environment' method. # Copy the source to the installation directory and build OCCA there. install_tree('.', prefix) make('-C', prefix) @@ -65,7 +65,7 @@ def _setup_runtime_flags(self, s_env): s_env.set('OCCA_CUDA_COMPILER', join_path(cuda_dir, 'bin', 'nvcc')) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): spec = self.spec # The environment variable CXX is automatically set to the Spack # compiler wrapper. @@ -79,7 +79,7 @@ def setup_environment(self, spack_env, run_env): # the verbose output, so we keep both. cxxflags = spec.compiler_flags['cxxflags'] if cxxflags: - spack_env.set('CXXFLAGS', ' '.join(cxxflags)) + env.set('CXXFLAGS', ' '.join(cxxflags)) # For the cuda, openmp, and opencl variants, set the environment # variable OCCA_{CUDA,OPENMP,OPENCL}_ENABLED only if the variant is @@ -92,21 +92,23 @@ def setup_environment(self, spack_env, run_env): cuda_dir, shared=True, recursive=True) - spack_env.set('OCCA_INCLUDE_PATH', cuda_dir.include) - spack_env.set('OCCA_LIBRARY_PATH', ':'.join(cuda_libs.directories)) + env.set('OCCA_INCLUDE_PATH', cuda_dir.include) + env.set('OCCA_LIBRARY_PATH', ':'.join(cuda_libs.directories)) else: - spack_env.set('OCCA_CUDA_ENABLED', '0') + env.set('OCCA_CUDA_ENABLED', '0') if '~opencl' in spec: - spack_env.set('OCCA_OPENCL_ENABLED', '0') + env.set('OCCA_OPENCL_ENABLED', '0') # Setup run-time environment for testing. - spack_env.set('OCCA_VERBOSE', '1') - self._setup_runtime_flags(spack_env) - # The 'run_env' is included in the Spack generated module files. - self._setup_runtime_flags(run_env) + env.set('OCCA_VERBOSE', '1') + self._setup_runtime_flags(env) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_run_environment(self, env): + # The 'env' is included in the Spack generated module files. + self._setup_runtime_flags(env) + + def setup_dependent_build_environment(self, env, dependent_spec): # Export OCCA_* variables for everyone using this package from within # Spack. - self._setup_runtime_flags(spack_env) + self._setup_runtime_flags(env) diff --git a/var/spack/repos/builtin/packages/opa-psm2/package.py b/var/spack/repos/builtin/packages/opa-psm2/package.py index 29e573e5bb0515190d865c70e448151377232be9..cf94743378d352393b53bb2ea9619afbecac9040 100644 --- a/var/spack/repos/builtin/packages/opa-psm2/package.py +++ b/var/spack/repos/builtin/packages/opa-psm2/package.py @@ -35,12 +35,12 @@ class OpaPsm2(MakefilePackage): patch('opa-psm2-compiler.patch', when='@11.2.68:', sha256='fe31fda9aaee13acb87d178af2282446196d2cc0b21163034573706110b2e2d6') - def setup_environment(self, spack_env, run_env): - spack_env.set('DESTDIR', self.prefix) + def setup_build_environment(self, env): + env.set('DESTDIR', self.prefix) if '%intel' in self.spec: # this variable must be set when we use the Intel compilers to # ensure that the proper flags are set - spack_env.set('CCARCH', 'icc') + env.set('CCARCH', 'icc') def edit(self, spec, prefix): # Change the makefile so libraries and includes are not diff --git a/var/spack/repos/builtin/packages/opam/package.py b/var/spack/repos/builtin/packages/opam/package.py index bc32c26e52596e564213bc7eb1f13c9458019a8e..2ff78ac0fb2e6bc4e252c8d280727d0c37f1bd64 100644 --- a/var/spack/repos/builtin/packages/opam/package.py +++ b/var/spack/repos/builtin/packages/opam/package.py @@ -23,10 +23,10 @@ class Opam(AutotoolsPackage): parallel = False - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): # Environment variable setting taken from # https://github.com/Homebrew/homebrew-core/blob/master/Formula/opam.rb - spack_env.set('OCAMLPARAM', 'safe-string=0,_') # OCaml 4.06.0 compat + env.set('OCAMLPARAM', 'safe-string=0,_') # OCaml 4.06.0 compat def build(self, spec, prefix): make('lib-ext') diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py index 363cc32f055a7eaa070bc21a1d9cf66c03376ce1..0ec6588d79b07347998276e2226dcbfff22cb60c 100644 --- a/var/spack/repos/builtin/packages/openfoam-org/package.py +++ b/var/spack/repos/builtin/packages/openfoam-org/package.py @@ -126,24 +126,24 @@ def config(self): settings['label-size'] = False return settings - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # This should be similar to the openfoam package, # but sourcing the etc/bashrc here seems to exit with an error. # ... this needs to be examined in more detail. # # Minimal environment only. - run_env.set('FOAM_PROJECT_DIR', self.projectdir) - run_env.set('WM_PROJECT_DIR', self.projectdir) + env.set('FOAM_PROJECT_DIR', self.projectdir) + env.set('WM_PROJECT_DIR', self.projectdir) for d in ['wmake', self.archbin]: # bin already 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 directory. This is identical to the WM_PROJECT_DIR value, but we avoid that variable since it would mask the normal OpenFOAM cleanup of previous versions. """ - spack_env.set('FOAM_PROJECT_DIR', self.projectdir) + env.set('FOAM_PROJECT_DIR', self.projectdir) @property def projectdir(self): diff --git a/var/spack/repos/builtin/packages/openjdk/package.py b/var/spack/repos/builtin/packages/openjdk/package.py index 0e7e10588b091ba36a75b6f52a43bd072f5fe7d8..6329fce7530fb5a34f74a7a97f3cd62e2d40a973 100644 --- a/var/spack/repos/builtin/packages/openjdk/package.py +++ b/var/spack/repos/builtin/packages/openjdk/package.py @@ -83,18 +83,18 @@ def libs(self): def install(self, spec, prefix): install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): """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. CLASSPATH contains the installation prefix for the extension and any other Java extensions it depends on.""" - spack_env.set('JAVA_HOME', self.home) + env.set('JAVA_HOME', self.home) class_paths = [] for d in dependent_spec.traverse(deptype=('build', 'run', 'test')): @@ -102,14 +102,19 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec): class_paths.extend(find(d.prefix, '*.jar')) 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 # dependent_spec and prepend it to CLASSPATH if dependent_spec.package.extends(self.spec): class_paths = find(dependent_spec.prefix, '*.jar') 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): """Allows spec['java'].home to work.""" diff --git a/var/spack/repos/builtin/packages/orthomcl/package.py b/var/spack/repos/builtin/packages/orthomcl/package.py index 1d939688997c4a4422bcf6c24ff16486c7fa4249..a57416e255ce4a582757d46e726cb574254eb483 100644 --- a/var/spack/repos/builtin/packages/orthomcl/package.py +++ b/var/spack/repos/builtin/packages/orthomcl/package.py @@ -26,5 +26,5 @@ def install(self, spec, prefix): install_tree('doc', prefix.doc) install_tree('lib', prefix.lib) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PERL5LIB', self.prefix.lib) + def setup_run_environment(self, env): + env.prepend_path('PERL5LIB', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py index 333287c80a0b4ea211da065415c766aaed11dde7..95b15e425fffe661dce58490899ff0168cf2110f 100644 --- a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py +++ b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py @@ -46,9 +46,9 @@ def configure_args(self): return config_args - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): mpidir = join_path(self.prefix.libexec, 'osu-micro-benchmarks', 'mpi') - run_env.prepend_path('PATH', join_path(mpidir, 'startup')) - run_env.prepend_path('PATH', join_path(mpidir, 'pt2pt')) - run_env.prepend_path('PATH', join_path(mpidir, 'one-sided')) - run_env.prepend_path('PATH', join_path(mpidir, 'collective')) + env.prepend_path('PATH', join_path(mpidir, 'startup')) + env.prepend_path('PATH', join_path(mpidir, 'pt2pt')) + env.prepend_path('PATH', join_path(mpidir, 'one-sided')) + env.prepend_path('PATH', join_path(mpidir, 'collective')) diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py index 35fd629b5480ebe15394b53455eb96b1204732d3..7f850b7c1daa8cf3c8768cef88c9534be41db932 100644 --- a/var/spack/repos/builtin/packages/pango/package.py +++ b/var/spack/repos/builtin/packages/pango/package.py @@ -56,8 +56,8 @@ def configure_args(self): def install(self, spec, prefix): make("install", parallel=False) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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) diff --git a/var/spack/repos/builtin/packages/pasta/package.py b/var/spack/repos/builtin/packages/pasta/package.py index 885e0673c90635207f198657f0337172a1d53c26..45afbb0fc7d9b686a6cb2a066239da580c8d5f81 100644 --- a/var/spack/repos/builtin/packages/pasta/package.py +++ b/var/spack/repos/builtin/packages/pasta/package.py @@ -25,9 +25,9 @@ class Pasta(Package): destination='.' ) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): tools = join_path(self.prefix, 'sate-tools-linux') - spack_env.set('PASTA_TOOLS_DEVDIR', tools) + env.set('PASTA_TOOLS_DEVDIR', tools) def install(self, spec, prefix): # build process for pasta is very hacky -- uses hard links to source diff --git a/var/spack/repos/builtin/packages/pbbam/package.py b/var/spack/repos/builtin/packages/pbbam/package.py index 97486e1606dec7e8b7bf3e5167c2104a489f9217..29b0e3e8a3a1d56e6f983b7dddb2f457201e0bdc 100644 --- a/var/spack/repos/builtin/packages/pbbam/package.py +++ b/var/spack/repos/builtin/packages/pbbam/package.py @@ -38,6 +38,6 @@ def install(self, spec, prefix): install_tree('spack-build/lib', prefix.lib) install_tree('include/pbbam', prefix.include.pbbam) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('PacBioBAM_LIBRARIES', self.prefix.lib) - spack_env.set('PacBioBAM_INCLUDE_DIRS', self.prefix.include) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('PacBioBAM_LIBRARIES', self.prefix.lib) + env.set('PacBioBAM_INCLUDE_DIRS', self.prefix.include) diff --git a/var/spack/repos/builtin/packages/pbsuite/package.py b/var/spack/repos/builtin/packages/pbsuite/package.py index b29b734f4c7e7923f7471a3929ab5aa7dc56f1cc..1415859ec0234fb3812498b7b363760c970f6029 100644 --- a/var/spack/repos/builtin/packages/pbsuite/package.py +++ b/var/spack/repos/builtin/packages/pbsuite/package.py @@ -24,5 +24,5 @@ def install(self, spec, prefix): install_tree('pbsuite', prefix.pbsuite) install_tree('bin', prefix.bin) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PYTHONPATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PYTHONPATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/pfunit/package.py b/var/spack/repos/builtin/packages/pfunit/package.py index 418701241b0b9204c7da2f147f26d89166e0cc13..633c0edf7400427dbb67cfcdbd44fbac6e8ae3f8 100644 --- a/var/spack/repos/builtin/packages/pfunit/package.py +++ b/var/spack/repos/builtin/packages/pfunit/package.py @@ -82,12 +82,14 @@ def compiler_vendor(self): return value raise InstallError('Unsupported compiler.') - def setup_environment(self, spack_env, run_env): - spack_env.set('PFUNIT', self.spec.prefix) - run_env.set('PFUNIT', self.spec.prefix) - spack_env.set('F90_VENDOR', self.compiler_vendor()) - run_env.set('F90_VENDOR', self.compiler_vendor()) - - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('PFUNIT', self.spec.prefix) - spack_env.set('F90_VENDOR', self.compiler_vendor()) + def setup_build_environment(self, env): + env.set('PFUNIT', self.spec.prefix) + env.set('F90_VENDOR', self.compiler_vendor()) + + def setup_run_environment(self, env): + env.set('PFUNIT', self.spec.prefix) + env.set('F90_VENDOR', self.compiler_vendor()) + + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('PFUNIT', self.spec.prefix) + env.set('F90_VENDOR', self.compiler_vendor()) diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py index c61611e22f0d0b077f6b3a72bb986f7e82c1fb11..3fce681c58402c86a9b5be704df71f51d1082aea 100644 --- a/var/spack/repos/builtin/packages/pgi/package.py +++ b/var/spack/repos/builtin/packages/pgi/package.py @@ -87,16 +87,10 @@ def install(self, spec, prefix): # Run install script os.system("./install") - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): prefix = Prefix(join_path(self.prefix, 'linux86-64', self.version)) - run_env.set('CC', join_path(prefix.bin, 'pgcc')) - run_env.set('CXX', join_path(prefix.bin, 'pgc++')) - run_env.set('F77', join_path(prefix.bin, 'pgfortran')) - run_env.set('FC', join_path(prefix.bin, 'pgfortran')) - - run_env.prepend_path('PATH', prefix.bin) - run_env.prepend_path('CPATH', prefix.include) - run_env.prepend_path('LIBRARY_PATH', prefix.lib) - run_env.prepend_path('LD_LIBRARY_PATH', prefix.lib) - run_env.prepend_path('MANPATH', prefix.man) + env.set('CC', join_path(prefix.bin, 'pgcc')) + env.set('CXX', join_path(prefix.bin, 'pgc++')) + env.set('F77', join_path(prefix.bin, 'pgfortran')) + env.set('FC', join_path(prefix.bin, 'pgfortran')) diff --git a/var/spack/repos/builtin/packages/picard/package.py b/var/spack/repos/builtin/packages/picard/package.py index d7fdbdb3f2ccc455bd3fbf31d151bbdecfa50926..98c04668668355ea456fe0909739f8e8edcb33f6 100644 --- a/var/spack/repos/builtin/packages/picard/package.py +++ b/var/spack/repos/builtin/packages/picard/package.py @@ -63,10 +63,9 @@ def install(self, spec, prefix): filter_file('picard.jar', join_path(prefix.bin, 'picard.jar'), script, **kwargs) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): """The Picard docs suggest setting this as a convenience.""" - run_env.prepend_path('PICARD', - join_path(self.prefix, 'bin', 'picard.jar')) + env.prepend_path('PICARD', join_path(self.prefix.bin, 'picard.jar')) def url_for_version(self, version): if version < Version('2.6.0'): diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index 5a68b5ab4a0f1a0601bf2b31d8ad2fd933cd8f08..05b47fd476d26e24e55ab2644f7017743e8e8b90 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -27,10 +27,9 @@ class PkgConfig(AutotoolsPackage): parallel = False - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): """Adds the ACLOCAL path for autotools.""" - spack_env.append_path('ACLOCAL_PATH', - join_path(self.prefix.share, 'aclocal')) + env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal) def configure_args(self): config_args = ['--enable-shared'] diff --git a/var/spack/repos/builtin/packages/pkgconf/package.py b/var/spack/repos/builtin/packages/pkgconf/package.py index 36b78c0713ef1ba4c178b77d29ae89eef39a327a..8346d2286e247ca62de75f4e92657dc7efd58851 100644 --- a/var/spack/repos/builtin/packages/pkgconf/package.py +++ b/var/spack/repos/builtin/packages/pkgconf/package.py @@ -30,10 +30,9 @@ class Pkgconf(AutotoolsPackage): # TODO: Add a package for the kyua testing framework # depends_on('kyua', type='test') - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): """Adds the ACLOCAL path for autotools.""" - spack_env.append_path('ACLOCAL_PATH', - join_path(self.prefix.share, 'aclocal')) + env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal) @run_after('install') def link_pkg_config(self): diff --git a/var/spack/repos/builtin/packages/planck-likelihood/package.py b/var/spack/repos/builtin/packages/planck-likelihood/package.py index 70ab82de2eb858d5e6e6ec093330539369d65554..da6b67edc3a1d0b78ccd9d236bbe2f2ce411dfab 100644 --- a/var/spack/repos/builtin/packages/planck-likelihood/package.py +++ b/var/spack/repos/builtin/packages/planck-likelihood/package.py @@ -107,17 +107,15 @@ def install(self, spec, prefix): for dir in dirs: install_tree(dir, join_path(prefix, 'share', 'clik', dir)) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - prefix = self.prefix - spack_env.set('CLIK_PATH', prefix) - spack_env.set('CLIK_DATA', join_path(prefix, 'share', 'clik')) - spack_env.set('CLIK_PLUGIN', 'rel2015') - - def setup_environment(self, spack_env, run_env): - prefix = self.prefix - run_env.set('CLIK_PATH', prefix) - run_env.set('CLIK_DATA', join_path(prefix, 'share', 'clik')) - run_env.set('CLIK_PLUGIN', 'rel2015') + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('CLIK_PATH', self.prefix) + env.set('CLIK_DATA', self.prefix.share.clik) + env.set('CLIK_PLUGIN', 'rel2015') + + def setup_run_environment(self, env): + env.set('CLIK_PATH', self.prefix) + env.set('CLIK_DATA', self.prefix.share.clik) + env.set('CLIK_PLUGIN', 'rel2015') @run_after('install') @on_package_attributes(run_tests=True) diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py index 63c76cbf35a28bc57ca23f13fb7fa669664a14a3..491e5d8b82a58822cd1fc48d35cd8fe6403e988f 100644 --- a/var/spack/repos/builtin/packages/postgresql/package.py +++ b/var/spack/repos/builtin/packages/postgresql/package.py @@ -87,25 +87,32 @@ def install(self, spec, prefix): else: AutotoolsPackage.install(self, spec, prefix) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): spec = self.spec if '+perl' in spec: - run_env.prepend_path('PERL5LIB', self.prefix.lib) + env.prepend_path('PERL5LIB', self.prefix.lib) if '+tcl' in spec: - run_env.prepend_path('TCLLIBPATH', self.prefix.lib) + env.prepend_path('TCLLIBPATH', self.prefix.lib) if '+python' in spec: - run_env.prepend_path('PYTHONPATH', self.prefix.lib) + env.prepend_path('PYTHONPATH', self.prefix.lib) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): spec = self.spec if '+perl' in spec: - spack_env.prepend_path('PERL5LIB', self.prefix.lib) - run_env.prepend_path('PERL5LIB', self.prefix.lib) + env.prepend_path('PERL5LIB', self.prefix.lib) if '+tcl' in spec: - spack_env.prepend_path('TCLLIBPATH', self.prefix.lib) - run_env.prepend_path('TCLLIBPATH', self.prefix.lib) + env.prepend_path('TCLLIBPATH', self.prefix.lib) if '+python' in spec: - spack_env.prepend_path('PYTHONPATH', self.prefix.lib) - run_env.prepend_path('PYTHONPATH', self.prefix.lib) + env.prepend_path('PYTHONPATH', self.prefix.lib) + + def setup_dependent_run_environment(self, env, dependent_spec): + spec = self.spec + + if '+perl' in spec: + env.prepend_path('PERL5LIB', self.prefix.lib) + if '+tcl' in spec: + env.prepend_path('TCLLIBPATH', self.prefix.lib) + if '+python' in spec: + env.prepend_path('PYTHONPATH', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/preseq/package.py b/var/spack/repos/builtin/packages/preseq/package.py index 1315a2fa0c9e7f5db8b1b754d7d978a422eb9eaa..2cfb2228d7df8cf5f193e2c95df351f4168cec20 100644 --- a/var/spack/repos/builtin/packages/preseq/package.py +++ b/var/spack/repos/builtin/packages/preseq/package.py @@ -21,5 +21,5 @@ class Preseq(MakefilePackage): depends_on('samtools') depends_on('gsl') - def setup_environment(self, spack_env, run_env): - spack_env.set('PREFIX', self.prefix) + def setup_build_environment(self, env): + env.set('PREFIX', self.prefix) diff --git a/var/spack/repos/builtin/packages/prodigal/package.py b/var/spack/repos/builtin/packages/prodigal/package.py index 2cf8fedafd657e3bcd279f33678d7b6dcbc09ebb..4781f1baf79c3daf7fdcabbbfdc425e06e7ef739 100644 --- a/var/spack/repos/builtin/packages/prodigal/package.py +++ b/var/spack/repos/builtin/packages/prodigal/package.py @@ -18,5 +18,5 @@ class Prodigal(MakefilePackage): def install(self, spec, prefix): make('INSTALLDIR={0}'.format(self.prefix), 'install') - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/psmc/package.py b/var/spack/repos/builtin/packages/psmc/package.py index 8db04ce5bc92d70fdcab649a73abb8ac9f533b25..aa684e0b2580c4bf847888ac6f8d495e9fd90b53 100644 --- a/var/spack/repos/builtin/packages/psmc/package.py +++ b/var/spack/repos/builtin/packages/psmc/package.py @@ -17,8 +17,8 @@ class Psmc(MakefilePackage): depends_on('zlib', type='link') - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', prefix.bin.utils) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix.bin.utils) def build(self, spec, prefix): make() diff --git a/var/spack/repos/builtin/packages/pvm/package.py b/var/spack/repos/builtin/packages/pvm/package.py index 0d19dd9f21d850de3fd8a1e6871ef6ac2d70f787..238be70a3b92a2d672dae643fe937b85aef9df81 100644 --- a/var/spack/repos/builtin/packages/pvm/package.py +++ b/var/spack/repos/builtin/packages/pvm/package.py @@ -38,7 +38,7 @@ def install(self, spec, prefix): install_tree(join_path('lib', pvm_arch), prefix.lib) install_tree('man', prefix.man) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # Before running PVM, you must set the environment # variable "PVM_ROOT" to the path where PVM resides - run_env.set('PVM_ROOT', self.prefix) + env.set('PVM_ROOT', self.prefix) diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py index 1403e24e9ab4afa6f67f3ff36b4209d09616040b..677eeaafb89f05648e3a0ff38c6f8feae85dd9e8 100644 --- a/var/spack/repos/builtin/packages/py-basemap/package.py +++ b/var/spack/repos/builtin/packages/py-basemap/package.py @@ -34,8 +34,8 @@ def url_for_version(self, version): else: return 'https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz'.format(version) - def setup_environment(self, spack_env, run_env): - spack_env.set('GEOS_DIR', self.spec['geos'].prefix) + def setup_build_environment(self, env): + env.set('GEOS_DIR', self.spec['geos'].prefix) def install(self, spec, prefix): """Install everything from build directory.""" diff --git a/var/spack/repos/builtin/packages/py-cogent/package.py b/var/spack/repos/builtin/packages/py-cogent/package.py index 62b13b4affa1a0d3b47f3b1709731fdb6905b8f8..67974a27b9a633c49bf1d0ab429830d1e4a5efe5 100644 --- a/var/spack/repos/builtin/packages/py-cogent/package.py +++ b/var/spack/repos/builtin/packages/py-cogent/package.py @@ -13,7 +13,7 @@ class PyCogent(PythonPackage): url = "https://pypi.io/packages/source/c/cogent/cogent-1.9.tar.gz" version('1.9', sha256='57d8c58e0273ffe4f2b907874f9b49dadfd0600f5507b7666369f4e44d56ce14') - version('1.5.3', url="https://pypi.io/packages/source/c/cogent/cogent-1.5.3.tgz", + version('1.5.3', url="https://pypi.io/packages/source/c/cogent/cogent-1.5.3.tgz", sha256='1215ac219070b7b2207b0b47b4388510f3e30ccd88160aa9f02f25d24bcbcd95') variant('matplotlib', default=False, description="graphs related to codon usage") @@ -30,5 +30,5 @@ class PyCogent(PythonPackage): depends_on('py-pymysql', when='+mysql', type=('build', 'run')) depends_on('py-cython@0.17.1:', type='build') - def setup_environment(self, spack_env, run_env): - spack_env.set('DONT_USE_PYREX', '1') + def setup_build_environment(self, env): + env.set('DONT_USE_PYREX', '1') diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py index b12dcf4c875609e800799a5f3f4e2bb85e6e150e..fac983ccc146e031e078e0d8d26e5be6cba9023c 100644 --- a/var/spack/repos/builtin/packages/py-cvxopt/package.py +++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py @@ -37,85 +37,77 @@ class PyCvxopt(PythonPackage): # depends_on('mosek@8:', when='+mosek') depends_on('dsdp@5.8:', when='+dsdp') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): spec = self.spec # BLAS/LAPACK Libraries # Default names of BLAS and LAPACK libraries - spack_env.set('CVXOPT_BLAS_LIB', ';'.join(spec['blas'].libs.names)) - spack_env.set('CVXOPT_LAPACK_LIB', ';'.join(spec['lapack'].libs.names)) + env.set('CVXOPT_BLAS_LIB', ';'.join(spec['blas'].libs.names)) + env.set('CVXOPT_LAPACK_LIB', ';'.join(spec['lapack'].libs.names)) # Directory containing BLAS and LAPACK libraries - spack_env.set('CVXOPT_BLAS_LIB_DIR', spec['blas'].libs.directories[0]) + env.set('CVXOPT_BLAS_LIB_DIR', spec['blas'].libs.directories[0]) # SuiteSparse Libraries # Directory containing SuiteSparse libraries - spack_env.set('CVXOPT_SUITESPARSE_LIB_DIR', - spec['suite-sparse'].libs.directories[0]) + env.set('CVXOPT_SUITESPARSE_LIB_DIR', + spec['suite-sparse'].libs.directories[0]) # Directory containing SuiteSparse header files - spack_env.set('CVXOPT_SUITESPARSE_INC_DIR', - spec['suite-sparse'].headers.directories[0]) + env.set('CVXOPT_SUITESPARSE_INC_DIR', + spec['suite-sparse'].headers.directories[0]) # GSL Libraries if '+gsl' in spec: - spack_env.set('CVXOPT_BUILD_GSL', 1) + env.set('CVXOPT_BUILD_GSL', 1) # Directory containing libgsl - spack_env.set('CVXOPT_GSL_LIB_DIR', - spec['gsl'].libs.directories[0]) + env.set('CVXOPT_GSL_LIB_DIR', spec['gsl'].libs.directories[0]) # Directory containing the GSL header files - spack_env.set('CVXOPT_GSL_INC_DIR', - spec['gsl'].headers.directories[0]) + env.set('CVXOPT_GSL_INC_DIR', spec['gsl'].headers.directories[0]) else: - spack_env.set('CVXOPT_BUILD_GSL', 0) + env.set('CVXOPT_BUILD_GSL', 0) # FFTW Libraries if '+fftw' in spec: - spack_env.set('CVXOPT_BUILD_FFTW', 1) + env.set('CVXOPT_BUILD_FFTW', 1) # Directory containing libfftw3 - spack_env.set('CVXOPT_FFTW_LIB_DIR', - spec['fftw'].libs.directories[0]) + env.set('CVXOPT_FFTW_LIB_DIR', spec['fftw'].libs.directories[0]) # Directory containing fftw.h - spack_env.set('CVXOPT_FFTW_INC_DIR', - spec['fftw'].headers.directories[0]) + env.set('CVXOPT_FFTW_INC_DIR', spec['fftw'].headers.directories[0]) else: - spack_env.set('CVXOPT_BUILD_FFTW', 0) + env.set('CVXOPT_BUILD_FFTW', 0) # GLPK Libraries if '+glpk' in spec: - spack_env.set('CVXOPT_BUILD_GLPK', 1) + env.set('CVXOPT_BUILD_GLPK', 1) # Directory containing libglpk - spack_env.set('CVXOPT_GLPK_LIB_DIR', - spec['glpk'].libs.directories[0]) + env.set('CVXOPT_GLPK_LIB_DIR', spec['glpk'].libs.directories[0]) # Directory containing glpk.h - spack_env.set('CVXOPT_GLPK_INC_DIR', - spec['glpk'].headers.directories[0]) + env.set('CVXOPT_GLPK_INC_DIR', spec['glpk'].headers.directories[0]) else: - spack_env.set('CVXOPT_BUILD_GLPK', 0) + env.set('CVXOPT_BUILD_GLPK', 0) # DSDP Libraries if '+dsdp' in spec: - spack_env.set('CVXOPT_BUILD_DSDP', 1) + env.set('CVXOPT_BUILD_DSDP', 1) # Directory containing libdsdp - spack_env.set('CVXOPT_DSDP_LIB_DIR', - spec['dsdp'].libs.directories[0]) + env.set('CVXOPT_DSDP_LIB_DIR', spec['dsdp'].libs.directories[0]) # Directory containing dsdp5.h - spack_env.set('CVXOPT_DSDP_INC_DIR', - spec['dsdp'].headers.directories[0]) + env.set('CVXOPT_DSDP_INC_DIR', spec['dsdp'].headers.directories[0]) @run_after('install') @on_package_attributes(run_tests=True) diff --git a/var/spack/repos/builtin/packages/py-flye/package.py b/var/spack/repos/builtin/packages/py-flye/package.py index 03705a7a3ace9bb18bfe3982c6a3a4b49d89ff94..cc4c2c7aa5eaca4d8cbaf5659825155b8fbac053 100644 --- a/var/spack/repos/builtin/packages/py-flye/package.py +++ b/var/spack/repos/builtin/packages/py-flye/package.py @@ -28,7 +28,7 @@ class PyFlye(PythonPackage): conflicts('%clang@:3.2', msg=msg) # Requires Apple Clang 5.0+ but no way to specify that right now - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): if self.spec.target.family == 'aarch64': - spack_env.set('arm_neon', '1') - spack_env.set('aarch64', '1') + env.set('arm_neon', '1') + env.set('aarch64', '1') diff --git a/var/spack/repos/builtin/packages/py-git-review/package.py b/var/spack/repos/builtin/packages/py-git-review/package.py index 38d860e86fa0b6ba5a0dcfc7632494ed57a834ea..08d1b9e6d4b1ec8b82f1546512ab0ef134827907 100644 --- a/var/spack/repos/builtin/packages/py-git-review/package.py +++ b/var/spack/repos/builtin/packages/py-git-review/package.py @@ -23,5 +23,5 @@ class PyGitReview(PythonPackage): depends_on('git', type=('run')) depends_on('tk', type=('run')) - def setup_environment(self, spack_env, run_env): - run_env.set('PBR_VERSION', str(self.spec.version)) + def setup_run_environment(self, env): + env.set('PBR_VERSION', str(self.spec.version)) diff --git a/var/spack/repos/builtin/packages/py-pipits/package.py b/var/spack/repos/builtin/packages/py-pipits/package.py index 666e738cfc044a41c21bab8c7c39c0ae2a26694a..96039cb274d34c3c879f654c318c11081c11152c 100644 --- a/var/spack/repos/builtin/packages/py-pipits/package.py +++ b/var/spack/repos/builtin/packages/py-pipits/package.py @@ -57,15 +57,15 @@ def install_db(self): install_tree(join_path(self.stage.source_path, 'refdb'), self.prefix.refdb) - def setup_environment(self, spack_env, run_env): - run_env.set('PIPITS_UNITE_REFERENCE_DATA_CHIMERA', join_path( - self.prefix, 'refdb', - 'uchime_reference_dataset_01.01.2016', - 'uchime_reference_dataset_01.01.2016.fasta')) - run_env.set('PIPITS_UNITE_RETRAINED_DIR', - self.prefix.refdb.UNITE_retrained) - run_env.set('PIPITS_WARCUP_RETRAINED_DIR', - self.prefix.refdb.warcup_retrained_V2) - run_env.set('PIPITS_RDP_CLASSIFIER_JAR', join_path( - self.spec['rdp-classifier'].prefix.bin, - 'classifier.jar')) + def setup_run_environment(self, env): + env.set('PIPITS_UNITE_REFERENCE_DATA_CHIMERA', join_path( + self.prefix, 'refdb', + 'uchime_reference_dataset_01.01.2016', + 'uchime_reference_dataset_01.01.2016.fasta')) + env.set('PIPITS_UNITE_RETRAINED_DIR', + self.prefix.refdb.UNITE_retrained) + env.set('PIPITS_WARCUP_RETRAINED_DIR', + self.prefix.refdb.warcup_retrained_V2) + env.set('PIPITS_RDP_CLASSIFIER_JAR', join_path( + self.spec['rdp-classifier'].prefix.bin, + 'classifier.jar')) diff --git a/var/spack/repos/builtin/packages/py-psyclone/package.py b/var/spack/repos/builtin/packages/py-psyclone/package.py index fc51370f18ffd900d2ec3b1f1e9862bba015fde3..7b19847b283706b9eaa7a4004fcd1d4555d1f342 100644 --- a/var/spack/repos/builtin/packages/py-psyclone/package.py +++ b/var/spack/repos/builtin/packages/py-psyclone/package.py @@ -38,6 +38,6 @@ def check_build(self): with working_dir('src'): Executable('py.test')() - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): # Allow testing with installed executables: - spack_env.prepend_path('PATH', self.prefix.bin) + env.prepend_path('PATH', self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/py-pyproj/package.py b/var/spack/repos/builtin/packages/py-pyproj/package.py index 143cf0f39b6c1b56c38b56512188d96d7ed89412..9fa36fea8f1112e22916ba75589fdb52b40ab5ad 100644 --- a/var/spack/repos/builtin/packages/py-pyproj/package.py +++ b/var/spack/repos/builtin/packages/py-pyproj/package.py @@ -30,5 +30,5 @@ class PyPyproj(PythonPackage): depends_on('proj@6.1:', when='@2.2:') depends_on('proj@6.0:', when='@2.0:') - def setup_environment(self, spack_env, run_env): - spack_env.set('PROJ_DIR', self.spec['proj'].prefix) + def setup_build_environment(self, env): + env.set('PROJ_DIR', self.spec['proj'].prefix) diff --git a/var/spack/repos/builtin/packages/py-rtree/package.py b/var/spack/repos/builtin/packages/py-rtree/package.py index 4d0db48ecb49239c2ffbbbfc0d97d0371fdf766a..d37009a93af54bf766a0f412f099df970b1f0528 100644 --- a/var/spack/repos/builtin/packages/py-rtree/package.py +++ b/var/spack/repos/builtin/packages/py-rtree/package.py @@ -16,9 +16,9 @@ class PyRtree(PythonPackage): depends_on('py-setuptools', type='build') depends_on('libspatialindex') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): lib = self.spec['libspatialindex'].prefix.lib - spack_env.set('SPATIALINDEX_LIBRARY', - join_path(lib, 'libspatialindex.%s' % dso_suffix)) - spack_env.set('SPATIALINDEX_C_LIBRARY', - join_path(lib, 'libspatialindex_c.%s' % dso_suffix)) + env.set('SPATIALINDEX_LIBRARY', + join_path(lib, 'libspatialindex.%s' % dso_suffix)) + env.set('SPATIALINDEX_C_LIBRARY', + join_path(lib, 'libspatialindex_c.%s' % dso_suffix)) diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py index c1809767cfedb398c5401aa706a435052ac7d504..074811bcfa8e490ca78dce5d946dc190a3598b30 100644 --- a/var/spack/repos/builtin/packages/py-shapely/package.py +++ b/var/spack/repos/builtin/packages/py-shapely/package.py @@ -30,6 +30,6 @@ class PyShapely(PythonPackage): depends_on('geos@3.3:', when='@1.3:') depends_on('py-pytest', type='test') - def setup_environment(self, spack_env, run_env): - spack_env.set('GEOS_CONFIG', - join_path(self.spec['geos'].prefix.bin, 'geos-config')) + def setup_build_environment(self, env): + env.set('GEOS_CONFIG', + join_path(self.spec['geos'].prefix.bin, 'geos-config')) diff --git a/var/spack/repos/builtin/packages/qbank/package.py b/var/spack/repos/builtin/packages/qbank/package.py index fa362d6b5a75c4a828f5876d23192e8ce035f43f..5d1d4a2a923ebc98a5e7ec3838d94738aa36746e 100644 --- a/var/spack/repos/builtin/packages/qbank/package.py +++ b/var/spack/repos/builtin/packages/qbank/package.py @@ -36,11 +36,9 @@ class Qbank(Package): phases = ['configure', 'build', 'install'] def configure_args(self): - prefix = self.prefix - config_args = [ - '--prefix', prefix, - '--logdir', join_path(prefix, 'var', 'log', 'qbank') + '--prefix', self.prefix, + '--logdir', self.prefix.var.log.qbank ] return config_args @@ -59,11 +57,8 @@ def install(self, spec, prefix): make('install') if '+doc' in spec: - install_tree('doc', join_path(prefix, 'doc')) - - def setup_environment(self, spack_env, run_env): - spec = self.spec - prefix = self.prefix + install_tree('doc', prefix.doc) - if '+doc' in spec: - run_env.prepend_path('MANPATH', join_path(prefix, 'doc')) + def setup_run_environment(self, env): + if '+doc' in self.spec: + env.prepend_path('MANPATH', self.prefix.doc) diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py index 06eaf109963ff53fe401078984166eec4298e849..0e5c9b294e2c2d9d4176377f207fb41dea3ec6e3 100644 --- a/var/spack/repos/builtin/packages/qmcpack/package.py +++ b/var/spack/repos/builtin/packages/qmcpack/package.py @@ -353,7 +353,7 @@ def install(self, spec, prefix): install_tree('bin', prefix.bin) # QMCPACK 3.6.0 install directory structure changed, thus there - # thus are two version of the setup_environment method + # thus are two version of the setup_run_environment method @when('@:3.5.0') def setup_run_environment(self, env): """Set-up runtime environment for QMCPACK. diff --git a/var/spack/repos/builtin/packages/qscintilla/package.py b/var/spack/repos/builtin/packages/qscintilla/package.py index bf93cef3d8ab7ac7ef277322932cd2b6e8322967..739d67e5e7d55483f0d5e0b3ff63f8d2fa2d6c98 100644 --- a/var/spack/repos/builtin/packages/qscintilla/package.py +++ b/var/spack/repos/builtin/packages/qscintilla/package.py @@ -38,7 +38,7 @@ def qmake_args(self): # When INSTALL_ROOT is unset, qscintilla is installed under qt_prefix # giving 'Nothing Installed Error' def setup_build_environment(self, env): - spack_env.set('INSTALL_ROOT', self.prefix) + env.set('INSTALL_ROOT', self.prefix) def setup_run_environment(self, env): env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins) diff --git a/var/spack/repos/builtin/packages/qtgraph/package.py b/var/spack/repos/builtin/packages/qtgraph/package.py index 3d4a7307ebcf96411aa9d10465f4953338d68a68..09b1487e4fa0a105311c034c3972bc7d60cba489 100644 --- a/var/spack/repos/builtin/packages/qtgraph/package.py +++ b/var/spack/repos/builtin/packages/qtgraph/package.py @@ -25,11 +25,11 @@ class Qtgraph(QMakePackage): depends_on("graphviz@2.40.1:", when='@develop') depends_on("graphviz@2.40.1", when='@1.0.0.0:') - def setup_environment(self, spack_env, run_env): - """Set up the compile and runtime environments for a package.""" - spack_env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix) - spack_env.set('INSTALL_ROOT', self.prefix) + def setup_build_environment(self, env): + env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix) + env.set('INSTALL_ROOT', self.prefix) + def setup_run_environment(self, env): # What library suffix should be used based on library existence if os.path.isdir(self.prefix.lib64): lib_dir = self.prefix.lib64 @@ -38,9 +38,7 @@ def setup_environment(self, spack_env, run_env): # The implementor has set up the library and include paths in # a non-conventional way. We reflect that here. - run_env.prepend_path( - 'LD_LIBRARY_PATH', join_path( - lib_dir, - '{0}'.format(self.spec['qt'].version.up_to(3)))) + env.prepend_path('LD_LIBRARY_PATH', join_path( + lib_dir, '{0}'.format(self.spec['qt'].version.up_to(3)))) - run_env.prepend_path('CPATH', self.prefix.include.QtGraph) + env.prepend_path('CPATH', self.prefix.include.QtGraph) diff --git a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py index e1825092c116839a7408865987f6a0886ee66a79..ae705377b7d7b6607201033bc73b63d15dc3ae5d 100644 --- a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py +++ b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py @@ -26,5 +26,5 @@ class RPhantompeakqualtools(RPackage): conflicts('%gcc@6:') - def setup_environment(self, spack_env, run_env): - spack_env.set('BOOST_ROOT', self.spec['boost'].prefix) + def setup_build_environment(self, env): + env.set('BOOST_ROOT', self.spec['boost'].prefix) diff --git a/var/spack/repos/builtin/packages/rclone/package.py b/var/spack/repos/builtin/packages/rclone/package.py index 00a5221ef93dc5956520e0416070d08f30d6a128..c3d0ba5b1c552b0c74a907af4b09980d03ed6069 100644 --- a/var/spack/repos/builtin/packages/rclone/package.py +++ b/var/spack/repos/builtin/packages/rclone/package.py @@ -17,9 +17,9 @@ class Rclone(Package): depends_on("go", type='build') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): # Point GOPATH at the top of the staging dir for the build step. - spack_env.prepend_path('GOPATH', self.stage.path) + env.prepend_path('GOPATH', self.stage.path) def install(self, spec, prefix): go('build') diff --git a/var/spack/repos/builtin/packages/ruby/package.py b/var/spack/repos/builtin/packages/ruby/package.py index 2fbbc0c53778de2e40d416f600ef2e7df2649d69..7f1fc022f0dc75b9dd3b81683e5d3be544d1236e 100644 --- a/var/spack/repos/builtin/packages/ruby/package.py +++ b/var/spack/repos/builtin/packages/ruby/package.py @@ -63,7 +63,7 @@ def configure_args(self): args.append('--with-tk=%s' % self.spec['tk'].prefix) return args - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): # TODO: do this only for actual extensions. # Set GEM_PATH to include dependent gem directories ruby_paths = [] @@ -71,10 +71,10 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec): if d.package.extends(self.spec): ruby_paths.append(d.prefix) - spack_env.set_path('GEM_PATH', ruby_paths) + env.set_path('GEM_PATH', ruby_paths) # The actual installation path for this gem - spack_env.set('GEM_HOME', dependent_spec.prefix) + env.set('GEM_HOME', dependent_spec.prefix) def setup_dependent_package(self, module, dependent_spec): """Called before ruby modules' install() methods. Sets GEM_HOME diff --git a/var/spack/repos/builtin/packages/samrai/package.py b/var/spack/repos/builtin/packages/samrai/package.py index 9843f2a0e47554d024abeb4bb70e1d5929933202..3dd3777b64748ada41110384331155ce637de5ae 100644 --- a/var/spack/repos/builtin/packages/samrai/package.py +++ b/var/spack/repos/builtin/packages/samrai/package.py @@ -95,6 +95,6 @@ def configure_args(self): return options - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): if self.spec.satisfies('@3.12:'): - spack_env.append_flags('CXXFLAGS', self.compiler.cxx11_flag) + env.append_flags('CXXFLAGS', self.compiler.cxx11_flag) diff --git a/var/spack/repos/builtin/packages/shared-mime-info/package.py b/var/spack/repos/builtin/packages/shared-mime-info/package.py index c6cabe1d488de028f92fa64b0d149ba922fb30b6..2cf967b7c37ab7b4c3b14c1e0abb315d86c0a486 100644 --- a/var/spack/repos/builtin/packages/shared-mime-info/package.py +++ b/var/spack/repos/builtin/packages/shared-mime-info/package.py @@ -24,8 +24,8 @@ class SharedMimeInfo(AutotoolsPackage): depends_on('gettext', type='build') depends_on('pkgconfig', type='build') - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) - run_env.prepend_path("XDG_DATA_DIRS", - self.prefix.share) + def setup_dependent_build_environment(self, env, dependent_spec): + 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) diff --git a/var/spack/repos/builtin/packages/shiny-server/package.py b/var/spack/repos/builtin/packages/shiny-server/package.py index d26ece50b1fc09cd34dc7763626e515bffa642e8..77f70c551c7e0a5eff57908ab89c1108f0f4e5bf 100644 --- a/var/spack/repos/builtin/packages/shiny-server/package.py +++ b/var/spack/repos/builtin/packages/shiny-server/package.py @@ -47,10 +47,8 @@ def build_node(self): bash('-c', 'bin/npm --python="$PYTHON" install') bash('-c', 'bin/node ./ext/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js --python="$PYTHON" rebuild') # noqa: E501 - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', - join_path(self.prefix, 'shiny-server', 'bin')) + def setup_run_environment(self, env): + env.prepend_path('PATH', join_path(self.prefix, 'shiny-server', 'bin')) # shiny comes with its own pandoc; hook it up... - run_env.prepend_path('PATH', - join_path(self.prefix, 'shiny-server', - 'ext', 'pandoc', 'static')) + env.prepend_path('PATH', join_path( + self.prefix, 'shiny-server', 'ext', 'pandoc', 'static')) diff --git a/var/spack/repos/builtin/packages/shortbred/package.py b/var/spack/repos/builtin/packages/shortbred/package.py index d94bf8c36ce139aac0d01bf1bda1e812a4eb7e80..94fb9ecec2cf42bb0ad234626fb62a2b561a2a9d 100644 --- a/var/spack/repos/builtin/packages/shortbred/package.py +++ b/var/spack/repos/builtin/packages/shortbred/package.py @@ -28,5 +28,5 @@ def install(self, spec, prefix): install('shortbred_quantify.py', prefix.bin) install_tree('src', prefix.src) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PYTHONPATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PYTHONPATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/signalp/package.py b/var/spack/repos/builtin/packages/signalp/package.py index fbaaff574e46a3957aeb1302c8c4d30a03c0cb38..02837d22ea0f9fd5484b1dc560b9e882a39d7896 100644 --- a/var/spack/repos/builtin/packages/signalp/package.py +++ b/var/spack/repos/builtin/packages/signalp/package.py @@ -39,5 +39,5 @@ def install(self, spec, prefix): install_tree('lib', prefix.lib) install_tree('syn', prefix.syn) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/signify/package.py b/var/spack/repos/builtin/packages/signify/package.py index 4c44ec8391352457597ffbdc9c8003409f74bc0c..33dc554f9b13f6321279aa762b7275ab72b2dfcf 100644 --- a/var/spack/repos/builtin/packages/signify/package.py +++ b/var/spack/repos/builtin/packages/signify/package.py @@ -16,5 +16,5 @@ class Signify(MakefilePackage): depends_on('libbsd@0.8:') - def setup_environment(self, spack_env, run_env): - spack_env.set('PREFIX', self.prefix) + def setup_build_environment(self, env): + env.set('PREFIX', self.prefix) diff --git a/var/spack/repos/builtin/packages/singularity/package.py b/var/spack/repos/builtin/packages/singularity/package.py index 43e40ac039ecb288950516d08721aa2af42f5129..cdf8e499b0bb76d13878807726417269976573ef 100644 --- a/var/spack/repos/builtin/packages/singularity/package.py +++ b/var/spack/repos/builtin/packages/singularity/package.py @@ -87,10 +87,9 @@ def edit(self, spec, prefix): build_targets = ['-C', 'builddir', 'parallel=False'] install_targets = ['install', '-C', 'builddir', 'parallel=False'] - def setup_environment(self, spack_env, run_env): - # Point GOPATH at the top of the staging dir for the build - # step. - spack_env.prepend_path('GOPATH', self.gopath) + def setup_build_environment(self, env): + # Point GOPATH at the top of the staging dir for the build step. + env.prepend_path('GOPATH', self.gopath) # `singularity` has a fixed path where it will look for # mksquashfs. If it lives somewhere else you need to specify the diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py index 85f31667c5250cb49e389bf364e455a57c834bc4..6de522aea1b9762983aac736331d29cbe9d04a32 100644 --- a/var/spack/repos/builtin/packages/slate/package.py +++ b/var/spack/repos/builtin/packages/slate/package.py @@ -31,11 +31,10 @@ class Slate(Package): conflicts('%gcc@:5') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): if('+cuda' in self.spec): - spack_env.prepend_path('CPATH', self.spec['cuda'].prefix.include) - spack_env.prepend_path('CPATH', self.spec['intel-mkl'].prefix - + '/mkl/include') + env.prepend_path('CPATH', self.spec['cuda'].prefix.include) + env.prepend_path('CPATH', self.spec['intel-mkl'].prefix.mkl.include) def install(self, spec, prefix): f_cuda = "1" if spec.variants['cuda'].value else "0" diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py index 8313705cbf929360ff6be542f403d3591910a3cf..9ffd49431cf281139339e02663024c9e9b270d3f 100644 --- a/var/spack/repos/builtin/packages/slepc/package.py +++ b/var/spack/repos/builtin/packages/slepc/package.py @@ -101,6 +101,6 @@ def install(self, spec, prefix): make('install', parallel=False) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): # set up SLEPC_DIR for everyone using SLEPc package - spack_env.set('SLEPC_DIR', self.prefix) + env.set('SLEPC_DIR', self.prefix) diff --git a/var/spack/repos/builtin/packages/snap-korf/package.py b/var/spack/repos/builtin/packages/snap-korf/package.py index 930d8c28e769aefd02d0d7507fe54d5b349639a3..64645143cb8e4f061cda82318901ff378e62ab89 100644 --- a/var/spack/repos/builtin/packages/snap-korf/package.py +++ b/var/spack/repos/builtin/packages/snap-korf/package.py @@ -38,6 +38,6 @@ def install(self, spec, prefix): install_tree('HMM', prefix.HMM) install_tree('DNA', prefix.DNA) - def setup_environment(self, spack_env, run_env): - run_env.set('ZOE', self.prefix) - run_env.prepend_path('PATH', self.prefix) + def setup_run_environment(self, env): + env.set('ZOE', self.prefix) + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/snphylo/package.py b/var/spack/repos/builtin/packages/snphylo/package.py index ae406850664e100259869e1a6d749a0916b3165d..3a24c57a53300bb7436822b4126e6376bcf047b0 100644 --- a/var/spack/repos/builtin/packages/snphylo/package.py +++ b/var/spack/repos/builtin/packages/snphylo/package.py @@ -33,5 +33,5 @@ def install(self, spec, prefix): bash('./setup.sh', input=f) install_tree('.', prefix) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.spec.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/sosflow/package.py b/var/spack/repos/builtin/packages/sosflow/package.py index f1eaf23b9b9bee9aee8557963b037bea3c094845..e080c34dfb7baffa666bf44550e487250b71895d 100644 --- a/var/spack/repos/builtin/packages/sosflow/package.py +++ b/var/spack/repos/builtin/packages/sosflow/package.py @@ -21,14 +21,15 @@ class Sosflow(CMakePackage): depends_on('pkgconfig') depends_on('mpi') - def setup_environment(self, spack_env, run_env): - spack_env.set('SOS_HOST_KNOWN_AS', 'SPACK-SOS-BUILD') - spack_env.set('SOS_HOST_NODE_NAME', 'SPACK-SOS-NODE') - spack_env.set('SOS_HOST_DETAILED', 'SPACK-SOS-DETAILED') - - run_env.set('SOS_ROOT', self.spec.prefix) - run_env.set('SOS_BUILD_DIR', self.spec.prefix) - run_env.set('SOS_CMD_PORT', '22500') - run_env.set('SOS_WORK', env['HOME']) - run_env.set('SOS_EVPATH_MEETUP', env['HOME']) - run_env.set('SOS_ENV_SET', 'true') + def setup_build_environment(self, env): + env.set('SOS_HOST_KNOWN_AS', 'SPACK-SOS-BUILD') + env.set('SOS_HOST_NODE_NAME', 'SPACK-SOS-NODE') + env.set('SOS_HOST_DETAILED', 'SPACK-SOS-DETAILED') + + def setup_run_environment(self, env): + env.set('SOS_ROOT', self.spec.prefix) + env.set('SOS_BUILD_DIR', self.spec.prefix) + env.set('SOS_CMD_PORT', '22500') + env.set('SOS_WORK', env['HOME']) + env.set('SOS_EVPATH_MEETUP', env['HOME']) + env.set('SOS_ENV_SET', 'true') diff --git a/var/spack/repos/builtin/packages/spark/package.py b/var/spack/repos/builtin/packages/spark/package.py index 9b05e3b4bfd45c5267f175e2af1a1063daacdc30..b21a7aab1a41252971fca0584b6dd7259f18a4e0 100644 --- a/var/spack/repos/builtin/packages/spark/package.py +++ b/var/spack/repos/builtin/packages/spark/package.py @@ -47,7 +47,7 @@ def install_dir(dirname): install('RELEASE', prefix) @when('+hadoop') - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): hadoop = self.spec['hadoop'].command hadoop.add_default_env('JAVA_HOME', self.spec['java'].home) hadoop_classpath = hadoop('classpath', output=str) @@ -56,4 +56,4 @@ def setup_environment(self, spack_env, run_env): # module files hadoop_classpath = re.sub(r'[\s+]', '', hadoop_classpath) - run_env.set('SPARK_DIST_CLASSPATH', hadoop_classpath) + env.set('SPARK_DIST_CLASSPATH', hadoop_classpath) diff --git a/var/spack/repos/builtin/packages/sspace-standard/package.py b/var/spack/repos/builtin/packages/sspace-standard/package.py index 768bd3afb12e2de476017427cc52824a22c72943..3a5d1fa10efe235523988f22387e2a125e6c059f 100644 --- a/var/spack/repos/builtin/packages/sspace-standard/package.py +++ b/var/spack/repos/builtin/packages/sspace-standard/package.py @@ -48,6 +48,6 @@ def install(self, spec, prefix): install_tree('tools', prefix.tools) install(rootscript, prefix) - def setup_environment(self, spack_env, run_env): - run_env.set('SSPACE_HOME', prefix) - run_env.prepend_path('PATH', prefix) + def setup_run_environment(self, env): + env.set('SSPACE_HOME', self.prefix) + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/stata/package.py b/var/spack/repos/builtin/packages/stata/package.py index 6f19adda532d838b7b05fc0e615d03b063b9a028..b294e1ebf2665ac51e7c3e0062dc5e1d8b5066ad 100644 --- a/var/spack/repos/builtin/packages/stata/package.py +++ b/var/spack/repos/builtin/packages/stata/package.py @@ -37,9 +37,9 @@ def url_for_version(self, version): return "file://{0}/Stata{1}Linux64.tar.gz".format(os.getcwd(), version) # STATA is simple and needs really just the PATH set. - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', prefix) - run_env.prepend_path('LD_LIBRARY_PATH', self.spec['libpng'].prefix.lib) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) + env.prepend_path('LD_LIBRARY_PATH', self.spec['libpng'].prefix.lib) # Extracting the file provides the following: # ./unix/ diff --git a/var/spack/repos/builtin/packages/steps/package.py b/var/spack/repos/builtin/packages/steps/package.py index 41ef74c6815debe0f1a8b738d09952481bfdcb6a..7de6c54b6dbaf10485244945380a2fcfede2c457 100644 --- a/var/spack/repos/builtin/packages/steps/package.py +++ b/var/spack/repos/builtin/packages/steps/package.py @@ -55,7 +55,7 @@ def cmake_args(self): args.append('-DBLAS_LIBRARIES=' + spec['blas'].libs.joined(";")) return args - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # This recipe exposes a Python package from a C++ CMake project. # This hook is required to reproduce what Spack PythonPackage does. - run_env.prepend_path('PYTHONPATH', self.prefix) + env.prepend_path('PYTHONPATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/supernova/package.py b/var/spack/repos/builtin/packages/supernova/package.py index 43ccbe50c62001eae7b7e287ccb91b09844d5568..e17de6760cf4da22a2aa9cb2fd9a852af7cc9aa4 100644 --- a/var/spack/repos/builtin/packages/supernova/package.py +++ b/var/spack/repos/builtin/packages/supernova/package.py @@ -36,8 +36,8 @@ class Supernova(Package): def url_for_version(self, version): return "file://{0}/supernova-{1}.tar.gz".format(os.getcwd(), version) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) def install(self, spec, prefix): rm = which('rm') diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py index cf538d24c038c5f05122d8f96ffbc16bbd5834b7..65f4843a0aafc0aae5a776a23566e8ecbde09f2b 100644 --- a/var/spack/repos/builtin/packages/swiftsim/package.py +++ b/var/spack/repos/builtin/packages/swiftsim/package.py @@ -33,14 +33,15 @@ class Swiftsim(AutotoolsPackage): depends_on('hdf5~mpi', when='~mpi') depends_on('hdf5+mpi', when='+mpi') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): # Needed to be able to download from the Durham gitlab repository tty.warn('Setting "GIT_SSL_NO_VERIFY=1"') tty.warn('This is needed to clone SWIFT repository') - spack_env.set('GIT_SSL_NO_VERIFY', 1) + env.set('GIT_SSL_NO_VERIFY', 1) def configure_args(self): - return ['--prefix=%s' % self.prefix, - '--enable-mpi' if '+mpi' in self.spec else '--disable-mpi', - '--with-metis={0}'.format(self.spec['metis'].prefix), - '--enable-optimization'] + return [ + '--enable-mpi' if '+mpi' in self.spec else '--disable-mpi', + '--with-metis={0}'.format(self.spec['metis'].prefix), + '--enable-optimization' + ] diff --git a/var/spack/repos/builtin/packages/targetp/package.py b/var/spack/repos/builtin/packages/targetp/package.py index 98dd5601039faaa48f1ff10c8d11fd1908fd0aa3..11549b9f52a430743b75711992d0acd1541d10df 100644 --- a/var/spack/repos/builtin/packages/targetp/package.py +++ b/var/spack/repos/builtin/packages/targetp/package.py @@ -44,6 +44,6 @@ def install(self, spec, prefix): install_tree('tmp', prefix.tmp) install('targetp', prefix.targetp) - def setup_environment(self, spack_env, run_env): - run_env.set('TARGETP', self.prefix) - run_env.prepend_path('PATH', self.prefix) + def setup_run_environment(self, env): + env.set('TARGETP', self.prefix) + env.prepend_path('PATH', self.prefix) diff --git a/var/spack/repos/builtin/packages/tassel/package.py b/var/spack/repos/builtin/packages/tassel/package.py index f78e9e19a02026ba94694489be91407b0ddaa38e..7f3ab470f357c3d68f4b33c50bb331cf8e18519a 100644 --- a/var/spack/repos/builtin/packages/tassel/package.py +++ b/var/spack/repos/builtin/packages/tassel/package.py @@ -21,5 +21,5 @@ class Tassel(Package): def install(self, spec, prefix): install_tree('.', prefix.bin) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('CLASSPATH', prefix.bin.lib) + def setup_run_environment(self, env): + env.prepend_path('CLASSPATH', self.prefix.bin.lib) diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py index 50c826b610977d50c0188860a094109d96fbe735..5d6ed9c2850c939359822bc1635496ff0dd59443 100644 --- a/var/spack/repos/builtin/packages/tau/package.py +++ b/var/spack/repos/builtin/packages/tau/package.py @@ -262,7 +262,7 @@ def link_tau_arch_dirs(self): if os.path.isdir(src) and not os.path.exists(dest): os.symlink(join_path(subdir, d), dest) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): pattern = join_path(self.prefix.lib, 'Makefile.*') files = glob.glob(pattern) @@ -272,4 +272,4 @@ def setup_environment(self, spack_env, run_env): # directory to inspect. The conditional below will set `TAU_MAKEFILE` # in the latter case. if files: - run_env.set('TAU_MAKEFILE', files[0]) + env.set('TAU_MAKEFILE', files[0]) diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py index a76c748262b9dfbcb1dbc29c42d59134a0911122..888e57581f9c492b8c0a5a203d3ccf935d9a7eb2 100644 --- a/var/spack/repos/builtin/packages/tcl/package.py +++ b/var/spack/repos/builtin/packages/tcl/package.py @@ -97,17 +97,17 @@ def tcl_builtin_lib_dir(self): return join_path(self.tcl_lib_dir, 'tcl{0}'.format(self.version.up_to(2))) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # When using Tkinter from within spack provided python+tkinter, python # will not be able to find Tcl/Tk unless TCL_LIBRARY is set. - run_env.set('TCL_LIBRARY', join_path(self.prefix, self.tcl_lib_dir)) + env.set('TCL_LIBRARY', join_path(self.prefix, self.tcl_lib_dir)) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): """Set TCLLIBPATH to include the tcl-shipped directory for extensions and any other tcl extension it depends on. For further info see: https://wiki.tcl.tk/1787""" - spack_env.set('TCL_LIBRARY', join_path(self.prefix, self.tcl_lib_dir)) + env.set('TCL_LIBRARY', join_path(self.prefix, self.tcl_lib_dir)) # If we set TCLLIBPATH, we must also ensure that the corresponding # tcl is found in the build environment. This to prevent cases @@ -116,7 +116,7 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec): # it boils down to the same situation we have here. path = os.path.dirname(self.command.path) if not is_system_path(path): - spack_env.prepend_path('PATH', path) + env.prepend_path('PATH', path) tcl_paths = [join_path(self.prefix, self.tcl_builtin_lib_dir)] @@ -130,12 +130,16 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec): # "TCLLIBPATH is a Tcl list, not some platform-specific # colon-separated or semi-colon separated format" tcllibpath = ' '.join(tcl_paths) - spack_env.set('TCLLIBPATH', tcllibpath) + env.set('TCLLIBPATH', tcllibpath) + + def setup_dependent_run_environment(self, env, dependent_spec): + """Set TCLLIBPATH to include the tcl-shipped directory for + extensions and any other tcl extension it depends on. + For further info see: https://wiki.tcl.tk/1787""" # For run time environment set only the path for # dependent_spec and prepend it to TCLLIBPATH if dependent_spec.package.extends(self.spec): dependent_tcllibpath = join_path(dependent_spec.prefix, self.tcl_lib_dir) - run_env.prepend_path('TCLLIBPATH', dependent_tcllibpath, - separator=' ') + env.prepend_path('TCLLIBPATH', dependent_tcllibpath, separator=' ') diff --git a/var/spack/repos/builtin/packages/templight/package.py b/var/spack/repos/builtin/packages/templight/package.py index 34f75964e10a337c0fdcaecdf3704bdcca6f2b18..c4b6aaa617fb229fed48161bedd3c516896a8d73 100644 --- a/var/spack/repos/builtin/packages/templight/package.py +++ b/var/spack/repos/builtin/packages/templight/package.py @@ -101,10 +101,12 @@ def patch(self): with open("tools/clang/tools/CMakeLists.txt", "a") as cmake_lists: cmake_lists.write("add_clang_subdirectory(templight)") - def setup_environment(self, spack_env, run_env): - spack_env.append_flags('CXXFLAGS', self.compiler.cxx11_flag) - run_env.set('CC', join_path(self.spec.prefix.bin, 'templight')) - run_env.set('CXX', join_path(self.spec.prefix.bin, 'templight++')) + def setup_build_environment(self, env): + env.append_flags('CXXFLAGS', self.compiler.cxx11_flag) + + def setup_run_environment(self, env): + env.set('CC', join_path(self.spec.prefix.bin, 'templight')) + env.set('CXX', join_path(self.spec.prefix.bin, 'templight++')) def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py index cd8e685bbc59a9a4026828c37b07c7d3a8eff902..ae17275ee27ef7faff064cb70ea72a724440e9cc 100644 --- a/var/spack/repos/builtin/packages/texlive/package.py +++ b/var/spack/repos/builtin/packages/texlive/package.py @@ -47,9 +47,9 @@ class Texlive(Package): depends_on('perl', type='build') - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): suffix = "%s-%s" % (platform.machine(), platform.system().lower()) - run_env.prepend_path('PATH', join_path(self.prefix.bin, suffix)) + env.prepend_path('PATH', join_path(self.prefix.bin, suffix)) def install(self, spec, prefix): # Using texlive's mirror system leads to mysterious problems, diff --git a/var/spack/repos/builtin/packages/tk/package.py b/var/spack/repos/builtin/packages/tk/package.py index 0533e54e0554fa864e8517a302ec928cf7e13571..2ed1f07a0f006dc37ae20a30ca65188791b826a3 100644 --- a/var/spack/repos/builtin/packages/tk/package.py +++ b/var/spack/repos/builtin/packages/tk/package.py @@ -60,14 +60,14 @@ def libs(self): return find_libraries(['libtk{0}'.format(self.version.up_to(2))], root=self.prefix, recursive=True) - def setup_environment(self, spack_env, run_env): + def setup_run_environment(self, env): # When using Tkinter from within spack provided python+tkinter, python # will not be able to find Tcl/Tk unless TK_LIBRARY is set. - run_env.set('TK_LIBRARY', join_path(self.prefix.lib, 'tk{0}'.format( + env.set('TK_LIBRARY', join_path(self.prefix.lib, 'tk{0}'.format( self.spec.version.up_to(2)))) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('TK_LIBRARY', join_path(self.prefix.lib, 'tk{0}'.format( + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('TK_LIBRARY', join_path(self.prefix.lib, 'tk{0}'.format( self.spec.version.up_to(2)))) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/tppred/package.py b/var/spack/repos/builtin/packages/tppred/package.py index a4ae0997332513be656f258da6aeaa4a21389498..1c325e83840db2256a5d7fb7eccfe98a622b5b16 100644 --- a/var/spack/repos/builtin/packages/tppred/package.py +++ b/var/spack/repos/builtin/packages/tppred/package.py @@ -31,5 +31,5 @@ def install(self, spec, prefix): install_tree('example', prefix.example) install_tree('tppred2modules', prefix.modules) - def setup_environment(self, spack_env, run_env): - run_env.set('TPPRED_ROOT', prefix) + def setup_run_environment(self, env): + env.set('TPPRED_ROOT', self.prefix) diff --git a/var/spack/repos/builtin/packages/transdecoder/package.py b/var/spack/repos/builtin/packages/transdecoder/package.py index b49b67ae9bf7cebbacaa429c93b58a6306a95c2c..206aac671969cb464bbbd603aec2a25419d48f8d 100644 --- a/var/spack/repos/builtin/packages/transdecoder/package.py +++ b/var/spack/repos/builtin/packages/transdecoder/package.py @@ -29,6 +29,6 @@ def install(self, spec, prefix): install_tree('PerlLib', prefix.PerlLib) install_tree('util', prefix.util) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', prefix) - run_env.prepend_path('PATH', prefix.util) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) + env.prepend_path('PATH', self.prefix.util) diff --git a/var/spack/repos/builtin/packages/turbomole/package.py b/var/spack/repos/builtin/packages/turbomole/package.py index fc331a1429bc34976fc59f38fe38a4c0c5af0c05..0c996fcf1873a0600fa701e6a29044637d8f5e35 100644 --- a/var/spack/repos/builtin/packages/turbomole/package.py +++ b/var/spack/repos/builtin/packages/turbomole/package.py @@ -52,9 +52,8 @@ def get_tm_arch(self): return def install(self, spec, prefix): - if spec.satisfies('@:7.0.2'): - calculate_version = 'calculate_2.4_linux64' - molecontrol_version = 'MoleControl_2.5' + calculate_version = 'calculate_2.4_linux64' + molecontrol_version = 'MoleControl_2.5' tm_arch = self.get_tm_arch() @@ -114,33 +113,25 @@ def install(self, spec, prefix): install('mpirun_scripts/ricc2', join_path(dst, 'mpirun_scripts')) install('mpirun_scripts/ridft', join_path(dst, 'mpirun_scripts')) - def setup_environment(self, spack_env, run_env): - if self.spec.satisfies('@:7.0.2'): - molecontrol_version = 'MoleControl_2.5' + def setup_run_environment(self, env): + molecontrol_version = 'MoleControl_2.5' tm_arch = self.get_tm_arch() - run_env.set('TURBODIR', join_path(self.prefix, 'TURBOMOLE')) - run_env.set('MOLE_CONTROL', - join_path(self.prefix, 'TURBOMOLE', molecontrol_version)) + env.set('TURBODIR', self.prefix.TURBOMOLE) + env.set('MOLE_CONTROL', + join_path(self.prefix, 'TURBOMOLE', molecontrol_version)) - run_env.prepend_path('PATH', - join_path(self.prefix, 'TURBOMOLE', 'thermocalc')) - run_env.prepend_path('PATH', - join_path(self.prefix, 'TURBOMOLE', 'scripts')) + env.prepend_path('PATH', self.prefix.TURBOMOLE.thermocalc) + env.prepend_path('PATH', self.prefix.TURBOMOLE.scripts) if '+mpi' in self.spec: - run_env.set('PARA_ARCH', 'MPI') - run_env.prepend_path('PATH', - join_path(self.prefix, - 'TURBOMOLE', 'bin', '%s_mpi' - % tm_arch)) + env.set('PARA_ARCH', 'MPI') + env.prepend_path('PATH', join_path( + self.prefix, 'TURBOMOLE', 'bin', '%s_mpi' % tm_arch)) elif '+smp' in self.spec: - run_env.set('PARA_ARCH', 'SMP') - run_env.prepend_path('PATH', - join_path(self.prefix, - 'TURBOMOLE', 'bin', '%s_smp' - % tm_arch)) + env.set('PARA_ARCH', 'SMP') + env.prepend_path('PATH', join_path( + self.prefix, 'TURBOMOLE', 'bin', '%s_smp' % tm_arch)) else: - run_env.prepend_path('PATH', - join_path(self.prefix, - 'TURBOMOLE', 'bin', tm_arch)) + env.prepend_path('PATH', join_path( + self.prefix, 'TURBOMOLE', 'bin', tm_arch)) diff --git a/var/spack/repos/builtin/packages/upcxx/package.py b/var/spack/repos/builtin/packages/upcxx/package.py index 8afd7286e2d244430eae9f2118b448753fa5f18a..d4975d3a3549c9e278838f63667e5bc8b2a1249e 100644 --- a/var/spack/repos/builtin/packages/upcxx/package.py +++ b/var/spack/repos/builtin/packages/upcxx/package.py @@ -45,32 +45,33 @@ def url_for_version(self, version): url = "https://bitbucket.org/berkeleylab/upcxx/downloads/upcxx-{0}-offline.tar.gz" return url.format(version) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): if 'platform=cray' in self.spec: - spack_env.set('GASNET_CONFIGURE_ARGS', '--enable-mpi=probe') + env.set('GASNET_CONFIGURE_ARGS', '--enable-mpi=probe') if 'cross=none' not in self.spec: - spack_env.set('CROSS', self.spec.variants['cross'].value) + env.set('CROSS', self.spec.variants['cross'].value) if '+cuda' in self.spec: - spack_env.set('UPCXX_CUDA', '1') - spack_env.set('UPCXX_CUDA_NVCC', self.spec['cuda'].prefix.bin.nvcc) + env.set('UPCXX_CUDA', '1') + env.set('UPCXX_CUDA_NVCC', self.spec['cuda'].prefix.bin.nvcc) - run_env.set('UPCXX_INSTALL', self.prefix) - run_env.set('UPCXX', self.prefix.bin.upcxx) + def setup_run_environment(self, env): + env.set('UPCXX_INSTALL', self.prefix) + env.set('UPCXX', self.prefix.bin.upcxx) if 'platform=cray' in self.spec: - run_env.set('UPCXX_GASNET_CONDUIT', 'aries') - run_env.set('UPCXX_NETWORK', 'aries') + env.set('UPCXX_GASNET_CONDUIT', 'aries') + env.set('UPCXX_NETWORK', 'aries') def setup_dependent_package(self, module, dep_spec): dep_spec.upcxx = self.prefix.bin.upcxx - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('UPCXX_INSTALL', self.prefix) - spack_env.set('UPCXX', self.prefix.bin.upcxx) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('UPCXX_INSTALL', self.prefix) + env.set('UPCXX', self.prefix.bin.upcxx) if 'platform=cray' in self.spec: - spack_env.set('UPCXX_GASNET_CONDUIT', 'aries') - spack_env.set('UPCXX_NETWORK', 'aries') + env.set('UPCXX_GASNET_CONDUIT', 'aries') + env.set('UPCXX_NETWORK', 'aries') def install(self, spec, prefix): env['CC'] = self.compiler.cc diff --git a/var/spack/repos/builtin/packages/util-macros/package.py b/var/spack/repos/builtin/packages/util-macros/package.py index 26de9b3efd49ccf8b21cb8d6c7f785c7dcca32b3..150e27fef7bef9100b40227af203d4aab66f6cef 100644 --- a/var/spack/repos/builtin/packages/util-macros/package.py +++ b/var/spack/repos/builtin/packages/util-macros/package.py @@ -17,7 +17,6 @@ class UtilMacros(AutotoolsPackage): version('1.19.1', sha256='18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6') version('1.19.0', sha256='2835b11829ee634e19fa56517b4cfc52ef39acea0cd82e15f68096e27cbed0ba') - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): """Adds the ACLOCAL path for autotools.""" - spack_env.append_path('ACLOCAL_PATH', - join_path(self.prefix.share, 'aclocal')) + env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal) diff --git a/var/spack/repos/builtin/packages/varscan/package.py b/var/spack/repos/builtin/packages/varscan/package.py index 9b6dc2e36ca84054f7084547da51e64608362e33..ce2f6784b8c3fb32d36b0838b546954687fbea4c 100644 --- a/var/spack/repos/builtin/packages/varscan/package.py +++ b/var/spack/repos/builtin/packages/varscan/package.py @@ -35,6 +35,6 @@ def install(self, spec, prefix): filter_file('varscan.jar', join_path(prefix.jar, jar_file), script, **kwargs) - def setup_environment(self, spack_env, run_env): - run_env.set('VARSCAN_HOME', self.prefix.jar) - run_env.set('CLASSPATH', self.prefix.jar) + def setup_run_environment(self, env): + env.set('VARSCAN_HOME', self.prefix.jar) + env.set('CLASSPATH', self.prefix.jar) diff --git a/var/spack/repos/builtin/packages/vcftools/package.py b/var/spack/repos/builtin/packages/vcftools/package.py index 5368ddd931cebea717b6b3c18185715d3a028d80..5756d8457cf39471a653bd6133f9a8101a036c4e 100644 --- a/var/spack/repos/builtin/packages/vcftools/package.py +++ b/var/spack/repos/builtin/packages/vcftools/package.py @@ -23,7 +23,7 @@ class Vcftools(AutotoolsPackage): depends_on('perl', type=('build', 'run')) depends_on('zlib') - # this needs to be in sync with what setup_environment adds to + # this needs to be in sync with what setup_run_environment adds to # PERL5LIB below def configure_args(self): return ['--with-pmdir={0}'.format(self.prefix.lib)] @@ -51,5 +51,5 @@ def filter_sbang(self): kwargs = {'ignore_absent': True, 'backup': False, 'string': False} filter_file(match, substitute, *files, **kwargs) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PERL5LIB', self.prefix.lib) + def setup_run_environment(self, env): + env.prepend_path('PERL5LIB', self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/verilator/package.py b/var/spack/repos/builtin/packages/verilator/package.py index 89da6e140913afd4556ef6b2e9ccb9d4ad844480..9522d477d8d301b125fbd48ba08002538eef4ab3 100644 --- a/var/spack/repos/builtin/packages/verilator/package.py +++ b/var/spack/repos/builtin/packages/verilator/package.py @@ -42,8 +42,8 @@ class Verilator(AutotoolsPackage): depends_on('flex') depends_on('perl', type=('build', 'run')) - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('VERILATOR_ROOT', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('VERILATOR_ROOT', self.prefix) # verilator requires access to its shipped scripts (bin) and include # but the standard make doesn't put it in the correct places diff --git a/var/spack/repos/builtin/packages/vesta/package.py b/var/spack/repos/builtin/packages/vesta/package.py index 918c44b7fb96066fd07118d4aa4fe3fd0b60099e..1b5560bce9efe21d8bd3c03d69dc009b66bdc7a5 100644 --- a/var/spack/repos/builtin/packages/vesta/package.py +++ b/var/spack/repos/builtin/packages/vesta/package.py @@ -21,9 +21,9 @@ class Vesta(Package): conflicts('%gcc@:5.3') - def setup_environment(self, spack_env, run_env): - run_env.prepend_path('PATH', self.prefix) - run_env.prepend_path('LD_LIBRARY_PATH', self.prefix) + def setup_run_environment(self, env): + env.prepend_path('PATH', self.prefix) + env.prepend_path('LD_LIBRARY_PATH', self.prefix) def install(self, spec, prefix): install_tree('.', prefix) diff --git a/var/spack/repos/builtin/packages/wordnet/package.py b/var/spack/repos/builtin/packages/wordnet/package.py index 6bb3ca2dc03bbe96fa2882fd1558901e6b72ea35..23ae8e7fe6a76483e35677bf72a43ffcb0f56f01 100644 --- a/var/spack/repos/builtin/packages/wordnet/package.py +++ b/var/spack/repos/builtin/packages/wordnet/package.py @@ -28,6 +28,6 @@ def configure_args(self): return args - def setup_environment(self, spack_env, run_env): - run_env.set('WNHOME', self.prefix) - run_env.set('WNSEARCHDIR', self.prefix.dict) + def setup_run_environment(self, env): + env.set('WNHOME', self.prefix) + env.set('WNSEARCHDIR', self.prefix.dict) diff --git a/var/spack/repos/builtin/packages/workrave/package.py b/var/spack/repos/builtin/packages/workrave/package.py index fa5a597484a5b131ac01d51bdcc57bc655db4357..95dc3bb427e5c9a3b99d7b134c6c1bb0a6345b1a 100644 --- a/var/spack/repos/builtin/packages/workrave/package.py +++ b/var/spack/repos/builtin/packages/workrave/package.py @@ -67,13 +67,13 @@ class Workrave(AutotoolsPackage): destination='', placement=m4files[1]) - def setup_environment(self, build_env, run_env): + def setup_build_environment(self, env): # unset PYTHONHOME to let system python script with explict # system python sbangs like glib-mkenums work, see #6968 # Without this, we will get # ImportError: No module named site # during build phase when make runs glib-mkenums - build_env.unset('PYTHONHOME') + env.unset('PYTHONHOME') @run_before('autoreconf') def extra_m4(self): diff --git a/var/spack/repos/builtin/packages/xkeyboard-config/package.py b/var/spack/repos/builtin/packages/xkeyboard-config/package.py index a3356aaf09d83df501dfb723723a0e0eb0bbdaa9..c6fdac55b0ae775741f4dfdbd3b3d9f20557d2b8 100644 --- a/var/spack/repos/builtin/packages/xkeyboard-config/package.py +++ b/var/spack/repos/builtin/packages/xkeyboard-config/package.py @@ -31,6 +31,8 @@ class XkeyboardConfig(AutotoolsPackage): # perl@5.8.1: # perl XML::Parser - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path('XKB_CONFIG_ROOT', self.prefix.share.X11.xkb) - run_env.prepend_path('XKB_CONFIG_ROOT', self.prefix.share.X11.xkb) + def setup_dependent_build_environment(self, env, dependent_spec): + env.prepend_path('XKB_CONFIG_ROOT', self.prefix.share.X11.xkb) + + def setup_dependent_run_environment(self, env, dependent_spec): + env.prepend_path('XKB_CONFIG_ROOT', self.prefix.share.X11.xkb) diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py index b5e67e3131369e4db168732e9b7865f24e1e8a0e..4fd73c5e0fc8c55c5803ec77c0d087aa4ae1492d 100644 --- a/var/spack/repos/builtin/packages/xrootd/package.py +++ b/var/spack/repos/builtin/packages/xrootd/package.py @@ -13,10 +13,8 @@ class Xrootd(CMakePackage): homepage = "http://xrootd.org" url = "http://xrootd.org/download/v4.6.0/xrootd-4.6.0.tar.gz" - version('4.8.5', - sha256='42e4d2cc6f8b442135f09bcc12c7be38b1a0c623a005cb5e69ff3d27997bdf73') - version('4.8.4', - sha256='f148d55b16525567c0f893edf9bb2975f7c09f87f0599463e19e1b456a9d95ba') + version('4.8.5', sha256='42e4d2cc6f8b442135f09bcc12c7be38b1a0c623a005cb5e69ff3d27997bdf73') + version('4.8.4', sha256='f148d55b16525567c0f893edf9bb2975f7c09f87f0599463e19e1b456a9d95ba') version('4.8.3', sha256='9cd30a343758b8f50aea4916fa7bd37de3c37c5b670fe059ae77a8b2bbabf299') version('4.8.2', sha256='8f28ec53e799d4aa55bd0cc4ab278d9762e0e57ac40a4b02af7fc53dcd1bef39') version('4.8.1', sha256='edee2673d941daf7a6e5c963d339d4a69b4db5c4b6f77b4548b3129b42198029') @@ -83,7 +81,7 @@ def cmake_args(self): return options - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): cxxstdflag = '' if self.spec.variants['cxxstd'].value == '98': cxxstdflag = self.compiler.cxx98_flag @@ -101,4 +99,4 @@ def setup_environment(self, spack_env, run_env): "cxxstd={0}".format(self.spec.variants['cxxstd'].value)) if cxxstdflag: - spack_env.append_flags('CXXFLAGS', cxxstdflag) + env.append_flags('CXXFLAGS', cxxstdflag) diff --git a/var/spack/repos/builtin/packages/xsd/package.py b/var/spack/repos/builtin/packages/xsd/package.py index 5e9fe1408767c6ef0fb8aba04fccde94906031a8..10263dca792d9233bd72b015f4426ed8dcb4cec2 100644 --- a/var/spack/repos/builtin/packages/xsd/package.py +++ b/var/spack/repos/builtin/packages/xsd/package.py @@ -24,9 +24,9 @@ class Xsd(MakefilePackage): def install(self, spec, prefix): make('install', 'install_prefix=' + prefix) - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): xercesc_lib_flags = self.spec['xerces-c'].libs.search_flags - spack_env.append_flags('LDFLAGS', xercesc_lib_flags) + env.append_flags('LDFLAGS', xercesc_lib_flags) def url_for_version(self, version): url = "https://www.codesynthesis.com/download/xsd/{0}/xsd-{1}+dep.tar.bz2"