diff --git a/lib/spack/docs/build_systems/makefilepackage.rst b/lib/spack/docs/build_systems/makefilepackage.rst index b73112abcc3..d0363336583 100644 --- a/lib/spack/docs/build_systems/makefilepackage.rst +++ b/lib/spack/docs/build_systems/makefilepackage.rst @@ -91,7 +91,7 @@ there are any other variables you need to set, you can do this in the .. code-block:: python - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", prefix) env.set("BLASLIB", spec["blas"].libs.ld_flags) diff --git a/lib/spack/docs/module_file_support.rst b/lib/spack/docs/module_file_support.rst index 7ed4cc5c3a5..cfc32802938 100644 --- a/lib/spack/docs/module_file_support.rst +++ b/lib/spack/docs/module_file_support.rst @@ -128,7 +128,7 @@ depend on the spec: .. code-block:: python - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+foo"): env.set("FOO", "bar") @@ -142,7 +142,7 @@ For example, a simplified version of the ``python`` package could look like this .. code-block:: python - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment(self, env: EnvironmentModifications, dependent_spec: Spec) -> None: if dependent_spec.package.extends(self.spec): env.prepend_path("PYTHONPATH", dependent_spec.prefix.lib.python) diff --git a/lib/spack/spack/build_systems/autotools.py b/lib/spack/spack/build_systems/autotools.py index ebac028d93d..b98f889c9d4 100644 --- a/lib/spack/spack/build_systems/autotools.py +++ b/lib/spack/spack/build_systems/autotools.py @@ -16,6 +16,7 @@ import spack.package_base import spack.phase_callbacks import spack.spec +import spack.util.environment import spack.util.prefix from spack.directives import build_system, conflicts, depends_on from spack.multimethod import when @@ -846,7 +847,9 @@ def _remove_libtool_archives(self) -> None: with open(self._removed_la_files_log, mode="w", encoding="utf-8") as f: f.write("\n".join(libtool_files)) - def setup_build_environment(self, env): + def setup_build_environment( + self, env: spack.util.environment.EnvironmentModifications + ) -> None: if self.spec.platform == "darwin" and macos_version() >= Version("11"): # Many configure files rely on matching '10.*' for macOS version # detection and fail to add flags if it shows as version 11. diff --git a/lib/spack/spack/build_systems/cargo.py b/lib/spack/spack/build_systems/cargo.py index b94d1e87b25..5cfed66063b 100644 --- a/lib/spack/spack/build_systems/cargo.py +++ b/lib/spack/spack/build_systems/cargo.py @@ -8,6 +8,7 @@ import spack.package_base import spack.phase_callbacks import spack.spec +import spack.util.environment import spack.util.prefix from spack.directives import build_system, depends_on from spack.multimethod import when @@ -86,7 +87,9 @@ def check_args(self): """Argument for ``cargo test`` during check phase""" return [] - def setup_build_environment(self, env): + def setup_build_environment( + self, env: spack.util.environment.EnvironmentModifications + ) -> None: env.set("CARGO_HOME", self.stage.path) def build( diff --git a/lib/spack/spack/build_systems/go.py b/lib/spack/spack/build_systems/go.py index 981b548d4f8..1c510679199 100644 --- a/lib/spack/spack/build_systems/go.py +++ b/lib/spack/spack/build_systems/go.py @@ -8,6 +8,7 @@ import spack.package_base import spack.phase_callbacks import spack.spec +import spack.util.environment import spack.util.prefix from spack.directives import build_system, depends_on from spack.multimethod import when @@ -68,7 +69,9 @@ class GoBuilder(BuilderWithDefaults): #: Callback names for install-time test install_time_test_callbacks = ["check"] - def setup_build_environment(self, env): + def setup_build_environment( + self, env: spack.util.environment.EnvironmentModifications + ) -> None: env.set("GO111MODULE", "on") env.set("GOTOOLCHAIN", "local") env.set("GOPATH", fs.join_path(self.pkg.stage.path, "go")) diff --git a/lib/spack/spack/build_systems/intel.py b/lib/spack/spack/build_systems/intel.py index 2d012d983e6..9d097b82193 100644 --- a/lib/spack/spack/build_systems/intel.py +++ b/lib/spack/spack/build_systems/intel.py @@ -23,6 +23,7 @@ import spack.error import spack.phase_callbacks +import spack.spec from spack.build_environment import dso_suffix from spack.error import InstallError from spack.util.environment import EnvironmentModifications @@ -1016,7 +1017,7 @@ def libs(self): debug_print(result) return result - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Adds environment variables to the generated module file. These environment variables come from running: @@ -1049,7 +1050,9 @@ def setup_run_environment(self, env): env.set("F77", self.prefix.bin.ifort) env.set("F90", self.prefix.bin.ifort) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: spack.spec.Spec + ) -> None: # NB: This function is overwritten by 'mpi' provider packages: # # var/spack/repos/builtin/packages/intel-mpi/package.py @@ -1061,7 +1064,12 @@ def setup_dependent_build_environment(self, env, dependent_spec): # Handle everything in a callback version. self._setup_dependent_env_callback(env, dependent_spec) - def _setup_dependent_env_callback(self, env, dependent_spec, compilers_of_client={}): + def _setup_dependent_env_callback( + self, + env: EnvironmentModifications, + dependent_spec: spack.spec.Spec, + compilers_of_client={}, + ) -> None: # Expected to be called from a client's # setup_dependent_build_environment(), # with args extended to convey the client's compilers as needed. diff --git a/lib/spack/spack/build_systems/lua.py b/lib/spack/spack/build_systems/lua.py index e8b1698f297..e9d05b2c75c 100644 --- a/lib/spack/spack/build_systems/lua.py +++ b/lib/spack/spack/build_systems/lua.py @@ -8,6 +8,7 @@ import spack.builder import spack.package_base import spack.spec +import spack.util.environment import spack.util.executable import spack.util.prefix from spack.directives import build_system, depends_on, extends @@ -114,5 +115,7 @@ def install( def _luarocks_config_path(self): return os.path.join(self.pkg.stage.source_path, "spack_luarocks.lua") - def setup_build_environment(self, env): + def setup_build_environment( + self, env: spack.util.environment.EnvironmentModifications + ) -> None: env.set("LUAROCKS_CONFIG", self._luarocks_config_path()) diff --git a/lib/spack/spack/build_systems/octave.py b/lib/spack/spack/build_systems/octave.py index 9e5eabe5dec..79e9bfd5708 100644 --- a/lib/spack/spack/build_systems/octave.py +++ b/lib/spack/spack/build_systems/octave.py @@ -4,6 +4,7 @@ import spack.builder import spack.package_base import spack.spec +import spack.util.environment import spack.util.prefix from spack.directives import build_system, extends from spack.multimethod import when @@ -57,7 +58,9 @@ def install( "pkg prefix %s; pkg install %s" % (prefix, self.pkg.stage.archive_file), ) - def setup_build_environment(self, env): + def setup_build_environment( + self, env: spack.util.environment.EnvironmentModifications + ) -> None: # octave does not like those environment variables to be set: env.unset("CC") env.unset("CXX") diff --git a/lib/spack/spack/build_systems/oneapi.py b/lib/spack/spack/build_systems/oneapi.py index b8be05d9795..77e0a6e5730 100644 --- a/lib/spack/spack/build_systems/oneapi.py +++ b/lib/spack/spack/build_systems/oneapi.py @@ -132,7 +132,7 @@ def install_component(self, installer_path): if not isdir(install_dir): raise RuntimeError("install failed to directory: {0}".format(install_dir)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Adds environment variables to the generated module file. These environment variables come from running: diff --git a/lib/spack/spack/builder.py b/lib/spack/spack/builder.py index 43f9423038b..1ff2f777c0a 100644 --- a/lib/spack/spack/builder.py +++ b/lib/spack/spack/builder.py @@ -185,10 +185,16 @@ def __init__(self, pkg): # These two methods don't follow the (self, spec, prefix) signature of phases nor # the (self) signature of methods, so they are added explicitly to avoid using a # catch-all (*args, **kwargs) - def setup_build_environment(self, env): + def setup_build_environment( + self, env: spack.util.environment.EnvironmentModifications + ) -> None: return self.pkg_with_dispatcher.setup_build_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, + env: spack.util.environment.EnvironmentModifications, + dependent_spec: spack.spec.Spec, + ) -> None: return self.pkg_with_dispatcher.setup_dependent_build_environment(env, dependent_spec) return Adapter(pkg) @@ -402,7 +408,7 @@ def fixup_install(self): # do something after the package is installed pass - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MY_ENV_VAR", "my_value") class CMakeBuilder(cmake.CMakeBuilder, AnyBuilder): diff --git a/lib/spack/spack/test/data/unparse/grads.txt b/lib/spack/spack/test/data/unparse/grads.txt index 5075803828d..7a122a4f175 100644 --- a/lib/spack/spack/test/data/unparse/grads.txt +++ b/lib/spack/spack/test/data/unparse/grads.txt @@ -47,10 +47,10 @@ class Grads(AutotoolsPackage): depends_on('readline') depends_on('pkgconfig', type='build') - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set('SUPPLIBS', '/') - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set('GADDIR', self.prefix.data) @run_after('install') diff --git a/lib/spack/spack/test/data/unparse/llvm.txt b/lib/spack/spack/test/data/unparse/llvm.txt index fadabb2377c..ac747bbcff9 100644 --- a/lib/spack/spack/test/data/unparse/llvm.txt +++ b/lib/spack/spack/test/data/unparse/llvm.txt @@ -517,7 +517,7 @@ class Llvm(CMakePackage, CudaPackage): return (None, flags, None) return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH""" if self.compiler.name in ["clang", "apple-clang"]: for lld in "ld.lld-{0}".format(self.compiler.version.version[0]), "ld.lld": @@ -528,7 +528,7 @@ class Llvm(CMakePackage, CudaPackage): os.symlink(bin, sym) env.prepend_path("PATH", self.stage.path) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+clang" in self.spec: env.set("CC", join_path(self.spec.prefix.bin, "clang")) env.set("CXX", join_path(self.spec.prefix.bin, "clang++")) diff --git a/lib/spack/spack/test/data/unparse/mfem.txt b/lib/spack/spack/test/data/unparse/mfem.txt index 22f06e460f5..e52f1758dd4 100644 --- a/lib/spack/spack/test/data/unparse/mfem.txt +++ b/lib/spack/spack/test/data/unparse/mfem.txt @@ -318,7 +318,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): patch('mfem-4.0.0-makefile-syntax-fix.patch', when='@4.0.0') phases = ['configure', 'build', 'install'] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset('MFEM_DIR') env.unset('MFEM_BUILD_DIR') diff --git a/lib/spack/spack/test/data/unparse/py-torch.txt b/lib/spack/spack/test/data/unparse/py-torch.txt index 6d627cdfae7..0c2468d4f7c 100644 --- a/lib/spack/spack/test/data/unparse/py-torch.txt +++ b/lib/spack/spack/test/data/unparse/py-torch.txt @@ -281,7 +281,7 @@ class PyTorch(PythonPackage, CudaPackage): "caffe2/CMakeLists.txt", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set environment variables used to control the build. PyTorch's ``setup.py`` is a thin wrapper around ``cmake``. diff --git a/lib/spack/spack/test/data/unparse/trilinos.txt b/lib/spack/spack/test/data/unparse/trilinos.txt index 4b2a2a318ed..ac35d884850 100644 --- a/lib/spack/spack/test/data/unparse/trilinos.txt +++ b/lib/spack/spack/test/data/unparse/trilinos.txt @@ -440,7 +440,7 @@ class Trilinos(CMakePackage, CudaPackage): url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-{0}.tar.gz" return url.format(version.dashed) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment(self, env: EnvironmentModifications, dependent_spec: Spec) -> None: if "+cuda" in self.spec: # currently Trilinos doesn't perform the memory fence so # it relies on blocking CUDA kernel launch. This is needed @@ -453,7 +453,7 @@ class Trilinos(CMakePackage, CudaPackage): else: self.spec.kokkos_cxx = spack_cxx - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "+cuda" in spec and "+wrapper" in spec: if "+mpi" in spec: @@ -847,7 +847,7 @@ class Trilinos(CMakePackage, CudaPackage): ) filter_file(r"-lpytrilinos", "", "%s/Makefile.export.Trilinos" % self.prefix.include) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+exodus" in self.spec: env.prepend_path("PYTHONPATH", self.prefix.lib) diff --git a/lib/spack/spack/test/util/package_hash.py b/lib/spack/spack/test/util/package_hash.py index ad35b66a868..72ad61e9719 100644 --- a/lib/spack/spack/test/util/package_hash.py +++ b/lib/spack/spack/test/util/package_hash.py @@ -334,20 +334,20 @@ def test_remove_complex_package_logic_filtered(): "package_spec,expected_hash", [ ("amdfftw", "tivb752zddjgvfkogfs7cnnvp5olj6co"), - ("grads", "rrlmwml3f2frdnqavmro3ias66h5b2ce"), - ("llvm", "nufffum5dabmaf4l5tpfcblnbfjknvd3"), + ("grads", "lomrsppasfxegyamz4r33zgwiqkveftv"), + ("llvm", "paicamlvy5jkgxw4xnacaxahrixe3f3i"), # has @when("@4.1.0") and raw unicode literals - ("mfem", "whwftpqbjvzncmb52oz6izkanbha2uji"), - ("mfem@4.0.0", "whwftpqbjvzncmb52oz6izkanbha2uji"), - ("mfem@4.1.0", "bpi7of3xelo7fr3ta2lm6bmiruijnxcg"), + ("mfem", "slf5qyyyhuj66mo5lpuhkrs35akh2zck"), + ("mfem@4.0.0", "slf5qyyyhuj66mo5lpuhkrs35akh2zck"), + ("mfem@4.1.0", "yo3ymaulytctas67zjn663ixw5cfyh5u"), # has @when("@1.5.0:") - ("py-torch", "qs7djgqn7dy7r3ps4g7hv2pjvjk4qkhd"), - ("py-torch@1.0", "qs7djgqn7dy7r3ps4g7hv2pjvjk4qkhd"), - ("py-torch@1.6", "p4ine4hc6f2ik2f2wyuwieslqbozll5w"), + ("py-torch", "m3ucsddqr7hjevtgx4cad34nrtqgyjfg"), + ("py-torch@1.0", "m3ucsddqr7hjevtgx4cad34nrtqgyjfg"), + ("py-torch@1.6", "insaxs6bq34rvyhajdbyr4wddqeqb2t3"), # has a print with multiple arguments ("legion", "bq2etsik5l6pbryxmbhfhzynci56ruy4"), # has nested `with when()` blocks and loops - ("trilinos", "vqrgscjrla4hi7bllink7v6v6dwxgc2p"), + ("trilinos", "ojbtbu3p6gpa42sbilblo2ioanvhouxu"), ], ) def test_package_hash_consistency(package_spec, expected_hash): diff --git a/var/spack/repos/builtin.mock/packages/build-env-compiler-var-b/package.py b/var/spack/repos/builtin.mock/packages/build-env-compiler-var-b/package.py index 0e797aed0de..5d3879f2818 100644 --- a/var/spack/repos/builtin.mock/packages/build-env-compiler-var-b/package.py +++ b/var/spack/repos/builtin.mock/packages/build-env-compiler-var-b/package.py @@ -11,7 +11,7 @@ class BuildEnvCompilerVarB(Package): url = "https://www.example.com" version("1.0", md5="0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CC", "this-should-be-dropped") env.set("CXX", "this-should-be-dropped") env.set("FC", "this-should-be-dropped") diff --git a/var/spack/repos/builtin.mock/packages/callpath/package.py b/var/spack/repos/builtin.mock/packages/callpath/package.py index cf3d52707f7..9ad90f14ac1 100644 --- a/var/spack/repos/builtin.mock/packages/callpath/package.py +++ b/var/spack/repos/builtin.mock/packages/callpath/package.py @@ -22,5 +22,5 @@ def install(self, spec, prefix): mkdirp(prefix) touch(join_path(prefix, "dummyfile")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FOOBAR", self.name) diff --git a/var/spack/repos/builtin.mock/packages/cmake-client/package.py b/var/spack/repos/builtin.mock/packages/cmake-client/package.py index c9bf018e960..c9c6e30da72 100644 --- a/var/spack/repos/builtin.mock/packages/cmake-client/package.py +++ b/var/spack/repos/builtin.mock/packages/cmake-client/package.py @@ -67,7 +67,9 @@ def setup_build_environment(self, spack_env): "link arg on dependency spec not readable from " "setup_build_environment.", ) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spack_cc # Ensure spack module-scope variable is avaiable check( from_cmake == "from_cmake", diff --git a/var/spack/repos/builtin.mock/packages/cmake/package.py b/var/spack/repos/builtin.mock/packages/cmake/package.py index 1c34499a3bd..d33ec83a5fe 100644 --- a/var/spack/repos/builtin.mock/packages/cmake/package.py +++ b/var/spack/repos/builtin.mock/packages/cmake/package.py @@ -36,11 +36,13 @@ class Cmake(Package): url="https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spack_cc # Ensure spack module-scope variable is avaiable env.set("for_install", "for_install") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spack_cc # Ensure spack module-scope variable is avaiable env.set("from_cmake", "from_cmake") diff --git a/var/spack/repos/builtin.mock/packages/conflict-parent/package.py b/var/spack/repos/builtin.mock/packages/conflict-parent/package.py index 6dc3240c24c..17ec0e57058 100644 --- a/var/spack/repos/builtin.mock/packages/conflict-parent/package.py +++ b/var/spack/repos/builtin.mock/packages/conflict-parent/package.py @@ -23,5 +23,5 @@ def install(self, spec, prefix): make() make("install") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FOOBAR", self.name) diff --git a/var/spack/repos/builtin.mock/packages/conflict/package.py b/var/spack/repos/builtin.mock/packages/conflict/package.py index 1b36c351518..2143f226484 100644 --- a/var/spack/repos/builtin.mock/packages/conflict/package.py +++ b/var/spack/repos/builtin.mock/packages/conflict/package.py @@ -24,5 +24,5 @@ def install(self, spec, prefix): make() make("install") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FOOBAR", self.name) diff --git a/var/spack/repos/builtin.mock/packages/hash-test1/package.py b/var/spack/repos/builtin.mock/packages/hash-test1/package.py index 00cc138061e..bf00f3cf1bb 100644 --- a/var/spack/repos/builtin.mock/packages/hash-test1/package.py +++ b/var/spack/repos/builtin.mock/packages/hash-test1/package.py @@ -27,7 +27,9 @@ class HashTest1(Package): variant("variantx", default=False, description="Test variant X") variant("varianty", default=False, description="Test variant Y") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: pass @when("@:1.4") diff --git a/var/spack/repos/builtin.mock/packages/hash-test2/package.py b/var/spack/repos/builtin.mock/packages/hash-test2/package.py index 7141410f924..842b6622874 100644 --- a/var/spack/repos/builtin.mock/packages/hash-test2/package.py +++ b/var/spack/repos/builtin.mock/packages/hash-test2/package.py @@ -23,7 +23,9 @@ class HashTest2(Package): variant("variantx", default=False, description="Test variant X") variant("varianty", default=False, description="Test variant Y") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: pass def install(self, spec, prefix): diff --git a/var/spack/repos/builtin.mock/packages/hash-test3/package.py b/var/spack/repos/builtin.mock/packages/hash-test3/package.py index d72b4f819ad..8d55eb127c9 100644 --- a/var/spack/repos/builtin.mock/packages/hash-test3/package.py +++ b/var/spack/repos/builtin.mock/packages/hash-test3/package.py @@ -22,7 +22,9 @@ class HashTest3(Package): variant("variantx", default=False, description="Test variant X") variant("varianty", default=False, description="Test variant Y") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: pass @when("@:1.4") diff --git a/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py b/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py index 491e78fe727..89b3164d03c 100644 --- a/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py +++ b/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py @@ -13,7 +13,7 @@ class ModifiesRunEnv(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("DEPENDENCY_ENV_VAR", "1") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin.mock/packages/module-long-help/package.py b/var/spack/repos/builtin.mock/packages/module-long-help/package.py index eaace9f8f27..0362d3ccf4e 100644 --- a/var/spack/repos/builtin.mock/packages/module-long-help/package.py +++ b/var/spack/repos/builtin.mock/packages/module-long-help/package.py @@ -14,5 +14,5 @@ class ModuleLongHelp(Package): version("1.0", "0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FOO", "bar") diff --git a/var/spack/repos/builtin.mock/packages/module-manpath-append/package.py b/var/spack/repos/builtin.mock/packages/module-manpath-append/package.py index eed270cbe06..8db25f467cf 100644 --- a/var/spack/repos/builtin.mock/packages/module-manpath-append/package.py +++ b/var/spack/repos/builtin.mock/packages/module-manpath-append/package.py @@ -11,5 +11,5 @@ class ModuleManpathAppend(Package): version("1.0", "0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path("MANPATH", "/path/to/man") diff --git a/var/spack/repos/builtin.mock/packages/module-manpath-prepend/package.py b/var/spack/repos/builtin.mock/packages/module-manpath-prepend/package.py index 78874d9b326..b2ab7c600fa 100644 --- a/var/spack/repos/builtin.mock/packages/module-manpath-prepend/package.py +++ b/var/spack/repos/builtin.mock/packages/module-manpath-prepend/package.py @@ -11,6 +11,6 @@ class ModuleManpathPrepend(Package): version("1.0", "0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("MANPATH", "/path/to/man") env.prepend_path("MANPATH", "/path/to/share/man") diff --git a/var/spack/repos/builtin.mock/packages/module-manpath-setenv/package.py b/var/spack/repos/builtin.mock/packages/module-manpath-setenv/package.py index f4f6368a580..dc37c438a3c 100644 --- a/var/spack/repos/builtin.mock/packages/module-manpath-setenv/package.py +++ b/var/spack/repos/builtin.mock/packages/module-manpath-setenv/package.py @@ -11,5 +11,5 @@ class ModuleManpathSetenv(Package): version("1.0", "0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MANPATH", "/path/to/man") diff --git a/var/spack/repos/builtin.mock/packages/module-path-separator/package.py b/var/spack/repos/builtin.mock/packages/module-path-separator/package.py index 0aadd1029fb..e7978b553f6 100644 --- a/var/spack/repos/builtin.mock/packages/module-path-separator/package.py +++ b/var/spack/repos/builtin.mock/packages/module-path-separator/package.py @@ -11,7 +11,7 @@ class ModulePathSeparator(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path("COLON", "foo") env.prepend_path("COLON", "foo") env.remove_path("COLON", "foo") diff --git a/var/spack/repos/builtin.mock/packages/module-setenv-raw/package.py b/var/spack/repos/builtin.mock/packages/module-setenv-raw/package.py index 767d222a72c..29f803b31c5 100644 --- a/var/spack/repos/builtin.mock/packages/module-setenv-raw/package.py +++ b/var/spack/repos/builtin.mock/packages/module-setenv-raw/package.py @@ -11,5 +11,5 @@ class ModuleSetenvRaw(Package): version("1.0", "0123456789abcdef0123456789abcdef") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FOO", "{{name}}, {name}, {{}}, {}", raw=True) diff --git a/var/spack/repos/builtin.mock/packages/mpileaks/package.py b/var/spack/repos/builtin.mock/packages/mpileaks/package.py index 587a615cdde..be9fe17fb0a 100644 --- a/var/spack/repos/builtin.mock/packages/mpileaks/package.py +++ b/var/spack/repos/builtin.mock/packages/mpileaks/package.py @@ -33,5 +33,5 @@ def install(self, spec, prefix): touch(prefix.mpileaks) mkdirp(prefix.man) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FOOBAR", self.name) diff --git a/var/spack/repos/builtin.mock/packages/zlib/package.py b/var/spack/repos/builtin.mock/packages/zlib/package.py index 32c96637e1e..71ee76da599 100644 --- a/var/spack/repos/builtin.mock/packages/zlib/package.py +++ b/var/spack/repos/builtin.mock/packages/zlib/package.py @@ -35,7 +35,7 @@ def libs(self): shared = "+shared" in self.spec return find_libraries(["libz"], root=self.prefix, recursive=True, shared=shared) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+pic" in self.spec: env.append_flags("CFLAGS", self.compiler.cc_pic_flag) if "+optimize" in self.spec: diff --git a/var/spack/repos/builtin/packages/3dtk/package.py b/var/spack/repos/builtin/packages/3dtk/package.py index 62effbb4afd..121bce064d1 100644 --- a/var/spack/repos/builtin/packages/3dtk/package.py +++ b/var/spack/repos/builtin/packages/3dtk/package.py @@ -68,7 +68,7 @@ class _3dtk(CMakePackage): patch("homebrew.patch", when="platform=darwin") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec["eigen"].prefix.include) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/acct/package.py b/var/spack/repos/builtin/packages/acct/package.py index 4b63ee9ffcd..4b96b3d174a 100644 --- a/var/spack/repos/builtin/packages/acct/package.py +++ b/var/spack/repos/builtin/packages/acct/package.py @@ -20,7 +20,7 @@ class Acct(AutotoolsPackage, GNUMirrorPackage): depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) def installcheck(self): diff --git a/var/spack/repos/builtin/packages/acfl/package.py b/var/spack/repos/builtin/packages/acfl/package.py index a6f86997462..d57482a94db 100644 --- a/var/spack/repos/builtin/packages/acfl/package.py +++ b/var/spack/repos/builtin/packages/acfl/package.py @@ -458,7 +458,7 @@ def headers(self): hlist.directories = [incdir] return hlist - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: arm_dir = get_acfl_prefix(self.spec) armpl_dir = get_armpl_prefix(self.spec) diff --git a/var/spack/repos/builtin/packages/activeharmony/package.py b/var/spack/repos/builtin/packages/activeharmony/package.py index cbdc7eee387..6928cba9996 100644 --- a/var/spack/repos/builtin/packages/activeharmony/package.py +++ b/var/spack/repos/builtin/packages/activeharmony/package.py @@ -25,8 +25,8 @@ class Activeharmony(MakefilePackage): cflags = ["-O3", "-fPIC"] - def setup_build_environment(self, spack_env): - spack_env.set("CFLAGS", " ".join(self.cflags)) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("CFLAGS", " ".join(self.cflags)) @when("@:4.5") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/adf/package.py b/var/spack/repos/builtin/packages/adf/package.py index 3c0211ff075..8874139f81b 100644 --- a/var/spack/repos/builtin/packages/adf/package.py +++ b/var/spack/repos/builtin/packages/adf/package.py @@ -25,7 +25,7 @@ def url_for_version(self, version): license_files = ["license.txt"] license_vars = ["SCMLICENSE"] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ADFHOME", self.prefix) env.set("ADFBIN", self.prefix.bin) env.set("ADFRESOURCES", self.prefix.atomicdata) diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py index d2f788cb105..40c28e69513 100644 --- a/var/spack/repos/builtin/packages/adios/package.py +++ b/var/spack/repos/builtin/packages/adios/package.py @@ -113,7 +113,7 @@ def with_or_without_hdf5(self, activated): return "--without-phdf5" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://github.com/ornladios/ADIOS/issues/206 if self.spec.satisfies("+fortran %gcc@10:"): env.set("FCFLAGS", "-fallow-argument-mismatch") diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py index 486295a8dd2..2612c163b73 100644 --- a/var/spack/repos/builtin/packages/adios2/package.py +++ b/var/spack/repos/builtin/packages/adios2/package.py @@ -257,7 +257,7 @@ def patch(self): filter_file("mpc++_r)", "mpcc_r mpiFCC)", f, string=True) filter_file("mpf77_r", "mpf77_r mpifrt", f, string=True) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://github.com/ornladios/ADIOS2/issues/2228 if self.spec.satisfies("+fortran %gcc@10:"): env.set("FFLAGS", "-fallow-argument-mismatch") @@ -358,7 +358,7 @@ def libs(self): list(libs_to_seek), root=self.spec.prefix, shared=("+shared" in spec), recursive=True ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: try: all_libs = self.libs idx = all_libs.basenames.index("libadios2_h5vol.so") diff --git a/var/spack/repos/builtin/packages/adlbx/package.py b/var/spack/repos/builtin/packages/adlbx/package.py index 2e0c4d12f07..358a3f42fc0 100644 --- a/var/spack/repos/builtin/packages/adlbx/package.py +++ b/var/spack/repos/builtin/packages/adlbx/package.py @@ -29,7 +29,7 @@ class Adlbx(AutotoolsPackage): depends_on("m4", type="build", when="@master") depends_on("mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("CC", spec["mpi"].mpicc) env.set("CXX", spec["mpi"].mpicxx) diff --git a/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py b/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py index f810b4665b2..4019dc3a2ca 100644 --- a/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py +++ b/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py @@ -18,14 +18,18 @@ class AdwaitaIconTheme(AutotoolsPackage): depends_on("gdk-pixbuf", type="build") depends_on("librsvg", type="build") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/amber/package.py b/var/spack/repos/builtin/packages/amber/package.py index 4a5ffbecc87..760a50329dd 100644 --- a/var/spack/repos/builtin/packages/amber/package.py +++ b/var/spack/repos/builtin/packages/amber/package.py @@ -153,7 +153,7 @@ def url_for_version(self, version): url = "file://{0}/Amber{1}.tar.bz2".format(os.getcwd(), version) return url - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: amber_src = self.stage.source_path env.set("AMBERHOME", amber_src) @@ -242,7 +242,7 @@ def install(self, spec, prefix): # just install everything that was built install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("AMBER_PREFIX", self.prefix) env.set("AMBERHOME", self.prefix) # CUDA diff --git a/var/spack/repos/builtin/packages/ambertools/package.py b/var/spack/repos/builtin/packages/ambertools/package.py index 9964e4978f0..ebad34d8b2f 100644 --- a/var/spack/repos/builtin/packages/ambertools/package.py +++ b/var/spack/repos/builtin/packages/ambertools/package.py @@ -63,11 +63,11 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("AMBER_PREFIX", self.prefix) env.set("AMBERHOME", self.prefix) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("AMBER_PREFIX", self.prefix) env.set("AMBERHOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/amdlibflame/package.py b/var/spack/repos/builtin/packages/amdlibflame/package.py index 26876c882a5..f6d9220dc78 100644 --- a/var/spack/repos/builtin/packages/amdlibflame/package.py +++ b/var/spack/repos/builtin/packages/amdlibflame/package.py @@ -250,6 +250,8 @@ def install(self, pkg, spec, prefix): # make install in parallel fails with message 'File already exists' make("install", parallel=False) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if self.spec.external: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/amdscalapack/package.py b/var/spack/repos/builtin/packages/amdscalapack/package.py index faeaa9acd8b..5dc17d370e3 100644 --- a/var/spack/repos/builtin/packages/amdscalapack/package.py +++ b/var/spack/repos/builtin/packages/amdscalapack/package.py @@ -135,6 +135,8 @@ def cmake_args(self): return args - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if self.spec.external: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/ampl/package.py b/var/spack/repos/builtin/packages/ampl/package.py index 2213e8341b1..0c019eb64eb 100644 --- a/var/spack/repos/builtin/packages/ampl/package.py +++ b/var/spack/repos/builtin/packages/ampl/package.py @@ -85,7 +85,7 @@ class Ampl(Package): def url_for_version(self, version): return "file://{0}/ampl.linux-intel64.{1}.tgz".format(os.getcwd(), version) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) if self.spec.satisfies("+ide"): env.prepend_path("PATH", join_path(self.prefix, "amplide")) diff --git a/var/spack/repos/builtin/packages/ampliconnoise/package.py b/var/spack/repos/builtin/packages/ampliconnoise/package.py index cb20ccc542c..05cd420f8ac 100644 --- a/var/spack/repos/builtin/packages/ampliconnoise/package.py +++ b/var/spack/repos/builtin/packages/ampliconnoise/package.py @@ -23,7 +23,7 @@ class Ampliconnoise(MakefilePackage): patch("Fix-return-type.patch") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.Scripts) env.set("PYRO_LOOKUP_FILE", os.path.join(self.prefix, "Data", "LookUp_E123.dat")) env.set("SEQ_LOOKUP_FILE", os.path.join(self.prefix, "Data", "Tran.dat")) diff --git a/var/spack/repos/builtin/packages/amr-wind/package.py b/var/spack/repos/builtin/packages/amr-wind/package.py index 3a16d2eb546..4d21bc545fc 100644 --- a/var/spack/repos/builtin/packages/amr-wind/package.py +++ b/var/spack/repos/builtin/packages/amr-wind/package.py @@ -276,7 +276,7 @@ class AmrWind(CMakePackage, CudaPackage, ROCmPackage): "openfast@4.0.0:4.0.1", msg="OpenFAST 4.0.0:4.0.1 contains a bug. Use OpenFAST >= 4.0.2." ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Avoid compile errors with Intel interprocedural optimization if self.spec.satisfies("%intel"): env.append_flags("CXXFLAGS", "-no-ipo") diff --git a/var/spack/repos/builtin/packages/amrfinder/package.py b/var/spack/repos/builtin/packages/amrfinder/package.py index ff11c4bc328..ea5b11bfc3c 100644 --- a/var/spack/repos/builtin/packages/amrfinder/package.py +++ b/var/spack/repos/builtin/packages/amrfinder/package.py @@ -29,7 +29,7 @@ class Amrfinder(MakefilePackage): depends_on("hmmer") depends_on("curl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("INSTALL_DIR", prefix.bin) env.set("DEFAULT_DB_DIR", prefix.share) diff --git a/var/spack/repos/builtin/packages/amrvis/package.py b/var/spack/repos/builtin/packages/amrvis/package.py index e44af96aac4..a71ee642f6e 100644 --- a/var/spack/repos/builtin/packages/amrvis/package.py +++ b/var/spack/repos/builtin/packages/amrvis/package.py @@ -143,7 +143,7 @@ def edit(self, spec, prefix): with open("GNUmakefile", "w") as file: file.writelines(contents) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # We don't want an AMREX_HOME the user may have set already env.unset("AMREX_HOME") # Help force Amrvis to not pick up random system compilers diff --git a/var/spack/repos/builtin/packages/anaconda3/package.py b/var/spack/repos/builtin/packages/anaconda3/package.py index 06cdd527f8f..f3af10fe7fd 100644 --- a/var/spack/repos/builtin/packages/anaconda3/package.py +++ b/var/spack/repos/builtin/packages/anaconda3/package.py @@ -220,6 +220,6 @@ def install(self, spec, prefix): bash = which("bash") bash(anaconda_script, "-b", "-f", "-p", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: filename = self.prefix.etc.join("profile.d").join("conda.sh") env.extend(EnvironmentModifications.from_sourcing_file(filename)) diff --git a/var/spack/repos/builtin/packages/angsd/package.py b/var/spack/repos/builtin/packages/angsd/package.py index 99139c2408a..0edd95359b3 100644 --- a/var/spack/repos/builtin/packages/angsd/package.py +++ b/var/spack/repos/builtin/packages/angsd/package.py @@ -35,7 +35,7 @@ class Angsd(MakefilePackage): depends_on("r", type="run", when="+r") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("R_LIBS", self.prefix.R) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py index 45e976bbd7d..3b77bd08146 100644 --- a/var/spack/repos/builtin/packages/antlr/package.py +++ b/var/spack/repos/builtin/packages/antlr/package.py @@ -33,7 +33,7 @@ class Antlr(AutotoolsPackage): extends("python", when="+python") depends_on("java", type=("build", "run"), when="+java") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+pic"): env.set("CXXFLAGS", "-fPIC") diff --git a/var/spack/repos/builtin/packages/antlr4-complete/package.py b/var/spack/repos/builtin/packages/antlr4-complete/package.py index 3e2bc105087..70b69bef86f 100644 --- a/var/spack/repos/builtin/packages/antlr4-complete/package.py +++ b/var/spack/repos/builtin/packages/antlr4-complete/package.py @@ -56,7 +56,7 @@ def install(self, spec, prefix): rename(glob.glob("antlr-*-complete.jar")[0], "antlr-complete.jar") install("antlr-complete.jar", prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ANTLR4_JAR_LOCATION", join_path(self.prefix.bin, "antlr-complete.jar")) env.set("ANTLR_JAR_LOCATION", join_path(self.prefix.bin, "antlr-complete.jar")) env.set("ANTLR_EXECUTABLE", join_path(self.prefix.bin, "antlr-complete.jar")) diff --git a/var/spack/repos/builtin/packages/ants/package.py b/var/spack/repos/builtin/packages/ants/package.py index c2c8ff322a3..25159e4f222 100644 --- a/var/spack/repos/builtin/packages/ants/package.py +++ b/var/spack/repos/builtin/packages/ants/package.py @@ -42,5 +42,5 @@ def install(self, spec, prefix): make("install") install_tree("Scripts", prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ANTSPATH", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/aocl-da/package.py b/var/spack/repos/builtin/packages/aocl-da/package.py index 9ebaab2f76c..edc6f956771 100644 --- a/var/spack/repos/builtin/packages/aocl-da/package.py +++ b/var/spack/repos/builtin/packages/aocl-da/package.py @@ -86,13 +86,13 @@ class AoclDa(CMakePackage): depends_on("py-pytest", type="test") depends_on("py-scikit-learn", type=("test", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%aocc"): cc = self.compiler.cc compiler_install_dir = os.path.dirname(os.path.dirname(cc)) env.append_path("LD_LIBRARY_PATH", join_path(compiler_install_dir, "lib")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", join_path(self.prefix, "python_package")) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/aotriton/package.py b/var/spack/repos/builtin/packages/aotriton/package.py index ce8a53b48c2..0b700f200f5 100644 --- a/var/spack/repos/builtin/packages/aotriton/package.py +++ b/var/spack/repos/builtin/packages/aotriton/package.py @@ -55,7 +55,7 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set environment variables used to control the build""" if self.spec.satisfies("%clang"): env.set("TRITON_HIP_LLD_PATH", self.spec["llvm-amdgpu"].prefix / bin / ld.lld) diff --git a/var/spack/repos/builtin/packages/apktool/package.py b/var/spack/repos/builtin/packages/apktool/package.py index a1e89400785..c51d48c94d7 100644 --- a/var/spack/repos/builtin/packages/apktool/package.py +++ b/var/spack/repos/builtin/packages/apktool/package.py @@ -20,7 +20,7 @@ class Apktool(Package): depends_on("java@8:", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LC_ALL", "en_US.UTF-8") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/apple-gl/package.py b/var/spack/repos/builtin/packages/apple-gl/package.py index 1da7fcd7233..8040b619a94 100644 --- a/var/spack/repos/builtin/packages/apple-gl/package.py +++ b/var/spack/repos/builtin/packages/apple-gl/package.py @@ -9,7 +9,9 @@ class AppleGlBase(BundlePackage): maintainers("aphecetche") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # we try to setup a build environment with enough hints # for the build system to pick up on the Apple framework version # of OpenGL. diff --git a/var/spack/repos/builtin/packages/aqlprofile/package.py b/var/spack/repos/builtin/packages/aqlprofile/package.py index e7dc8d568ed..589b9732a03 100644 --- a/var/spack/repos/builtin/packages/aqlprofile/package.py +++ b/var/spack/repos/builtin/packages/aqlprofile/package.py @@ -322,7 +322,7 @@ def install(self, spec, prefix): install_tree(f"opt/rocm-{spec.version}/share/", prefix.share) install_tree(f"opt/rocm-{spec.version}/lib/", prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) # This package is installed from binaries, and we haven't patched rpaths. diff --git a/var/spack/repos/builtin/packages/arm-forge/package.py b/var/spack/repos/builtin/packages/arm-forge/package.py index c325bd76beb..60b00daf7ea 100644 --- a/var/spack/repos/builtin/packages/arm-forge/package.py +++ b/var/spack/repos/builtin/packages/arm-forge/package.py @@ -205,7 +205,7 @@ def install(self, spec, prefix): probe = join_path(prefix, "bin", "forge-probe") subprocess.call([probe, "--install", "global"]) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Only PATH is needed for Forge. # Adding lib to LD_LIBRARY_PATH can cause conflicts with Forge's internal libs. env.clear() diff --git a/var/spack/repos/builtin/packages/armcimpi/package.py b/var/spack/repos/builtin/packages/armcimpi/package.py index fdd3cb1496b..8c5fb2b8420 100644 --- a/var/spack/repos/builtin/packages/armcimpi/package.py +++ b/var/spack/repos/builtin/packages/armcimpi/package.py @@ -46,5 +46,7 @@ def configure_args(self): args.extend(self.with_or_without("progress")) return args - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("ARMCIMPI_DIR", self.prefix) diff --git a/var/spack/repos/builtin/packages/armcomputelibrary/package.py b/var/spack/repos/builtin/packages/armcomputelibrary/package.py index 1cdc8404a68..f2f7169ed66 100644 --- a/var/spack/repos/builtin/packages/armcomputelibrary/package.py +++ b/var/spack/repos/builtin/packages/armcomputelibrary/package.py @@ -121,7 +121,7 @@ def build_args(self, spec, prefix): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Spack compiler wrapper inject -mcpu flag for some targets. # This can conflict with -march set in scons script, so override it here. env.set("SPACK_TARGET_ARGS", "") diff --git a/var/spack/repos/builtin/packages/armpl-gcc/package.py b/var/spack/repos/builtin/packages/armpl-gcc/package.py index 77cf566d72a..bef185ce28f 100644 --- a/var/spack/repos/builtin/packages/armpl-gcc/package.py +++ b/var/spack/repos/builtin/packages/armpl-gcc/package.py @@ -495,7 +495,7 @@ def headers(self): hlist.directories = [incdir] return hlist - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: armpl_dir = get_armpl_prefix(self.spec) if self.spec.platform == "darwin": env.prepend_path("DYLD_LIBRARY_PATH", join_path(armpl_dir, "lib")) @@ -526,7 +526,9 @@ def make_pkgconfig_files(self): for f in find(join_path(armpl_dir, "pkgconfig"), "*"): symlink(f, f + ".pc") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: armpl_dir = get_armpl_prefix(self.spec) if self.spec.satisfies("@:22"): # pkgconfig directory is not in standard ("lib", "lib64", "share") location diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py index 47120520964..71350a0e6b7 100644 --- a/var/spack/repos/builtin/packages/arpack-ng/package.py +++ b/var/spack/repos/builtin/packages/arpack-ng/package.py @@ -149,7 +149,7 @@ def configure_args(self): return options @when("@:3.7.0 %gcc@10:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # version up to and including 3.7.0 are not ported to gcc 10 # https://github.com/opencollab/arpack-ng/issues/242 env.set("FFLAGS", "-fallow-argument-mismatch") diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py index 2edfee726ac..4e0589f6c02 100644 --- a/var/spack/repos/builtin/packages/ascent/package.py +++ b/var/spack/repos/builtin/packages/ascent/package.py @@ -350,7 +350,7 @@ def patch(self): $<$,$>:-std=c++17>)""" ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CTEST_OUTPUT_ON_FAILURE", "1") #################################################################### diff --git a/var/spack/repos/builtin/packages/aspect/package.py b/var/spack/repos/builtin/packages/aspect/package.py index 9f271669c3c..364e1084bec 100644 --- a/var/spack/repos/builtin/packages/aspect/package.py +++ b/var/spack/repos/builtin/packages/aspect/package.py @@ -49,5 +49,5 @@ class Aspect(CMakePackage): def cmake_args(self): return [self.define_from_variant("ASPECT_USE_FP_EXCEPTIONS", "fpe")] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("Aspect_DIR", self.prefix) diff --git a/var/spack/repos/builtin/packages/aspell/package.py b/var/spack/repos/builtin/packages/aspell/package.py index a026296ecf5..ee4759bffff 100644 --- a/var/spack/repos/builtin/packages/aspell/package.py +++ b/var/spack/repos/builtin/packages/aspell/package.py @@ -33,5 +33,5 @@ def make_missing_files(self): make("gen/dirs.h") make("gen/static_filters.src.cpp") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ASPELL_CONF", f"prefix {self.prefix}") diff --git a/var/spack/repos/builtin/packages/aspera-cli/package.py b/var/spack/repos/builtin/packages/aspera-cli/package.py index deb31d85ca2..af8eda52f90 100644 --- a/var/spack/repos/builtin/packages/aspera-cli/package.py +++ b/var/spack/repos/builtin/packages/aspera-cli/package.py @@ -20,7 +20,7 @@ class AsperaCli(Package): expand=False, ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.cli.bin) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/astral/package.py b/var/spack/repos/builtin/packages/astral/package.py index 789ab126cab..1500b5a3351 100644 --- a/var/spack/repos/builtin/packages/astral/package.py +++ b/var/spack/repos/builtin/packages/astral/package.py @@ -46,5 +46,5 @@ def install(self, spec, prefix): filter_file("^java", java, script, **kwargs) filter_file("astral.jar", join_path(prefix.tools, jar_file), script, **kwargs) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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 204140c055a..5d688374b55 100644 --- a/var/spack/repos/builtin/packages/at-spi2-core/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-core/package.py @@ -56,15 +56,19 @@ def url_for_version(self, version): url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-core" return url + f"/{version.up_to(2)}/at-spi2-core-{version}.tar.xz" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # this avoids an "import site" error in the build env.unset("PYTHONHOME") diff --git a/var/spack/repos/builtin/packages/athena/package.py b/var/spack/repos/builtin/packages/athena/package.py index e7879274c49..914107b074c 100644 --- a/var/spack/repos/builtin/packages/athena/package.py +++ b/var/spack/repos/builtin/packages/athena/package.py @@ -179,7 +179,7 @@ class Athena(AutotoolsPackage): patch("missing-separator.patch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("OPT", "-O3") diff --git a/var/spack/repos/builtin/packages/atk/package.py b/var/spack/repos/builtin/packages/atk/package.py index faeafadbf8e..79137621444 100644 --- a/var/spack/repos/builtin/packages/atk/package.py +++ b/var/spack/repos/builtin/packages/atk/package.py @@ -39,10 +39,12 @@ def url_for_version(self, version): f"{version.up_to(2)}/atk-{version}.tar.xz" ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) diff --git a/var/spack/repos/builtin/packages/atop/package.py b/var/spack/repos/builtin/packages/atop/package.py index 46502959fa1..be74988bf0f 100644 --- a/var/spack/repos/builtin/packages/atop/package.py +++ b/var/spack/repos/builtin/packages/atop/package.py @@ -25,7 +25,7 @@ class Atop(Package): depends_on("ncurses") depends_on("gmake", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("LDFLAGS", "-ltinfo") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/augustus/package.py b/var/spack/repos/builtin/packages/augustus/package.py index 6eba45c88c9..4b863369a95 100644 --- a/var/spack/repos/builtin/packages/augustus/package.py +++ b/var/spack/repos/builtin/packages/augustus/package.py @@ -173,7 +173,7 @@ def filter_sbang(self): files = glob.glob("*.py") filter_file(pattern, repl, *files, backup=False) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: htslib = self.spec["htslib"].prefix bamtools = self.spec["bamtools"].prefix @@ -184,6 +184,6 @@ def setup_build_environment(self, env): env.set("HTSLIB_INSTALL_DIR", htslib) env.set("BAMTOOLS_INSTALL_DIR", bamtools) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("AUGUSTUS_CONFIG_PATH", join_path(self.prefix, "config")) env.prepend_path("PATH", join_path(self.prefix, "scripts")) diff --git a/var/spack/repos/builtin/packages/authd/package.py b/var/spack/repos/builtin/packages/authd/package.py index 0f52ad1a548..38649f73869 100644 --- a/var/spack/repos/builtin/packages/authd/package.py +++ b/var/spack/repos/builtin/packages/authd/package.py @@ -19,7 +19,7 @@ class Authd(MakefilePackage): depends_on("c", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/autoconf-archive/package.py b/var/spack/repos/builtin/packages/autoconf-archive/package.py index d74e4cd973a..983e227da18 100644 --- a/var/spack/repos/builtin/packages/autoconf-archive/package.py +++ b/var/spack/repos/builtin/packages/autoconf-archive/package.py @@ -34,6 +34,8 @@ class AutoconfArchive(AutotoolsPackage, GNUMirrorPackage): # The package does not produce any libraries and does not use libtool: patch_libtool = False - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Adds the ACLOCAL path for autotools.""" env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal) diff --git a/var/spack/repos/builtin/packages/autofact/package.py b/var/spack/repos/builtin/packages/autofact/package.py index e3c427e44a6..0c1c860538a 100644 --- a/var/spack/repos/builtin/packages/autofact/package.py +++ b/var/spack/repos/builtin/packages/autofact/package.py @@ -31,6 +31,6 @@ def patch(self): def install(self, spec, prefix): install_tree(self.stage.source_path, prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.scripts) env.set("PATH2AUTOFACT", self.prefix) diff --git a/var/spack/repos/builtin/packages/avizo/package.py b/var/spack/repos/builtin/packages/avizo/package.py index 06381bcacb2..1413cb3dc8a 100644 --- a/var/spack/repos/builtin/packages/avizo/package.py +++ b/var/spack/repos/builtin/packages/avizo/package.py @@ -62,7 +62,7 @@ class Avizo(Package): license_files = ["share/license/password.dat"] license_vars = ["MCSLMD_LICENSE_FILE"] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MCSLMD_LICENSE_FILE", join_path(self.prefix.share.license, "password.dat")) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py b/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py index 1c2dcbefbe5..0cf2e86fccc 100644 --- a/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py +++ b/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py @@ -55,11 +55,13 @@ def url_for_version(self, version): return url_fmt.format(version) # To enable this plug-in to work with NCCL add it to the LD_LIBRARY_PATH - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path("LD_LIBRARY_PATH", self.prefix.lib) # To enable this plug-in to work with NCCL add it to the LD_LIBRARY_PATH - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.append_path("LD_LIBRARY_PATH", self.prefix.lib) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py b/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py index f91e02a7e5e..a74726b443c 100644 --- a/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py +++ b/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py @@ -36,11 +36,13 @@ class AwsOfiRccl(AutotoolsPackage): depends_on("libtool", type="build") # To enable this plug-in to work with RCCL add it to the LD_LIBRARY_PATH - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) # To enable this plug-in to work with RCCL add it to the LD_LIBRARY_PATH - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/babelflow/package.py b/var/spack/repos/builtin/packages/babelflow/package.py index 25c0d53ba24..c5aef384b17 100644 --- a/var/spack/repos/builtin/packages/babelflow/package.py +++ b/var/spack/repos/builtin/packages/babelflow/package.py @@ -30,7 +30,7 @@ class Babelflow(CMakePackage): # Fix missing implicit includes @when("%gcc@7:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", "-include limits") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/babelstream/package.py b/var/spack/repos/builtin/packages/babelstream/package.py index d6aa03032da..09a96ebf1f7 100644 --- a/var/spack/repos/builtin/packages/babelstream/package.py +++ b/var/spack/repos/builtin/packages/babelstream/package.py @@ -831,7 +831,7 @@ def edit(self, pkg, spec, prefix): for key in config: inc.write("{0} = {1}\n".format(key, config[key])) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: ###################################### # Build and Installation Directories # ###################################### diff --git a/var/spack/repos/builtin/packages/babl/package.py b/var/spack/repos/builtin/packages/babl/package.py index ca2a45a8505..d19cf4eb06f 100644 --- a/var/spack/repos/builtin/packages/babl/package.py +++ b/var/spack/repos/builtin/packages/babl/package.py @@ -36,8 +36,12 @@ class Babl(MesonPackage): depends_on("lcms") depends_on("gobject-introspection") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/backupninja/package.py b/var/spack/repos/builtin/packages/backupninja/package.py index 461f5f4ebd0..fc172d1716b 100644 --- a/var/spack/repos/builtin/packages/backupninja/package.py +++ b/var/spack/repos/builtin/packages/backupninja/package.py @@ -22,5 +22,5 @@ class Backupninja(AutotoolsPackage): depends_on("bash", type="build") depends_on("gawk", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/bam-readcount/package.py b/var/spack/repos/builtin/packages/bam-readcount/package.py index cb3246d3f86..d8924c944fa 100644 --- a/var/spack/repos/builtin/packages/bam-readcount/package.py +++ b/var/spack/repos/builtin/packages/bam-readcount/package.py @@ -19,5 +19,5 @@ class BamReadcount(CMakePackage): depends_on("c", type="build") depends_on("cxx", type="build") # generated - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CFLAGS", self.compiler.cc_pic_flag) diff --git a/var/spack/repos/builtin/packages/bamaddrg/package.py b/var/spack/repos/builtin/packages/bamaddrg/package.py index 80a4faeeef1..e3a2cd1d870 100644 --- a/var/spack/repos/builtin/packages/bamaddrg/package.py +++ b/var/spack/repos/builtin/packages/bamaddrg/package.py @@ -19,6 +19,6 @@ class Bamaddrg(MakefilePackage): depends_on("bamtools", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BAMTOOLS_ROOT", self.spec["bamtools"].prefix) env.set("PREFIX", self.prefix) diff --git a/var/spack/repos/builtin/packages/bart/package.py b/var/spack/repos/builtin/packages/bart/package.py index d4d87205f70..c2fc44d1231 100644 --- a/var/spack/repos/builtin/packages/bart/package.py +++ b/var/spack/repos/builtin/packages/bart/package.py @@ -85,5 +85,5 @@ def install(self, spec, prefix): install("python/bartview.py", join_path(prefix.bin, "bartview")) filter_file(r"#!/usr/bin/python", "#!/usr/bin/env python", prefix.bin.bartview) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("TOOLBOX_PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/barvinok/package.py b/var/spack/repos/builtin/packages/barvinok/package.py index 3374547a06d..dee7e7119fa 100644 --- a/var/spack/repos/builtin/packages/barvinok/package.py +++ b/var/spack/repos/builtin/packages/barvinok/package.py @@ -25,7 +25,7 @@ class Barvinok(AutotoolsPackage): depends_on("llvm +clang", when="+pet") depends_on("libyaml", when="+pet") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CFLAGS", "-pthread") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/bazel/package.py b/var/spack/repos/builtin/packages/bazel/package.py index bdb980cc63b..6b71b38fb19 100644 --- a/var/spack/repos/builtin/packages/bazel/package.py +++ b/var/spack/repos/builtin/packages/bazel/package.py @@ -256,7 +256,7 @@ def determine_version(cls, exe): match = re.search(r"Build label: ([\d.]+)", output) return match.group(1) if match else None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # fix the broken linking (on power9) # https://github.com/bazelbuild/bazel/issues/10327 env.set("BAZEL_LINKOPTS", "") diff --git a/var/spack/repos/builtin/packages/bbmap/package.py b/var/spack/repos/builtin/packages/bbmap/package.py index 624aa7e8419..c1f9ab6fdac 100644 --- a/var/spack/repos/builtin/packages/bbmap/package.py +++ b/var/spack/repos/builtin/packages/bbmap/package.py @@ -25,6 +25,6 @@ class Bbmap(Package, SourceforgePackage): def install(self, spec, prefix): install_tree(".", prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("BBMAP_CONFIG", self.prefix.bin.config) env.set("BBMAP_RESOURCES", self.prefix.bin.resources) diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py index d3f0d393b71..4a006a4416f 100644 --- a/var/spack/repos/builtin/packages/bcftools/package.py +++ b/var/spack/repos/builtin/packages/bcftools/package.py @@ -133,5 +133,5 @@ def install(self, spec, prefix): install("plugins/*.so", self.prefix.libexec.bcftools) @when("@1.2") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("BCFTOOLS_PLUGINS", self.prefix.libexec.bcftools) diff --git a/var/spack/repos/builtin/packages/beast1/package.py b/var/spack/repos/builtin/packages/beast1/package.py index a132896332c..43b30a463d8 100644 --- a/var/spack/repos/builtin/packages/beast1/package.py +++ b/var/spack/repos/builtin/packages/beast1/package.py @@ -25,7 +25,7 @@ def url_for_version(self, ver): base = "https://github.com/beast-dev/beast-mcmc/releases/download" return "{0}/v{1}/BEASTv{1}.tgz".format(base, ver.dotted) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("BEAST1", self.prefix) env.set("BEAST_LIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/beast2/package.py b/var/spack/repos/builtin/packages/beast2/package.py index 5560b5a057e..4ec7a167452 100644 --- a/var/spack/repos/builtin/packages/beast2/package.py +++ b/var/spack/repos/builtin/packages/beast2/package.py @@ -49,7 +49,7 @@ def patch(self): r"(beast\.pkgmgmt.*\b)|(viz.*\b)", "{0} {1} \\1".format(javafx, modules), i ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("BEAST", self.prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/biopieces/package.py b/var/spack/repos/builtin/packages/biopieces/package.py index c4f1e17f794..3f8e4242150 100644 --- a/var/spack/repos/builtin/packages/biopieces/package.py +++ b/var/spack/repos/builtin/packages/biopieces/package.py @@ -63,7 +63,7 @@ class Biopieces(Package): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Note: user will need to set environment variables on their own, # dependent on where they will want data to be located: # BP_DATA - Contains genomic data etc. diff --git a/var/spack/repos/builtin/packages/blackhat/package.py b/var/spack/repos/builtin/packages/blackhat/package.py index ee7a4aac80a..7228dab768a 100644 --- a/var/spack/repos/builtin/packages/blackhat/package.py +++ b/var/spack/repos/builtin/packages/blackhat/package.py @@ -30,5 +30,5 @@ def patch(self): def configure_args(self): return ["--with-QDpath=" + self.spec["qd"].prefix, "--enable-pythoninterface=no"] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", "-Wno-deprecated") diff --git a/var/spack/repos/builtin/packages/blat/package.py b/var/spack/repos/builtin/packages/blat/package.py index 1bc10b4a091..30acecfdd49 100644 --- a/var/spack/repos/builtin/packages/blat/package.py +++ b/var/spack/repos/builtin/packages/blat/package.py @@ -32,7 +32,7 @@ def flag_handler(self, name, flags): flags.append("-fcommon") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MACHTYPE", "x86_64") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/bml/package.py b/var/spack/repos/builtin/packages/bml/package.py index 5c234fb8439..861335b536d 100644 --- a/var/spack/repos/builtin/packages/bml/package.py +++ b/var/spack/repos/builtin/packages/bml/package.py @@ -55,7 +55,7 @@ class Bml(CMakePackage): ) depends_on("cuda", when="+cusolver") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+magma" in self.spec: env.set("MAGMA_ROOT", self.spec["magma"].prefix) diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py index 834060e5b20..6a5793a38bd 100644 --- a/var/spack/repos/builtin/packages/bohrium/package.py +++ b/var/spack/repos/builtin/packages/bohrium/package.py @@ -199,7 +199,7 @@ def cmake_args(self): # # Environment setup # - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Bohrium needs an extra include dir apart from # the self.prefix.include dir env.prepend_path("CPATH", self.prefix.include.bohrium) diff --git a/var/spack/repos/builtin/packages/bonniepp/package.py b/var/spack/repos/builtin/packages/bonniepp/package.py index 405aaaece44..b3e1e28804e 100644 --- a/var/spack/repos/builtin/packages/bonniepp/package.py +++ b/var/spack/repos/builtin/packages/bonniepp/package.py @@ -21,6 +21,6 @@ def configure_args(self): configure_args.append("--enable-debug") return configure_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Prepend the sbin directory to PATH.""" env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 41bcd02458c..d673899eece 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -831,10 +831,12 @@ def is_64bit(): if (sys.platform == "darwin") and ("+shared" in spec): fix_darwin_install_name(prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("BOOST_ROOT", self.prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if "+context" in self.spec and "context-impl" in self.spec.variants: context_impl = self.spec.variants["context-impl"].value # fcontext, as the default, has no corresponding macro diff --git a/var/spack/repos/builtin/packages/braker/package.py b/var/spack/repos/builtin/packages/braker/package.py index 2245b55f876..012484ec6b9 100644 --- a/var/spack/repos/builtin/packages/braker/package.py +++ b/var/spack/repos/builtin/packages/braker/package.py @@ -64,5 +64,5 @@ def filter_sbang(self): files = glob.iglob("*.pl") filter_file(pattern, repl, *files, backup=False) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PERL5LIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/breakdancer/package.py b/var/spack/repos/builtin/packages/breakdancer/package.py index cccf69c740a..e14f128e818 100644 --- a/var/spack/repos/builtin/packages/breakdancer/package.py +++ b/var/spack/repos/builtin/packages/breakdancer/package.py @@ -44,7 +44,7 @@ class Breakdancer(CMakePackage): parallel = False - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # get the perl tools in the path env.prepend_path("PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/breseq/package.py b/var/spack/repos/builtin/packages/breseq/package.py index 209ffbf1f06..35919a0fefb 100644 --- a/var/spack/repos/builtin/packages/breseq/package.py +++ b/var/spack/repos/builtin/packages/breseq/package.py @@ -35,6 +35,6 @@ class Breseq(AutotoolsPackage): conflicts("%gcc@:4.8") conflicts("%clang@:3.3") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LDFLAGS", "-L{0}".format(self.spec["zlib-api"].prefix.lib)) env.set("CFLAGS", "-I{0}".format(self.spec["zlib-api"].prefix.include)) diff --git a/var/spack/repos/builtin/packages/bufr/package.py b/var/spack/repos/builtin/packages/bufr/package.py index 9fb596e9f10..85fbd973891 100644 --- a/var/spack/repos/builtin/packages/bufr/package.py +++ b/var/spack/repos/builtin/packages/bufr/package.py @@ -137,7 +137,7 @@ def _setup_bufr_environment(self, env, suffix): pydir = join_path(os.path.dirname(lib[0]), f"python{pyver}", "site-packages") env.prepend_path("PYTHONPATH", pydir) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: suffixes = ["4"] if not self.spec.satisfies("@12:"): suffixes += ["8", "d"] @@ -145,7 +145,7 @@ def setup_run_environment(self, env): self._setup_bufr_environment(env, suffix) @on_package_attributes(run_tests=True) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_path("LD_LIBRARY_PATH", join_path(self.build_directory, "src")) def check(self): diff --git a/var/spack/repos/builtin/packages/cachefilesd/package.py b/var/spack/repos/builtin/packages/cachefilesd/package.py index 1d1e46c0e2e..09ab9322bb8 100644 --- a/var/spack/repos/builtin/packages/cachefilesd/package.py +++ b/var/spack/repos/builtin/packages/cachefilesd/package.py @@ -29,5 +29,5 @@ def edit(self, spec, prefix): def install(self, spec, prefix): make("DESTDIR={0}".format(prefix), "install") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py index d133d62247f..ab829f6f614 100644 --- a/var/spack/repos/builtin/packages/caliper/package.py +++ b/var/spack/repos/builtin/packages/caliper/package.py @@ -263,7 +263,7 @@ def initconfig_package_entries(self): def cmake_args(self): return [] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+python"): env.prepend_path("PYTHONPATH", self.spec.prefix.join(python_platlib)) env.prepend_path("PYTHONPATH", self.spec.prefix.join(python_purelib)) diff --git a/var/spack/repos/builtin/packages/casper/package.py b/var/spack/repos/builtin/packages/casper/package.py index cbac62cf2f8..f1ffb694e6d 100644 --- a/var/spack/repos/builtin/packages/casper/package.py +++ b/var/spack/repos/builtin/packages/casper/package.py @@ -38,5 +38,5 @@ def flag_handler(self, name, flags): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/cbench/package.py b/var/spack/repos/builtin/packages/cbench/package.py index 872408cf0e3..19d72697602 100644 --- a/var/spack/repos/builtin/packages/cbench/package.py +++ b/var/spack/repos/builtin/packages/cbench/package.py @@ -35,7 +35,7 @@ class Cbench(MakefilePackage): conflicts("%xl") conflicts("%xl_r") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # The location of the Cbench source tree env.set("CBENCHOME", self.stage.source_path) diff --git a/var/spack/repos/builtin/packages/cbflib/package.py b/var/spack/repos/builtin/packages/cbflib/package.py index e3f0169d528..6c36416deaa 100644 --- a/var/spack/repos/builtin/packages/cbflib/package.py +++ b/var/spack/repos/builtin/packages/cbflib/package.py @@ -30,7 +30,7 @@ class Cbflib(MakefilePackage): patch("cbf_f16.patch") patch("cbf_int.patch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: ce = Executable(self.compiler.cc) ce( "-E", diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py index 1fe117f2b10..e5eb6024b7c 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py @@ -62,7 +62,7 @@ class CbtfArgonavisGui(QMakePackage): parallel = False - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set up the build environment for this package.""" env.set("BOOSTROOT", self.spec["boost"].prefix) env.set("CBTF_ROOT", self.spec["cbtf"].prefix) @@ -75,7 +75,7 @@ def setup_build_environment(self, env): env.set("KRELL_ROOT_XERCES", self.spec["xerces-c"].prefix) env.set("INSTALL_ROOT", self.spec.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set up the runtime environment for this package.""" # The implementor of qtgraph has set up the library and include diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py index 2057335cf9c..b5b3e64a79a 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py @@ -119,12 +119,12 @@ def cmake_args(self): return cmake_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set up the compile and runtime environments for a package.""" env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].prefix + "/extras/CUPTI/lib64") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set up the compile and runtime environments for a package.""" env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].prefix + "/extras/CUPTI/lib64") diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py index 93140098aa8..aa9e001c046 100644 --- a/var/spack/repos/builtin/packages/cbtf-krell/package.py +++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py @@ -225,7 +225,7 @@ def cmake_args(self): return cmake_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set up the compile and runtime environments for a package.""" # Environment settings for cbtf-krell, bin is automatically diff --git a/var/spack/repos/builtin/packages/cdhit/package.py b/var/spack/repos/builtin/packages/cdhit/package.py index b41b12c5208..5b5110ca80d 100644 --- a/var/spack/repos/builtin/packages/cdhit/package.py +++ b/var/spack/repos/builtin/packages/cdhit/package.py @@ -43,5 +43,5 @@ def build(self, spec, prefix): make_args.append("zlib=no") make(*make_args) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py index 1960dd6f49d..d11d321739c 100644 --- a/var/spack/repos/builtin/packages/cgal/package.py +++ b/var/spack/repos/builtin/packages/cgal/package.py @@ -143,7 +143,7 @@ def url_for_version(self, version): return url.format(version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("BOOST_INCLUDEDIR", spec["boost"].headers.directories[0]) diff --git a/var/spack/repos/builtin/packages/changa/package.py b/var/spack/repos/builtin/packages/changa/package.py index c36de02f1d0..92b54a05453 100644 --- a/var/spack/repos/builtin/packages/changa/package.py +++ b/var/spack/repos/builtin/packages/changa/package.py @@ -52,7 +52,7 @@ class Changa(AutotoolsPackage, CudaPackage): parallel = False - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CHARM_DIR", self.spec["charmpp"].prefix) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/chapel/package.py b/var/spack/repos/builtin/packages/chapel/package.py index ab098df9f59..0592547faef 100644 --- a/var/spack/repos/builtin/packages/chapel/package.py +++ b/var/spack/repos/builtin/packages/chapel/package.py @@ -749,11 +749,11 @@ def setup_env_vars(self, env): self.update_lib_path(env, self.spec["hsa-rocr-dev"].prefix) self.setup_chpl_comm(env, self.spec) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: self.unset_chpl_env_vars(env) self.setup_env_vars(env) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.setup_env_vars(env) chpl_home = join_path(self.prefix.share, "chapel", self._output_version_short) env.prepend_path("PATH", join_path(chpl_home, "util")) diff --git a/var/spack/repos/builtin/packages/charmpp/package.py b/var/spack/repos/builtin/packages/charmpp/package.py index 705063d82f9..b382bde6b04 100644 --- a/var/spack/repos/builtin/packages/charmpp/package.py +++ b/var/spack/repos/builtin/packages/charmpp/package.py @@ -423,7 +423,9 @@ def check_build(self): parallel=False, ) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if not self.spec.satisfies("backend=mpi"): env.set("MPICC", self.prefix.bin.ampicc) env.set("MPICXX", self.prefix.bin.ampicxx) diff --git a/var/spack/repos/builtin/packages/chez-scheme/package.py b/var/spack/repos/builtin/packages/chez-scheme/package.py index 11adcfab0e6..b551cf8e515 100644 --- a/var/spack/repos/builtin/packages/chez-scheme/package.py +++ b/var/spack/repos/builtin/packages/chez-scheme/package.py @@ -41,8 +41,8 @@ class ChezScheme(AutotoolsPackage): conflicts("+iconv", when="platform=windows") conflicts("+curses", when="platform=windows") - def setup_build_environment(self, env): - env.set("ZUO_JOBS", make_jobs) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("ZUO_JOBS", str(make_jobs)) def patch(self): true = which_string("true", required=True) diff --git a/var/spack/repos/builtin/packages/chlorop/package.py b/var/spack/repos/builtin/packages/chlorop/package.py index 633308d60ee..cb7abebbefb 100644 --- a/var/spack/repos/builtin/packages/chlorop/package.py +++ b/var/spack/repos/builtin/packages/chlorop/package.py @@ -30,5 +30,5 @@ def install(self, spec, prefix): os.rename("chlorop", "bin/chlorop") install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CHLOROP", self.prefix) diff --git a/var/spack/repos/builtin/packages/chrony/package.py b/var/spack/repos/builtin/packages/chrony/package.py index d016e9b5287..b493734802c 100644 --- a/var/spack/repos/builtin/packages/chrony/package.py +++ b/var/spack/repos/builtin/packages/chrony/package.py @@ -26,5 +26,5 @@ class Chrony(AutotoolsPackage): depends_on("ruby-asciidoctor") depends_on("bison", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/cinch/package.py b/var/spack/repos/builtin/packages/cinch/package.py index f2293968f11..dc438c40165 100644 --- a/var/spack/repos/builtin/packages/cinch/package.py +++ b/var/spack/repos/builtin/packages/cinch/package.py @@ -24,6 +24,8 @@ def install(self, spec, prefix): # (CMake) Header Only library so just copy install_tree(self.stage.source_path, prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: 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 7b872301956..90242305487 100644 --- a/var/spack/repos/builtin/packages/citcoms/package.py +++ b/var/spack/repos/builtin/packages/citcoms/package.py @@ -41,7 +41,7 @@ class Citcoms(AutotoolsPackage): depends_on("cuda", when="+cuda") depends_on("hdf5+mpi", when="+hdf5") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+ggrd"): env.set("HC_HOME", self.spec["hc"].prefix) diff --git a/var/spack/repos/builtin/packages/clingo-bootstrap/package.py b/var/spack/repos/builtin/packages/clingo-bootstrap/package.py index 6e679e20ee9..e9c588fbd68 100644 --- a/var/spack/repos/builtin/packages/clingo-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/clingo-bootstrap/package.py @@ -134,7 +134,7 @@ def pgo_train(self): use_mods.append_flags("LDFLAGS", use_flag) cmake.add_default_envmod(use_mods) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if ( self.spec.satisfies("%gcc") or self.spec.satisfies("%clang") ) and "+static_libstdcpp" in self.spec: diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index 1d43f966d07..8a1890f4b77 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -355,7 +355,9 @@ def install(self, spec, prefix): filter_file("mpc++_r)", "mpc++_r mpiFCC)", f, string=True) filter_file("mpifc)", "mpifc mpifrt)", f, string=True) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # CMake 4.0.0 breaks compatibility with CMake projects requiring a CMake # < 3.5. However, many projects that specify a minimum requirement for # versions older than 3.5 are actually compatible with newer CMake diff --git a/var/spack/repos/builtin/packages/cmdstan/package.py b/var/spack/repos/builtin/packages/cmdstan/package.py index 9e6102c1a94..54c01714240 100644 --- a/var/spack/repos/builtin/packages/cmdstan/package.py +++ b/var/spack/repos/builtin/packages/cmdstan/package.py @@ -84,5 +84,5 @@ def install(self, spec, prefix): install("stanc", prefix.bin) install("stansummary", prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CMDSTAN", self.prefix) diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index fca124394f5..fb29081675c 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -139,7 +139,7 @@ def cmake_args(self): args.append(self.define_from_variant("ADDRESS_SANITIZER", "asan")) return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@5.7: +asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/compiler-wrapper/package.py b/var/spack/repos/builtin/packages/compiler-wrapper/package.py index e4a5e77abcd..7bc4d7a0251 100644 --- a/var/spack/repos/builtin/packages/compiler-wrapper/package.py +++ b/var/spack/repos/builtin/packages/compiler-wrapper/package.py @@ -141,7 +141,9 @@ def install(self, spec, prefix): (cray_dir / "crayCC").symlink_to(installed_script) (cray_dir / "CC").symlink_to(installed_script) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if sys.platform == "win32": return diff --git a/var/spack/repos/builtin/packages/composable-kernel/package.py b/var/spack/repos/builtin/packages/composable-kernel/package.py index 893dfa18886..f071f0e295f 100644 --- a/var/spack/repos/builtin/packages/composable-kernel/package.py +++ b/var/spack/repos/builtin/packages/composable-kernel/package.py @@ -91,7 +91,7 @@ class ComposableKernel(CMakePackage): # https://github.com/ROCm/composable_kernel/commit/959073842c0db839d45d565eb260fd018c996ce4 patch("0001-mark-kernels-maybe-unused.patch", when="@6.2") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/conda4aarch64/package.py b/var/spack/repos/builtin/packages/conda4aarch64/package.py index dc0f0e79c2d..ecb55006c8a 100644 --- a/var/spack/repos/builtin/packages/conda4aarch64/package.py +++ b/var/spack/repos/builtin/packages/conda4aarch64/package.py @@ -26,6 +26,6 @@ def install(self, spec, prefix): bash = which("bash") bash(conda_script, "-b", "-f", "-p", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: filename = self.prefix.etc.join("profile.d").join("conda.sh") env.extend(EnvironmentModifications.from_sourcing_file(filename)) diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py index 3029cecfa92..18d544dbd85 100644 --- a/var/spack/repos/builtin/packages/conduit/package.py +++ b/var/spack/repos/builtin/packages/conduit/package.py @@ -218,7 +218,7 @@ class Conduit(CMakePackage): sha256="784d74942a63acf698c31b39848b46b4b755bf06faa6aa6fb81be61783ec0c30", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CTEST_OUTPUT_ON_FAILURE", "1") # conduit uses a <=1.10 api version before 0.8 if "@:0.7 +hdf5" in self.spec and "@1.10:" in self.spec["hdf5"]: diff --git a/var/spack/repos/builtin/packages/conserver/package.py b/var/spack/repos/builtin/packages/conserver/package.py index b644af2d8fd..03bab5dfb8b 100644 --- a/var/spack/repos/builtin/packages/conserver/package.py +++ b/var/spack/repos/builtin/packages/conserver/package.py @@ -23,5 +23,5 @@ class Conserver(AutotoolsPackage): depends_on("c", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/corenlp/package.py b/var/spack/repos/builtin/packages/corenlp/package.py index 833a6ce240c..0f43520841f 100644 --- a/var/spack/repos/builtin/packages/corenlp/package.py +++ b/var/spack/repos/builtin/packages/corenlp/package.py @@ -65,8 +65,8 @@ def install(self, spec, prefix): kwargs = {"ignore_absent": False, "backup": False, "string": False} filter_file("^java", java, script, **kwargs) - def setup_run_environment(self, run_env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: class_paths = [] class_paths.extend(find(prefix.lib, "*.jar")) classpath = os.pathsep.join(class_paths) - run_env.prepend_path("CLASSPATH", classpath) + env.prepend_path("CLASSPATH", classpath) diff --git a/var/spack/repos/builtin/packages/cosign/package.py b/var/spack/repos/builtin/packages/cosign/package.py index 57f6883259c..c047d8a8f68 100644 --- a/var/spack/repos/builtin/packages/cosign/package.py +++ b/var/spack/repos/builtin/packages/cosign/package.py @@ -25,7 +25,7 @@ class Cosign(Package): depends_on("go", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Point GOPATH at the top of the staging dir for the build step. env.prepend_path("GOPATH", self.stage.path) diff --git a/var/spack/repos/builtin/packages/cosma/package.py b/var/spack/repos/builtin/packages/cosma/package.py index db5e8ef817a..c866a065958 100644 --- a/var/spack/repos/builtin/packages/cosma/package.py +++ b/var/spack/repos/builtin/packages/cosma/package.py @@ -81,7 +81,7 @@ class Cosma(CMakePackage): patch("fj-ssl2.patch", when="^fujitsu-ssl2") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cuda"): env.set("CUDA_PATH", self.spec["cuda"].prefix) diff --git a/var/spack/repos/builtin/packages/costa/package.py b/var/spack/repos/builtin/packages/costa/package.py index c9ce1f123d3..ad821aa2efe 100644 --- a/var/spack/repos/builtin/packages/costa/package.py +++ b/var/spack/repos/builtin/packages/costa/package.py @@ -50,7 +50,7 @@ def url_for_version(self, version): ) return "https://github.com/eth-cscs/COSTA/archive/refs/tags/v{0}.tar.gz".format(version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: return def costa_scalapack_cmake_arg(self): diff --git a/var/spack/repos/builtin/packages/cplex/package.py b/var/spack/repos/builtin/packages/cplex/package.py index 8d32543575a..9da64331607 100644 --- a/var/spack/repos/builtin/packages/cplex/package.py +++ b/var/spack/repos/builtin/packages/cplex/package.py @@ -52,7 +52,7 @@ def configure(self, spec, prefix): for key in config: input_file.write("{0}={1}\n".format(key, config[key])) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", join_path(self.prefix, "cplex/bin/x86-64_linux")) env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "cplex/bin/x86-64_linux")) env.prepend_path("MATLABPATH", join_path(self.prefix, "cplex/matlab/x86-64_linux")) diff --git a/var/spack/repos/builtin/packages/cppunit/package.py b/var/spack/repos/builtin/packages/cppunit/package.py index 905c9af06bb..4432407e192 100644 --- a/var/spack/repos/builtin/packages/cppunit/package.py +++ b/var/spack/repos/builtin/packages/cppunit/package.py @@ -47,7 +47,7 @@ class Cppunit(AutotoolsPackage): depends_on("automake", type="build", when="@master,1.15_20220904") depends_on("libtool", type="build", when="@master,1.15_20220904") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: cxxstd = self.spec.variants["cxxstd"].value cxxstdflag = ( "" if cxxstd == "default" else getattr(self.compiler, "cxx{0}_flag".format(cxxstd)) diff --git a/var/spack/repos/builtin/packages/cracklib/package.py b/var/spack/repos/builtin/packages/cracklib/package.py index 0fee6139b8e..ccb37a24d49 100644 --- a/var/spack/repos/builtin/packages/cracklib/package.py +++ b/var/spack/repos/builtin/packages/cracklib/package.py @@ -35,5 +35,5 @@ def autoreconf(self, spec, prefix): sh = which("sh") sh("./autogen.sh") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/cray-mpich/package.py b/var/spack/repos/builtin/packages/cray-mpich/package.py index 8be3e5ae2dd..a427df13967 100644 --- a/var/spack/repos/builtin/packages/cray-mpich/package.py +++ b/var/spack/repos/builtin/packages/cray-mpich/package.py @@ -74,7 +74,7 @@ def external_prefix(self): libdir = get_path_args_from_module_line(line)[0] return os.path.dirname(os.path.normpath(libdir)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+wrappers"): self.setup_mpi_wrapper_variables(env) return diff --git a/var/spack/repos/builtin/packages/cray-mvapich2/package.py b/var/spack/repos/builtin/packages/cray-mvapich2/package.py index 265e9ef5015..0a73a07d818 100644 --- a/var/spack/repos/builtin/packages/cray-mvapich2/package.py +++ b/var/spack/repos/builtin/packages/cray-mvapich2/package.py @@ -28,7 +28,7 @@ class CrayMvapich2(MpichEnvironmentModifications, Package): requires("platform=linux", msg="Cray MVAPICH2 is only available on Cray") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.has_virtual_dependency("c"): env.set("MPICC", self["c"].cc) diff --git a/var/spack/repos/builtin/packages/cronie/package.py b/var/spack/repos/builtin/packages/cronie/package.py index 9003ac64bb9..541894b2378 100644 --- a/var/spack/repos/builtin/packages/cronie/package.py +++ b/var/spack/repos/builtin/packages/cronie/package.py @@ -24,5 +24,5 @@ def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/crtm-fix/package.py b/var/spack/repos/builtin/packages/crtm-fix/package.py index 6a19bcc7b8f..95c517a60f1 100644 --- a/var/spack/repos/builtin/packages/crtm-fix/package.py +++ b/var/spack/repos/builtin/packages/crtm-fix/package.py @@ -88,5 +88,5 @@ def install(self, spec, prefix): for f in fix_files: install(f, self.prefix.fix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CRTM_FIX", self.prefix.fix) diff --git a/var/spack/repos/builtin/packages/cryptsetup/package.py b/var/spack/repos/builtin/packages/cryptsetup/package.py index 4652b9f394a..d7da4e81f59 100644 --- a/var/spack/repos/builtin/packages/cryptsetup/package.py +++ b/var/spack/repos/builtin/packages/cryptsetup/package.py @@ -58,10 +58,14 @@ def configure_args(self): ] return args - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Prepend the sbin directory to PATH.""" env.prepend_path("PATH", self.prefix.sbin) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Prepend the sbin directory to PATH.""" env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/cub/package.py b/var/spack/repos/builtin/packages/cub/package.py index 71d016b6fbb..8588bf474d8 100644 --- a/var/spack/repos/builtin/packages/cub/package.py +++ b/var/spack/repos/builtin/packages/cub/package.py @@ -41,7 +41,9 @@ class Cub(Package): version("1.7.1", sha256="50b8777b83093fdfdab429a61fccdbfbbb991b3bbc08385118e5ad58e8f62e1d") version("1.4.1", sha256="7c3784cf59f02d4a88099d6a11e357032bac9eac2b9c78aaec947d1270e21871") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("CUB_DIR", self.prefix.include.cub.cmake) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py index 3860a0f5eee..87929b4e14c 100644 --- a/var/spack/repos/builtin/packages/cuda/package.py +++ b/var/spack/repos/builtin/packages/cuda/package.py @@ -718,7 +718,7 @@ def determine_version(cls, exe): match = re.search(r"Cuda compilation tools, release .*?, V(\S+)", output) return match.group(1) if match else None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:8.0.61"): # Perl 5.26 removed current directory from module search path, # CUDA 9 has a fix for this, but CUDA 8 and lower don't. @@ -729,7 +729,9 @@ def setup_build_environment(self, env): env.set("LIBXML2HOME", libxml2_home) env.append_path("LD_LIBRARY_PATH", libxml2_home.lib) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if "cxx" in dependent_spec: env.set("CUDAHOSTCXX", dependent_spec["cxx"].package.cxx) env.set("CUDA_HOME", self.prefix) @@ -743,7 +745,7 @@ def cmake_prefix_paths(self): cmake_prefix_paths.append(cub_path) return cmake_prefix_paths - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CUDA_HOME", self.prefix) env.set("NVHPC_CUDA_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/cudnn/package.py b/var/spack/repos/builtin/packages/cudnn/package.py index 3b45c386ae4..b4049083426 100644 --- a/var/spack/repos/builtin/packages/cudnn/package.py +++ b/var/spack/repos/builtin/packages/cudnn/package.py @@ -424,7 +424,7 @@ def url_for_version(self, version): url = "https://developer.download.nvidia.com/compute/redist/cudnn/v{0}/cudnn-{1}-{2}-v{3}.tgz" return url.format(directory, cuda, sys_key, ver) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Package is not compiled, and does not work unless LD_LIBRARY_PATH is set env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/cupla/package.py b/var/spack/repos/builtin/packages/cupla/package.py index 07384bdf00a..43d0d1c86a9 100644 --- a/var/spack/repos/builtin/packages/cupla/package.py +++ b/var/spack/repos/builtin/packages/cupla/package.py @@ -32,12 +32,14 @@ def install(self, spec, prefix): install("Findcupla.cmake", self.prefix) install("cuplaConfig.cmake", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CUPLA_ROOT", self.prefix) env.prepend_path("CMAKE_PREFIX_PATH", self.prefix) env.set("CUPLA", self.prefix.share.cupla) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("CUPLA_ROOT", self.prefix) env.prepend_path("CMAKE_PREFIX_PATH", self.prefix) env.set("CUPLA", self.prefix.share.cupla) diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py index efd3e2ab1c4..9d3dd5f2d60 100644 --- a/var/spack/repos/builtin/packages/curl/package.py +++ b/var/spack/repos/builtin/packages/curl/package.py @@ -208,7 +208,9 @@ def flag_handler(self, name, flags): class BuildEnvironment: - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if self.spec.satisfies("libs=static"): env.append_flags("CFLAGS", "-DCURL_STATICLIB") env.append_flags("CXXFLAGS", "-DCURL_STATICLIB") diff --git a/var/spack/repos/builtin/packages/cutlass/package.py b/var/spack/repos/builtin/packages/cutlass/package.py index 058041a39e9..0a59aaefc95 100644 --- a/var/spack/repos/builtin/packages/cutlass/package.py +++ b/var/spack/repos/builtin/packages/cutlass/package.py @@ -53,7 +53,7 @@ class Cutlass(CMakePackage, CudaPackage): "https://developer.nvidia.com/cuda-gpus", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CUDACXX", self.spec["cuda"].prefix.bin.nvcc) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/dalton/package.py b/var/spack/repos/builtin/packages/dalton/package.py index 82f83efc0a1..d853957cbc9 100644 --- a/var/spack/repos/builtin/packages/dalton/package.py +++ b/var/spack/repos/builtin/packages/dalton/package.py @@ -73,7 +73,7 @@ class Dalton(CMakePackage): " version or a different compiler suite.", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec.prefix.join("dalton")) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/darshan-runtime/package.py b/var/spack/repos/builtin/packages/darshan-runtime/package.py index 08267d42dbb..81a4a2cd3b5 100644 --- a/var/spack/repos/builtin/packages/darshan-runtime/package.py +++ b/var/spack/repos/builtin/packages/darshan-runtime/package.py @@ -156,7 +156,7 @@ def configure_args(self): return extra_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.variants["log_path"].value == "none": # set a default path for log file that can be overrode by user darshan_log_dir = os.environ["HOME"] diff --git a/var/spack/repos/builtin/packages/dataspaces/package.py b/var/spack/repos/builtin/packages/dataspaces/package.py index d891a640240..852881b96de 100644 --- a/var/spack/repos/builtin/packages/dataspaces/package.py +++ b/var/spack/repos/builtin/packages/dataspaces/package.py @@ -46,7 +46,7 @@ def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+mpi"): env.set("CC", self.spec["mpi"].mpicc) env.set("FC", self.spec["mpi"].mpifc) diff --git a/var/spack/repos/builtin/packages/dbxtool/package.py b/var/spack/repos/builtin/packages/dbxtool/package.py index d9047005135..226b30a8dac 100644 --- a/var/spack/repos/builtin/packages/dbxtool/package.py +++ b/var/spack/repos/builtin/packages/dbxtool/package.py @@ -21,7 +21,7 @@ class Dbxtool(MakefilePackage): depends_on("efivar") depends_on("popt") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec["efivar"].prefix.include.efivar) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py index ab1845e4017..51386e589e7 100644 --- a/var/spack/repos/builtin/packages/dd4hep/package.py +++ b/var/spack/repos/builtin/packages/dd4hep/package.py @@ -216,7 +216,7 @@ def cmake_args(self): args.append(self.define("DD4HEP_BUILD_PACKAGES", " ".join(enabled_packages))) return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # used p.ex. in ddsim to find DDDetectors dir env.set("DD4hepINSTALL", self.prefix) env.set("DD4HEP", self.prefix.examples) diff --git a/var/spack/repos/builtin/packages/ddt/package.py b/var/spack/repos/builtin/packages/ddt/package.py index b50215af135..3d39842bcc6 100644 --- a/var/spack/repos/builtin/packages/ddt/package.py +++ b/var/spack/repos/builtin/packages/ddt/package.py @@ -48,7 +48,7 @@ def url_for_version(self, version): else: return f"https://downloads.linaroforge.com/{version}/linaro-forge-{version}-linux-x86_64.tar" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", join_path(self.prefix, "bin")) def install(self, spec, prefix): 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 c4cc40ec275..c418eb40c83 100644 --- a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py +++ b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py @@ -20,5 +20,5 @@ class DealiiParameterGui(CMakePackage): depends_on("qt") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PARAMETER_GUI_DIR", self.prefix) diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index b266a8578e7..5e68acb860c 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -686,10 +686,10 @@ def cmake_args(self): return options - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("DEAL_II_DIR", self.prefix) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+cuda") and spec.satisfies("+mpi"): env.set("CUDAHOSTCXX", spec["mpi"].mpicxx) diff --git a/var/spack/repos/builtin/packages/deconseq-standalone/package.py b/var/spack/repos/builtin/packages/deconseq-standalone/package.py index 5908dd7d41f..b616a8f6777 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_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PERL5LIB", self.prefix) diff --git a/var/spack/repos/builtin/packages/delphes/package.py b/var/spack/repos/builtin/packages/delphes/package.py index a6c53233d83..7cbfb52151f 100644 --- a/var/spack/repos/builtin/packages/delphes/package.py +++ b/var/spack/repos/builtin/packages/delphes/package.py @@ -56,7 +56,7 @@ def cmake_args(self): args.append(f"-DCMAKE_CXX_STANDARD={self.spec['root'].variants['cxxstd'].value}") return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # make the cards distributed with delphes more easily accessible env.set("DELPHES_DIR", self.prefix) env.set("DELPHES", self.prefix) diff --git a/var/spack/repos/builtin/packages/dialign/package.py b/var/spack/repos/builtin/packages/dialign/package.py index 3a2fb077355..477a58d03f1 100644 --- a/var/spack/repos/builtin/packages/dialign/package.py +++ b/var/spack/repos/builtin/packages/dialign/package.py @@ -27,5 +27,5 @@ def install(self, spec, prefix): mkdirp(prefix.share) install_tree("dialign2_dir", prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("DIALIGN2_DIR", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/diffutils/package.py b/var/spack/repos/builtin/packages/diffutils/package.py index e258cae6ee2..efaca998923 100644 --- a/var/spack/repos/builtin/packages/diffutils/package.py +++ b/var/spack/repos/builtin/packages/diffutils/package.py @@ -41,7 +41,7 @@ class Diffutils(AutotoolsPackage, GNUMirrorPackage): depends_on("iconv") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%fj"): env.append_flags("CFLAGS", "-Qunused-arguments") diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py index e8a0ec8699d..2e5f4b0a936 100644 --- a/var/spack/repos/builtin/packages/dihydrogen/package.py +++ b/var/spack/repos/builtin/packages/dihydrogen/package.py @@ -348,7 +348,7 @@ def initconfig_package_entries(self): entries.extend(get_blas_entries(spec)) return entries - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+openmp %apple-clang"): env.append_flags("CPPFLAGS", self.compiler.openmp_flag) env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags) diff --git a/var/spack/repos/builtin/packages/dislin/package.py b/var/spack/repos/builtin/packages/dislin/package.py index 89765aa7d25..a8b964d6655 100644 --- a/var/spack/repos/builtin/packages/dislin/package.py +++ b/var/spack/repos/builtin/packages/dislin/package.py @@ -36,17 +36,19 @@ def libs(self): return find_libraries(libraries, root=self.prefix, shared=True, recursive=True) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DISLIN", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("DISLIN", self.prefix) env.prepend_path("PATH", self.prefix) env.prepend_path("LD_LIBRARY_PATH", self.prefix) env.prepend_path("LD_LIBRARY_PATH", self.spec["motif"].prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.spec["mesa"].prefix.lib) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/distcc/package.py b/var/spack/repos/builtin/packages/distcc/package.py index 51b029cf4a4..9d937130b7c 100644 --- a/var/spack/repos/builtin/packages/distcc/package.py +++ b/var/spack/repos/builtin/packages/distcc/package.py @@ -27,5 +27,5 @@ def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/dmd/package.py b/var/spack/repos/builtin/packages/dmd/package.py index 0702c760545..2aa1667b141 100644 --- a/var/spack/repos/builtin/packages/dmd/package.py +++ b/var/spack/repos/builtin/packages/dmd/package.py @@ -44,7 +44,7 @@ class Dmd(MakefilePackage): placement="tools", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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) diff --git a/var/spack/repos/builtin/packages/docbook-xml/package.py b/var/spack/repos/builtin/packages/docbook-xml/package.py index 8a66805e3f9..7b7025c414e 100644 --- a/var/spack/repos/builtin/packages/docbook-xml/package.py +++ b/var/spack/repos/builtin/packages/docbook-xml/package.py @@ -379,10 +379,12 @@ def config_docbook(self): catalog, ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: catalog = self.catalog env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: catalog = self.catalog env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ") diff --git a/var/spack/repos/builtin/packages/docbook-xsl/package.py b/var/spack/repos/builtin/packages/docbook-xsl/package.py index 152145c8a4d..dd68dae5a07 100644 --- a/var/spack/repos/builtin/packages/docbook-xsl/package.py +++ b/var/spack/repos/builtin/packages/docbook-xsl/package.py @@ -67,10 +67,12 @@ def config_docbook(self): catalog, ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: catalog = self.catalog env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: catalog = self.catalog env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ") diff --git a/var/spack/repos/builtin/packages/dock/package.py b/var/spack/repos/builtin/packages/dock/package.py index b41054c0110..302784b0dd3 100644 --- a/var/spack/repos/builtin/packages/dock/package.py +++ b/var/spack/repos/builtin/packages/dock/package.py @@ -27,7 +27,7 @@ class Dock(Package): depends_on("flex", type="build") depends_on("mpi", when="+mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+mpi"): env.set("MPICH_HOME", self.spec["mpi"].prefix) diff --git a/var/spack/repos/builtin/packages/dorado/package.py b/var/spack/repos/builtin/packages/dorado/package.py index 0ed5e4dfd78..c84978660b9 100644 --- a/var/spack/repos/builtin/packages/dorado/package.py +++ b/var/spack/repos/builtin/packages/dorado/package.py @@ -38,7 +38,7 @@ class Dorado(CMakePackage, CudaPackage): patch("cmake-htslib.patch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.spec["libdeflate"].prefix.lib64) env.prepend_path("LIBRARY_PATH", self.spec["libdeflate"].prefix.lib64) diff --git a/var/spack/repos/builtin/packages/dosfstools/package.py b/var/spack/repos/builtin/packages/dosfstools/package.py index 1d3199abb6c..c77ec38e7ad 100644 --- a/var/spack/repos/builtin/packages/dosfstools/package.py +++ b/var/spack/repos/builtin/packages/dosfstools/package.py @@ -30,5 +30,5 @@ class Dosfstools(AutotoolsPackage): def autoreconf(self, spec, prefix): Executable("./autogen.sh")() - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py b/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py index deb974b5428..cadd2e9c38f 100644 --- a/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py +++ b/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py @@ -85,7 +85,7 @@ class DotnetCoreSdk(Package): variant("telemetry", default=False, description="allow collection of telemetry data") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("~telemetry"): env.set("DOTNET_CLI_TELEMETRY_OPTOUT", "1") diff --git a/var/spack/repos/builtin/packages/dray/package.py b/var/spack/repos/builtin/packages/dray/package.py index 6c0f1df457c..e15eb805df4 100644 --- a/var/spack/repos/builtin/packages/dray/package.py +++ b/var/spack/repos/builtin/packages/dray/package.py @@ -110,7 +110,7 @@ class Dray(Package, CudaPackage): depends_on("mfem~shared", when="~shared") depends_on("gmake", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CTEST_OUTPUT_ON_FAILURE", "1") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/dtf/package.py b/var/spack/repos/builtin/packages/dtf/package.py index 0f7e18090e1..a4ac0861bdd 100644 --- a/var/spack/repos/builtin/packages/dtf/package.py +++ b/var/spack/repos/builtin/packages/dtf/package.py @@ -36,7 +36,7 @@ class Dtf(AutotoolsPackage): configure_directory = "pnetcdf" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: dtf_srcdir = join_path(self.stage.source_path, "libdtf") env.append_path("LD_LIBRARY_PATH", self.prefix.lib) env.append_path("LD_LIBRARY_PATH", dtf_srcdir) diff --git a/var/spack/repos/builtin/packages/duckdb/package.py b/var/spack/repos/builtin/packages/duckdb/package.py index 9e86bf8f5f3..a96bbd8ad4e 100644 --- a/var/spack/repos/builtin/packages/duckdb/package.py +++ b/var/spack/repos/builtin/packages/duckdb/package.py @@ -104,7 +104,7 @@ class Duckdb(MakefilePackage): def duckdb_extension_prefix(self): return self.prefix.lib.duckdb - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: cmake_args = [] # Future use if self.spec.satisfies("+ninjabuild"): env.set("GEN", "ninja") diff --git a/var/spack/repos/builtin/packages/e2fsprogs/package.py b/var/spack/repos/builtin/packages/e2fsprogs/package.py index 81f7152d62a..db3c926bff0 100644 --- a/var/spack/repos/builtin/packages/e2fsprogs/package.py +++ b/var/spack/repos/builtin/packages/e2fsprogs/package.py @@ -45,7 +45,7 @@ class E2fsprogs(AutotoolsPackage): when="@:1.47.0 +fuse2fs", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/e3sm-scorpio/package.py b/var/spack/repos/builtin/packages/e3sm-scorpio/package.py index 58e3deec336..ca1d7bd6b9f 100644 --- a/var/spack/repos/builtin/packages/e3sm-scorpio/package.py +++ b/var/spack/repos/builtin/packages/e3sm-scorpio/package.py @@ -50,7 +50,7 @@ def cmake_args(self): return opts - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("NetCDF_C_PATH", self.spec["netcdf-c"].prefix) env.set("NetCDF_Fortran_PATH", self.spec["netcdf-fortran"].prefix) if self.spec.satisfies("+mpi"): diff --git a/var/spack/repos/builtin/packages/easi/package.py b/var/spack/repos/builtin/packages/easi/package.py index 34585b90d5e..a52f8e4a356 100644 --- a/var/spack/repos/builtin/packages/easi/package.py +++ b/var/spack/repos/builtin/packages/easi/package.py @@ -85,7 +85,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+python"): full_path = os.path.join(python_platlib, "easilib/cmake/easi/python_wrapper") env.prepend_path("PYTHONPATH", full_path) diff --git a/var/spack/repos/builtin/packages/ecflow/package.py b/var/spack/repos/builtin/packages/ecflow/package.py index 16bafe32dbf..0f47ce073d7 100644 --- a/var/spack/repos/builtin/packages/ecflow/package.py +++ b/var/spack/repos/builtin/packages/ecflow/package.py @@ -87,7 +87,7 @@ def patch(self): ) @when("+ssl ^openssl~shared") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LIBS", self.spec["zlib"].libs.search_flags) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/eckit/package.py b/var/spack/repos/builtin/packages/eckit/package.py index fa1e27f91b8..3e60b63dda5 100644 --- a/var/spack/repos/builtin/packages/eckit/package.py +++ b/var/spack/repos/builtin/packages/eckit/package.py @@ -183,7 +183,7 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Bug fix for macOS - cmake's find_package doesn't add "libtinfo.dylib" to the # ncurses libraries, but the ncurses pkgconfig explicitly sets it. We need to # add the correct spec['ncurses'].libs.ld_flags to LDFLAGS to compile eckit diff --git a/var/spack/repos/builtin/packages/edm4hep/package.py b/var/spack/repos/builtin/packages/edm4hep/package.py index e7cca567dd0..a672b1d760b 100644 --- a/var/spack/repos/builtin/packages/edm4hep/package.py +++ b/var/spack/repos/builtin/packages/edm4hep/package.py @@ -109,7 +109,7 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.spec["edm4hep"].libs.directories[0]) if self.spec.satisfies("@:0.10.5"): env.prepend_path("PYTHONPATH", self.prefix.python) diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py index f4e0dc00773..e2e7d6923d8 100644 --- a/var/spack/repos/builtin/packages/eigen/package.py +++ b/var/spack/repos/builtin/packages/eigen/package.py @@ -80,7 +80,7 @@ class Eigen(CMakePackage, ROCmPackage): # TODO: latex and doxygen needed to produce docs with make doc # TODO: Other dependencies might be needed to test this package - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.prefix.include.eigen3) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/eigenexa/package.py b/var/spack/repos/builtin/packages/eigenexa/package.py index f716c4c97e0..5a0aa4d06b8 100644 --- a/var/spack/repos/builtin/packages/eigenexa/package.py +++ b/var/spack/repos/builtin/packages/eigenexa/package.py @@ -44,7 +44,7 @@ def url_for_version(self, version): version, "tar.gz" if version >= Version("2.7") else ".tgz" ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("FC", self.spec["mpi"].mpifc, force=True) env.set("F77", self.spec["mpi"].mpif77, force=True) env.set("CC", self.spec["mpi"].mpicc, force=True) diff --git a/var/spack/repos/builtin/packages/elmerfem/package.py b/var/spack/repos/builtin/packages/elmerfem/package.py index 2577c028410..d09a018031a 100644 --- a/var/spack/repos/builtin/packages/elmerfem/package.py +++ b/var/spack/repos/builtin/packages/elmerfem/package.py @@ -128,7 +128,7 @@ def patch(self): string=True, ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ELMER_HOME", self.prefix) env.set("ELMER_Fortran_COMPILER", self.compiler.fc) if self.spec.satisfies("+gui"): diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py index 5f7d4130e80..49c92f12609 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -126,7 +126,7 @@ def configure_args(self): return args @when("platform=darwin") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("^ncurses+termlib"): env.append_flags("LDFLAGS", "-ltinfo") diff --git a/var/spack/repos/builtin/packages/enzyme/package.py b/var/spack/repos/builtin/packages/enzyme/package.py index 1497da1a884..36a30fa33ce 100644 --- a/var/spack/repos/builtin/packages/enzyme/package.py +++ b/var/spack/repos/builtin/packages/enzyme/package.py @@ -61,7 +61,9 @@ def libs(self): return find_libraries(libs, root=self.prefix, recursive=True) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Get the LLVMEnzyme and ClangEnzyme lib paths llvm, clang = self.libs diff --git a/var/spack/repos/builtin/packages/epics-base/package.py b/var/spack/repos/builtin/packages/epics-base/package.py index 9e4f335d767..90b0d0c7b53 100644 --- a/var/spack/repos/builtin/packages/epics-base/package.py +++ b/var/spack/repos/builtin/packages/epics-base/package.py @@ -38,15 +38,17 @@ def get_epics_host_arch(self): perl = which("perl", required=True) return perl("%s/perl/EpicsHostArch.pl" % self.prefix.lib, output=str, error=str).strip() - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("EPICS_BASE", self.prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: epics_host_arch = self.get_epics_host_arch() env.set("EPICS_HOST_ARCH", epics_host_arch) env.set("EPICS_BASE", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: epics_host_arch = self.get_epics_host_arch() env.set("EPICS_HOST_ARCH", epics_host_arch) env.set("EPICS_BASE", self.prefix) diff --git a/var/spack/repos/builtin/packages/epics-ca-gateway/package.py b/var/spack/repos/builtin/packages/epics-ca-gateway/package.py index a79ea8a1877..90bd41f276b 100644 --- a/var/spack/repos/builtin/packages/epics-ca-gateway/package.py +++ b/var/spack/repos/builtin/packages/epics-ca-gateway/package.py @@ -2,6 +2,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os + from spack.package import * @@ -34,5 +36,5 @@ def edit(self, spec, prefix): release_file.write("EPICS_BASE = " + env["EPICS_BASE"] + "\n") release_file.write("PCAS = " + spec["epics-pcas"].prefix) - def setup_run_environment(self, envmod): - envmod.prepend_path("PATH", join_path(self.prefix.bin, env["EPICS_HOST_ARCH"])) + def setup_run_environment(self, env: EnvironmentModifications) -> None: + env.prepend_path("PATH", join_path(self.prefix.bin, os.environ["EPICS_HOST_ARCH"])) diff --git a/var/spack/repos/builtin/packages/epics-pcas/package.py b/var/spack/repos/builtin/packages/epics-pcas/package.py index cb22d6256a1..fb32a8d0a65 100644 --- a/var/spack/repos/builtin/packages/epics-pcas/package.py +++ b/var/spack/repos/builtin/packages/epics-pcas/package.py @@ -2,6 +2,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os + from spack.package import * @@ -30,5 +32,5 @@ def edit(self, spec, prefix): with open("configure/RELEASE.local", "w") as release_file: release_file.write("EPICS_BASE = " + env["EPICS_BASE"] + "\n") - def setup_run_environment(self, envmod): - envmod.prepend_path("PATH", join_path(self.prefix.bin, env["EPICS_HOST_ARCH"])) + def setup_run_environment(self, env: EnvironmentModifications) -> None: + env.prepend_path("PATH", join_path(self.prefix.bin, os.environ["EPICS_HOST_ARCH"])) diff --git a/var/spack/repos/builtin/packages/epics-snmp/package.py b/var/spack/repos/builtin/packages/epics-snmp/package.py index bdb9728beef..4b8605ac71c 100644 --- a/var/spack/repos/builtin/packages/epics-snmp/package.py +++ b/var/spack/repos/builtin/packages/epics-snmp/package.py @@ -2,6 +2,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os + from spack.package import * @@ -32,5 +34,5 @@ def edit(self, spec, prefix): makefile = FileFilter("snmpApp/src/Makefile") makefile.filter("USR_CPPFLAGS", "USR_CPPFLAGS += `net-snmp-config --cflags`\nUSR_CPPFLAGS") - def setup_run_environment(self, envmod): - envmod.prepend_path("PATH", join_path(self.prefix.bin, env["EPICS_HOST_ARCH"])) + def setup_run_environment(self, env: EnvironmentModifications) -> None: + env.prepend_path("PATH", join_path(self.prefix.bin, os.environ["EPICS_HOST_ARCH"])) diff --git a/var/spack/repos/builtin/packages/eq-r/package.py b/var/spack/repos/builtin/packages/eq-r/package.py index 38ff94cd4de..da242c8f5f1 100644 --- a/var/spack/repos/builtin/packages/eq-r/package.py +++ b/var/spack/repos/builtin/packages/eq-r/package.py @@ -36,7 +36,7 @@ class EqR(AutotoolsPackage): configure_directory = "src" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("CC", spec["mpi"].mpicc) env.set("CXX", spec["mpi"].mpicxx) diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py index e566f904f0c..f44c2a634d7 100644 --- a/var/spack/repos/builtin/packages/esmf/package.py +++ b/var/spack/repos/builtin/packages/esmf/package.py @@ -161,7 +161,7 @@ def patch(self): os.path.join("src/addon/esmpy/pyproject.toml"), ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ESMFMKFILE", os.path.join(self.prefix.lib, "esmf.mk")) @@ -193,7 +193,7 @@ def url_for_version(self, version): version.dotted ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # Installation instructions can be found at: # http://www.earthsystemmodeling.org/esmf_releases/last_built/ESMF_usrdoc/node9.html @@ -439,7 +439,9 @@ def post_install(self): def check(self): make("check", parallel=False) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("ESMFMKFILE", os.path.join(self.prefix.lib, "esmf.mk")) def install(self, pkg, spec, prefix): diff --git a/var/spack/repos/builtin/packages/esys-particle/package.py b/var/spack/repos/builtin/packages/esys-particle/package.py index 8f2bef156b5..e59be717425 100644 --- a/var/spack/repos/builtin/packages/esys-particle/package.py +++ b/var/spack/repos/builtin/packages/esys-particle/package.py @@ -33,7 +33,7 @@ def patch(self): for file in files: filter_file("PYTHON_LIBRARIES", "Python_LIBRARIES", file, string=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: pylibpath = join_path( self.prefix.lib, "python{0}".format(self.spec["python"].version.up_to(2)) ) diff --git a/var/spack/repos/builtin/packages/etcd/package.py b/var/spack/repos/builtin/packages/etcd/package.py index b9ba3503377..6db0ccfb616 100644 --- a/var/spack/repos/builtin/packages/etcd/package.py +++ b/var/spack/repos/builtin/packages/etcd/package.py @@ -22,7 +22,7 @@ class Etcd(Package): depends_on("go@1.19:") depends_on("gmake", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Point GOPATH at the top of the staging dir for the build step. env.prepend_path("GOPATH", self.stage.path) diff --git a/var/spack/repos/builtin/packages/evtgen/package.py b/var/spack/repos/builtin/packages/evtgen/package.py index 736b4230390..515aa3358a1 100644 --- a/var/spack/repos/builtin/packages/evtgen/package.py +++ b/var/spack/repos/builtin/packages/evtgen/package.py @@ -84,5 +84,5 @@ def patch(self): filter_file("-shared", "-dynamiclib -undefined dynamic_lookup", "make.inc") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("EVTGEN", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/exawind/package.py b/var/spack/repos/builtin/packages/exawind/package.py index 2a9040bd13f..213209bfb6a 100644 --- a/var/spack/repos/builtin/packages/exawind/package.py +++ b/var/spack/repos/builtin/packages/exawind/package.py @@ -122,7 +122,7 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", "-DUSE_STK_SIMD_NONE") if self.spec.satisfies("+rocm+amr_wind_gpu~nalu_wind_gpu"): # Manually turn off device self.defines to solve Kokkos issues in Nalu-Wind headers diff --git a/var/spack/repos/builtin/packages/exciting/package.py b/var/spack/repos/builtin/packages/exciting/package.py index c9d9f4e8d94..522b34a5d8d 100644 --- a/var/spack/repos/builtin/packages/exciting/package.py +++ b/var/spack/repos/builtin/packages/exciting/package.py @@ -147,7 +147,7 @@ def install(self, spec, prefix): install_tree("species", prefix.species) install_tree("tools", prefix.tools) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("WNHOME", self.prefix) env.set("EXCITINGROOT", self.prefix) env.set("EXCITINGBIN", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/exodusii/package.py b/var/spack/repos/builtin/packages/exodusii/package.py index 4cc3aeeacf5..d09fb90b619 100644 --- a/var/spack/repos/builtin/packages/exodusii/package.py +++ b/var/spack/repos/builtin/packages/exodusii/package.py @@ -138,7 +138,7 @@ class Exodusii(CMakePackage): depends_on("python@3.0:") conflicts("+shared", when="platform=windows") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/express/package.py b/var/spack/repos/builtin/packages/express/package.py index 099f1d54863..82301bab13e 100644 --- a/var/spack/repos/builtin/packages/express/package.py +++ b/var/spack/repos/builtin/packages/express/package.py @@ -52,5 +52,5 @@ def patch(self): "%s" % self.spec["bamtools"].libs, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: 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 11f151b6364..74d2c1b93a2 100644 --- a/var/spack/repos/builtin/packages/extrae/package.py +++ b/var/spack/repos/builtin/packages/extrae/package.py @@ -210,10 +210,12 @@ def install(self, spec, prefix): else: make("install", parallel=False) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # set EXTRAE_HOME in the module file env.set("EXTRAE_HOME", self.prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # set EXTRAE_HOME for everyone using the Extrae package env.set("EXTRAE_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/eztrace/package.py b/var/spack/repos/builtin/packages/eztrace/package.py index 0b4bf1a72b4..905838aaf6f 100644 --- a/var/spack/repos/builtin/packages/eztrace/package.py +++ b/var/spack/repos/builtin/packages/eztrace/package.py @@ -105,7 +105,7 @@ def cmake_args(self): class AutotoolsBuilder(autotools.AutotoolsBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LDFLAGS", "--linkfortran") def autoreconf(self, pkg, spec, prefix): diff --git a/var/spack/repos/builtin/packages/f77-zmq/package.py b/var/spack/repos/builtin/packages/f77-zmq/package.py index 52e93bdb609..09a3377b93f 100644 --- a/var/spack/repos/builtin/packages/f77-zmq/package.py +++ b/var/spack/repos/builtin/packages/f77-zmq/package.py @@ -27,7 +27,7 @@ class F77Zmq(MakefilePackage): depends_on("python@3:", type="build", when="@:4.3.1") depends_on("python", type="build", when="@4.3.2:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CFLAGS", "-O3") env.append_flags("CFLAGS", "-g") diff --git a/var/spack/repos/builtin/packages/faiss/package.py b/var/spack/repos/builtin/packages/faiss/package.py index 1a207719d59..21b4f38b207 100644 --- a/var/spack/repos/builtin/packages/faiss/package.py +++ b/var/spack/repos/builtin/packages/faiss/package.py @@ -80,7 +80,7 @@ class Faiss(AutotoolsPackage, CMakePackage, CudaPackage): # https://github.com/facebookresearch/faiss/issues/2300 patch("fixes-in-v1.7.2.patch", when="@1.7.2") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+python"): env.prepend_path("PYTHONPATH", python_platlib) if self.spec.satisfies("platform=darwin"): diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py index 247772cd545..db3bc654c0f 100644 --- a/var/spack/repos/builtin/packages/fenics/package.py +++ b/var/spack/repos/builtin/packages/fenics/package.py @@ -182,10 +182,10 @@ def cmake_args(self): ] # set environment for bulding python interface - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DOLFIN_DIR", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("DOLFIN_DIR", self.prefix) # build python interface of dolfin diff --git a/var/spack/repos/builtin/packages/ferret/package.py b/var/spack/repos/builtin/packages/ferret/package.py index 620470b5ad8..f09897ee550 100644 --- a/var/spack/repos/builtin/packages/ferret/package.py +++ b/var/spack/repos/builtin/packages/ferret/package.py @@ -187,7 +187,7 @@ def install(self, spec, prefix): mkdir(self.prefix.fer_dsets) install_tree("fer_dsets", self.prefix.fer_dsets) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FER_DIR", self.prefix) env.set( "FER_GO", " ".join([".", self.prefix.go, self.prefix.examples, self.prefix.contrib]) diff --git a/var/spack/repos/builtin/packages/ffb/package.py b/var/spack/repos/builtin/packages/ffb/package.py index 37d633b3065..c747abd8d39 100644 --- a/var/spack/repos/builtin/packages/ffb/package.py +++ b/var/spack/repos/builtin/packages/ffb/package.py @@ -171,5 +171,5 @@ def install(self, spec, prefix): install_tree("bin", prefix.bin) install_tree("macro", prefix.macro) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", prefix.macro) diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index 46faed21a7b..99d83961d9a 100644 --- a/var/spack/repos/builtin/packages/ffmpeg/package.py +++ b/var/spack/repos/builtin/packages/ffmpeg/package.py @@ -180,7 +180,7 @@ def headers(self): return headers @when("@:6.0 %apple-clang@15:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:3"): env.append_flags("CFLAGS", "-Wno-error=incompatible-function-pointer-types") diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py index e2f2d12180a..70d5c874914 100644 --- a/var/spack/repos/builtin/packages/fftw/package.py +++ b/var/spack/repos/builtin/packages/fftw/package.py @@ -86,7 +86,7 @@ def selected_precisions(self): """Precisions that have been selected in this build""" return self.spec.variants["precision"].value - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+openmp %apple-clang"): env.append_flags("CPPFLAGS", self.compiler.openmp_flag) env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags) diff --git a/var/spack/repos/builtin/packages/fftx/package.py b/var/spack/repos/builtin/packages/fftx/package.py index 4477a965284..cecf2f21626 100644 --- a/var/spack/repos/builtin/packages/fftx/package.py +++ b/var/spack/repos/builtin/packages/fftx/package.py @@ -81,11 +81,15 @@ def install(self, spec, prefix): if os.path.isdir(dir): install_tree("cache_jit_files", prefix.cache_jit_files) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("FFTX_HOME", self.prefix) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("FFTX_HOME", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("FFTX_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/fgsl/package.py b/var/spack/repos/builtin/packages/fgsl/package.py index fedebc94acb..84bfef13a15 100644 --- a/var/spack/repos/builtin/packages/fgsl/package.py +++ b/var/spack/repos/builtin/packages/fgsl/package.py @@ -47,6 +47,6 @@ class Fgsl(AutotoolsPackage): def create_m4_dir(self): mkdir("m4") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.compiler.name == "gcc": env.append_flags("FCFLAGS", "-ffree-line-length-none") diff --git a/var/spack/repos/builtin/packages/fides/package.py b/var/spack/repos/builtin/packages/fides/package.py index 62aefff58ee..e8bfacb2e60 100644 --- a/var/spack/repos/builtin/packages/fides/package.py +++ b/var/spack/repos/builtin/packages/fides/package.py @@ -39,7 +39,7 @@ class Fides(CMakePackage): # Fix missing implicit includes @when("%gcc@7:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", "-include limits -include numeric") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/findutils/package.py b/var/spack/repos/builtin/packages/findutils/package.py index d0ea0026df2..aa4d5f53a1c 100644 --- a/var/spack/repos/builtin/packages/findutils/package.py +++ b/var/spack/repos/builtin/packages/findutils/package.py @@ -74,9 +74,9 @@ def url_for_version(self, version): # Taken from here to build 4.8.0 with apple-clang: # https://github.com/Homebrew/homebrew-core/blob/master/Formula/findutils.rb - def setup_build_environment(self, spack_env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@4.8.0 %apple-clang"): - spack_env.set("CFLAGS", "-D__nonnull\\(params\\)=") + env.set("CFLAGS", "-D__nonnull\\(params\\)=") @classmethod def determine_version(cls, exe): diff --git a/var/spack/repos/builtin/packages/flamemaster/package.py b/var/spack/repos/builtin/packages/flamemaster/package.py index 7bdb3fc69a7..b5062cf4c70 100644 --- a/var/spack/repos/builtin/packages/flamemaster/package.py +++ b/var/spack/repos/builtin/packages/flamemaster/package.py @@ -138,7 +138,7 @@ class Flamemaster(CMakePackage): root_cmakelists_dir = "Repository" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LAPACK_HOME", self.spec["lapack"].prefix) env.set("BLIS_HOME", self.spec["blas"].prefix) diff --git a/var/spack/repos/builtin/packages/flecsph/package.py b/var/spack/repos/builtin/packages/flecsph/package.py index e220bb50083..3267124e42c 100644 --- a/var/spack/repos/builtin/packages/flecsph/package.py +++ b/var/spack/repos/builtin/packages/flecsph/package.py @@ -32,7 +32,7 @@ class Flecsph(CMakePackage): depends_on("googletest", type="test") depends_on("pkgconfig", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("HDF5_ROOT", self.spec["hdf5"].prefix) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/fleur/package.py b/var/spack/repos/builtin/packages/fleur/package.py index f70e1fe7309..789c356a249 100644 --- a/var/spack/repos/builtin/packages/fleur/package.py +++ b/var/spack/repos/builtin/packages/fleur/package.py @@ -75,7 +75,7 @@ class Fleur(Package): conflicts("@:4.0", when="+spfft", msg="SpFFT is supported from Fleur v4.0") conflicts("@:4.0", when="+external_libxc", msg="External libxc is supported from Fleur v4.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+mpi"): diff --git a/var/spack/repos/builtin/packages/flux-core/package.py b/var/spack/repos/builtin/packages/flux-core/package.py index c96d323131e..043c9f7626e 100644 --- a/var/spack/repos/builtin/packages/flux-core/package.py +++ b/var/spack/repos/builtin/packages/flux-core/package.py @@ -188,11 +188,11 @@ def lua_share_dir(self): def lua_lib_dir(self): return os.path.join("lib", "lua", str(self.lua_version)) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Ensure ./fluxometer.lua can be found during flux's make check env.append_path("LUA_PATH", "./?.lua", separator=";") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # If this package is external, we expect the external provider to set things # like LUA paths. So, we early return. If the package is not external, # properly set these environment variables to make sure the user environment diff --git a/var/spack/repos/builtin/packages/flux-pmix/package.py b/var/spack/repos/builtin/packages/flux-pmix/package.py index f1b50972af6..f4e74baa0e7 100644 --- a/var/spack/repos/builtin/packages/flux-pmix/package.py +++ b/var/spack/repos/builtin/packages/flux-pmix/package.py @@ -55,7 +55,7 @@ def add_pluginpath(self): with open(rcfile, "w") as fp: fp.write('plugin.load("' + pluginpath + '")') - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.prepend_path("FLUX_SHELL_RC_PATH", join_path(self.prefix.etc, "flux/shell/lua.d")) if spec.satisfies("@0.3.0:"): diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py index fd3e8ce6a59..252bec90c36 100644 --- a/var/spack/repos/builtin/packages/flux-sched/package.py +++ b/var/spack/repos/builtin/packages/flux-sched/package.py @@ -182,7 +182,7 @@ def lua_share_dir(self): def lua_lib_dir(self): return os.path.join("lib", "lua", str(self.lua_version)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # If this package is external, we expect the external provider to set # things like LUA paths. So, we early return. If the package is not # external, properly set these environment variables to make sure the diff --git a/var/spack/repos/builtin/packages/foam-extend/package.py b/var/spack/repos/builtin/packages/foam-extend/package.py index d64dc78969b..62a203319f3 100644 --- a/var/spack/repos/builtin/packages/foam-extend/package.py +++ b/var/spack/repos/builtin/packages/foam-extend/package.py @@ -115,7 +115,7 @@ class FoamExtend(Package): # - End of definitions / setup - # - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Add environment variables to the generated module file. These environment variables come from running: @@ -155,10 +155,10 @@ def setup_run_environment(self, env): "FOAM_RUN", "(FOAM|WM)_.*USER_.*", ], - whitelist=[ # Whitelist these - "MPI_ARCH_PATH", # Can be needed for compilation + whitelist=[ + "MPI_ARCH_PATH", "PYTHON_BIN_DIR", - ], + ], # Whitelist these # Can be needed for compilation ) env.extend(mods) @@ -176,7 +176,9 @@ def setup_run_environment(self, env): for d in ["wmake", self.archbin]: # bin added automatically env.prepend_path("PATH", join_path(self.projectdir, d)) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """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 diff --git a/var/spack/repos/builtin/packages/font-util/package.py b/var/spack/repos/builtin/packages/font-util/package.py index 7fb9a8d6a60..f9a1d438ec4 100644 --- a/var/spack/repos/builtin/packages/font-util/package.py +++ b/var/spack/repos/builtin/packages/font-util/package.py @@ -237,7 +237,7 @@ class FontUtil(AutotoolsPackage, XorgPackage): multi=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.bin) env.prepend_path("PKG_CONFIG_PATH", self.prefix.lib.pkgconfig) diff --git a/var/spack/repos/builtin/packages/fpm/package.py b/var/spack/repos/builtin/packages/fpm/package.py index e9f3b25c598..991eada138f 100644 --- a/var/spack/repos/builtin/packages/fpm/package.py +++ b/var/spack/repos/builtin/packages/fpm/package.py @@ -43,7 +43,7 @@ class Fpm(Package): depends_on("c", type="build") depends_on("fortran", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@0.4.0"): env.set("FPM_C_COMPILER", self.compiler.cc) diff --git a/var/spack/repos/builtin/packages/fpocket/package.py b/var/spack/repos/builtin/packages/fpocket/package.py index 64fd59fb380..a7f94016bbd 100644 --- a/var/spack/repos/builtin/packages/fpocket/package.py +++ b/var/spack/repos/builtin/packages/fpocket/package.py @@ -28,7 +28,7 @@ class Fpocket(MakefilePackage): class MakefileBuilder(makefile.MakefileBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.pkg.compiler.name == "gcc": env.set("CXX", "g++") diff --git a/var/spack/repos/builtin/packages/freebayes/package.py b/var/spack/repos/builtin/packages/freebayes/package.py index 3ce21fee896..dc3f4c0ef0a 100644 --- a/var/spack/repos/builtin/packages/freebayes/package.py +++ b/var/spack/repos/builtin/packages/freebayes/package.py @@ -75,7 +75,7 @@ def vcflib_builddir(self): return join_path(self.build_directory, "vcflib") @when("@1.3.4:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.run_tests: env.prepend_path("PATH", self.vcflib_builddir) env.prepend_path("PATH", self.build_directory) diff --git a/var/spack/repos/builtin/packages/freesurfer/package.py b/var/spack/repos/builtin/packages/freesurfer/package.py index 1d9be48082a..12fe0a43f0d 100644 --- a/var/spack/repos/builtin/packages/freesurfer/package.py +++ b/var/spack/repos/builtin/packages/freesurfer/package.py @@ -38,7 +38,7 @@ def url_for_version(self, version): version, version ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: source_file = join_path(self.prefix, "SetUpFreeSurfer.sh") env.prepend_path("PATH", self.prefix.bin) env.set("FREESURFER_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/fsl/package.py b/var/spack/repos/builtin/packages/fsl/package.py index a9183efe3ab..c1f4d04bc88 100644 --- a/var/spack/repos/builtin/packages/fsl/package.py +++ b/var/spack/repos/builtin/packages/fsl/package.py @@ -189,7 +189,7 @@ def postinstall(self): script = Executable(join_path(prefix, "etc", "fslconf", "post_install.sh")) script("-f", prefix) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if not self.stage.source_path: self.stage.fetch() self.stage.expand_archive() @@ -202,7 +202,7 @@ def setup_build_environment(self, env): if os.path.isfile(fslsetup): env.extend(EnvironmentModifications.from_sourcing_file(fslsetup)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Set the environment variables after copying tree env.set("FSLDIR", self.prefix) fslsetup = join_path(self.prefix, "etc", "fslconf", "fsl.sh") diff --git a/var/spack/repos/builtin/packages/fstrack/package.py b/var/spack/repos/builtin/packages/fstrack/package.py index e326c69c561..fed6d437276 100644 --- a/var/spack/repos/builtin/packages/fstrack/package.py +++ b/var/spack/repos/builtin/packages/fstrack/package.py @@ -30,7 +30,7 @@ class Fstrack(MakefilePackage): parallel = False - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Compilers env.set("F90", spack_fc) diff --git a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py index a4b39b110fe..c22a9784fb5 100644 --- a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py +++ b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py @@ -54,7 +54,9 @@ 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_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Use the spack compiler wrappers under MPI dependent_module = dependent_spec.package.module env.set("OMPI_CC", dependent_module.spack_cc) @@ -70,7 +72,7 @@ def setup_dependent_build_environment(self, env, dependent_spec): env.set("MPI_CXX_COMPILER", self.prefix.bin.mpiFCC) env.set("MPI_Fortran_COMPILER", self.prefix.bin.mpifrt) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Because MPI are both compilers and runtimes, we set up the compilers # as part of run environment if self.spec.satisfies("%gcc"): diff --git a/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py b/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py index be72a3814ff..1dd60250b2f 100644 --- a/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py +++ b/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py @@ -122,7 +122,9 @@ def scalapack_libs(self): return libs - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: path = self.prefix.include env.append_flags("fcc_ENV", "-idirafter " + path) env.append_flags("FCC_ENV", "-idirafter " + path) diff --git a/var/spack/repos/builtin/packages/fzf/package.py b/var/spack/repos/builtin/packages/fzf/package.py index 0dc8883f500..c17b99d0652 100644 --- a/var/spack/repos/builtin/packages/fzf/package.py +++ b/var/spack/repos/builtin/packages/fzf/package.py @@ -63,7 +63,7 @@ def url_for_version(self, version): base = "refs/tags/v" if self.spec.satisfies("@:0.53.0") else "" return f"https://github.com/junegunn/fzf/archive/{base}{version}.tar.gz" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set up the build environment for fzf.""" # Setup build env from GoPackage builder super().setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/g2/package.py b/var/spack/repos/builtin/packages/g2/package.py index 19cdb3c4d97..fe06beb25b8 100644 --- a/var/spack/repos/builtin/packages/g2/package.py +++ b/var/spack/repos/builtin/packages/g2/package.py @@ -95,7 +95,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: precisions = ( self.spec.variants["precision"].value if self.spec.satisfies("@3.4.6:") else ("4", "d") ) diff --git a/var/spack/repos/builtin/packages/g2c/package.py b/var/spack/repos/builtin/packages/g2c/package.py index dd139104d8a..ff3b01f80c8 100644 --- a/var/spack/repos/builtin/packages/g2c/package.py +++ b/var/spack/repos/builtin/packages/g2c/package.py @@ -78,7 +78,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:1.6"): shared = False else: diff --git a/var/spack/repos/builtin/packages/g4abla/package.py b/var/spack/repos/builtin/packages/g4abla/package.py index d831848d85e..0ec4604b6e7 100644 --- a/var/spack/repos/builtin/packages/g4abla/package.py +++ b/var/spack/repos/builtin/packages/g4abla/package.py @@ -26,7 +26,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4ABLADATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4channeling/package.py b/var/spack/repos/builtin/packages/g4channeling/package.py index a579faa130a..4943130d2cc 100644 --- a/var/spack/repos/builtin/packages/g4channeling/package.py +++ b/var/spack/repos/builtin/packages/g4channeling/package.py @@ -24,7 +24,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4CHANNELINGDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4emlow/package.py b/var/spack/repos/builtin/packages/g4emlow/package.py index 19b35718376..59d25630264 100644 --- a/var/spack/repos/builtin/packages/g4emlow/package.py +++ b/var/spack/repos/builtin/packages/g4emlow/package.py @@ -38,7 +38,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4LEDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4ensdfstate/package.py b/var/spack/repos/builtin/packages/g4ensdfstate/package.py index 3c73c8d9885..f42d5ac044b 100644 --- a/var/spack/repos/builtin/packages/g4ensdfstate/package.py +++ b/var/spack/repos/builtin/packages/g4ensdfstate/package.py @@ -28,7 +28,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4ENSDFSTATEDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4incl/package.py b/var/spack/repos/builtin/packages/g4incl/package.py index 75a5f2e3e79..46ef09c61bb 100644 --- a/var/spack/repos/builtin/packages/g4incl/package.py +++ b/var/spack/repos/builtin/packages/g4incl/package.py @@ -27,7 +27,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4INCLDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4ndl/package.py b/var/spack/repos/builtin/packages/g4ndl/package.py index 4c0559dfac0..8943aba1949 100644 --- a/var/spack/repos/builtin/packages/g4ndl/package.py +++ b/var/spack/repos/builtin/packages/g4ndl/package.py @@ -27,7 +27,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4NEUTRONHPDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4neutronxs/package.py b/var/spack/repos/builtin/packages/g4neutronxs/package.py index 90d89cab670..2ba675286a0 100644 --- a/var/spack/repos/builtin/packages/g4neutronxs/package.py +++ b/var/spack/repos/builtin/packages/g4neutronxs/package.py @@ -26,7 +26,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4NEUTRONXSDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4nudexlib/package.py b/var/spack/repos/builtin/packages/g4nudexlib/package.py index eb48a6a4480..0a7ca8be5e3 100644 --- a/var/spack/repos/builtin/packages/g4nudexlib/package.py +++ b/var/spack/repos/builtin/packages/g4nudexlib/package.py @@ -25,7 +25,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4NUDEXLIBDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4particlexs/package.py b/var/spack/repos/builtin/packages/g4particlexs/package.py index 87ee6336a42..76ed7c2c5fc 100644 --- a/var/spack/repos/builtin/packages/g4particlexs/package.py +++ b/var/spack/repos/builtin/packages/g4particlexs/package.py @@ -30,7 +30,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4PARTICLEXSDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4photonevaporation/package.py b/var/spack/repos/builtin/packages/g4photonevaporation/package.py index 095721d5603..22af6b877b6 100644 --- a/var/spack/repos/builtin/packages/g4photonevaporation/package.py +++ b/var/spack/repos/builtin/packages/g4photonevaporation/package.py @@ -30,7 +30,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4LEVELGAMMADATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4pii/package.py b/var/spack/repos/builtin/packages/g4pii/package.py index ebffa8730da..981d3ea0d04 100644 --- a/var/spack/repos/builtin/packages/g4pii/package.py +++ b/var/spack/repos/builtin/packages/g4pii/package.py @@ -24,7 +24,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4PIIDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4radioactivedecay/package.py b/var/spack/repos/builtin/packages/g4radioactivedecay/package.py index 3281e9a9e5f..748cbf54394 100644 --- a/var/spack/repos/builtin/packages/g4radioactivedecay/package.py +++ b/var/spack/repos/builtin/packages/g4radioactivedecay/package.py @@ -30,7 +30,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4RADIOACTIVEDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4realsurface/package.py b/var/spack/repos/builtin/packages/g4realsurface/package.py index c5b47f786cf..6308dd21162 100644 --- a/var/spack/repos/builtin/packages/g4realsurface/package.py +++ b/var/spack/repos/builtin/packages/g4realsurface/package.py @@ -27,7 +27,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4REALSURFACEDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4saiddata/package.py b/var/spack/repos/builtin/packages/g4saiddata/package.py index cd8455027a3..829e3745095 100644 --- a/var/spack/repos/builtin/packages/g4saiddata/package.py +++ b/var/spack/repos/builtin/packages/g4saiddata/package.py @@ -25,7 +25,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4SAIDXSDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4tendl/package.py b/var/spack/repos/builtin/packages/g4tendl/package.py index b7116fb716d..14c76adf4f2 100644 --- a/var/spack/repos/builtin/packages/g4tendl/package.py +++ b/var/spack/repos/builtin/packages/g4tendl/package.py @@ -26,7 +26,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4PARTICLEHPDATA", install_path) diff --git a/var/spack/repos/builtin/packages/g4urrpt/package.py b/var/spack/repos/builtin/packages/g4urrpt/package.py index 7f73868932f..dae5236fb7f 100644 --- a/var/spack/repos/builtin/packages/g4urrpt/package.py +++ b/var/spack/repos/builtin/packages/g4urrpt/package.py @@ -26,7 +26,9 @@ def install(self, spec, prefix): install_path = join_path(prefix.share, "data", self.g4datasetname) install_tree(self.stage.source_path, install_path) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: install_path = join_path(self.prefix.share, "data", self.g4datasetname) env.set("G4URRPTDATA", install_path) diff --git a/var/spack/repos/builtin/packages/gadap/package.py b/var/spack/repos/builtin/packages/gadap/package.py index 59961c668ff..bb50836fa95 100644 --- a/var/spack/repos/builtin/packages/gadap/package.py +++ b/var/spack/repos/builtin/packages/gadap/package.py @@ -26,6 +26,6 @@ class Gadap(AutotoolsPackage): # libdap uses namespacing in recent versions, so we need to patch this source patch("cxx-updates.patch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CFLAGS", "-fPIC") env.set("CXXFLAGS", "-fPIC") diff --git a/var/spack/repos/builtin/packages/gams/package.py b/var/spack/repos/builtin/packages/gams/package.py index fc7b444f946..931615d8417 100644 --- a/var/spack/repos/builtin/packages/gams/package.py +++ b/var/spack/repos/builtin/packages/gams/package.py @@ -20,7 +20,7 @@ class Gams(Package): def url_for_version(self, version): return "file://{0}/linux_x64_64_sfx.exe".format(os.getcwd()) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path( "PATH", join_path(self.prefix, "gams{0}_linux_x64_64_sfx".format(self.version)) ) diff --git a/var/spack/repos/builtin/packages/garcon/package.py b/var/spack/repos/builtin/packages/garcon/package.py index a18839ddec4..12131969462 100644 --- a/var/spack/repos/builtin/packages/garcon/package.py +++ b/var/spack/repos/builtin/packages/garcon/package.py @@ -45,6 +45,8 @@ def configure_args(self): args += self.enable_or_disable("introspection") return args - def setup_dependent_build_environment(self, env, dep_spec): - if self.spec.satisfies("+introspection") and dep_spec.satisfies("+introspection"): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: + if self.spec.satisfies("+introspection") and dependent_spec.satisfies("+introspection"): env.append_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/garfieldpp/package.py b/var/spack/repos/builtin/packages/garfieldpp/package.py index cd4adc763f9..9248a9165bf 100644 --- a/var/spack/repos/builtin/packages/garfieldpp/package.py +++ b/var/spack/repos/builtin/packages/garfieldpp/package.py @@ -44,7 +44,7 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GARFIELD_INSTALL", self.prefix) env.set("HEED_DATABASE", self.prefix.share.Heed.database) @@ -56,6 +56,8 @@ def setup_run_environment(self, env): env.prepend_path("LD_LIBRARY_PATH", self.spec["root"].prefix.lib.root) env.prepend_path("LD_LIBRARY_PATH", self.spec["gsl"].prefix.lib.root) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("GARFIELD_INSTALL", self.prefix) env.set("HEED_DATABASE", self.prefix.share.Heed.database) diff --git a/var/spack/repos/builtin/packages/gate/package.py b/var/spack/repos/builtin/packages/gate/package.py index 4bfa2ee5bae..4e005728d3a 100644 --- a/var/spack/repos/builtin/packages/gate/package.py +++ b/var/spack/repos/builtin/packages/gate/package.py @@ -61,11 +61,11 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: gc_default_platform = self.spec.variants["default_platform"].value env.set("GC_DEFAULT_PLATFORM", gc_default_platform) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GC_GATE_EXE_DIR", self.prefix.bin) env.set( "GC_CONDOR_SCRIPT", join_path(self.prefix, "share", "jobsplitter", "condor.script") diff --git a/var/spack/repos/builtin/packages/gatk/package.py b/var/spack/repos/builtin/packages/gatk/package.py index fb2c1b0a59b..ae2e0e98f9c 100644 --- a/var/spack/repos/builtin/packages/gatk/package.py +++ b/var/spack/repos/builtin/packages/gatk/package.py @@ -101,5 +101,5 @@ def install(self, spec, prefix): **kwargs, ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GATK", join_path(self.prefix.bin, "GenomeAnalysisTK.jar")) diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index 6f634f84c04..dd35ff2c949 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -181,7 +181,7 @@ def cmake_args(self): args.append(self.define("GAUDI_CXX_STANDARD", "20")) return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # environment as in Gaudi.xenv env.prepend_path("PATH", self.prefix.scripts) env.prepend_path("PYTHONPATH", self.prefix.python) diff --git a/var/spack/repos/builtin/packages/gaussian-view/package.py b/var/spack/repos/builtin/packages/gaussian-view/package.py index dc66ef07799..d0d89f51de9 100644 --- a/var/spack/repos/builtin/packages/gaussian-view/package.py +++ b/var/spack/repos/builtin/packages/gaussian-view/package.py @@ -95,7 +95,7 @@ def caveats(self): ) @when("@:6.0") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GV_DIR", self.prefix) env.set("GV_LIB_PATH", self.prefix.lib) @@ -106,7 +106,7 @@ def setup_run_environment(self, env): env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins) @when("@6.1:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GV_DIR", self.prefix) # the wrappers in gv/exec setup everything just nicely diff --git a/var/spack/repos/builtin/packages/gaussian/package.py b/var/spack/repos/builtin/packages/gaussian/package.py index 07528f9899a..cf9766f81bb 100644 --- a/var/spack/repos/builtin/packages/gaussian/package.py +++ b/var/spack/repos/builtin/packages/gaussian/package.py @@ -52,7 +52,7 @@ def bsd_install(self): bsd_install = Executable(join_path("bsd", "install")) bsd_install() - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("g" + self.ver + "root", self.prefix) env.prepend_path("GAUSS_EXEDIR", self.g_root) diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index c0229346aa4..d89bd936ddf 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -1047,14 +1047,14 @@ def write_specs_file(self): set_install_permissions(specs_file) tty.info(f"Wrote new spec file to {specs_file}") - def setup_run_environment(self, env): - if self.spec.satisfies("languages=c"): + def setup_run_environment(self, env: EnvironmentModifications) -> None: + if self.cc and self.spec.satisfies("languages=c"): env.set("CC", self.cc) - if self.spec.satisfies("languages=c++"): + if self.cxx and self.spec.satisfies("languages=c++"): env.set("CXX", self.cxx) - if self.spec.satisfies("languages=fortran"): + if self.fortran and self.spec.satisfies("languages=fortran"): env.set("FC", self.fortran) env.set("F77", self.fortran) diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py index 344d6a9f4d0..9ee2f3b399d 100644 --- a/var/spack/repos/builtin/packages/gdal/package.py +++ b/var/spack/repos/builtin/packages/gdal/package.py @@ -512,7 +512,7 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): def determine_version(cls, exe): return Executable(exe)("--version", output=str, error=str).rstrip() - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+java"): class_paths = find(self.prefix, "*.jar") classpath = os.pathsep.join(class_paths) @@ -639,7 +639,7 @@ def cmake_args(self): class AutotoolsBuilder(AutotoolsBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Needed to install Python bindings to GDAL installation # prefix instead of Python installation prefix. # See swig/python/GNUmakefile for more details. diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py index aaf25a0d57f..b4edd503a87 100644 --- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py +++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py @@ -69,11 +69,13 @@ def url_for_version(self, version): url = "https://download.gnome.org/sources/gdk-pixbuf/{0}/gdk-pixbuf-{1}.tar.xz" return url.format(version.up_to(2), version) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) @@ -83,7 +85,7 @@ def meson_args(self): args.append(f"-Dtests={'true' if self.run_tests else 'false'}") return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # The "post-install.sh" script uses gdk-pixbuf-query-loaders, # which was installed earlier. env.prepend_path("PATH", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/gdrcopy/package.py b/var/spack/repos/builtin/packages/gdrcopy/package.py index 285ab7b3194..2daad61116d 100644 --- a/var/spack/repos/builtin/packages/gdrcopy/package.py +++ b/var/spack/repos/builtin/packages/gdrcopy/package.py @@ -40,7 +40,7 @@ class Gdrcopy(MakefilePackage, CudaPackage): depends_on("check") requires("+cuda") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CUDA", self.spec["cuda"].prefix) def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/geant3/package.py b/var/spack/repos/builtin/packages/geant3/package.py index b4558e7228c..7c9cca3e14d 100644 --- a/var/spack/repos/builtin/packages/geant3/package.py +++ b/var/spack/repos/builtin/packages/geant3/package.py @@ -41,6 +41,6 @@ def cmake_args(self): args.append(self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd")) return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("platform=darwin"): env.unset("MACOSX_DEPLOYMENT_TARGET") diff --git a/var/spack/repos/builtin/packages/geant4-vmc/package.py b/var/spack/repos/builtin/packages/geant4-vmc/package.py index 65ed2d67a8c..0c5e9a0e80d 100644 --- a/var/spack/repos/builtin/packages/geant4-vmc/package.py +++ b/var/spack/repos/builtin/packages/geant4-vmc/package.py @@ -40,6 +40,6 @@ class Geant4Vmc(CMakePackage): depends_on("geant4") depends_on("vmc") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("platform=darwin"): env.unset("MACOSX_DEPLOYMENT_TARGET") diff --git a/var/spack/repos/builtin/packages/gegl/package.py b/var/spack/repos/builtin/packages/gegl/package.py index d9a479ae38e..9de8ec59c28 100644 --- a/var/spack/repos/builtin/packages/gegl/package.py +++ b/var/spack/repos/builtin/packages/gegl/package.py @@ -37,10 +37,14 @@ class Gegl(MesonPackage): depends_on("gobject-introspection") depends_on("json-glib") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) diff --git a/var/spack/repos/builtin/packages/genemark-et/package.py b/var/spack/repos/builtin/packages/genemark-et/package.py index 658c69e8a53..f6580939b5d 100644 --- a/var/spack/repos/builtin/packages/genemark-et/package.py +++ b/var/spack/repos/builtin/packages/genemark-et/package.py @@ -63,5 +63,5 @@ def filter_sbang(self): files = glob.iglob("*.pl") filter_file(pattern, repl, *files, backup=False) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PERL5LIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/generate-ninja/package.py b/var/spack/repos/builtin/packages/generate-ninja/package.py index cad66cf067b..02b0b5a0320 100644 --- a/var/spack/repos/builtin/packages/generate-ninja/package.py +++ b/var/spack/repos/builtin/packages/generate-ninja/package.py @@ -29,7 +29,7 @@ class GenerateNinja(Package): depends_on("python", type="build") depends_on("llvm+clang", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DEPLOY", "1") env.set("CC", self.spec["llvm"].home.bin.clang) env.set("CXX", self.spec["llvm"].home.bin.join("clang++")) diff --git a/var/spack/repos/builtin/packages/genesis/package.py b/var/spack/repos/builtin/packages/genesis/package.py index 233093cb5eb..8fb16392484 100644 --- a/var/spack/repos/builtin/packages/genesis/package.py +++ b/var/spack/repos/builtin/packages/genesis/package.py @@ -92,7 +92,7 @@ def configure_args(self): options.append("--host=Fugaku") return options - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("FC", self.spec["mpi"].mpifc, force=True) env.set("F77", self.spec["mpi"].mpif77, force=True) env.set("CC", self.spec["mpi"].mpicc, force=True) diff --git a/var/spack/repos/builtin/packages/genie/package.py b/var/spack/repos/builtin/packages/genie/package.py index a49736dee66..53b4d177d9b 100644 --- a/var/spack/repos/builtin/packages/genie/package.py +++ b/var/spack/repos/builtin/packages/genie/package.py @@ -92,10 +92,10 @@ def url_for_version(self, version): else: return url.format(version.underscored) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GENIE", self.stage.source_path) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GENIE", self.prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/genometools/package.py b/var/spack/repos/builtin/packages/genometools/package.py index 8bc86886774..26c1e28df1c 100644 --- a/var/spack/repos/builtin/packages/genometools/package.py +++ b/var/spack/repos/builtin/packages/genometools/package.py @@ -34,5 +34,7 @@ class Genometools(MakefilePackage): def install(self, spec, prefix): make("install", f"prefix={prefix}") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("CPATH", self.prefix.include.genometools) diff --git a/var/spack/repos/builtin/packages/geopm-runtime/package.py b/var/spack/repos/builtin/packages/geopm-runtime/package.py index 20dd20dd6ea..4560864af01 100644 --- a/var/spack/repos/builtin/packages/geopm-runtime/package.py +++ b/var/spack/repos/builtin/packages/geopm-runtime/package.py @@ -152,7 +152,7 @@ def configure_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Required to ensure libgeopm.so # can be used with LD_PRELOAD if os.path.isdir(self.prefix.lib64): diff --git a/var/spack/repos/builtin/packages/geopm-service/package.py b/var/spack/repos/builtin/packages/geopm-service/package.py index 6b0057d52e5..3c7f33259f9 100644 --- a/var/spack/repos/builtin/packages/geopm-service/package.py +++ b/var/spack/repos/builtin/packages/geopm-service/package.py @@ -153,7 +153,7 @@ def configure_args(self): args.append("--disable-cpuid") return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Required to ensure geopmdpy can load # libgeopmd.so.2 via CFFI if os.path.isdir(self.prefix.lib64): diff --git a/var/spack/repos/builtin/packages/getorganelle/package.py b/var/spack/repos/builtin/packages/getorganelle/package.py index 242874f4c5c..4a125a156d4 100644 --- a/var/spack/repos/builtin/packages/getorganelle/package.py +++ b/var/spack/repos/builtin/packages/getorganelle/package.py @@ -30,6 +30,6 @@ class Getorganelle(PythonPackage): # Allow access to relevant runtime scripts # I.e. get_organelle_config.py, get_organelle_from_reads.py, etc. - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", prefix) env.prepend_path("PATH", prefix.Utilities) diff --git a/var/spack/repos/builtin/packages/gfsio/package.py b/var/spack/repos/builtin/packages/gfsio/package.py index 47a061fb85a..87bf6a03773 100644 --- a/var/spack/repos/builtin/packages/gfsio/package.py +++ b/var/spack/repos/builtin/packages/gfsio/package.py @@ -31,7 +31,7 @@ def cmake_args(self): args = [self.define("ENABLE_TESTS", self.run_tests)] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: lib = find_libraries("libgfsio", root=self.prefix, shared=False, recursive=True) # Only one library version, but still need to set _4 to make NCO happy for suffix in ("4", ""): diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py index 4fe0cf239cf..401ae2549a6 100644 --- a/var/spack/repos/builtin/packages/ginkgo/package.py +++ b/var/spack/repos/builtin/packages/ginkgo/package.py @@ -132,7 +132,7 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage): when="+rocm @1.8.0", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+sycl"): env.set("MKLROOT", join_path(spec["intel-oneapi-mkl"].prefix, "mkl", "latest")) diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py index cebb08a14b0..5a43e4e330a 100644 --- a/var/spack/repos/builtin/packages/git/package.py +++ b/var/spack/repos/builtin/packages/git/package.py @@ -195,7 +195,7 @@ def determine_variants(cls, exes, version_str): def patch(self): filter_file(r"^EXTLIBS =$", "#EXTLIBS =", "Makefile") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # 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). @@ -325,7 +325,7 @@ def install_subtree(self): make(" ".join(install_args)) install("git-subtree", self.prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Setup run environment if using SVN extension # Libs from perl-alien-svn and apr-util are required in # LD_LIBRARY_PATH diff --git a/var/spack/repos/builtin/packages/glibc/package.py b/var/spack/repos/builtin/packages/glibc/package.py index 46d851c5d5f..5863cd96183 100644 --- a/var/spack/repos/builtin/packages/glibc/package.py +++ b/var/spack/repos/builtin/packages/glibc/package.py @@ -113,7 +113,7 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage): conflicts("musl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:2.21"): env.append_flags("LDFLAGS", "-no-pie") if self.spec.satisfies("@:2.16"): diff --git a/var/spack/repos/builtin/packages/gluegen/package.py b/var/spack/repos/builtin/packages/gluegen/package.py index d2503edf8b5..52c373ceead 100644 --- a/var/spack/repos/builtin/packages/gluegen/package.py +++ b/var/spack/repos/builtin/packages/gluegen/package.py @@ -65,17 +65,19 @@ def install(self, spec, prefix): install_tree("make", prefix.make) filter_file("..", prefix, join_path(prefix.make, "build.xml"), string=True) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path( "CLASSPATH", join_path(self.stage.source_path, "ant-optional", "optional-1.5.4.jar") ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: class_paths = find(prefix.build, "*.jar") classpath = os.pathsep.join(class_paths) env.prepend_path("CLASSPATH", classpath) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: class_paths = find(prefix.build, "*.jar") classpath = os.pathsep.join(class_paths) env.prepend_path("CLASSPATH", classpath) diff --git a/var/spack/repos/builtin/packages/gmap-gsnap/package.py b/var/spack/repos/builtin/packages/gmap-gsnap/package.py index 07c5a40c85b..e725bb9206f 100644 --- a/var/spack/repos/builtin/packages/gmap-gsnap/package.py +++ b/var/spack/repos/builtin/packages/gmap-gsnap/package.py @@ -102,5 +102,5 @@ def install(self, spec, prefix): with working_dir(simd): make("install") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PERL", self.spec["perl"].prefix.bin.perl) diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py index a1b4dce28f0..7f2392c5746 100644 --- a/var/spack/repos/builtin/packages/gmsh/package.py +++ b/var/spack/repos/builtin/packages/gmsh/package.py @@ -195,5 +195,5 @@ def cmake_args(self): return options - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/gnuradio/package.py b/var/spack/repos/builtin/packages/gnuradio/package.py index 1f48d7cf892..d7eb86e39f0 100644 --- a/var/spack/repos/builtin/packages/gnuradio/package.py +++ b/var/spack/repos/builtin/packages/gnuradio/package.py @@ -68,14 +68,18 @@ class Gnuradio(CMakePackage): def cmake_args(self): return ["-DENABLE_INTERNAL_VOLK=OFF"] - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py index 26fb32edacb..731345287ac 100644 --- a/var/spack/repos/builtin/packages/gnutls/package.py +++ b/var/spack/repos/builtin/packages/gnutls/package.py @@ -90,7 +90,7 @@ 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_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+guile"): env.set("GUILE", self.spec["guile"].prefix.bin.guile) diff --git a/var/spack/repos/builtin/packages/go-bootstrap/package.py b/var/spack/repos/builtin/packages/go-bootstrap/package.py index a59ff36ecf7..c729d3825e6 100644 --- a/var/spack/repos/builtin/packages/go-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/go-bootstrap/package.py @@ -116,7 +116,9 @@ def url_for_version(self, version): def install(self, spec, prefix): install_tree(".", prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set GOROOT_BOOTSTRAP: When using an external compiler, get its GOROOT env""" if self.spec.external: # Use the go compiler added by ``spack external find go-bootstrap``: diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py index 6c3e3203342..d4cd1e4c99c 100644 --- a/var/spack/repos/builtin/packages/go/package.py +++ b/var/spack/repos/builtin/packages/go/package.py @@ -101,12 +101,12 @@ def determine_version(cls, exe): match = re.search(r"go version go(\S+)", output) return match.group(1) if match else None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # We need to set CC/CXX_FOR_TARGET, otherwise cgo will use the # internal Spack wrappers and fail. env.set("CC_FOR_TARGET", self["c"].cc) env.set("CXX_FOR_TARGET", self["cxx"].cxx) - env.set("GOMAXPROCS", make_jobs) + env.set("GOMAXPROCS", str(make_jobs)) def build(self, spec, prefix): # Build script depend on bash diff --git a/var/spack/repos/builtin/packages/gobject-introspection/package.py b/var/spack/repos/builtin/packages/gobject-introspection/package.py index a8ed96afa9f..7e75b3a7e03 100644 --- a/var/spack/repos/builtin/packages/gobject-introspection/package.py +++ b/var/spack/repos/builtin/packages/gobject-introspection/package.py @@ -115,21 +115,25 @@ def url_for_version(self, version): url = "https://download.gnome.org/sources/gobject-introspection/{0}/gobject-introspection-{1}.tar.xz" return url.format(version.up_to(2), version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Only needed for sbang.patch above if self.spec.satisfies("@:1.60"): env.set("SPACK_SBANG", sbang.sbang_install_path()) env.set("GI_SCANNER_DISABLE_CACHE", "1") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) env.set("GI_SCANNER_DISABLE_CACHE", "1") - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) diff --git a/var/spack/repos/builtin/packages/google-cloud-cli/package.py b/var/spack/repos/builtin/packages/google-cloud-cli/package.py index c4284a34716..e3551369401 100644 --- a/var/spack/repos/builtin/packages/google-cloud-cli/package.py +++ b/var/spack/repos/builtin/packages/google-cloud-cli/package.py @@ -77,13 +77,13 @@ class GoogleCloudCli(Package): def url_for_version(self, version): return f"https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-{version}-{self.system}-{self.machine}.{self.ext}" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://cloud.google.com/sdk/gcloud/reference/topic/startup env.set("CLOUDSDK_PYTHON", self.spec["python"].command.path) # ~70 dependencies with no hints as to what versions are supported, just use bundled deps env.set("CLOUDSDK_PYTHON_SITEPACKAGES", "0") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.setup_build_environment(env) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/gpgme/package.py b/var/spack/repos/builtin/packages/gpgme/package.py index 7c32fe2b86e..8ebe0b86f33 100644 --- a/var/spack/repos/builtin/packages/gpgme/package.py +++ b/var/spack/repos/builtin/packages/gpgme/package.py @@ -42,7 +42,7 @@ def configure_args(self): """Fix the build when incompatible Qt libraries are installed on the host""" return ["--enable-languages=cpp"] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Build tests create a public keyring in ~/.gnupg if $HOME is not redirected""" if self.run_tests: env.set("HOME", self.build_directory) diff --git a/var/spack/repos/builtin/packages/gptune/package.py b/var/spack/repos/builtin/packages/gptune/package.py index 17d584ee9e5..c0671e6a58a 100644 --- a/var/spack/repos/builtin/packages/gptune/package.py +++ b/var/spack/repos/builtin/packages/gptune/package.py @@ -195,7 +195,7 @@ def cache_test_sources(self): cp = which("cp") cp(script_path, join_path(python_platlib, "gptune")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GPTUNE_INSTALL_PATH", python_platlib) cmd = {"bash": which("bash"), "cp": which("cp"), "git": which("git"), "rm": which("rm")} diff --git a/var/spack/repos/builtin/packages/grace/package.py b/var/spack/repos/builtin/packages/grace/package.py index 97434a28326..8907575f539 100644 --- a/var/spack/repos/builtin/packages/grace/package.py +++ b/var/spack/repos/builtin/packages/grace/package.py @@ -63,7 +63,7 @@ def configure_args(self): args.append("--enable-netcdf") return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Grace installs a subfolder in the prefix directory # so we account for that... env.prepend_path("PATH", self.prefix.grace.bin) diff --git a/var/spack/repos/builtin/packages/grads/package.py b/var/spack/repos/builtin/packages/grads/package.py index 2e9a077a933..6c2353b0eec 100644 --- a/var/spack/repos/builtin/packages/grads/package.py +++ b/var/spack/repos/builtin/packages/grads/package.py @@ -83,7 +83,7 @@ def flag_handler(self, name, flags): return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SUPPLIBS", "/") # Recent versions configure scripts break without PKG_CONFIG set @@ -92,7 +92,7 @@ def setup_build_environment(self, env): if "+hdf4" in self.spec and "~shared" in self.spec["hdf"]: env.set("LIBS", self.spec["hdf:transitive"].libs) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GADDIR", self.prefix.data) @run_after("install") diff --git a/var/spack/repos/builtin/packages/graphviz/package.py b/var/spack/repos/builtin/packages/graphviz/package.py index 8813ec798c9..a5ace891c51 100644 --- a/var/spack/repos/builtin/packages/graphviz/package.py +++ b/var/spack/repos/builtin/packages/graphviz/package.py @@ -159,7 +159,7 @@ def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh", "NOCONFIG") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Set MACOSX_DEPLOYMENT_TARGET to 10.x due to old configure super().setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/gridlab-d/package.py b/var/spack/repos/builtin/packages/gridlab-d/package.py index eed224b21f4..a030caf9eae 100644 --- a/var/spack/repos/builtin/packages/gridlab-d/package.py +++ b/var/spack/repos/builtin/packages/gridlab-d/package.py @@ -52,7 +52,7 @@ def configure_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Need to add GLPATH otherwise Gridlab-D will not run. env.set("GLPATH", join_path(self.prefix, "lib", "gridlabd")) env.prepend_path("GLPATH", join_path(self.prefix, "share", "gridlabd")) diff --git a/var/spack/repos/builtin/packages/grnboost/package.py b/var/spack/repos/builtin/packages/grnboost/package.py index 3d3e4edd07d..5fec1640d55 100644 --- a/var/spack/repos/builtin/packages/grnboost/package.py +++ b/var/spack/repos/builtin/packages/grnboost/package.py @@ -29,7 +29,7 @@ class Grnboost(Package): depends_on("xgboost", type="run") depends_on("spark+hadoop", type="run") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: grnboost_jar = join_path(self.prefix, "target", "scala-2.11", "GRNBoost.jar") xgboost_version = self.spec["xgboost"].version.string xgboost_jar = join_path( diff --git a/var/spack/repos/builtin/packages/groff/package.py b/var/spack/repos/builtin/packages/groff/package.py index 16972d917c5..297eee85379 100644 --- a/var/spack/repos/builtin/packages/groff/package.py +++ b/var/spack/repos/builtin/packages/groff/package.py @@ -89,7 +89,7 @@ def configure_args(self): args.append("--without-libiconv-prefix") return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+x"): dir = join_path(self.prefix.lib, "X11", "app-defaults") env.prepend_path("XFILESEARCHPATH", dir) diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py index 42c7daa067e..3a4f44c2491 100644 --- a/var/spack/repos/builtin/packages/gromacs/package.py +++ b/var/spack/repos/builtin/packages/gromacs/package.py @@ -625,7 +625,7 @@ def patch(self): r"-gencode;arch=compute_20,code=sm_21;?", "", "cmake/gmxManageNvccConfig.cmake" ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cufftmp"): env.append_path( "LD_LIBRARY_PATH", @@ -952,7 +952,7 @@ def cmake_args(self): options.append("-DGMX_VERSION_STRING_OF_FORK=spack") return options - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cufftmp"): env.append_path( "LD_LIBRARY_PATH", diff --git a/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py b/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py index 776aded4177..f46e66bcec4 100644 --- a/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py +++ b/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py @@ -25,14 +25,18 @@ class GsettingsDesktopSchemas(MesonPackage): depends_on("gettext", type="build") depends_on("pkgconfig", type="build") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/gsl/package.py b/var/spack/repos/builtin/packages/gsl/package.py index 1b745936dd8..b92aa764d06 100644 --- a/var/spack/repos/builtin/packages/gsl/package.py +++ b/var/spack/repos/builtin/packages/gsl/package.py @@ -71,7 +71,7 @@ def configure_args(self): return configure_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # cmake looks for GSL_ROOT_DIR to find GSL so this helps pick the spack one # when there are multiple installations (e.g. a system one and a spack one) env.set("GSL_ROOT_DIR", self.prefix) diff --git a/var/spack/repos/builtin/packages/gsoap/package.py b/var/spack/repos/builtin/packages/gsoap/package.py index 3521945c316..0b8ce7cb9c1 100644 --- a/var/spack/repos/builtin/packages/gsoap/package.py +++ b/var/spack/repos/builtin/packages/gsoap/package.py @@ -55,8 +55,10 @@ class Gsoap(AutotoolsPackage, SourceforgePackage): def configure_args(self): return ["--enable-ipv6"] - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.prepend_path("PKG_CONFIG_PATH", "%s/lib/ldconfig" % self.prefix) + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: + env.prepend_path("PKG_CONFIG_PATH", "%s/lib/ldconfig" % self.prefix) def flag_handler(self, name, flags): if name in ["cflags", "cxxflags", "cppflags"]: diff --git a/var/spack/repos/builtin/packages/gtk-doc/package.py b/var/spack/repos/builtin/packages/gtk-doc/package.py index 190fe77853f..b0fb47ed3b7 100644 --- a/var/spack/repos/builtin/packages/gtk-doc/package.py +++ b/var/spack/repos/builtin/packages/gtk-doc/package.py @@ -49,7 +49,7 @@ class GtkDoc(AutotoolsPackage): patch("build.patch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """If test/tools.sh does not find gtkdocize it starts a sh which blocks""" env.prepend_path("PATH", join_path(self.stage.source_path, "buildsystems", "autotools")) diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py index 6c537dd55e3..9b951c46b23 100644 --- a/var/spack/repos/builtin/packages/gtkplus/package.py +++ b/var/spack/repos/builtin/packages/gtkplus/package.py @@ -107,17 +107,21 @@ def patch(self): if self.spec.satisfies("@3.24:%gcc@11:"): filter_file(" '-Werror=array-bounds',", "", "meson.build", string=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) class BuildEnvironment: - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) diff --git a/var/spack/repos/builtin/packages/gtksourceview/package.py b/var/spack/repos/builtin/packages/gtksourceview/package.py index 2fa15260c05..517ccf17362 100644 --- a/var/spack/repos/builtin/packages/gtksourceview/package.py +++ b/var/spack/repos/builtin/packages/gtksourceview/package.py @@ -47,16 +47,20 @@ def url_for_version(self, version): url += "{0}/gtksourceview-{1}.tar.xz" return url.format(version.up_to(2), version) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) # TODO: If https://github.com/spack/spack/pull/12344 is merged, this diff --git a/var/spack/repos/builtin/packages/guidance/package.py b/var/spack/repos/builtin/packages/guidance/package.py index 11f30b84652..e6e8722690a 100644 --- a/var/spack/repos/builtin/packages/guidance/package.py +++ b/var/spack/repos/builtin/packages/guidance/package.py @@ -42,5 +42,5 @@ def install(self, spac, prefix): with working_dir(join_path("www", "Guidance")): # copy without suffix install("guidance.pl", join_path(prefix.bin.www.Guidance, "guidance")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", prefix.bin.www.Guidance) diff --git a/var/spack/repos/builtin/packages/gurobi/package.py b/var/spack/repos/builtin/packages/gurobi/package.py index aa6c46e936c..353bb42e750 100644 --- a/var/spack/repos/builtin/packages/gurobi/package.py +++ b/var/spack/repos/builtin/packages/gurobi/package.py @@ -50,7 +50,7 @@ def patch(self): gurobi_shell = join_path("linux64", "bin", "gurobi.sh") filter_file(r":\$PYTHONPATH", "", gurobi_shell) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("GUROBI_HOME", self.prefix) env.set("GRB_LICENSE_FILE", join_path(self.prefix, "gurobi.lic")) env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/h5bench/package.py b/var/spack/repos/builtin/packages/h5bench/package.py index a1f6f41860f..c086c7c5dab 100644 --- a/var/spack/repos/builtin/packages/h5bench/package.py +++ b/var/spack/repos/builtin/packages/h5bench/package.py @@ -51,7 +51,7 @@ class H5bench(CMakePackage): depends_on("parallel-netcdf", when="+e3sm") depends_on("parallel-netcdf", when="+all") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HDF5_HOME", self.spec["hdf5"].prefix) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/hal/package.py b/var/spack/repos/builtin/packages/hal/package.py index c5a71dc0fb0..5c849f05e1c 100644 --- a/var/spack/repos/builtin/packages/hal/package.py +++ b/var/spack/repos/builtin/packages/hal/package.py @@ -42,7 +42,7 @@ def patch(self): r"^include \$\{sonLibRootDir\}/include\.mk", "# include ${sonLibRootDir}/include.mk" ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("sonLibRootDir", self.spec["sonlib"].prefix) def install(self, spec, prefix): @@ -102,5 +102,5 @@ def install(self, spec, prefix): # The hal directory is a python library so we set the path # to be the installation root - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py index 22f28373c5e..e11df8f692a 100644 --- a/var/spack/repos/builtin/packages/harfbuzz/package.py +++ b/var/spack/repos/builtin/packages/harfbuzz/package.py @@ -125,10 +125,12 @@ def flag_handler(self, name, flags): flags.append("-std=gnu99") return None, None, flags - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) @@ -138,7 +140,9 @@ def patch(self): class SetupEnvironment: - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) diff --git a/var/spack/repos/builtin/packages/hc/package.py b/var/spack/repos/builtin/packages/hc/package.py index a77595ff77b..d02a4709d6b 100644 --- a/var/spack/repos/builtin/packages/hc/package.py +++ b/var/spack/repos/builtin/packages/hc/package.py @@ -26,7 +26,7 @@ class Hc(MakefilePackage): # /usr/bin/ld: cannot find -lggrd parallel = False - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GMTHOME", self.spec["gmt"].prefix) env.set("NETCDFHOME", self.spec["netcdf-c"].prefix) env.set("HC_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/hdf-eos2/package.py b/var/spack/repos/builtin/packages/hdf-eos2/package.py index 22c52796959..40de73c4727 100644 --- a/var/spack/repos/builtin/packages/hdf-eos2/package.py +++ b/var/spack/repos/builtin/packages/hdf-eos2/package.py @@ -129,7 +129,7 @@ def flag_handler(self, name, flags): return flags, None, None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Add flags to LDFLAGS for any dependencies that need it extra_ldflags = [] # hdf might have link dependency on rpc, if so need to add flags diff --git a/var/spack/repos/builtin/packages/hdf5-blosc/package.py b/var/spack/repos/builtin/packages/hdf5-blosc/package.py index 66d817817d4..10c2a348c30 100644 --- a/var/spack/repos/builtin/packages/hdf5-blosc/package.py +++ b/var/spack/repos/builtin/packages/hdf5-blosc/package.py @@ -201,14 +201,18 @@ def check_install(self, spec): raise RuntimeError("HDF5 Blosc plugin check failed") shutil.rmtree(checkdir) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.append_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) diff --git a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py index 79579fbb106..e892f03eff1 100644 --- a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py @@ -38,5 +38,5 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) diff --git a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py index ca319f8228e..bc25b6f9ba0 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py @@ -41,7 +41,7 @@ class Hdf5VolAsync(CMakePackage): depends_on("openmpi +thread_multiple", when="^[virtuals=mpi] openmpi@:2") depends_on("mvapich2 threads=multiple", when="^[virtuals=mpi] mvapich2") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) env.set("MPICH_MAX_THREAD_SAFETY", "multiple") diff --git a/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py b/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py index d741663b238..b8f724aa8a6 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py @@ -30,7 +30,7 @@ def flag_handler(self, name, flags): flags.append("-Wno-error=incompatible-function-pointer-types") return (flags, None, None) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py b/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py index 3a5d7f03286..be8ea50bdb6 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py @@ -41,7 +41,7 @@ def cmake_args(self): return cmake_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("HDF5_PLUGIN_PATH", self.prefix.lib) def check(self): diff --git a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py index 6fff746f084..a32a433af44 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py @@ -28,7 +28,7 @@ class Hdf5VolLog(AutotoolsPackage): depends_on("libtool", type="build") depends_on("m4", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("HDF5_PLUGIN_PATH", self.spec.prefix.lib) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index cca72214e6a..ed206beced0 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -507,10 +507,10 @@ def is_enabled(text): return results @when("@:1.8.21,1.10.0:1.10.5+szip") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SZIP_INSTALL", self.spec["szip"].prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # According to related github posts and problems running test_install # as a stand-alone test, it appears the lib path must be added to # LD_LIBRARY_PATH. diff --git a/var/spack/repos/builtin/packages/hdfview/package.py b/var/spack/repos/builtin/packages/hdfview/package.py index 4b824014576..3441594b4a8 100644 --- a/var/spack/repos/builtin/packages/hdfview/package.py +++ b/var/spack/repos/builtin/packages/hdfview/package.py @@ -51,7 +51,7 @@ def install(self, spec, prefix): chmod("+x", self.prefix.bin.hdfview) install_tree(path, prefix) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HDF5LIBS", self.spec["hdf5"].prefix) env.set("HDFLIBS", self.spec["hdf"].prefix) env.set("ANT_HOME", self.spec["ant"].prefix) diff --git a/var/spack/repos/builtin/packages/heasoft/package.py b/var/spack/repos/builtin/packages/heasoft/package.py index 08f9198d126..706b6a8611f 100644 --- a/var/spack/repos/builtin/packages/heasoft/package.py +++ b/var/spack/repos/builtin/packages/heasoft/package.py @@ -138,7 +138,7 @@ def generate_environment(self): headas_setup = Executable(headas_setup_file) headas_setup("sh") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: try: env.extend( EnvironmentModifications.from_sourcing_file( diff --git a/var/spack/repos/builtin/packages/heimdall/package.py b/var/spack/repos/builtin/packages/heimdall/package.py index 7b76a16d20b..fd35934e972 100644 --- a/var/spack/repos/builtin/packages/heimdall/package.py +++ b/var/spack/repos/builtin/packages/heimdall/package.py @@ -32,7 +32,7 @@ class Heimdall(AutotoolsPackage, CudaPackage): depends_on(f"psrdada cuda_arch={arch}", when=f"cuda_arch={arch}") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec["psrdada"].prefix.bin) env.prepend_path("PATH", self.prefix.bin) env.prepend_path("LD_LIBRARY_PATH", self.spec["dedisp"].prefix.lib) diff --git a/var/spack/repos/builtin/packages/helics/package.py b/var/spack/repos/builtin/packages/helics/package.py index 85c891f3e4e..38361683385 100644 --- a/var/spack/repos/builtin/packages/helics/package.py +++ b/var/spack/repos/builtin/packages/helics/package.py @@ -197,7 +197,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+python"): env.prepend_path("PYTHONPATH", self.prefix.python) diff --git a/var/spack/repos/builtin/packages/hepmcanalysis/package.py b/var/spack/repos/builtin/packages/hepmcanalysis/package.py index 9a6314303ea..769cb54ffda 100644 --- a/var/spack/repos/builtin/packages/hepmcanalysis/package.py +++ b/var/spack/repos/builtin/packages/hepmcanalysis/package.py @@ -34,7 +34,7 @@ def patch(self): "config.mk", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HepMCdir", self.spec["hepmc"].prefix) env.set("FastJetdir", self.spec["fastjet"].prefix) env.set("CLHEPdir", self.spec["clhep"].prefix) diff --git a/var/spack/repos/builtin/packages/hermes/package.py b/var/spack/repos/builtin/packages/hermes/package.py index 49fdb7d65a5..bf0fce1b2c7 100644 --- a/var/spack/repos/builtin/packages/hermes/package.py +++ b/var/spack/repos/builtin/packages/hermes/package.py @@ -84,19 +84,19 @@ def cmake_args(self): args.append(self.define("HERMES_ENABLE_PYTHON", "ON")) return args - def set_include(self, env, path): + def set_include(self, env: EnvironmentModifications, path: str): env.append_flags("CFLAGS", "-I{}".format(path)) env.append_flags("CXXFLAGS", "-I{}".format(path)) env.prepend_path("INCLUDE", "{}".format(path)) env.prepend_path("CPATH", "{}".format(path)) - def set_lib(self, env, path): + def set_lib(self, env: EnvironmentModifications, path: str): env.prepend_path("LIBRARY_PATH", path) env.prepend_path("LD_LIBRARY_PATH", path) env.append_flags("LDFLAGS", "-L{}".format(path)) env.prepend_path("PYTHONPATH", "{}".format(path)) - def set_flags(self, env): + def set_flags(self, env: EnvironmentModifications, path: str): self.set_include(env, "{}/include".format(self.prefix)) self.set_include(env, "{}/include".format(self.prefix)) self.set_lib(env, "{}/lib".format(self.prefix)) @@ -104,8 +104,10 @@ def set_flags(self, env): env.prepend_path("CMAKE_PREFIX_PATH", "{}/cmake".format(self.prefix)) env.prepend_path("CMAKE_MODULE_PATH", "{}/cmake".format(self.prefix)) - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - self.set_flags(spack_env) - - def setup_run_environment(self, env): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: + self.set_flags(env) + + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.set_flags(env) diff --git a/var/spack/repos/builtin/packages/herwig3/package.py b/var/spack/repos/builtin/packages/herwig3/package.py index 684b76cb948..ab409becfa9 100644 --- a/var/spack/repos/builtin/packages/herwig3/package.py +++ b/var/spack/repos/builtin/packages/herwig3/package.py @@ -91,7 +91,7 @@ def flag_handler(self, name, flags): return (flags, None, None) return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: thepeg_home = self.spec["thepeg"].prefix env.prepend_path("LD_LIBRARY_PATH", thepeg_home.lib.ThePEG) env.set("HERWIGINCLUDE", "-I" + self.prefix.include) diff --git a/var/spack/repos/builtin/packages/herwigpp/package.py b/var/spack/repos/builtin/packages/herwigpp/package.py index f81b417802f..5591939fcdf 100644 --- a/var/spack/repos/builtin/packages/herwigpp/package.py +++ b/var/spack/repos/builtin/packages/herwigpp/package.py @@ -33,7 +33,7 @@ class Herwigpp(AutotoolsPackage): depends_on("fastjet") depends_on("thepeg@1.9.2", when="@2.7.1") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.spec["thepeg"].prefix.lib.ThePEG) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py b/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py index f119eff1901..ff100a76f6f 100644 --- a/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py +++ b/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py @@ -17,14 +17,18 @@ class HicolorIconTheme(AutotoolsPackage): version("0.17", sha256="317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/hicops/package.py b/var/spack/repos/builtin/packages/hicops/package.py index 7f45ddcb3a8..95dd1d9cada 100644 --- a/var/spack/repos/builtin/packages/hicops/package.py +++ b/var/spack/repos/builtin/packages/hicops/package.py @@ -109,7 +109,7 @@ class Hicops(CMakePackage): conflicts("+mpip -timemory") conflicts("+mpip -mpi") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.tools) env.prepend_path("PATH", self.prefix.bin.tools) env.set("HICOPS_INSTALL", self.prefix) diff --git a/var/spack/repos/builtin/packages/hip-tensor/package.py b/var/spack/repos/builtin/packages/hip-tensor/package.py index 8a25a8d5f7b..2b479d37c40 100644 --- a/var/spack/repos/builtin/packages/hip-tensor/package.py +++ b/var/spack/repos/builtin/packages/hip-tensor/package.py @@ -69,7 +69,7 @@ class HipTensor(CMakePackage, ROCmPackage): ]: depends_on(f"hipcc@{ver}", when=f"@{ver}") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@6.1"): env.set("CXX", self.spec["hipcc"].prefix.bin.hipcc) else: diff --git a/var/spack/repos/builtin/packages/hip-tests/package.py b/var/spack/repos/builtin/packages/hip-tests/package.py index 4d7ba5d2f56..d794b07a412 100644 --- a/var/spack/repos/builtin/packages/hip-tests/package.py +++ b/var/spack/repos/builtin/packages/hip-tests/package.py @@ -83,7 +83,7 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index b44122f56ed..03b7e9f30de 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -532,13 +532,15 @@ def set_variables(self, env): # This is picked up by CMake when using HIP as a CMake language. env.append_path("HIPFLAGS", f"--gcc-toolchain={self.compiler.prefix}", separator=" ") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: self.set_variables(env) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.set_variables(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.set_variables(env) if "amdgpu_target" in dependent_spec.variants: @@ -546,7 +548,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): if "none" not in arch and "auto" not in arch: env.set("HCC_AMDGPU_TARGET", ",".join(arch.value)) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_dependent_build_environment(env, dependent_spec) def setup_dependent_package(self, module, dependent_spec): diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index 2cb24b08d61..b8c38fa6497 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -147,7 +147,7 @@ def determine_version(cls, lib): ver = None return ver - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): self.asan_on(env) diff --git a/var/spack/repos/builtin/packages/hipblaslt/package.py b/var/spack/repos/builtin/packages/hipblaslt/package.py index 54c45b5dcad..90c306b3a07 100644 --- a/var/spack/repos/builtin/packages/hipblaslt/package.py +++ b/var/spack/repos/builtin/packages/hipblaslt/package.py @@ -82,7 +82,7 @@ class Hipblaslt(CMakePackage): patch("0001-Set-LLVM_Path-Add-Hiblas-Include-to-CmakeLists-6.1.Patch", when="@6.1:6.2") patch("0001-Set-LLVM-Path-6.3.Patch", when="@6.3:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("@6.3.0:"): env.set( diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index f2c3d4dd2e2..cafe568b849 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -96,7 +96,7 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): # fix hardcoded search in /opt/rocm and broken config mode search patch("find-hip-cuda-rocm-5.3.patch", when="@5.3: +cuda") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+rocm"): env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 2a46dfebc97..e6ab3069707 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -105,7 +105,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): # https://github.com/ROCm/rocFFT/pull/85) patch("001-remove-submodule-and-sync-shared-files-from-rocFFT.patch", when="@6.0.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): self.asan_on(env) diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index 2f8b4c06735..eca0015408b 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -75,7 +75,7 @@ class Hipfort(CMakePackage): ]: depends_on(f"hip@{ver}", type="build", when=f"@{ver}") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index e7e7eede928..8d6f7423bd2 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -106,7 +106,7 @@ class HipifyClang(CMakePackage): ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # The installer puts the binaries directly into the prefix # instead of prefix/bin, so add prefix to the PATH env.prepend_path("PATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/hiprand/package.py b/var/spack/repos/builtin/packages/hiprand/package.py index 1a9481f3056..b95939d53c4 100644 --- a/var/spack/repos/builtin/packages/hiprand/package.py +++ b/var/spack/repos/builtin/packages/hiprand/package.py @@ -118,7 +118,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): "rocrand amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): self.asan_on(env) diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py index 6219fdf61fb..38a6382d247 100644 --- a/var/spack/repos/builtin/packages/hipsolver/package.py +++ b/var/spack/repos/builtin/packages/hipsolver/package.py @@ -144,7 +144,7 @@ def determine_version(cls, lib): ver = None return ver - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): self.asan_on(env) diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 22d2ef1b6db..071ca4df56f 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -115,7 +115,7 @@ def determine_version(cls, lib): ver = None return ver - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): self.asan_on(env) diff --git a/var/spack/repos/builtin/packages/hipsparselt/package.py b/var/spack/repos/builtin/packages/hipsparselt/package.py index 3fca3d9074f..047ac36ff98 100644 --- a/var/spack/repos/builtin/packages/hipsparselt/package.py +++ b/var/spack/repos/builtin/packages/hipsparselt/package.py @@ -91,7 +91,7 @@ class Hipsparselt(CMakePackage, ROCmPackage): patch("0001-update-llvm-path-add-hipsparse-include-dir-for-spack-6.2.patch", when="@6.2") patch("0001-update-llvm-path-add-hipsparse-include-dir-for-spack-6.3.patch", when="@6.3") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/hiptt/package.py b/var/spack/repos/builtin/packages/hiptt/package.py index fa60f5e5b12..e41969ba1c1 100644 --- a/var/spack/repos/builtin/packages/hiptt/package.py +++ b/var/spack/repos/builtin/packages/hiptt/package.py @@ -24,7 +24,9 @@ class Hiptt(MakefilePackage, ROCmPackage): patch("bugfix_make.patch") # To enable this package add it to the LD_LIBRARY_PATH - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: hiptt_home = self.prefix env.prepend_path("cuTT_ROOT", hiptt_home) env.prepend_path("cuTT_LIBRARY", hiptt_home.lib) diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py index 15d25de0f06..04f21fb464e 100644 --- a/var/spack/repos/builtin/packages/hpctoolkit/package.py +++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py @@ -267,7 +267,7 @@ def patch(self): # module file. The run dependencies are all curried into hpctoolkit # and we don't want to risk exposing a package if the application # uses a different version of the same package. - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.clear() env.prepend_path("PATH", spec.prefix.bin) diff --git a/var/spack/repos/builtin/packages/hpcx-mpi/package.py b/var/spack/repos/builtin/packages/hpcx-mpi/package.py index 004e509d94a..e5f7c5219fb 100644 --- a/var/spack/repos/builtin/packages/hpcx-mpi/package.py +++ b/var/spack/repos/builtin/packages/hpcx-mpi/package.py @@ -38,8 +38,10 @@ def make_base_environment(self, prefix, env): env.prepend_path("LD_LIBRARY_PATH", prefix.lib) env.set("OPAL_PREFIX", prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.make_base_environment(self.prefix, env) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.make_base_environment(self.prefix, env) diff --git a/var/spack/repos/builtin/packages/hping/package.py b/var/spack/repos/builtin/packages/hping/package.py index d186867825d..89862e860ed 100644 --- a/var/spack/repos/builtin/packages/hping/package.py +++ b/var/spack/repos/builtin/packages/hping/package.py @@ -22,7 +22,7 @@ class Hping(AutotoolsPackage): depends_on("libpcap") depends_on("tcl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("TCLSH", self.spec["tcl"].prefix.bin.tclsh) @run_before("configure") @@ -37,5 +37,5 @@ def install(self, spec, prefix): mkdirp(prefix.sbin) make("install") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index a268920448b..3e337e7f90b 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -158,7 +158,7 @@ def determine_version(cls, lib): ver = None return ver - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@5.7: +asan"): numa_inc = self.spec["numactl"].prefix.include numa_lib = self.spec["numactl"].prefix.lib diff --git a/var/spack/repos/builtin/packages/hybpiper/package.py b/var/spack/repos/builtin/packages/hybpiper/package.py index 5b0e23e8aa2..d8631404a0c 100644 --- a/var/spack/repos/builtin/packages/hybpiper/package.py +++ b/var/spack/repos/builtin/packages/hybpiper/package.py @@ -57,7 +57,7 @@ class Hybpiper(PythonPackage, Package): depends_on("spades") depends_on("spades@3.15.4:", when="@2.1:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("HYBPIPER_HOME", self.prefix) @when("@:1.3.1") diff --git a/var/spack/repos/builtin/packages/hybrid-lambda/package.py b/var/spack/repos/builtin/packages/hybrid-lambda/package.py index 0a06b51dbf5..4f7cdb49ea8 100644 --- a/var/spack/repos/builtin/packages/hybrid-lambda/package.py +++ b/var/spack/repos/builtin/packages/hybrid-lambda/package.py @@ -44,6 +44,6 @@ def change_install_option_in_makefile(self): filter_file(r"INSTALL = /bin/install -c", "INSTALL = /bin/install -C", "Makefile") @on_package_attributes(run_tests=True) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # build testcases with cppunit env.prepend_path("LD_LIBRARY_PATH", self.spec["cppunit"].libs.directories[0]) diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index fd7fa7878b0..1a04f5daa03 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -279,7 +279,7 @@ def initconfig_package_entries(self): return entries - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+openmp %apple-clang"): env.append_flags("CPPFLAGS", self.compiler.openmp_flag) env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags) diff --git a/var/spack/repos/builtin/packages/hypre-cmake/package.py b/var/spack/repos/builtin/packages/hypre-cmake/package.py index 4be4034190e..49534684c29 100644 --- a/var/spack/repos/builtin/packages/hypre-cmake/package.py +++ b/var/spack/repos/builtin/packages/hypre-cmake/package.py @@ -80,7 +80,7 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cuda"): env.set("CUDA_HOME", self.spec["cuda"].prefix) env.set("CUDA_PATH", self.spec["cuda"].prefix) diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py index 92d3221dd8a..6933cefdf4f 100644 --- a/var/spack/repos/builtin/packages/hypre/package.py +++ b/var/spack/repos/builtin/packages/hypre/package.py @@ -347,7 +347,7 @@ def configure_args(self): return configure_args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+mpi"): env.set("CC", spec["mpi"].mpicc) diff --git a/var/spack/repos/builtin/packages/icedtea/package.py b/var/spack/repos/builtin/packages/icedtea/package.py index 70ab9bab077..460de022236 100644 --- a/var/spack/repos/builtin/packages/icedtea/package.py +++ b/var/spack/repos/builtin/packages/icedtea/package.py @@ -189,12 +189,14 @@ def configure_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set JAVA_HOME.""" env.set("JAVA_HOME", self.home) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set JAVA_HOME and CLASSPATH. CLASSPATH contains the installation prefix for the extension and any @@ -210,7 +212,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): classpath = os.pathsep.join(class_paths) env.set("CLASSPATH", classpath) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set CLASSPATH. CLASSPATH contains the installation prefix for the extension and any diff --git a/var/spack/repos/builtin/packages/icet/package.py b/var/spack/repos/builtin/packages/icet/package.py index 9cd69ac8586..6bd028fa61e 100644 --- a/var/spack/repos/builtin/packages/icet/package.py +++ b/var/spack/repos/builtin/packages/icet/package.py @@ -30,6 +30,8 @@ def cmake_args(self): self.define_from_variant("BUILD_SHARED_LIBS", "shared"), ] - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Work-around for ill-placed CMake modules""" env.prepend_path("CMAKE_PREFIX_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py index 93de1b824a1..0e83737c6d3 100644 --- a/var/spack/repos/builtin/packages/icu4c/package.py +++ b/var/spack/repos/builtin/packages/icu4c/package.py @@ -92,7 +92,7 @@ class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder): # Need to make sure that locale is UTF-8 in order to process source files in UTF-8. @when("@59:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LC_ALL", "en_US.UTF-8") def configure_args(self): @@ -114,7 +114,7 @@ def configure_args(self): class MSBuildBuilder(spack.build_systems.msbuild.MSBuildBuilder): # Need to make sure that locale is UTF-8 in order to process source files in UTF-8. @when("@59:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LC_ALL", "en_US.UTF-8") def msbuild_args(self): diff --git a/var/spack/repos/builtin/packages/idl/package.py b/var/spack/repos/builtin/packages/idl/package.py index 556b604c738..1cdf2f538e4 100644 --- a/var/spack/repos/builtin/packages/idl/package.py +++ b/var/spack/repos/builtin/packages/idl/package.py @@ -30,7 +30,7 @@ def install(self, spec, prefix): install_script = Executable("./install.sh") install_script("-s", input="silent/idl_answer_file") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # set necessary environment variables env.prepend_path("EXELIS_DIR", self.prefix) env.prepend_path("IDL_DIR", self.prefix.idl) diff --git a/var/spack/repos/builtin/packages/improved-rdock/package.py b/var/spack/repos/builtin/packages/improved-rdock/package.py index 9a4d793bd15..48f964e5be9 100644 --- a/var/spack/repos/builtin/packages/improved-rdock/package.py +++ b/var/spack/repos/builtin/packages/improved-rdock/package.py @@ -60,7 +60,7 @@ def install(self, spec, prefix): set_executable(shfile) install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("RBT_ROOT", self.prefix) def test_rdock(self): diff --git a/var/spack/repos/builtin/packages/influxdb/package.py b/var/spack/repos/builtin/packages/influxdb/package.py index 2bb6761894c..92e88294fee 100644 --- a/var/spack/repos/builtin/packages/influxdb/package.py +++ b/var/spack/repos/builtin/packages/influxdb/package.py @@ -42,7 +42,7 @@ class Influxdb(Package): if pkg: version(ver, sha256=pkg[0], url=pkg[1]) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.usr.bin) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/intel-llvm/package.py b/var/spack/repos/builtin/packages/intel-llvm/package.py index 67452de9bcc..f2d715c0ec8 100644 --- a/var/spack/repos/builtin/packages/intel-llvm/package.py +++ b/var/spack/repos/builtin/packages/intel-llvm/package.py @@ -27,10 +27,10 @@ class IntelLlvm(CMakePackage): # conflicts('target != x86_64', # msg='Intel LLVM compiler currently only works for x86') - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", self.compiler.cxx11_flag) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+clang"): env.set("CC", join_path(self.spec.prefix.bin, "clang")) env.set("CXX", join_path(self.spec.prefix.bin, "clang++")) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py index 0755331d973..c5081eef589 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py @@ -81,7 +81,7 @@ def oneapi_compiler_prefix(self): oneapi_version = self.spec["intel-oneapi-compilers"].version return self.spec["intel-oneapi-compilers"].prefix.compiler.join(str(oneapi_version)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Adds environment variables to the generated module file. These environment variables come from running: @@ -99,7 +99,9 @@ def setup_run_environment(self, env): env.set("F77", bin_prefix.ifort) env.set("FC", bin_prefix.ifort) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: super().setup_dependent_build_environment(env, dependent_spec) # Edge cases for Intel's oneAPI compilers when using the legacy classic compilers: # Always pass flags to disable deprecation warnings, since these warnings can diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py index eb70fef136d..21b2e73010c 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py @@ -444,7 +444,7 @@ def _classic_bin(self): def compiler_search_prefix(self): return self._llvm_bin - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Adds environment variables to the generated module file. These environment variables come from running: @@ -470,7 +470,9 @@ def setup_run_environment(self, env): env.set("F77", self._llvm_bin.ifx) env.set("FC", self._llvm_bin.ifx) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: super().setup_dependent_build_environment(env, dependent_spec) # workaround bug in icpx driver where it requires sycl-post-link is on the PATH # It is located in the same directory as the driver. Error message: @@ -479,9 +481,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): # also ensures that shared objects and libraries required by the compiler, # e.g. libonnx, can be found succesfully # due to a fix, this is no longer required for OneAPI versions >= 2024.2 - bin_dir = os.path.dirname(self.cxx) - lib_dir = os.path.join(os.path.dirname(bin_dir), "lib") if self.cxx and self.spec.satisfies("%oneapi@:2024.1"): + bin_dir = os.path.dirname(self.cxx) + lib_dir = os.path.join(os.path.dirname(bin_dir), "lib") env.prepend_path("PATH", bin_dir) env.prepend_path("LD_LIBRARY_PATH", lib_dir) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py index fb02255bd86..edf412dc855 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py @@ -233,7 +233,9 @@ def libs(self): else: return IntelOneApiStaticLibraryList(libs, system_libs) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Only if environment modifications are desired (default is +envmods) if self.spec.satisfies("+envmods"): env.set("MKLROOT", self.component_prefix) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py index 573b520b0ab..d4b8e856ddd 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py @@ -204,7 +204,9 @@ def setup_dependent_package(self, module, dep_spec): # no self.spec.mpif90 self.spec.mpifc = wrappers[4] - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: dependent_module = dependent_spec.package.module for var_name, attr_name in ( ("I_MPI_CC", "spack_cc"), diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py index 567a22e1dda..bcc5871fc8d 100644 --- a/var/spack/repos/builtin/packages/intel-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-tbb/package.py @@ -195,7 +195,7 @@ def libs(self): class SetupEnvironment: # We set OS here in case the user has it set to something else # that TBB doesn't expect. - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("OS", platform.system()) diff --git a/var/spack/repos/builtin/packages/intel-xed/package.py b/var/spack/repos/builtin/packages/intel-xed/package.py index a15f56bfce9..783fccba00f 100644 --- a/var/spack/repos/builtin/packages/intel-xed/package.py +++ b/var/spack/repos/builtin/packages/intel-xed/package.py @@ -102,7 +102,7 @@ def patch(self): except OSError: pass - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # XED needs PYTHONPATH to find the mbuild directory. env.prepend_path("PYTHONPATH", self.mdir) diff --git a/var/spack/repos/builtin/packages/ip/package.py b/var/spack/repos/builtin/packages/ip/package.py index 5ee1f20ed29..47743f813cd 100644 --- a/var/spack/repos/builtin/packages/ip/package.py +++ b/var/spack/repos/builtin/packages/ip/package.py @@ -105,7 +105,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: suffixes = ( self.spec.variants["precision"].value if self.spec.satisfies("@4.1:") diff --git a/var/spack/repos/builtin/packages/ip2/package.py b/var/spack/repos/builtin/packages/ip2/package.py index 69c5b7262c2..aeca5d08fab 100644 --- a/var/spack/repos/builtin/packages/ip2/package.py +++ b/var/spack/repos/builtin/packages/ip2/package.py @@ -30,7 +30,7 @@ class Ip2(CMakePackage): depends_on("sp") requires("^sp precision=4,8,d", when="^sp@2.4:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: for suffix in ("4", "8", "d"): lib = find_libraries( "libip2_" + suffix, root=self.prefix, shared=False, recursive=True diff --git a/var/spack/repos/builtin/packages/ipcalc/package.py b/var/spack/repos/builtin/packages/ipcalc/package.py index 436f7800c44..5df8d32077f 100644 --- a/var/spack/repos/builtin/packages/ipcalc/package.py +++ b/var/spack/repos/builtin/packages/ipcalc/package.py @@ -24,7 +24,7 @@ class Ipcalc(MakefilePackage): depends_on("geoip-api-c") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LIBPATH", self.spec["geoip-api-c"].prefix.lib) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ipm/package.py b/var/spack/repos/builtin/packages/ipm/package.py index d7d4c4debbc..147ef9465b6 100644 --- a/var/spack/repos/builtin/packages/ipm/package.py +++ b/var/spack/repos/builtin/packages/ipm/package.py @@ -63,7 +63,7 @@ class Ipm(AutotoolsPackage): def patch(self): filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "bin/ipm_parse") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("MPICC", spec["mpi"].mpicc) env.set("MPIFC", spec["mpi"].mpifc) diff --git a/var/spack/repos/builtin/packages/iproute2/package.py b/var/spack/repos/builtin/packages/iproute2/package.py index 1c17bc6c9f6..656a4474182 100644 --- a/var/spack/repos/builtin/packages/iproute2/package.py +++ b/var/spack/repos/builtin/packages/iproute2/package.py @@ -37,5 +37,5 @@ class Iproute2(AutotoolsPackage): def install(self, spec, prefix): make("install", "DESTDIR={0}".format(prefix), "PREFIX=") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/isescan/package.py b/var/spack/repos/builtin/packages/isescan/package.py index 749f860d1f9..b5e3ae68023 100644 --- a/var/spack/repos/builtin/packages/isescan/package.py +++ b/var/spack/repos/builtin/packages/isescan/package.py @@ -28,7 +28,7 @@ class Isescan(Package): depends_on("fraggenescan@:1.30", type="run") depends_on("hmmer@3.1b2:", type="run") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "ssw201507")) diff --git a/var/spack/repos/builtin/packages/ispc/package.py b/var/spack/repos/builtin/packages/ispc/package.py index cccf093aa86..0a54b6abb0d 100644 --- a/var/spack/repos/builtin/packages/ispc/package.py +++ b/var/spack/repos/builtin/packages/ispc/package.py @@ -93,7 +93,7 @@ class Ispc(CMakePackage): sha256="3f7dae8d4a683fca2a6157bbcb7cbe9692ff2094b0f4afaf29be121c02b0b3ad", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@1.18.0:"): env.append_flags("LDFLAGS", "-lz") diff --git a/var/spack/repos/builtin/packages/javafx/package.py b/var/spack/repos/builtin/packages/javafx/package.py index 74e11a82fd1..2811a2c002b 100644 --- a/var/spack/repos/builtin/packages/javafx/package.py +++ b/var/spack/repos/builtin/packages/javafx/package.py @@ -61,5 +61,5 @@ def install(self, spec, prefix): install_tree("legal", prefix.legal) install_tree("lib", prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("JAVAFX_HOME", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/jblob/package.py b/var/spack/repos/builtin/packages/jblob/package.py index f1c2f410661..0fe6463af61 100644 --- a/var/spack/repos/builtin/packages/jblob/package.py +++ b/var/spack/repos/builtin/packages/jblob/package.py @@ -22,7 +22,7 @@ class Jblob(Package): depends_on("java@8:", type="run") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("JAVA_HOME", self.spec["java"].prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py index be4d8ccbc69..23c783308bb 100644 --- a/var/spack/repos/builtin/packages/jdk/package.py +++ b/var/spack/repos/builtin/packages/jdk/package.py @@ -96,12 +96,14 @@ def libs(self): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set JAVA_HOME.""" env.set("JAVA_HOME", self.home) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set JAVA_HOME and CLASSPATH. CLASSPATH contains the installation prefix for the extension and any @@ -117,7 +119,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): classpath = os.pathsep.join(class_paths) env.set("CLASSPATH", classpath) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set CLASSPATH. CLASSPATH contains the installation prefix for the extension and any diff --git a/var/spack/repos/builtin/packages/jmol/package.py b/var/spack/repos/builtin/packages/jmol/package.py index e0c87d5a8fc..07e1e3b27eb 100644 --- a/var/spack/repos/builtin/packages/jmol/package.py +++ b/var/spack/repos/builtin/packages/jmol/package.py @@ -33,7 +33,7 @@ def install(self, spec, prefix): # no subdirs - tarball was unpacked in spack-src install_tree("./", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) env.set("JMOL_HOME", self.prefix) env.prepend_path("PATH", self.spec["java"].prefix.bin) diff --git a/var/spack/repos/builtin/packages/jogl/package.py b/var/spack/repos/builtin/packages/jogl/package.py index 7e7330a7213..fbb28a255ef 100644 --- a/var/spack/repos/builtin/packages/jogl/package.py +++ b/var/spack/repos/builtin/packages/jogl/package.py @@ -58,15 +58,17 @@ def install(self, spec, prefix): with working_dir(join_path("build", "lib")): install("*.so", prefix.lib) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset("CLASSPATH") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: class_paths = find(prefix.lib, "*.jar") classpath = os.pathsep.join(class_paths) env.prepend_path("CLASSPATH", classpath) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: class_paths = find(prefix.lib, "*.jar") classpath = os.pathsep.join(class_paths) env.prepend_path("CLASSPATH", classpath) diff --git a/var/spack/repos/builtin/packages/jube/package.py b/var/spack/repos/builtin/packages/jube/package.py index 16789ed3fd8..028ae6d81b1 100644 --- a/var/spack/repos/builtin/packages/jube/package.py +++ b/var/spack/repos/builtin/packages/jube/package.py @@ -138,7 +138,7 @@ class Jube(PythonPackage): depends_on("py-setuptools", type="build") depends_on("py-pyyaml", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if not self.spec.variants["resource_manager"].value == "none": env.prepend_path( "JUBE_INCLUDE_PATH", diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py index d1212158d7c..13ad1f22016 100644 --- a/var/spack/repos/builtin/packages/julia/package.py +++ b/var/spack/repos/builtin/packages/julia/package.py @@ -331,7 +331,7 @@ def patch(self): time = (os.path.getatime(f), os.path.getmtime(f)) os.utime(os.path.join("base", "Makefile"), time) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # this is a bit ridiculous, but we are setting runtime linker paths to # dependencies so that libwhich can locate them. if self.spec.satisfies("platform=linux"): diff --git a/var/spack/repos/builtin/packages/justbuild/package.py b/var/spack/repos/builtin/packages/justbuild/package.py index 619c8df9896..1640745f70c 100644 --- a/var/spack/repos/builtin/packages/justbuild/package.py +++ b/var/spack/repos/builtin/packages/justbuild/package.py @@ -48,7 +48,7 @@ class Justbuild(Package): sanity_check_is_file = [join_path("bin", "just"), join_path("bin", "just-mr")] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: ar = which("ar") if self.spec.version < Version("1.2.1"): family = ', "COMPILER_FAMILY":"unknown"' diff --git a/var/spack/repos/builtin/packages/jxrlib-debian/package.py b/var/spack/repos/builtin/packages/jxrlib-debian/package.py index 5edd67ca0bb..430b809cca7 100644 --- a/var/spack/repos/builtin/packages/jxrlib-debian/package.py +++ b/var/spack/repos/builtin/packages/jxrlib-debian/package.py @@ -25,7 +25,7 @@ class JxrlibDebian(MakefilePackage): depends_on("c", type="build") # generated - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DIR_INSTALL", self.prefix) if self.spec.satisfies("+shared"): env.set("SHARED", "True") diff --git a/var/spack/repos/builtin/packages/kadath/package.py b/var/spack/repos/builtin/packages/kadath/package.py index 8e7fe96adf4..454fab03cc2 100644 --- a/var/spack/repos/builtin/packages/kadath/package.py +++ b/var/spack/repos/builtin/packages/kadath/package.py @@ -61,7 +61,7 @@ def patch(self): join_path("codes", code, "CMakeLists.txt"), ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HOME_KADATH", self.stage.source_path) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/kicad/package.py b/var/spack/repos/builtin/packages/kicad/package.py index 9fa9812699a..dc9c7d0b7da 100644 --- a/var/spack/repos/builtin/packages/kicad/package.py +++ b/var/spack/repos/builtin/packages/kicad/package.py @@ -102,16 +102,20 @@ class Kicad(CMakePackage): destination="", ) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py index b8535a8697f..34dee3cc381 100644 --- a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py +++ b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py @@ -151,7 +151,9 @@ def install(self, spec, prefix): mkdir(prefix.bin) install(src, prefix.bin) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: wrapper = join_path(self.prefix.bin, "nvcc_wrapper") env.set("CUDA_ROOT", dependent_spec["cuda"].prefix) env.set("NVCC_WRAPPER_DEFAULT_COMPILER", self.compiler.cxx) diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py index 006665fc03a..c191f608d09 100644 --- a/var/spack/repos/builtin/packages/lammps/package.py +++ b/var/spack/repos/builtin/packages/lammps/package.py @@ -1033,11 +1033,11 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+intel %aocc"): env.append_flags("LDFLAGS", "-lalm -lm") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("LAMMPS_POTENTIALS", self.prefix.share.lammps.potentials) if self.spec.satisfies("+python"): if self.spec.platform == "darwin": diff --git a/var/spack/repos/builtin/packages/landsfcutil/package.py b/var/spack/repos/builtin/packages/landsfcutil/package.py index faae7a868b9..2ff397b9dd5 100644 --- a/var/spack/repos/builtin/packages/landsfcutil/package.py +++ b/var/spack/repos/builtin/packages/landsfcutil/package.py @@ -31,7 +31,7 @@ def cmake_args(self): args = [self.define("ENABLE_TESTS", self.run_tests)] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: for suffix in ("4", "d"): lib = find_libraries( "liblandsfcutil_" + suffix, root=self.prefix, shared=False, recursive=True diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py index 67540265e9e..8dcbd674c87 100644 --- a/var/spack/repos/builtin/packages/launchmon/package.py +++ b/var/spack/repos/builtin/packages/launchmon/package.py @@ -38,7 +38,7 @@ class Launchmon(AutotoolsPackage): patch("launchmon-char-conv.patch", when="@1.0.2") patch("for_aarch64.patch", when="@:1.0.2 target=aarch64:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@master"): # automake for launchmon requires the AM_PATH_LIBGCRYPT macro # which is defined in libgcrypt.m4 diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index 95ce745e60a..fcef5a17032 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -250,7 +250,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage): generator("ninja") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", "-fno-omit-frame-pointer") if self.spec.satisfies("%apple-clang"): env.append_flags("CPPFLAGS", self.compiler.openmp_flag) diff --git a/var/spack/repos/builtin/packages/lcio/package.py b/var/spack/repos/builtin/packages/lcio/package.py index ad443ec4a6f..2dab7610f5b 100644 --- a/var/spack/repos/builtin/packages/lcio/package.py +++ b/var/spack/repos/builtin/packages/lcio/package.py @@ -116,7 +116,7 @@ def url_for_version(self, version): return return url - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("LCIO", self.prefix) env.prepend_path("PYTHONPATH", self.prefix.python) # needed for the python bindings to find "Exceptions.h" diff --git a/var/spack/repos/builtin/packages/lcms/package.py b/var/spack/repos/builtin/packages/lcms/package.py index 71125644224..5fd47c6933a 100644 --- a/var/spack/repos/builtin/packages/lcms/package.py +++ b/var/spack/repos/builtin/packages/lcms/package.py @@ -53,7 +53,7 @@ def build_directory(self): / f"VC{self.pkg.compiler.visual_studio_version}" ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path( "INCLUDE", ";".join([dep.prefix.include for dep in self.spec.dependencies(deptype="link")]), diff --git a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py index 1662dc809de..557765add63 100644 --- a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py @@ -35,7 +35,9 @@ class LdcBootstrap(CMakePackage): depends_on("libedit") depends_on("binutils") - def setup_dependent_build_environment(self, env, dep_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # 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) diff --git a/var/spack/repos/builtin/packages/lesstif/package.py b/var/spack/repos/builtin/packages/lesstif/package.py index 689f9150e04..6d21cb84ade 100644 --- a/var/spack/repos/builtin/packages/lesstif/package.py +++ b/var/spack/repos/builtin/packages/lesstif/package.py @@ -28,7 +28,7 @@ class Lesstif(AutotoolsPackage): def patch(self): filter_file("ACLOCALDIR=.*", "ACLOCALDIR='${datarootdir}/aclocal'", "configure") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # 'sed' fails if LANG=en_US.UTF-8 as is often the case on Macs. # The configure script finds our superenv sed wrapper, sets # SED, but then doesn't use that variable. diff --git a/var/spack/repos/builtin/packages/lhapdf/package.py b/var/spack/repos/builtin/packages/lhapdf/package.py index d5385f8673c..3faf2b27d38 100644 --- a/var/spack/repos/builtin/packages/lhapdf/package.py +++ b/var/spack/repos/builtin/packages/lhapdf/package.py @@ -49,7 +49,7 @@ class Lhapdf(AutotoolsPackage): depends_on("py-setuptools", type="build", when="+python") depends_on("gettext", type="build", when="+python") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Add -lintl if provided by gettext, otherwise libintl is provided by the system's glibc: if ( self.spec.satisfies("+python") diff --git a/var/spack/repos/builtin/packages/lhapdf5/package.py b/var/spack/repos/builtin/packages/lhapdf5/package.py index 682b0e2fcae..23939417534 100644 --- a/var/spack/repos/builtin/packages/lhapdf5/package.py +++ b/var/spack/repos/builtin/packages/lhapdf5/package.py @@ -32,7 +32,7 @@ class Lhapdf5(AutotoolsPackage): depends_on("cxx", type="build") # generated depends_on("fortran", type="build") # generated - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("FFLAGS", "-std=legacy") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/lhapdfsets/package.py b/var/spack/repos/builtin/packages/lhapdfsets/package.py index 807d21a1428..a044805f6d5 100644 --- a/var/spack/repos/builtin/packages/lhapdfsets/package.py +++ b/var/spack/repos/builtin/packages/lhapdfsets/package.py @@ -64,10 +64,12 @@ def install(self, spec, prefix): tar("xfz", _filename) os.remove(_filename) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("LHAPDF_DATA_PATH", self.prefix.share.lhapdfsets) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("LHAPDF_DATA_PATH", self.prefix.share.lhapdfsets) @classmethod diff --git a/var/spack/repos/builtin/packages/libatasmart/package.py b/var/spack/repos/builtin/packages/libatasmart/package.py index 2c901ae0631..84921f79908 100644 --- a/var/spack/repos/builtin/packages/libatasmart/package.py +++ b/var/spack/repos/builtin/packages/libatasmart/package.py @@ -25,5 +25,5 @@ class Libatasmart(AutotoolsPackage): depends_on("libtool", type="build") depends_on("m4", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/libcap-ng/package.py b/var/spack/repos/builtin/packages/libcap-ng/package.py index e9c7d25f0c1..0ef9f270cd3 100644 --- a/var/spack/repos/builtin/packages/libcap-ng/package.py +++ b/var/spack/repos/builtin/packages/libcap-ng/package.py @@ -32,7 +32,7 @@ class LibcapNg(AutotoolsPackage): extends("python", when="+python") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+python"): env.set("PYTHON", python.path) diff --git a/var/spack/repos/builtin/packages/libcatalyst/package.py b/var/spack/repos/builtin/packages/libcatalyst/package.py index 6a5c34e165e..8d6d90ad739 100644 --- a/var/spack/repos/builtin/packages/libcatalyst/package.py +++ b/var/spack/repos/builtin/packages/libcatalyst/package.py @@ -53,7 +53,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+conduit"): env.prepend_path("CMAKE_PREFIX_PATH", spec["conduit"].prefix) diff --git a/var/spack/repos/builtin/packages/libcxi/package.py b/var/spack/repos/builtin/packages/libcxi/package.py index 0ec4ea93e5c..b3a3ba5c25b 100644 --- a/var/spack/repos/builtin/packages/libcxi/package.py +++ b/var/spack/repos/builtin/packages/libcxi/package.py @@ -60,7 +60,7 @@ def autoreconf(self, spec, prefix): sh = which("sh") sh("autogen.sh") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CFLAGS", f"-I{self.spec['cassini-headers'].prefix.include}") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/libdap4/package.py b/var/spack/repos/builtin/packages/libdap4/package.py index 1cee469517d..47ef022722d 100644 --- a/var/spack/repos/builtin/packages/libdap4/package.py +++ b/var/spack/repos/builtin/packages/libdap4/package.py @@ -39,7 +39,7 @@ class Libdap4(AutotoolsPackage): depends_on("uuid") depends_on("rpc") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Configure script will search for RPC library, but not actually add RPC library references # during configure tests. This can cause a failure with libtirpc if the following variable # is not set. diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py index 6584d351aa9..c6b18cd18f8 100644 --- a/var/spack/repos/builtin/packages/libfabric/package.py +++ b/var/spack/repos/builtin/packages/libfabric/package.py @@ -175,17 +175,19 @@ def determine_variants(cls, exes, version): results.append(" ".join(variants)) return results - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.run_tests: env.prepend_path("PATH", self.prefix.bin) # To enable this package add it to the LD_LIBRARY_PATH - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib64) # To enable this package add it to the LD_LIBRARY_PATH - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib64) diff --git a/var/spack/repos/builtin/packages/libhugetlbfs/package.py b/var/spack/repos/builtin/packages/libhugetlbfs/package.py index de5734e25da..851c07cffcc 100644 --- a/var/spack/repos/builtin/packages/libhugetlbfs/package.py +++ b/var/spack/repos/builtin/packages/libhugetlbfs/package.py @@ -26,7 +26,7 @@ class Libhugetlbfs(AutotoolsPackage): install_targets = ["-e", "install"] parallel = False - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BUILDTYPE", "NATIVEONLY") env.set("PREFIX", self.prefix) env.set("V", "1") diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py index 093b32e343e..bcc856e0eb8 100644 --- a/var/spack/repos/builtin/packages/libint/package.py +++ b/var/spack/repos/builtin/packages/libint/package.py @@ -117,7 +117,7 @@ def optflags(self): return flags - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Set optimization flags env.set("CFLAGS", self.optflags) env.set("CXXFLAGS", self.optflags) diff --git a/var/spack/repos/builtin/packages/libmaus2/package.py b/var/spack/repos/builtin/packages/libmaus2/package.py index 3af59d51db0..ea8330a39aa 100644 --- a/var/spack/repos/builtin/packages/libmaus2/package.py +++ b/var/spack/repos/builtin/packages/libmaus2/package.py @@ -33,6 +33,6 @@ class Libmaus2(AutotoolsPackage): ), ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%gcc@8.0:8.9") or self.spec.satisfies("%fj"): env.append_flags("LDFLAGS", "-lstdc++fs") diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py index d8072bd3dd5..18f85925d7d 100644 --- a/var/spack/repos/builtin/packages/libmesh/package.py +++ b/var/spack/repos/builtin/packages/libmesh/package.py @@ -324,5 +324,7 @@ def configure_args(self): return options - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.append_flags("PERL", self.spec["perl"].command.path) diff --git a/var/spack/repos/builtin/packages/libpressio/package.py b/var/spack/repos/builtin/packages/libpressio/package.py index 18f8f7cbaf8..4c1df1e11f2 100644 --- a/var/spack/repos/builtin/packages/libpressio/package.py +++ b/var/spack/repos/builtin/packages/libpressio/package.py @@ -395,7 +395,7 @@ def cmake_args(self): args.append("-DHDF5_ROOT=" + self.spec["hdf5"].prefix) return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+hdf5") and self.spec.satisfies("+json"): env.prepend_path("HDF5_PLUGIN_PATH", self.prefix.lib64) diff --git a/var/spack/repos/builtin/packages/libproxy/package.py b/var/spack/repos/builtin/packages/libproxy/package.py index a1a67bd28e4..41496f5e4cd 100644 --- a/var/spack/repos/builtin/packages/libproxy/package.py +++ b/var/spack/repos/builtin/packages/libproxy/package.py @@ -43,7 +43,7 @@ def cmake_args(self): args.append(self.define("PYTHON3_SITEPKG_DIR", python_platlib)) return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+python"): libs = self.spec["libproxy"].libs.directories[0] if self.spec.satisfies("platform=darwin"): diff --git a/var/spack/repos/builtin/packages/libpsm3/package.py b/var/spack/repos/builtin/packages/libpsm3/package.py index 921fb3af1f9..b2f47514fb1 100644 --- a/var/spack/repos/builtin/packages/libpsm3/package.py +++ b/var/spack/repos/builtin/packages/libpsm3/package.py @@ -51,7 +51,7 @@ def install(self, spec, prefix): os.unlink("%s/libpsm3-fi.la" % prefix.lib) install("src/libpsm3-fi.la", prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("FI_PROVIDER_PATH", self.prefix.lib) env.set("FI_PROVIDER", "psm3") env.set("PSM3_ALLOW_ROUTERS", "1") diff --git a/var/spack/repos/builtin/packages/librsb/package.py b/var/spack/repos/builtin/packages/librsb/package.py index 74674829e4a..e8a8f4cd6b8 100644 --- a/var/spack/repos/builtin/packages/librsb/package.py +++ b/var/spack/repos/builtin/packages/librsb/package.py @@ -42,10 +42,10 @@ class Librsb(AutotoolsPackage): variant("serial", default=False, description="Disable OpenMP support.") variant("verbose", default=False, description="Extra Library Verbosity. Good for learning.") - def setup_build_environment(self, spack_env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): - spack_env.set("LSAN_OPTIONS", "verbosity=1:log_threads=1") - spack_env.set("ASAN_OPTS", "detect_leaks=0") + env.set("LSAN_OPTIONS", "verbosity=1:log_threads=1") + env.set("ASAN_OPTS", "detect_leaks=0") def configure_args(self): args = [ diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py index 80a2e692233..3d02aedabd9 100644 --- a/var/spack/repos/builtin/packages/librsvg/package.py +++ b/var/spack/repos/builtin/packages/librsvg/package.py @@ -67,18 +67,22 @@ def url_for_version(self, version): url += "{0}/librsvg-{1}.tar.xz" return url.format(version.up_to(2), version) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) # librsvg uses pthread_atfork() but does not use -pthread on Ubuntu 18.04 %gcc@8 env.append_flags("LDFLAGS", "-pthread") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/libtermkey/package.py b/var/spack/repos/builtin/packages/libtermkey/package.py index 43008217338..642f2e4a3ec 100644 --- a/var/spack/repos/builtin/packages/libtermkey/package.py +++ b/var/spack/repos/builtin/packages/libtermkey/package.py @@ -27,7 +27,7 @@ class Libtermkey(MakefilePackage): depends_on("pkgconfig", type="build") depends_on("unibilium") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LIBTOOL", self.spec["libtool"].prefix.bin.join("libtool")) def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libtheora/package.py b/var/spack/repos/builtin/packages/libtheora/package.py index 5aa73497d5d..ee3daed1e39 100644 --- a/var/spack/repos/builtin/packages/libtheora/package.py +++ b/var/spack/repos/builtin/packages/libtheora/package.py @@ -82,7 +82,7 @@ class MSBuildBuilder(MSBuildBuilder): def is_64bit(self): return "64" in str(self.pkg.spec.target.family) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.pkg.spec env.set("SPACK_OGG_PREFIX", spec["libogg"].prefix) # devenv is needed to convert ancient MSbuild project to modern diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py index d9d014fbcc4..3dd76852bd9 100644 --- a/var/spack/repos/builtin/packages/libtool/package.py +++ b/var/spack/repos/builtin/packages/libtool/package.py @@ -89,7 +89,9 @@ def patch(self): filter_file("-fno-builtin", "-Mnobuiltin", "configure") filter_file("-fno-builtin", "-Mnobuiltin", "libltdl/configure") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal) def setup_dependent_package(self, module, dependent_spec): @@ -116,12 +118,12 @@ def post_install(self): join_path(self.prefix.bin, "libtoolize"), join_path(self.prefix.bin, "glibtoolize") ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Wrapper until spack has a real implementation of setup_test_environment()""" if self.run_tests: self.setup_test_environment(env) - def setup_test_environment(self, env): + def setup_test_environment(self, env: EnvironmentModifications): """When Fortran is not provided, a few tests need to be skipped""" if self.compiler.f77 is None: env.set("F77", "no") diff --git a/var/spack/repos/builtin/packages/libuser/package.py b/var/spack/repos/builtin/packages/libuser/package.py index f0feed6a98b..d4503d8ceee 100644 --- a/var/spack/repos/builtin/packages/libuser/package.py +++ b/var/spack/repos/builtin/packages/libuser/package.py @@ -23,5 +23,5 @@ class Libuser(AutotoolsPackage): depends_on("linux-pam") depends_on("popt") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/libvterm/package.py b/var/spack/repos/builtin/packages/libvterm/package.py index 45ad96db84c..3f432fb9545 100644 --- a/var/spack/repos/builtin/packages/libvterm/package.py +++ b/var/spack/repos/builtin/packages/libvterm/package.py @@ -30,7 +30,7 @@ def url_for_version(self, version): url = "https://launchpad.net/libvterm/trunk/v{0}/+download/libvterm-{1}.tar.gz" return url.format(version.up_to(2), version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LIBTOOL", self.spec["libtool"].prefix.bin.join("libtool")) def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libwnck/package.py b/var/spack/repos/builtin/packages/libwnck/package.py index ac595cb8cd4..d7deccfcff3 100644 --- a/var/spack/repos/builtin/packages/libwnck/package.py +++ b/var/spack/repos/builtin/packages/libwnck/package.py @@ -71,6 +71,8 @@ def configure_args(self): return args - def setup_dependent_build_environment(self, env, dep_spec): - if self.spec.satisfies("+introspection") and dep_spec.satisfies("+introspection"): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: + if self.spec.satisfies("+introspection") and dependent_spec.satisfies("+introspection"): env.append_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/libx11/package.py b/var/spack/repos/builtin/packages/libx11/package.py index 7f6e677780f..a602cb9dcb4 100644 --- a/var/spack/repos/builtin/packages/libx11/package.py +++ b/var/spack/repos/builtin/packages/libx11/package.py @@ -63,10 +63,14 @@ def configure_args(self): return config_args - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XLOCALEDIR", self.prefix.share.X11.locale) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XLOCALEDIR", self.prefix.share.X11.locale) @property diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py index 4c6e66b5dd7..234a9ab1973 100644 --- a/var/spack/repos/builtin/packages/libxc/package.py +++ b/var/spack/repos/builtin/packages/libxc/package.py @@ -104,7 +104,7 @@ def libs(self): class AutotoolsBuilder(autotools.AutotoolsBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # microarchitecture-specific optimization flags should be controlled # by Spack, otherwise we may end up with contradictory or invalid flags # see https://github.com/spack/spack/issues/17794 diff --git a/var/spack/repos/builtin/packages/libxcb/package.py b/var/spack/repos/builtin/packages/libxcb/package.py index 59e4b8d6489..8e05dbb05c5 100644 --- a/var/spack/repos/builtin/packages/libxcb/package.py +++ b/var/spack/repos/builtin/packages/libxcb/package.py @@ -69,5 +69,5 @@ def patch(self): # If a newer release can be verified to build with LC_ALL=en_US.ISO-8859-1, # then we can limit the following function, e.g. # when("@:1.17") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LC_ALL", "C.UTF-8") diff --git a/var/spack/repos/builtin/packages/libxfce4ui/package.py b/var/spack/repos/builtin/packages/libxfce4ui/package.py index 04dd61ff01a..64a8a7ae975 100644 --- a/var/spack/repos/builtin/packages/libxfce4ui/package.py +++ b/var/spack/repos/builtin/packages/libxfce4ui/package.py @@ -58,8 +58,12 @@ def configure_args(self): return args - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/libxfce4util/package.py b/var/spack/repos/builtin/packages/libxfce4util/package.py index a1d4b47f4ac..ef03ed1b6c1 100644 --- a/var/spack/repos/builtin/packages/libxfce4util/package.py +++ b/var/spack/repos/builtin/packages/libxfce4util/package.py @@ -48,8 +48,12 @@ def configure_args(self): return args - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/ligra/package.py b/var/spack/repos/builtin/packages/ligra/package.py index e6e31259f4a..bdf11729547 100644 --- a/var/spack/repos/builtin/packages/ligra/package.py +++ b/var/spack/repos/builtin/packages/ligra/package.py @@ -28,11 +28,11 @@ class Ligra(MakefilePackage): depends_on("mkl", when="+mkl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+openmp"): env.set("OPENMP", "1") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.apps) env.prepend_path("PATH", self.prefix.utils) diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py index 81d51e6d362..16e58665150 100644 --- a/var/spack/repos/builtin/packages/likwid/package.py +++ b/var/spack/repos/builtin/packages/likwid/package.py @@ -113,7 +113,7 @@ def patch(self): filter_file("^#!/usr/bin/perl -w", "#!/usr/bin/env perl", *files) filter_file("^#!/usr/bin/perl", "#!/usr/bin/env perl", *files) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cuda"): libs = find_libraries( "libcupti", root=self.spec["cuda"].prefix, shared=True, recursive=True diff --git a/var/spack/repos/builtin/packages/linaro-forge/package.py b/var/spack/repos/builtin/packages/linaro-forge/package.py index 81e712b0871..cd283056530 100644 --- a/var/spack/repos/builtin/packages/linaro-forge/package.py +++ b/var/spack/repos/builtin/packages/linaro-forge/package.py @@ -200,7 +200,7 @@ def install(self, spec, prefix): probe = join_path(prefix, "bin", "forge-probe") subprocess.call([probe, "--install", "global"]) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Only PATH is needed for Forge. # Adding lib to LD_LIBRARY_PATH can cause conflicts with Forge's internal libs. env.clear() diff --git a/var/spack/repos/builtin/packages/linux-external-modules/package.py b/var/spack/repos/builtin/packages/linux-external-modules/package.py index a1434ec5db8..0b898586841 100644 --- a/var/spack/repos/builtin/packages/linux-external-modules/package.py +++ b/var/spack/repos/builtin/packages/linux-external-modules/package.py @@ -323,7 +323,7 @@ class LinuxExternalModules(MakefilePackage): depends_on("binutils@2.25:", when="@6.2:") depends_on("binutils@2.23:", when="@6.0:6.2") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("KBUILD_OUTPUT", self.prefix) @run_before("build") diff --git a/var/spack/repos/builtin/packages/linux-headers/package.py b/var/spack/repos/builtin/packages/linux-headers/package.py index 6969e87f382..f4cfb4abb4c 100644 --- a/var/spack/repos/builtin/packages/linux-headers/package.py +++ b/var/spack/repos/builtin/packages/linux-headers/package.py @@ -31,7 +31,7 @@ def url_for_version(self, version): url = "https://www.kernel.org/pub/linux/kernel/v{0}.x/linux-{1}.tar.xz" return url.format(version.up_to(1), version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # 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 diff --git a/var/spack/repos/builtin/packages/linux-perf/package.py b/var/spack/repos/builtin/packages/linux-perf/package.py index 71e5a08d7f8..aff3eb305c8 100644 --- a/var/spack/repos/builtin/packages/linux-perf/package.py +++ b/var/spack/repos/builtin/packages/linux-perf/package.py @@ -99,7 +99,7 @@ class LinuxPerf(Package): def url_for_version(self, version): return f"https://cdn.kernel.org/pub/linux/kernel/v{version[0]}.x/linux-{version}.tar.xz" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # 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 diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 62af6b51ba6..a83ec931b42 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -329,11 +329,13 @@ def cmake_args(self): compiler_version_regex = r"roc-(\d+[._]\d+[._]\d+)" # Make sure that the compiler paths are in the LD_LIBRARY_PATH - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) # Make sure that the compiler paths are in the LD_LIBRARY_PATH - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) # Required for enabling asan on dependent packages for root, _, files in os.walk(self.prefix): @@ -358,7 +360,9 @@ def post_install(self): ) # Required for enabling asan on dependent packages - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: for root, _, files in os.walk(self.prefix): if "libclang_rt.asan-x86_64.so" in files: env.prepend_path("LD_LIBRARY_PATH", root) diff --git a/var/spack/repos/builtin/packages/llvm-doe/package.py b/var/spack/repos/builtin/packages/llvm-doe/package.py index 84e17efcfbe..47a06b82e55 100644 --- a/var/spack/repos/builtin/packages/llvm-doe/package.py +++ b/var/spack/repos/builtin/packages/llvm-doe/package.py @@ -375,7 +375,7 @@ def flag_handler(self, name, flags): return (None, flags, None) return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH""" if self.compiler.name in ["clang", "apple-clang"]: for lld in "ld.lld-{0}".format(self.compiler.version.version[0]), "ld.lld": @@ -386,7 +386,7 @@ def setup_build_environment(self, env): os.symlink(bin, sym) env.prepend_path("PATH", self.stage.path) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+clang"): env.set("CC", join_path(self.spec.prefix.bin, "clang")) env.set("CXX", join_path(self.spec.prefix.bin, "clang++")) diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 394dd852af8..352ce0e58d0 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -933,7 +933,7 @@ def flag_handler(self, name, flags): return (None, flags, None) return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH""" if self.compiler.name in ["clang", "apple-clang"]: for lld in "ld.lld-{0}".format(self.compiler.version.version[0]), "ld.lld": @@ -948,7 +948,7 @@ def setup_build_environment(self, env): # set the SDKROOT so the bootstrap compiler finds its C++ headers env.set("SDKROOT", macos_sdk_path()) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+clang"): env.set("CC", join_path(self.spec.prefix.bin, "clang")) env.set("CXX", join_path(self.spec.prefix.bin, "clang++")) diff --git a/var/spack/repos/builtin/packages/lmbench/package.py b/var/spack/repos/builtin/packages/lmbench/package.py index 6bd97c4867e..0195181be1c 100644 --- a/var/spack/repos/builtin/packages/lmbench/package.py +++ b/var/spack/repos/builtin/packages/lmbench/package.py @@ -28,7 +28,7 @@ class Lmbench(MakefilePackage): when="target=aarch64:", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec["libtirpc"].prefix.include.tirpc) env.append_flags("LDFLAGS", "-ltirpc") diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py index ef5259eb6c0..78d00e1b6fc 100644 --- a/var/spack/repos/builtin/packages/lmod/package.py +++ b/var/spack/repos/builtin/packages/lmod/package.py @@ -77,7 +77,7 @@ class Lmod(AutotoolsPackage): parallel = False - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: stage_lua_path = join_path(self.stage.source_path, "src", "?.lua") env.append_path("LUA_PATH", stage_lua_path.format(version=self.version), separator=";") diff --git a/var/spack/repos/builtin/packages/logrotate/package.py b/var/spack/repos/builtin/packages/logrotate/package.py index 54e2be01a75..f05b761a5a4 100644 --- a/var/spack/repos/builtin/packages/logrotate/package.py +++ b/var/spack/repos/builtin/packages/logrotate/package.py @@ -28,5 +28,5 @@ class Logrotate(AutotoolsPackage): depends_on("popt") depends_on("acl") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/logstash/package.py b/var/spack/repos/builtin/packages/logstash/package.py index e2630f780c7..6a86fb93b67 100644 --- a/var/spack/repos/builtin/packages/logstash/package.py +++ b/var/spack/repos/builtin/packages/logstash/package.py @@ -32,6 +32,6 @@ def url_for_version(self, version): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # do not use the bundled jdk env.set("LS_JAVA_HOME", self.spec["java"].home) diff --git a/var/spack/repos/builtin/packages/lshw/package.py b/var/spack/repos/builtin/packages/lshw/package.py index 421cc241e1d..af865502dac 100644 --- a/var/spack/repos/builtin/packages/lshw/package.py +++ b/var/spack/repos/builtin/packages/lshw/package.py @@ -29,8 +29,8 @@ class Lshw(MakefilePackage): depends_on("c", type="build") depends_on("cxx", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/ltr-retriever/package.py b/var/spack/repos/builtin/packages/ltr-retriever/package.py index 91dfdfe2d35..df30cbc47f8 100644 --- a/var/spack/repos/builtin/packages/ltr-retriever/package.py +++ b/var/spack/repos/builtin/packages/ltr-retriever/package.py @@ -41,5 +41,5 @@ def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py index b1b9dc0ab5a..5e3046b8a07 100644 --- a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py +++ b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py @@ -65,7 +65,7 @@ def edit(self, spec, prefix): # on some platforms for the final link stage to work src_makefile.filter("^TARGET_LD = .*", f"TARGET_LD = {spack_cxx}") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path( "LUA_PATH", os.path.join(self.spec.prefix, "share", f"luajit-{self.version[0:2]}", "?.lua"), diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py index e715bf522f6..a65ee27d585 100644 --- a/var/spack/repos/builtin/packages/lua/package.py +++ b/var/spack/repos/builtin/packages/lua/package.py @@ -154,13 +154,17 @@ def _setup_dependent_env_helper(self, env, dependent_spec): return lua_patterns, lua_cpatterns - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: lua_patterns, lua_cpatterns = self._setup_dependent_env_helper(env, dependent_spec) env.prepend_path("LUA_PATH", ";".join(lua_patterns), separator=";") env.prepend_path("LUA_CPATH", ";".join(lua_cpatterns), separator=";") - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # For run time environment set only the path for dependent_spec and # prepend it to LUAPATH lua_patterns, lua_cpatterns = self._setup_dependent_env_helper(env, dependent_spec) @@ -169,7 +173,7 @@ def setup_dependent_run_environment(self, env, dependent_spec): env.prepend_path("LUA_PATH", ";".join(lua_patterns), separator=";") env.prepend_path("LUA_CPATH", ";".join(lua_cpatterns), separator=";") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path( "LUA_PATH", os.path.join(self.spec.prefix, self.lua_share_dir, "?.lua"), separator=";" ) diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py index 4f31c02bd74..a98fdffbac9 100644 --- a/var/spack/repos/builtin/packages/lz4/package.py +++ b/var/spack/repos/builtin/packages/lz4/package.py @@ -87,7 +87,7 @@ def cmake_args(self): class MakefileBuilder(MakefileBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+pic"): env.set("CFLAGS", self.pkg.compiler.cc_pic_flag) diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py index a77517282a7..3d0dbbb9504 100644 --- a/var/spack/repos/builtin/packages/m4/package.py +++ b/var/spack/repos/builtin/packages/m4/package.py @@ -76,20 +76,22 @@ def determine_version(cls, exe): match = re.search(r"GNU M4\)?\s+(\S+)", output) return match.group(1) if match else None - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Inform autom4te if it wasn't built correctly (some external # installations such as homebrew). See # https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html env.set("M4", self.prefix.bin.m4) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # The default optimization level for icx/icpx is "-O2", # but building m4 with this level breaks the build of dependents. # So we set it explicitely to "-O0". if self.spec.satisfies("%intel") or self.spec.satisfies("%oneapi"): env.append_flags("CFLAGS", "-O0") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("M4", self.prefix.bin.m4) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/macfuse/package.py b/var/spack/repos/builtin/packages/macfuse/package.py index be69d9e5f46..35a1dd8627b 100644 --- a/var/spack/repos/builtin/packages/macfuse/package.py +++ b/var/spack/repos/builtin/packages/macfuse/package.py @@ -40,5 +40,7 @@ def install(self, spec, prefix): raise InstallError(msg) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("FUSE_LIBRARY_PATH", self.prefix.macFUSE) diff --git a/var/spack/repos/builtin/packages/madis/package.py b/var/spack/repos/builtin/packages/madis/package.py index f970898a40c..d0b910f5b74 100644 --- a/var/spack/repos/builtin/packages/madis/package.py +++ b/var/spack/repos/builtin/packages/madis/package.py @@ -30,7 +30,7 @@ class Madis(MakefilePackage): depends_on("netcdf-fortran") depends_on("parallel-netcdf", when="+pnetcdf") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: fflags = [] if self.spec.satisfies("%gcc@10:"): fflags += ["-fallow-argument-mismatch"] diff --git a/var/spack/repos/builtin/packages/mapl/package.py b/var/spack/repos/builtin/packages/mapl/package.py index 20a0f516937..21ee7ed89fc 100644 --- a/var/spack/repos/builtin/packages/mapl/package.py +++ b/var/spack/repos/builtin/packages/mapl/package.py @@ -444,7 +444,7 @@ def patch(self): "(target_link_libraries[^)]+PUBLIC )", r"\1 %s " % nc_flags, "pfio/CMakeLists.txt" ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # esma_cmake, an internal dependency of mapl, is # looking for the cmake argument -DBASEDIR, and # if it doesn't find it, it's looking for an diff --git a/var/spack/repos/builtin/packages/mapnik/package.py b/var/spack/repos/builtin/packages/mapnik/package.py index 6a8c4e314fe..314a6cb7a4a 100644 --- a/var/spack/repos/builtin/packages/mapnik/package.py +++ b/var/spack/repos/builtin/packages/mapnik/package.py @@ -47,7 +47,7 @@ class Mapnik(AutotoolsPackage): depends_on("sqlite+rtree", type=("build", "link", "run")) depends_on("libwebp") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("GDAL_DATA", spec["gdal"].prefix.share.gdal) diff --git a/var/spack/repos/builtin/packages/masa/package.py b/var/spack/repos/builtin/packages/masa/package.py index a0e1ad76c7a..de8b9515960 100644 --- a/var/spack/repos/builtin/packages/masa/package.py +++ b/var/spack/repos/builtin/packages/masa/package.py @@ -53,7 +53,7 @@ def configure_args(self): return options - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Unfortunately can't use this because MASA overwrites it # env.set('CXXFLAGS', self.compiler.cxx11_flag) env.set("CXX", "{0} {1}".format(self.compiler.cxx, self.compiler.cxx11_flag)) diff --git a/var/spack/repos/builtin/packages/masurca/package.py b/var/spack/repos/builtin/packages/masurca/package.py index 50bfe0fbf6c..e3c686579c3 100644 --- a/var/spack/repos/builtin/packages/masurca/package.py +++ b/var/spack/repos/builtin/packages/masurca/package.py @@ -41,7 +41,7 @@ def patch(self): m = join_path("global-1", makefile) filter_file("-minline-all-stringops", "", m) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@4:"): env.set("DEST", self.prefix) diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py index 9918bff1b28..f81671ba6c2 100644 --- a/var/spack/repos/builtin/packages/mbedtls/package.py +++ b/var/spack/repos/builtin/packages/mbedtls/package.py @@ -98,7 +98,7 @@ def flag_handler(self, name, flags): return (None, flags, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "shared" in self.spec.variants["libs"].value: env.set("SHARED", "yes") diff --git a/var/spack/repos/builtin/packages/mc/package.py b/var/spack/repos/builtin/packages/mc/package.py index 0b6438a84aa..dd2a7ac5226 100644 --- a/var/spack/repos/builtin/packages/mc/package.py +++ b/var/spack/repos/builtin/packages/mc/package.py @@ -27,7 +27,7 @@ class Mc(AutotoolsPackage): depends_on("glib@2.14:") depends_on("libssh2@1.2.5:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # 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: diff --git a/var/spack/repos/builtin/packages/mdsplus/package.py b/var/spack/repos/builtin/packages/mdsplus/package.py index 41d3f3d04a0..cd109d1965f 100644 --- a/var/spack/repos/builtin/packages/mdsplus/package.py +++ b/var/spack/repos/builtin/packages/mdsplus/package.py @@ -57,7 +57,7 @@ def autoreconf(self, spec, prefix): bash = which("bash") bash("./bootstrap") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MDSPLUS_DIR", self.prefix) if "+python" in self.spec: env.prepend_path("PYTHONPATH", "{0}/python".format(self.prefix)) diff --git a/var/spack/repos/builtin/packages/mefit/package.py b/var/spack/repos/builtin/packages/mefit/package.py index b17ff4e6e37..00128dbc047 100644 --- a/var/spack/repos/builtin/packages/mefit/package.py +++ b/var/spack/repos/builtin/packages/mefit/package.py @@ -22,5 +22,5 @@ class Mefit(Package): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/melissa-api/package.py b/var/spack/repos/builtin/packages/melissa-api/package.py index 6143a50cbba..fb931697225 100644 --- a/var/spack/repos/builtin/packages/melissa-api/package.py +++ b/var/spack/repos/builtin/packages/melissa-api/package.py @@ -27,5 +27,5 @@ class MelissaApi(CMakePackage): depends_on("libzmq@4.1.5:") depends_on("mpi") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/memsurfer/package.py b/var/spack/repos/builtin/packages/memsurfer/package.py index 231da247d37..8569ee20575 100644 --- a/var/spack/repos/builtin/packages/memsurfer/package.py +++ b/var/spack/repos/builtin/packages/memsurfer/package.py @@ -37,7 +37,7 @@ class Memsurfer(PythonPackage): depends_on("vtk@8.1.2 ~ffmpeg~mpi+opengl2~qt~xdmf+python") # memsurfer's setup needs path to these deps to build extension modules - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("VTK_ROOT", self.spec["vtk"].prefix) env.set("CGAL_ROOT", self.spec["cgal"].prefix) env.set("BOOST_ROOT", self.spec["boost"].prefix) diff --git a/var/spack/repos/builtin/packages/meraculous/package.py b/var/spack/repos/builtin/packages/meraculous/package.py index 2ecc7d7081f..386edd421e7 100644 --- a/var/spack/repos/builtin/packages/meraculous/package.py +++ b/var/spack/repos/builtin/packages/meraculous/package.py @@ -38,6 +38,6 @@ def patch(self): edit = FileFilter("CMakeLists.txt") edit.filter(r"-static-libstdc\+\+", "") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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 c548001b4a4..966aaadc1f6 100644 --- a/var/spack/repos/builtin/packages/mercurial/package.py +++ b/var/spack/repos/builtin/packages/mercurial/package.py @@ -42,12 +42,12 @@ class Mercurial(PythonPackage): depends_on("py-pygments", type=("build", "run")) depends_on("py-certifi", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Python 3 support is still experimental, explicitly allow - env.set("HGALLOWPYTHON3", True) - env.set("HGPYTHON3", True) + env.set("HGALLOWPYTHON3", "True") + env.set("HGPYTHON3", "True") # Setuptools is still opt-in, explicitly enable - 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/meson/package.py b/var/spack/repos/builtin/packages/meson/package.py index bf75e07a79e..a99aec22859 100644 --- a/var/spack/repos/builtin/packages/meson/package.py +++ b/var/spack/repos/builtin/packages/meson/package.py @@ -178,7 +178,9 @@ class Meson(PythonPackage): def determine_version(cls, exe): return Executable(exe)("--version", output=str, error=str).rstrip() - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # https://github.com/pybind/pybind11/issues/595 if self.spec.satisfies("platform=darwin"): env.set("STRIP", "strip -x") diff --git a/var/spack/repos/builtin/packages/met/package.py b/var/spack/repos/builtin/packages/met/package.py index a39d16baba9..8b48266353e 100644 --- a/var/spack/repos/builtin/packages/met/package.py +++ b/var/spack/repos/builtin/packages/met/package.py @@ -87,7 +87,7 @@ def url_for_version(self, version): url = "https://github.com/dtcenter/MET/archive/refs/tags/v{0}.tar.gz" return url.format(version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec cppflags = [] ldflags = [] @@ -181,5 +181,5 @@ def configure_args(self): return args -# def setup_run_environment(self, env): +# def setup_run_environment(self, env: EnvironmentModifications) -> None: # env.set('MET_BASE', self.prefix) diff --git a/var/spack/repos/builtin/packages/metabat/package.py b/var/spack/repos/builtin/packages/metabat/package.py index 81686ce792a..cd1a977883e 100644 --- a/var/spack/repos/builtin/packages/metabat/package.py +++ b/var/spack/repos/builtin/packages/metabat/package.py @@ -43,7 +43,7 @@ class Metabat(CMakePackage): depends_on("zlib-api", type="link") depends_on("ncurses", type="link") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BOOST_ROOT", self.spec["boost"].prefix) def install_args(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/metall/package.py b/var/spack/repos/builtin/packages/metall/package.py index e920e35f8ed..ca0ee6b8c0f 100644 --- a/var/spack/repos/builtin/packages/metall/package.py +++ b/var/spack/repos/builtin/packages/metall/package.py @@ -71,11 +71,11 @@ def cmake_args(self): args = ["-DINSTALL_HEADER_ONLY=ON"] return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Configure the directories for test if self.run_tests: env.set("METALL_TEST_DIR", join_path(self.build_directory, "build_test")) # 'spack load metall' sets METALL_ROOT environmental variable - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("METALL_ROOT", self.prefix) diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py index 58e2cb9ff70..e3c139c3e9b 100644 --- a/var/spack/repos/builtin/packages/metis/package.py +++ b/var/spack/repos/builtin/packages/metis/package.py @@ -88,7 +88,7 @@ def patch(self): class SetupEnvironment: - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Ignore warnings/errors re unrecognized omp pragmas on %intel if "%intel@14:" in self.spec: env.append_flags("CFLAGS", "-diag-disable 3180") diff --git a/var/spack/repos/builtin/packages/metplus/package.py b/var/spack/repos/builtin/packages/metplus/package.py index b56551bc91e..ac8faf5ca43 100644 --- a/var/spack/repos/builtin/packages/metplus/package.py +++ b/var/spack/repos/builtin/packages/metplus/package.py @@ -68,5 +68,5 @@ def install(self, spec, prefix): install_tree(self.stage.source_path, prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.ush) diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py index 707962fc798..33d26d83d9f 100644 --- a/var/spack/repos/builtin/packages/mfem/package.py +++ b/var/spack/repos/builtin/packages/mfem/package.py @@ -516,7 +516,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): phases = ["configure", "build", "install"] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset("MFEM_DIR") env.unset("MFEM_BUILD_DIR") # Workaround for changes made by the 'kokkos-nvcc-wrapper' package diff --git a/var/spack/repos/builtin/packages/mgcfd-op2/package.py b/var/spack/repos/builtin/packages/mgcfd-op2/package.py index 00d0dff76b0..ecdf3154b6c 100644 --- a/var/spack/repos/builtin/packages/mgcfd-op2/package.py +++ b/var/spack/repos/builtin/packages/mgcfd-op2/package.py @@ -34,7 +34,7 @@ class MgcfdOp2(MakefilePackage): depends_on("op2-dsl+mpi", when="+mpi") depends_on("op2-dsl~mpi", when="~mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: compiler_map = {"gcc": "gnu", "arm": "clang", "cce": "cray", "nvhpc": "pgi"} if self.spec.compiler.name in compiler_map: env.set("COMPILER", compiler_map[self.spec.compiler.name]) diff --git a/var/spack/repos/builtin/packages/microbiomeutil/package.py b/var/spack/repos/builtin/packages/microbiomeutil/package.py index 9d91153aa88..cf0f45cf8e9 100644 --- a/var/spack/repos/builtin/packages/microbiomeutil/package.py +++ b/var/spack/repos/builtin/packages/microbiomeutil/package.py @@ -28,7 +28,7 @@ def install(self, spec, prefix): install_tree("RESOURCES", prefix.resources) install_tree("AmosCmp16Spipeline", prefix.AmosCmp16Spipeline) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.ChimeraSlayer) env.prepend_path("PATH", join_path(self.prefix, "NAST-iEr")) env.prepend_path("PATH", self.prefix.TreeChopper) diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index 795551cd3a9..80db312395b 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -149,7 +149,7 @@ def determine_version(cls, lib): ver = None return ver - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/mii/package.py b/var/spack/repos/builtin/packages/mii/package.py index 1010302e58b..77ceaf8457c 100644 --- a/var/spack/repos/builtin/packages/mii/package.py +++ b/var/spack/repos/builtin/packages/mii/package.py @@ -24,5 +24,5 @@ class Mii(MakefilePackage): depends_on("c", type="build") # generated - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix) diff --git a/var/spack/repos/builtin/packages/minc-toolkit/package.py b/var/spack/repos/builtin/packages/minc-toolkit/package.py index 63a4a21c790..18b06b3714d 100644 --- a/var/spack/repos/builtin/packages/minc-toolkit/package.py +++ b/var/spack/repos/builtin/packages/minc-toolkit/package.py @@ -48,5 +48,5 @@ def cmake_args(self): "-DMT_BUILD_ELASTIX=OFF", ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MINC_TOOLKIT", self.prefix) diff --git a/var/spack/repos/builtin/packages/miniconda2/package.py b/var/spack/repos/builtin/packages/miniconda2/package.py index e9d7c632965..0e6214b5d07 100644 --- a/var/spack/repos/builtin/packages/miniconda2/package.py +++ b/var/spack/repos/builtin/packages/miniconda2/package.py @@ -63,6 +63,6 @@ def install(self, spec, prefix): bash = which("bash") bash(script, "-b", "-f", "-p", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: filename = self.prefix.etc.join("profile.d").join("conda.sh") env.extend(EnvironmentModifications.from_sourcing_file(filename)) diff --git a/var/spack/repos/builtin/packages/miniconda3/package.py b/var/spack/repos/builtin/packages/miniconda3/package.py index 0bf8099bc43..eda58344474 100644 --- a/var/spack/repos/builtin/packages/miniconda3/package.py +++ b/var/spack/repos/builtin/packages/miniconda3/package.py @@ -171,6 +171,6 @@ def install(self, spec, prefix): bash = which("bash") bash(script, "-b", "-f", "-p", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: filename = self.prefix.etc.join("profile.d").join("conda.sh") env.extend(EnvironmentModifications.from_sourcing_file(filename)) diff --git a/var/spack/repos/builtin/packages/miniforge3/package.py b/var/spack/repos/builtin/packages/miniforge3/package.py index e4157bf13ae..32486b2cf65 100644 --- a/var/spack/repos/builtin/packages/miniforge3/package.py +++ b/var/spack/repos/builtin/packages/miniforge3/package.py @@ -69,7 +69,7 @@ def patch_sbang(self): r"#!/usr/bin/env python", rf"#!{self.prefix.bin.python}", self.prefix.bin.mamba ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: filename = self.prefix.etc.join("profile.d").join("conda.sh") env.extend(EnvironmentModifications.from_sourcing_file(filename)) diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index 33a45ce096f..f17f9f2c227 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -178,7 +178,7 @@ class MiopenHip(CMakePackage): depends_on("nlohmann-json", type="link") depends_on("googletest", when="@6.1:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: lib_dir = self.spec["zlib-api"].libs.directories[0] env.prepend_path("LIBRARY_PATH", lib_dir) if self.spec.satisfies("+asan"): diff --git a/var/spack/repos/builtin/packages/mitofates/package.py b/var/spack/repos/builtin/packages/mitofates/package.py index 316dcada374..45b165c0ed0 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_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # We want the main MitoFates.pl script in the path env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index bd17800e396..c47e8e29d09 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -311,12 +311,12 @@ def patch(self): ]: depends_on(f"rpp@{ver}", when=f"@{ver}") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MIVISIONX_MODEL_COMPILER_PATH", self.spec.prefix.libexec.mivisionx.model_compiler) if self.spec.satisfies("@6.1:"): env.prepend_path("LD_LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@6.1:"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/mixcr/package.py b/var/spack/repos/builtin/packages/mixcr/package.py index 6e41088bf8e..f9891eb5fb7 100644 --- a/var/spack/repos/builtin/packages/mixcr/package.py +++ b/var/spack/repos/builtin/packages/mixcr/package.py @@ -26,5 +26,5 @@ class Mixcr(Package): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/modylas/package.py b/var/spack/repos/builtin/packages/modylas/package.py index df1bff55784..3ee16d747e3 100644 --- a/var/spack/repos/builtin/packages/modylas/package.py +++ b/var/spack/repos/builtin/packages/modylas/package.py @@ -35,7 +35,7 @@ class Modylas(AutotoolsPackage): build_directory = "source" configure_directory = "source" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+mpi"): env.set("FC", self.spec["mpi"].mpifc, force=True) fflags = ["-O3", self.compiler.openmp_flag] diff --git a/var/spack/repos/builtin/packages/mokutil/package.py b/var/spack/repos/builtin/packages/mokutil/package.py index 690b8e61e71..82fcce9d04b 100644 --- a/var/spack/repos/builtin/packages/mokutil/package.py +++ b/var/spack/repos/builtin/packages/mokutil/package.py @@ -25,7 +25,7 @@ class Mokutil(AutotoolsPackage): depends_on("m4", type="build") depends_on("efivar") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("C_INCLUDE_PATH", self.spec["efivar"].prefix.include.efivar) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/mpest/package.py b/var/spack/repos/builtin/packages/mpest/package.py index 861bc8aa3ef..8c95828ddfe 100644 --- a/var/spack/repos/builtin/packages/mpest/package.py +++ b/var/spack/repos/builtin/packages/mpest/package.py @@ -23,7 +23,7 @@ def install(self, spec, prefix): mkdirp(prefix.bin) install("mpest", prefix.bin) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("platform=darwin"): env.set("ARCHITECTURE", "mac") else: diff --git a/var/spack/repos/builtin/packages/mpibind/package.py b/var/spack/repos/builtin/packages/mpibind/package.py index e5b99a52a15..104ecc8a5f1 100644 --- a/var/spack/repos/builtin/packages/mpibind/package.py +++ b/var/spack/repos/builtin/packages/mpibind/package.py @@ -59,7 +59,7 @@ def autoreconf(self, spec, prefix): autoreconf("--install", "--verbose", "--force") @when("+flux") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Load the mpibind plugin into Flux""" env.prepend_path("FLUX_SHELL_RC_PATH", join_path(self.prefix, "share", "mpibind")) diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index a6359052ac3..9b75f4ae4bf 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -16,7 +16,9 @@ class MpichEnvironmentModifications(spack.package_base.PackageBase): MPICH, and derivatives. """ - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: dependent_module = dependent_spec.package.module for var_name, attr_name in ( ("MPICH_CC", "spack_cc"), @@ -28,11 +30,11 @@ def setup_dependent_build_environment(self, env, dependent_spec): if hasattr(dependent_module, attr_name): env.set(var_name, getattr(dependent_module, attr_name)) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset("F90") env.unset("F90FLAGS") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.setup_mpi_wrapper_variables(env) def setup_dependent_package(self, module, dependent_spec): @@ -493,7 +495,7 @@ def flag_handler(self, name, flags): return flags, None, None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: MpichEnvironmentModifications.setup_build_environment(self, env) if "pmi=cray" in self.spec: env.set("CRAY_PMI_INCLUDE_OPTS", "-I" + self.spec["cray-pmi"].headers.directories[0]) diff --git a/var/spack/repos/builtin/packages/mpitrampoline/package.py b/var/spack/repos/builtin/packages/mpitrampoline/package.py index ca762c8bf9d..a8825d34598 100644 --- a/var/spack/repos/builtin/packages/mpitrampoline/package.py +++ b/var/spack/repos/builtin/packages/mpitrampoline/package.py @@ -81,7 +81,7 @@ def libs(self): libraries = ["libmpitrampoline"] return find_libraries(libraries, root=self.prefix.lib, shared=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Because MPI implementations provide compilers, they have to add to # their run environments the code to make the compilers available. env.set("MPITRAMPOLINE_CC", self.compiler.cc) @@ -92,7 +92,9 @@ def setup_run_environment(self, env): env.set("MPIF77", join_path(self.prefix.bin, "mpifc")) env.set("MPIF90", join_path(self.prefix.bin, "mpifc")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: dependent_module = dependent_spec.package.module # Use the Spack compiler wrappers under MPI env.set("MPITRAMPOLINE_CC", dependent_module.spack_cc) diff --git a/var/spack/repos/builtin/packages/mpt/package.py b/var/spack/repos/builtin/packages/mpt/package.py index 14b03a55e70..133ebf770f5 100644 --- a/var/spack/repos/builtin/packages/mpt/package.py +++ b/var/spack/repos/builtin/packages/mpt/package.py @@ -33,14 +33,16 @@ def libs(self): return find_libraries(libraries, root=self.prefix, shared=True, recursive=True) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # use the Spack compiler wrappers under MPI dependent_module = dependent_spec.package.module env.set("MPICC_CC", dependent_module.spack_cc) env.set("MPICXX_CXX", dependent_module.spack_cxx) env.set("MPIF90_F90", dependent_module.spack_fc) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Because MPI is both runtime and compiler, we have to setup the mpi # compilers as part of the run environment. env.set("MPICC", self.prefix.bin.mpicc) diff --git a/var/spack/repos/builtin/packages/mrtrix3/package.py b/var/spack/repos/builtin/packages/mrtrix3/package.py index e664ae58e55..49f657a40b5 100644 --- a/var/spack/repos/builtin/packages/mrtrix3/package.py +++ b/var/spack/repos/builtin/packages/mrtrix3/package.py @@ -49,5 +49,5 @@ def install(self, spec, prefix): build() install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/msmpi/package.py b/var/spack/repos/builtin/packages/msmpi/package.py index 988b95a603f..57714de4563 100644 --- a/var/spack/repos/builtin/packages/msmpi/package.py +++ b/var/spack/repos/builtin/packages/msmpi/package.py @@ -58,7 +58,7 @@ def setup_dependent_package(self, module, dependent_spec): class GenericBuilder(GenericBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: ifort_root = os.path.join(*self.pkg.compiler.fc.split(os.path.sep)[:-2]) env.set("SPACK_IFORT", ifort_root) diff --git a/var/spack/repos/builtin/packages/msvc/package.py b/var/spack/repos/builtin/packages/msvc/package.py index 80678eb5bbd..ae24fde197d 100644 --- a/var/spack/repos/builtin/packages/msvc/package.py +++ b/var/spack/repos/builtin/packages/msvc/package.py @@ -99,7 +99,9 @@ def setup_dependent_package(self, module, dependent_spec): module.nmake = Executable("nmake") module.msbuild = Executable("msbuild") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.init_msvc() # Set the build environment variables for spack. Just using # subprocess.call() doesn't work since that operates in its own @@ -126,8 +128,10 @@ def setup_dependent_build_environment(self, env, dependent_spec): else: env.set_path(env_var, int_env[env_var].split(os.pathsep)) - env.set("CC", self.cc) - env.set("CXX", self.cxx) + if self.cc: + env.set("CC", self.cc) + if self.cxx: + env.set("CXX", self.cxx) if self.fortran: env.set("FC", self.fortran) env.set("F77", self.fortran) diff --git a/var/spack/repos/builtin/packages/mujoco/package.py b/var/spack/repos/builtin/packages/mujoco/package.py index abd38eed2d4..9c825512d1e 100644 --- a/var/spack/repos/builtin/packages/mujoco/package.py +++ b/var/spack/repos/builtin/packages/mujoco/package.py @@ -40,7 +40,7 @@ def url_for_version(self, version): def install(self, spec, prefix): copy_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", prefix.include) env.prepend_path("LD_LIBRARY_PATH", prefix.bin) if platform.system() == "Darwin": diff --git a/var/spack/repos/builtin/packages/mumax/package.py b/var/spack/repos/builtin/packages/mumax/package.py index 8033305bc14..82f3577af7d 100644 --- a/var/spack/repos/builtin/packages/mumax/package.py +++ b/var/spack/repos/builtin/packages/mumax/package.py @@ -77,7 +77,7 @@ def edit(self, spec, prefix): filter_file(r"(^\(cd test)", r"#\1", "make.bash") filter_file(r"(for cc in ).*(; do)", r"\1{0}\2".format(self.cuda_arch), "cuda/make.bash") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GOPATH", self.gopath) env.set("CUDA_CC", self.cuda_arch) env.set("NVCC_CCBIN", spack_cc) diff --git a/var/spack/repos/builtin/packages/mutationpp/package.py b/var/spack/repos/builtin/packages/mutationpp/package.py index 0050cde2000..2548e5f9d04 100644 --- a/var/spack/repos/builtin/packages/mutationpp/package.py +++ b/var/spack/repos/builtin/packages/mutationpp/package.py @@ -47,12 +47,14 @@ def install_examples(self): if "+examples" in self.spec and os.path.isdir("examples"): install_tree("examples", self.prefix.examples) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MPP_DIRECTORY", self.prefix) if os.path.isdir(self.prefix.data): env.set("MPP_DATA_DIRECTORY", self.prefix.data) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("MPP_DIRECTORY", self.prefix) if os.path.isdir(self.prefix.data): env.set("MPP_DATA_DIRECTORY", self.prefix.data) diff --git a/var/spack/repos/builtin/packages/mvapich-plus/package.py b/var/spack/repos/builtin/packages/mvapich-plus/package.py index 4c4b6690f2f..61d915bd6c2 100644 --- a/var/spack/repos/builtin/packages/mvapich-plus/package.py +++ b/var/spack/repos/builtin/packages/mvapich-plus/package.py @@ -199,7 +199,7 @@ def flag_handler(self, name, flags): flags.append("-fallow-argument-mismatch") return (None, flags, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # mvapich2 configure fails when F90 and F90FLAGS are set env.unset("F90") env.unset("F90FLAGS") @@ -226,14 +226,16 @@ def setup_build_environment(self, env): env.set("CUDA_HOME", self.spec["hip"].prefix) env.set("CUDA_ROOT", self.spec["hip"].prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MPI_ROOT", self.prefix) # Because MPI functions as a compiler, we need to treat it as one and # add its compiler paths to the run environment. self.setup_compiler_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_compiler_environment(env) # use the Spack compiler wrappers under MPI @@ -243,7 +245,7 @@ def setup_dependent_build_environment(self, env, dependent_spec): env.set("MPICH_F90", spack_fc) env.set("MPICH_FC", spack_fc) - def setup_compiler_environment(self, env): + def setup_compiler_environment(self, env: EnvironmentModifications): # For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers. # Cray MPIs always have cray in the module name, e.g. "cray-mvapich" if self.spec.satisfies("platform=cray"): diff --git a/var/spack/repos/builtin/packages/mvapich/package.py b/var/spack/repos/builtin/packages/mvapich/package.py index c0adb6b9044..0bc559427bc 100644 --- a/var/spack/repos/builtin/packages/mvapich/package.py +++ b/var/spack/repos/builtin/packages/mvapich/package.py @@ -207,13 +207,15 @@ def flag_handler(self, name, flags): return (flags, None, None) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MPI_ROOT", self.prefix) # Because MPI functions as a compiler, we need to treat it as one and # add its compiler paths to the run environment. self.setup_mpi_wrapper_variables(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_mpi_wrapper_variables(env) MpichEnvironmentModifications.setup_dependent_build_environment(self, env, dependent_spec) diff --git a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py index dcce00f1364..9a1bfd74adb 100755 --- a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py +++ b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py @@ -146,7 +146,7 @@ def process_manager_options(self): ) return opts - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "pmi_version=pmi1" in self.spec: env.set("SLURM_MPI_TYPE", "pmi1") if "pmi_version=pmi2" in self.spec: @@ -158,7 +158,9 @@ def setup_run_environment(self, env): # add its compiler paths to the run environment. self.setup_mpi_wrapper_variables(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_mpi_wrapper_variables(env) MpichEnvironmentModifications.setup_dependent_build_environment(self, env, dependent_spec) diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index 1059df5bd3c..b32ec63a662 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -358,7 +358,7 @@ def flag_handler(self, name, flags): return (flags, None, None) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "process_managers=slurm" in self.spec: if "pmi_version=pmi1" in self.spec: env.set("SLURM_MPI_TYPE", "pmi1") @@ -372,7 +372,9 @@ def setup_run_environment(self, env): # add its compiler paths to the run environment. self.setup_mpi_wrapper_variables(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_mpi_wrapper_variables(env) MpichEnvironmentModifications.setup_dependent_build_environment(self, env, dependent_spec) diff --git a/var/spack/repos/builtin/packages/mvapich2x/package.py b/var/spack/repos/builtin/packages/mvapich2x/package.py index 88068d0c5f3..aacc96943cc 100644 --- a/var/spack/repos/builtin/packages/mvapich2x/package.py +++ b/var/spack/repos/builtin/packages/mvapich2x/package.py @@ -198,7 +198,7 @@ def construct_cflags(self): cflags = cflags + "-I/opt/xpmem/include" return cflags - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "pmi_version=pmi1" in self.spec: env.set("SLURM_MPI_TYPE", "pmi1") if "pmi_version=pmi2" in self.spec: @@ -210,7 +210,9 @@ def setup_run_environment(self, env): # add its compiler paths to the run environment. self.setup_mpi_wrapper_variables(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_mpi_wrapper_variables(env) MpichEnvironmentModifications.setup_dependent_build_environment(self, env, dependent_spec) diff --git a/var/spack/repos/builtin/packages/mxnet/package.py b/var/spack/repos/builtin/packages/mxnet/package.py index 6300f288281..d3ee9c127e7 100644 --- a/var/spack/repos/builtin/packages/mxnet/package.py +++ b/var/spack/repos/builtin/packages/mxnet/package.py @@ -75,7 +75,7 @@ class Mxnet(CMakePackage, CudaPackage, PythonExtension): # python/setup.py assumes libs can be found in build directory build_directory = "build" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MXNET_LIBRARY_PATH", self.spec["mxnet"].libs[0]) if self.spec.satisfies("+nccl ^nccl@2.1:"): diff --git a/var/spack/repos/builtin/packages/mysql/package.py b/var/spack/repos/builtin/packages/mysql/package.py index 46a1006f510..cc049ffdf76 100644 --- a/var/spack/repos/builtin/packages/mysql/package.py +++ b/var/spack/repos/builtin/packages/mysql/package.py @@ -212,7 +212,7 @@ def _fix_dtrace_shebang(self, env): # prepend to PATH the temporary folder where it resides. env.prepend_path("PATH", dtrace_copy_path) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: cxxstd = self.spec.variants["cxxstd"].value flag = getattr(self.compiler, "cxx{0}_flag".format(cxxstd)) if flag: diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py index 8eba3d8412b..4381be5ed9f 100644 --- a/var/spack/repos/builtin/packages/nag/package.py +++ b/var/spack/repos/builtin/packages/nag/package.py @@ -65,7 +65,7 @@ def install(self, spec, prefix): # Run install script os.system("./INSTALLU.sh") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("F77", self.prefix.bin.nagfor) env.set("FC", self.prefix.bin.nagfor) diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py index 7b66312a967..9371c042583 100644 --- a/var/spack/repos/builtin/packages/nalu-wind/package.py +++ b/var/spack/repos/builtin/packages/nalu-wind/package.py @@ -142,7 +142,9 @@ class NaluWind(CMakePackage, CudaPackage, ROCmPackage): "openfast@4.0.0:4.0.1", msg="OpenFAST 4.0.0:4.0.1 contains a bug. Use OpenFAST >= 4.0.2." ) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spec = self.spec if spec.satisfies("+cuda") or spec.satisfies("+rocm"): env.set("CUDA_LAUNCH_BLOCKING", "1") @@ -150,7 +152,7 @@ def setup_dependent_run_environment(self, env, dependent_spec): env.set("HIP_LAUNCH_BLOCKING", "1") env.set("HIP_MANAGED_FORCE_DEVICE_ALLOC", "1") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.append_flags("CXXFLAGS", "-DUSE_STK_SIMD_NONE") if spec.satisfies("+cuda"): diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py index 78499b8fbeb..1ff483071f4 100644 --- a/var/spack/repos/builtin/packages/nasm/package.py +++ b/var/spack/repos/builtin/packages/nasm/package.py @@ -87,7 +87,9 @@ def install(self, pkg, spec, prefix): for file in rdoff: install(file, self.prefix.rdoff) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # This is required as NASM installs its binaries into an # atypical location (i.e. flat in the prefix) env.prepend_path("PATH", self.pkg.prefix) diff --git a/var/spack/repos/builtin/packages/nccl-fastsocket/package.py b/var/spack/repos/builtin/packages/nccl-fastsocket/package.py index 0b03798a6ec..9465c927a59 100644 --- a/var/spack/repos/builtin/packages/nccl-fastsocket/package.py +++ b/var/spack/repos/builtin/packages/nccl-fastsocket/package.py @@ -22,7 +22,7 @@ class NcclFastsocket(Package): maintainers("danielahlin") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec tmp_path = tempfile.mkdtemp(prefix="spack") env.set("TEST_TMPDIR", tmp_path) @@ -56,7 +56,7 @@ def install(self, spec, prefix): bazel(*args) install_tree("bazel-bin", prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # The current plugin pickup method of NCCL is to scan for libraries with certain # names in the standard library search paths. Consequently, to make nccl-fastsocket # discoverable to NCCL it is necessary to add it to the LD_LIBRARY_PATH. diff --git a/var/spack/repos/builtin/packages/nccl-tests/package.py b/var/spack/repos/builtin/packages/nccl-tests/package.py index 19f0184dfac..89ab167fb60 100644 --- a/var/spack/repos/builtin/packages/nccl-tests/package.py +++ b/var/spack/repos/builtin/packages/nccl-tests/package.py @@ -36,7 +36,7 @@ def build_targets(self): targets.append("MPI=1") return targets - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: cuda_arch = self.spec.variants["cuda_arch"].value cuda_gencode = " ".join(self.cuda_flags(cuda_arch)) env.set("NVCC_GENCODE", cuda_gencode) diff --git a/var/spack/repos/builtin/packages/ncftp/package.py b/var/spack/repos/builtin/packages/ncftp/package.py index 1797750a8ac..ff1a223f7d9 100644 --- a/var/spack/repos/builtin/packages/ncftp/package.py +++ b/var/spack/repos/builtin/packages/ncftp/package.py @@ -26,7 +26,7 @@ def url_for_version(self, version): else: return url.format(f"ncftp-{version}") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%gcc@10:"): # https://bugs.gentoo.org/722550 env.set("CFLAGS", "-fcommon") diff --git a/var/spack/repos/builtin/packages/ncio/package.py b/var/spack/repos/builtin/packages/ncio/package.py index b5f6c54e4c1..8b2055a307f 100644 --- a/var/spack/repos/builtin/packages/ncio/package.py +++ b/var/spack/repos/builtin/packages/ncio/package.py @@ -28,7 +28,7 @@ class Ncio(CMakePackage): depends_on("mpi") depends_on("netcdf-fortran") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: lib = find_libraries("libncio", root=self.prefix, shared=False, recursive=True) env.set("NCIO_LIB", lib[0]) env.set("NCIO_INC", join_path(self.prefix, "include")) diff --git a/var/spack/repos/builtin/packages/ncl/package.py b/var/spack/repos/builtin/packages/ncl/package.py index 18ea26c3a2c..5c402884f73 100644 --- a/var/spack/repos/builtin/packages/ncl/package.py +++ b/var/spack/repos/builtin/packages/ncl/package.py @@ -199,7 +199,7 @@ def install(self, spec, prefix): ) filter_file("^(set cairolib[ ]*=).*", r'\1 "-lcairo -lfreetype"', wrapper) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("NCARG_ROOT", self.spec.prefix) # We cannot rely on Spack knowledge of esmf when NCL is an external diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py index 0bcc6e76e8d..24814b03c8f 100644 --- a/var/spack/repos/builtin/packages/nco/package.py +++ b/var/spack/repos/builtin/packages/nco/package.py @@ -90,7 +90,7 @@ def configure_args(self): config_args += self.enable_or_disable("openmp") return config_args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("NETCDF_INC", spec["netcdf-c"].prefix.include) env.set("NETCDF_LIB", spec["netcdf-c"].prefix.lib) diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py index a7271676c5d..4ecb1766d04 100644 --- a/var/spack/repos/builtin/packages/ncurses/package.py +++ b/var/spack/repos/builtin/packages/ncurses/package.py @@ -101,7 +101,7 @@ def determine_variants(cls, exes, version): results.append(variants) return results - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset("TERMINFO") def flag_handler(self, name, flags): diff --git a/var/spack/repos/builtin/packages/ncvis/package.py b/var/spack/repos/builtin/packages/ncvis/package.py index e055d7d7775..c0ed1b1dd88 100644 --- a/var/spack/repos/builtin/packages/ncvis/package.py +++ b/var/spack/repos/builtin/packages/ncvis/package.py @@ -29,5 +29,5 @@ class Ncvis(CMakePackage): def install_resources(self): install_tree("resources", self.prefix.resources) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("NCVIS_RESOURCE_DIR", self.prefix.resources) diff --git a/var/spack/repos/builtin/packages/nekrs/package.py b/var/spack/repos/builtin/packages/nekrs/package.py index 0549033f609..a8ef62e54b8 100644 --- a/var/spack/repos/builtin/packages/nekrs/package.py +++ b/var/spack/repos/builtin/packages/nekrs/package.py @@ -68,7 +68,7 @@ def patch(self): filter_file(r"mpirun -np", "srun -n", "nrspre") filter_file(r"mpirun -np", "srun -n", "nrsbmpi") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # The 'env' is included in the Spack generated module files. spec = self.spec env.set("OCCA_CXX", self.compiler.cxx) @@ -99,7 +99,7 @@ def _setup_runtime_flags(self, s_env): # Run-time CUDA compiler: s_env.set("OCCA_CUDA_COMPILER", join_path(cuda_dir, "bin", "nvcc")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # The environment variable CXX is automatically set to the Spack # compiler wrapper. @@ -136,7 +136,9 @@ def setup_build_environment(self, env): env.set("OCCA_VERBOSE", "1") self._setup_runtime_flags(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Export OCCA_* variables for everyone using this package from within # Spack. self._setup_runtime_flags(env) diff --git a/var/spack/repos/builtin/packages/nektar/package.py b/var/spack/repos/builtin/packages/nektar/package.py index e14f531662a..2be31cb11c3 100644 --- a/var/spack/repos/builtin/packages/nektar/package.py +++ b/var/spack/repos/builtin/packages/nektar/package.py @@ -168,7 +168,7 @@ def install(self, spec, prefix): with working_dir(self.build_directory): python("setup.py", "install", "--prefix", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path( "CMAKE_PREFIX_PATH", os.path.join( @@ -179,10 +179,14 @@ def setup_run_environment(self, env): "PYTHONPATH", os.path.abspath(os.path.join(self.spec.prefix, "build_tree")) ) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_run_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_run_environment(env) def add_files_to_view(self, view, merge_map, skip_if_exists=True): diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py index 1f30befe40a..991b18223b6 100644 --- a/var/spack/repos/builtin/packages/nest/package.py +++ b/var/spack/repos/builtin/packages/nest/package.py @@ -138,5 +138,5 @@ def install_headers(self): for f in find_headers("*.{0}".format(suffix), self.stage.source_path, recursive=True): install(f, path_headers) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("NEST_INSTALL_DIR", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py index 1afbe2d1049..1963863da14 100644 --- a/var/spack/repos/builtin/packages/netcdf-c/package.py +++ b/var/spack/repos/builtin/packages/netcdf-c/package.py @@ -283,7 +283,7 @@ class NetcdfC(CMakePackage, AutotoolsPackage): build_system("cmake", "autotools", default=default_build_system) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@4.9.0:+shared"): # Both HDF5 and NCZarr backends honor the same environment variable: env.append_path("HDF5_PLUGIN_PATH", self.prefix.plugins) @@ -304,7 +304,9 @@ def libs(self): class AnyBuilder(BaseBuilder): - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Some packages, e.g. ncview, refuse to build if the compiler path returned by nc-config # differs from the path to the compiler that the package should be built with. Therefore, # we have to shadow nc-config from self.prefix.bin, which references the real compiler, diff --git a/var/spack/repos/builtin/packages/netdata/package.py b/var/spack/repos/builtin/packages/netdata/package.py index d473e3c147a..d0fedf794ae 100644 --- a/var/spack/repos/builtin/packages/netdata/package.py +++ b/var/spack/repos/builtin/packages/netdata/package.py @@ -35,7 +35,7 @@ class Netdata(AutotoolsPackage): depends_on("uuid") depends_on("zlib-api") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) @run_after("install") diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py index 7d701214986..081cf016b2f 100644 --- a/var/spack/repos/builtin/packages/neuron/package.py +++ b/var/spack/repos/builtin/packages/neuron/package.py @@ -185,7 +185,7 @@ def filter_compilers(self): nrnmakefile = join_path(self.prefix, "share/coreneuron/nrnivmodl_core_makefile") filter_file("(?:^|\\s)CXX\\s*=.+", "CXX = {0}".format(cxx_compiler), nrnmakefile) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", join_path(self.prefix, "bin")) env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "lib")) if self.spec.satisfies("+python"): diff --git a/var/spack/repos/builtin/packages/nfs-ganesha/package.py b/var/spack/repos/builtin/packages/nfs-ganesha/package.py index b53c913b899..d944672a344 100644 --- a/var/spack/repos/builtin/packages/nfs-ganesha/package.py +++ b/var/spack/repos/builtin/packages/nfs-ganesha/package.py @@ -29,5 +29,5 @@ class NfsGanesha(CMakePackage): root_cmakelists_dir = "src" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec["ntirpc"].prefix.include.ntirpc) diff --git a/var/spack/repos/builtin/packages/nginx/package.py b/var/spack/repos/builtin/packages/nginx/package.py index 32d1bdd6606..7250087fd52 100644 --- a/var/spack/repos/builtin/packages/nginx/package.py +++ b/var/spack/repos/builtin/packages/nginx/package.py @@ -38,6 +38,6 @@ def configure_args(self): args = ["--with-http_ssl_module"] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Prepend the sbin directory to PATH.""" env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/ngspice/package.py b/var/spack/repos/builtin/packages/ngspice/package.py index 39acd92aa70..35d9a089965 100644 --- a/var/spack/repos/builtin/packages/ngspice/package.py +++ b/var/spack/repos/builtin/packages/ngspice/package.py @@ -168,6 +168,6 @@ def flag_handler(self, name, flags): flags.append("-g") return (None, None, flags) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "build=lib" in self.spec: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/ninja/package.py b/var/spack/repos/builtin/packages/ninja/package.py index 19be46d2928..0396f3494eb 100644 --- a/var/spack/repos/builtin/packages/ninja/package.py +++ b/var/spack/repos/builtin/packages/ninja/package.py @@ -81,7 +81,7 @@ def configure_test(self): ninja_test = Executable("./ninja_test") ninja_test() - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.misc) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/nnn/package.py b/var/spack/repos/builtin/packages/nnn/package.py index 5cc0561e289..b887713dd5f 100644 --- a/var/spack/repos/builtin/packages/nnn/package.py +++ b/var/spack/repos/builtin/packages/nnn/package.py @@ -57,7 +57,7 @@ class Nnn(MakefilePackage): description="Add pipe to close and restore preview-tui for internal undetached edits", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("PREFIX", self.prefix) if "+pcre" in spec: diff --git a/var/spack/repos/builtin/packages/node-js/package.py b/var/spack/repos/builtin/packages/node-js/package.py index f35c97471be..771378f16f4 100644 --- a/var/spack/repos/builtin/packages/node-js/package.py +++ b/var/spack/repos/builtin/packages/node-js/package.py @@ -164,7 +164,7 @@ def determine_version(cls, exe): match = re.match(r"v([\d.]+)\s*", output) return match.group(1) if match else None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Force use of experimental Python 3 support env.set("PYTHON", self.spec["python"].command.path) env.set("NODE_GYP_FORCE_PYTHON", self.spec["python"].command.path) diff --git a/var/spack/repos/builtin/packages/npm/package.py b/var/spack/repos/builtin/packages/npm/package.py index fb6a56d53dd..e208ab351b1 100644 --- a/var/spack/repos/builtin/packages/npm/package.py +++ b/var/spack/repos/builtin/packages/npm/package.py @@ -121,14 +121,18 @@ def install(self, spec, prefix): ".", ) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: npm_config_cache_dir = "%s/npm-cache" % dependent_spec.prefix if not os.path.isdir(npm_config_cache_dir): mkdirp(npm_config_cache_dir) env.set("npm_config_cache", npm_config_cache_dir) env.set("npm_config_install_links", "true") - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: npm_config_cache_dir = "%s/npm-cache" % dependent_spec.prefix env.set("npm_config_cache", npm_config_cache_dir) env.set("npm_config_install_links", "true") diff --git a/var/spack/repos/builtin/packages/nut/package.py b/var/spack/repos/builtin/packages/nut/package.py index 1da3335c51b..e8e0fc66692 100644 --- a/var/spack/repos/builtin/packages/nut/package.py +++ b/var/spack/repos/builtin/packages/nut/package.py @@ -35,7 +35,7 @@ class Nut(CMakePackage): conflicts("%nag", when="@serial") build_targets = ["VERBOSE=on"] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("RANDOM123_DIR", self.spec["random123"].prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py index 08e990802d9..a314ce5c6ee 100644 --- a/var/spack/repos/builtin/packages/nvhpc/package.py +++ b/var/spack/repos/builtin/packages/nvhpc/package.py @@ -520,7 +520,7 @@ def determine_variants(cls, exes, version_str): def _version_prefix(self): return join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("NVHPC_SILENT", "true") env.set("NVHPC_ACCEPT_EULA", "accept") env.set("NVHPC_INSTALL_DIR", self.prefix) @@ -559,7 +559,7 @@ def install(self, spec, prefix): # Update localrc to use Spack gcc makelocalrc(*makelocalrc_args) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: prefix = Prefix( join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version, "compilers") ) @@ -587,7 +587,9 @@ def setup_run_environment(self, env): env.prepend_path("PATH", mpi_prefix.bin) env.prepend_path("LD_LIBRARY_PATH", mpi_prefix.lib) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: prefix = Prefix( join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version, "compilers") ) diff --git a/var/spack/repos/builtin/packages/nvshmem/package.py b/var/spack/repos/builtin/packages/nvshmem/package.py index b7ea9e9350a..b8d49550a78 100644 --- a/var/spack/repos/builtin/packages/nvshmem/package.py +++ b/var/spack/repos/builtin/packages/nvshmem/package.py @@ -55,7 +55,7 @@ def url_for_version(self, version): depends_on("gdrcopy", when="+gdrcopy") depends_on("nccl", when="+nccl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CUDA_HOME", self.spec["cuda"].prefix) env.set("NVSHMEM_PREFIX", self.prefix) diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py index de05736af60..0191d4bb52f 100644 --- a/var/spack/repos/builtin/packages/nwchem/package.py +++ b/var/spack/repos/builtin/packages/nwchem/package.py @@ -262,6 +262,6 @@ def install(self, spec, prefix): f.write(nwchemrc) install(".nwchemrc", share_path) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("NWCHEM_BASIS_LIBRARY", join_path(self.prefix, "share/nwchem/libraries/")) env.set("NWCHEM_NWPW_LIBRARY", join_path(self.prefix, "share/nwchem/libraryps/")) diff --git a/var/spack/repos/builtin/packages/occa/package.py b/var/spack/repos/builtin/packages/occa/package.py index 05c83d003f9..b466d2bcf58 100644 --- a/var/spack/repos/builtin/packages/occa/package.py +++ b/var/spack/repos/builtin/packages/occa/package.py @@ -71,7 +71,7 @@ def _setup_runtime_flags(self, s_env): # Run-time CUDA compiler: s_env.set("OCCA_CUDA_COMPILER", join_path(cuda_dir, "bin", "nvcc")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # The environment variable CXX is automatically set to the Spack # compiler wrapper. @@ -113,11 +113,13 @@ def setup_build_environment(self, env): env.set("OCCA_VERBOSE", "1") self._setup_runtime_flags(env) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # The 'env' is included in the Spack generated module files. self._setup_runtime_flags(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Export OCCA_* variables for everyone using this package from within # Spack. self._setup_runtime_flags(env) diff --git a/var/spack/repos/builtin/packages/octave-gsl/package.py b/var/spack/repos/builtin/packages/octave-gsl/package.py index c7053257a62..29c0dba38bd 100644 --- a/var/spack/repos/builtin/packages/octave-gsl/package.py +++ b/var/spack/repos/builtin/packages/octave-gsl/package.py @@ -20,5 +20,5 @@ class OctaveGsl(OctavePackage, SourceforgePackage): depends_on("gsl@2.4:") extends("octave@2.9.7:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PKG_CONFIG_PATH", self.spec["gsl"].prefix) diff --git a/var/spack/repos/builtin/packages/of-precice/package.py b/var/spack/repos/builtin/packages/of-precice/package.py index 0662a92f0b9..e3667ba55fa 100644 --- a/var/spack/repos/builtin/packages/of-precice/package.py +++ b/var/spack/repos/builtin/packages/of-precice/package.py @@ -94,5 +94,5 @@ def install(self, spec, prefix): # Place directly under 'lib' (no bin) install_tree(join_path(self.build_userdir, "lib"), join_path(self.prefix, "lib")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "lib")) diff --git a/var/spack/repos/builtin/packages/ollama/package.py b/var/spack/repos/builtin/packages/ollama/package.py index 0192160f28b..4b1cd3b2d8f 100644 --- a/var/spack/repos/builtin/packages/ollama/package.py +++ b/var/spack/repos/builtin/packages/ollama/package.py @@ -36,7 +36,7 @@ class Ollama(GoPackage, CudaPackage): class GoBuilder(spack.build_systems.go.GoBuilder): phases = ("generate", "build", "install") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cuda"): # These variables are consumed by gen_linux.sh which is called by # "go generate". diff --git a/var/spack/repos/builtin/packages/omnitrace/package.py b/var/spack/repos/builtin/packages/omnitrace/package.py index ee45ec54589..19217d434b8 100644 --- a/var/spack/repos/builtin/packages/omnitrace/package.py +++ b/var/spack/repos/builtin/packages/omnitrace/package.py @@ -211,7 +211,7 @@ def flag_handler(self, name, flags): flags.append("-lintl") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+tau" in self.spec: import glob diff --git a/var/spack/repos/builtin/packages/onednn/package.py b/var/spack/repos/builtin/packages/onednn/package.py index 7b1a7530ad4..8af3d9296a2 100644 --- a/var/spack/repos/builtin/packages/onednn/package.py +++ b/var/spack/repos/builtin/packages/onednn/package.py @@ -150,6 +150,6 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+acl"): env.set("ACL_ROOT_DIR", self.spec["armcomputelibrary"].prefix) diff --git a/var/spack/repos/builtin/packages/oommf/package.py b/var/spack/repos/builtin/packages/oommf/package.py index d8e6dec46b7..dad266ddb00 100644 --- a/var/spack/repos/builtin/packages/oommf/package.py +++ b/var/spack/repos/builtin/packages/oommf/package.py @@ -200,7 +200,7 @@ def install(self, spec, prefix): for f in install_files: install(os.path.join(oommfdir, f), prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Set OOMMF_ROOT so that oommf.tcl can find its files. oommfdir = self.get_oommf_path(self.prefix) env.set("OOMMF_ROOT", oommfdir) diff --git a/var/spack/repos/builtin/packages/opa-psm2/package.py b/var/spack/repos/builtin/packages/opa-psm2/package.py index 3ce1a20bca4..5217f9cb2b9 100644 --- a/var/spack/repos/builtin/packages/opa-psm2/package.py +++ b/var/spack/repos/builtin/packages/opa-psm2/package.py @@ -43,7 +43,7 @@ class OpaPsm2(MakefilePackage, CudaPackage): sha256="fe31fda9aaee13acb87d178af2282446196d2cc0b21163034573706110b2e2d6", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DESTDIR", self.prefix) if "%intel" in self.spec: # this variable must be set when we use the Intel compilers to diff --git a/var/spack/repos/builtin/packages/opam/package.py b/var/spack/repos/builtin/packages/opam/package.py index 99139754d72..32f7a3b85a5 100644 --- a/var/spack/repos/builtin/packages/opam/package.py +++ b/var/spack/repos/builtin/packages/opam/package.py @@ -53,7 +53,7 @@ def build_directory(self): return self.stage.source_path @when("@:1.2.2") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """In OCaml <4.06.1, the default was -safe-string=0, and this has changed in OCaml >=4.06.1. OPAM version 1 was written before 4.06.1 was released, so OPAM <2.0 assumes mutable strings and requires the diff --git a/var/spack/repos/builtin/packages/open-iscsi/package.py b/var/spack/repos/builtin/packages/open-iscsi/package.py index 7ed4963540e..da20bcffbed 100644 --- a/var/spack/repos/builtin/packages/open-iscsi/package.py +++ b/var/spack/repos/builtin/packages/open-iscsi/package.py @@ -32,10 +32,10 @@ class OpenIscsi(MakefilePackage): depends_on("automake", type="build") depends_on("libtool", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CFLAGS", "-DNO_SYSTEMD") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py index 7eadea25c98..0521b7dff58 100644 --- a/var/spack/repos/builtin/packages/openblas/package.py +++ b/var/spack/repos/builtin/packages/openblas/package.py @@ -441,7 +441,7 @@ def _microarch_target_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # When building OpenBLAS with threads=openmp, `make all` # runs tests, so we set the max number of threads at runtime # accordingly diff --git a/var/spack/repos/builtin/packages/opendatadetector/package.py b/var/spack/repos/builtin/packages/opendatadetector/package.py index f2c03e60ecf..102ffd5e919 100644 --- a/var/spack/repos/builtin/packages/opendatadetector/package.py +++ b/var/spack/repos/builtin/packages/opendatadetector/package.py @@ -34,7 +34,7 @@ def cmake_args(self): args = [self.define("CMAKE_CXX_STANDARD", self.spec["root"].variants["cxxstd"].value)] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("OPENDATADETECTOR_DATA", join_path(self.prefix.share, "OpenDataDetector")) for lib_path in [self.prefix.lib, self.prefix.lib64]: env.prepend_path("LD_LIBRARY_PATH", lib_path) diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py index c3711338e1e..a4fc9ff0f94 100644 --- a/var/spack/repos/builtin/packages/openfoam-org/package.py +++ b/var/spack/repos/builtin/packages/openfoam-org/package.py @@ -185,7 +185,7 @@ def config(self): settings["label-size"] = False return settings - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: bashrc = self.prefix.etc.bashrc try: env.extend(EnvironmentModifications.from_sourcing_file(bashrc, clean=True)) @@ -193,7 +193,9 @@ def setup_run_environment(self, env): msg = "unexpected error when sourcing OpenFOAM bashrc [{0}]" tty.warn(msg.format(str(e))) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """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 @@ -201,7 +203,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): """ env.set("FOAM_PROJECT_DIR", self.projectdir) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """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 diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py index 51b0e952766..53af2e6a785 100644 --- a/var/spack/repos/builtin/packages/openfoam/package.py +++ b/var/spack/repos/builtin/packages/openfoam/package.py @@ -466,7 +466,7 @@ def url_for_version(self, version): fmt = "v{0}/OpenFOAM-v{1}.tgz" return self.list_url + fmt.format(version.up_to(1), version) - def setup_minimal_environment(self, env): + def setup_minimal_environment(self, env: EnvironmentModifications): """Sets a minimal openfoam environment.""" tty.info("OpenFOAM minimal env {0}".format(self.prefix)) env.set("FOAM_PROJECT_DIR", self.projectdir) @@ -474,11 +474,11 @@ def setup_minimal_environment(self, env): for d in ["wmake", self.archbin]: # bin added automatically env.prepend_path("PATH", join_path(self.projectdir, d)) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Sets the build environment (prior to unpacking the sources).""" pass - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Sets the run environment (post-installation). The environment comes from running: @@ -516,9 +516,9 @@ def setup_run_environment(self, env): "FOAM_RUN", "(FOAM|WM)_.*USER_.*", ], - whitelist=[ # Whitelist these - "MPI_ARCH_PATH" # Can be required for compilation - ], + whitelist=[ + "MPI_ARCH_PATH" + ], # Whitelist these # Can be required for compilation ) env.extend(mods) @@ -531,7 +531,9 @@ def setup_run_environment(self, env): # pre-build or minimal environment self.setup_minimal_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Use full OpenFOAM environment when building. Mirror WM_PROJECT_DIR value as FOAM_PROJECT_DIR to avoid masking the normal OpenFOAM cleanup of previous versions. @@ -539,7 +541,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): self.setup_run_environment(env) env.set("FOAM_PROJECT_DIR", self.projectdir) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Use full OpenFOAM environment when running. Mirror WM_PROJECT_DIR value as FOAM_PROJECT_DIR to avoid masking the normal OpenFOAM cleanup of previous versions. diff --git a/var/spack/repos/builtin/packages/openjdk/package.py b/var/spack/repos/builtin/packages/openjdk/package.py index bc07e1e2341..aeaa9e2597d 100644 --- a/var/spack/repos/builtin/packages/openjdk/package.py +++ b/var/spack/repos/builtin/packages/openjdk/package.py @@ -516,12 +516,14 @@ def link_system_certs(self): os.remove(pkg_conf) os.symlink(sys_certs, pkg_conf) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set JAVA_HOME.""" env.set("JAVA_HOME", self.home) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set JAVA_HOME and CLASSPATH. CLASSPATH contains the installation prefix for the extension and any @@ -537,7 +539,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): classpath = os.pathsep.join(class_paths) env.set("CLASSPATH", classpath) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set CLASSPATH. CLASSPATH contains the installation prefix for the extension and any diff --git a/var/spack/repos/builtin/packages/openloops/package.py b/var/spack/repos/builtin/packages/openloops/package.py index 7cc746bb40f..bed9de65605 100644 --- a/var/spack/repos/builtin/packages/openloops/package.py +++ b/var/spack/repos/builtin/packages/openloops/package.py @@ -298,12 +298,12 @@ def configure(self, spec, prefix): elif self.spec.satisfies("@2.1.2:2 processes=lcg.coll"): copy(join_path(os.path.dirname(__file__), "sft3.coll"), "lcg.coll") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Make sure that calling openloops picks up the scons that is shipped # instead of falling back to a potentially unsuitable system version env.set("OLPYTHON", self.spec["python"].prefix.bin.python) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Make sure that calling openloops picks up the scons that is shipped # instead of falling back to a potentially unsuitable system version env.set("OLPYTHON", self.spec["python"].prefix.bin.python) diff --git a/var/spack/repos/builtin/packages/openmm/package.py b/var/spack/repos/builtin/packages/openmm/package.py index 8d7fca088b2..bf3a8433f08 100644 --- a/var/spack/repos/builtin/packages/openmm/package.py +++ b/var/spack/repos/builtin/packages/openmm/package.py @@ -61,25 +61,29 @@ def patch(self): "wrappers/python/CMakeLists.txt", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "+cuda" in spec: env.set("OPENMM_CUDA_COMPILER", self.spec["cuda"].prefix.bin.nvcc) env.set("CUDA_HOST_COMPILER", self.compiler.cxx) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "+cuda" in spec: env.set("OPENMM_CUDA_COMPILER", self.spec["cuda"].prefix.bin.nvcc) env.set("CUDA_HOST_COMPILER", self.compiler.cxx) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spec = self.spec if "+cuda" in spec: env.set("OPENMM_CUDA_COMPILER", self.spec["cuda"].prefix.bin.nvcc) env.set("CUDA_HOST_COMPILER", self.compiler.cxx) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spec = self.spec if "+cuda" in spec: env.set("OPENMM_CUDA_COMPILER", self.spec["cuda"].prefix.bin.nvcc) diff --git a/var/spack/repos/builtin/packages/openmolcas/package.py b/var/spack/repos/builtin/packages/openmolcas/package.py index 132aabc3099..3a8ffc486ff 100644 --- a/var/spack/repos/builtin/packages/openmolcas/package.py +++ b/var/spack/repos/builtin/packages/openmolcas/package.py @@ -37,10 +37,10 @@ class Openmolcas(CMakePackage): patch("CMakeLists.txt.patch", when="target=aarch64:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MOLCAS", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("MOLCAS", self.prefix) if self.spec.version >= Version("21.02"): env.append_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index bf81f691d15..7d56176af5e 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -474,9 +474,9 @@ class Openmpi(AutotoolsPackage, CudaPackage): variant( "fabrics", - values=disjoint_sets( - ("auto",), FABRICS # shared memory transports - ).with_non_feature_values("auto", "none"), + values=disjoint_sets(("auto",), FABRICS).with_non_feature_values( + "auto", "none" + ), # shared memory transports description="List of fabrics that are enabled; " "'auto' lets openmpi determine", ) @@ -887,7 +887,7 @@ def libs(self): return find_libraries(libraries, root=self.prefix, shared=True, recursive=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Because MPI is both a runtime and a compiler, we have to setup the # compiler components as part of the run environment. env.set("MPICC", join_path(self.prefix.bin, "mpicc")) @@ -901,7 +901,9 @@ def setup_run_environment(self, env): if self.spec.satisfies("@1.7:"): env.set("MPIFC", join_path(self.prefix.bin, "mpifort")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Use the spack compiler wrappers under MPI dependent_module = dependent_spec.package.module for var_name, attr_name in ( diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index c8f8f6902d7..4fd80ad446b 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -151,7 +151,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # pre-load dependent CMake-PUBLIC header-only libs if spec.satisfies("@:0.14"): # pre C++17 releases @@ -169,7 +169,9 @@ def setup_run_environment(self, env): if spec.satisfies("+hdf5"): env.prepend_path("CMAKE_PREFIX_PATH", spec["hdf5"].prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spec = self.spec # pre-load dependent CMake-PUBLIC header-only libs if spec.satisfies("@:0.14"): # pre C++17 releases diff --git a/var/spack/repos/builtin/packages/openradioss-engine/package.py b/var/spack/repos/builtin/packages/openradioss-engine/package.py index 9fa49d741d2..c245c5087f9 100644 --- a/var/spack/repos/builtin/packages/openradioss-engine/package.py +++ b/var/spack/repos/builtin/packages/openradioss-engine/package.py @@ -119,7 +119,7 @@ def install(self, spec, prefix): join_path(prefix, "extlib", "hm_reader"), ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("OPENRADIOSS_PATH", self.prefix) env.set("RAD_CFG_PATH", join_path(self.prefix, "hm_cfg_files")) env.set("RAD_H3D_PATH", join_path(self.prefix, "extlib", "h3d", "lib", "linux64")) diff --git a/var/spack/repos/builtin/packages/openradioss-starter/package.py b/var/spack/repos/builtin/packages/openradioss-starter/package.py index 61f02dabd69..adb3b99d2fe 100644 --- a/var/spack/repos/builtin/packages/openradioss-starter/package.py +++ b/var/spack/repos/builtin/packages/openradioss-starter/package.py @@ -105,7 +105,7 @@ def install(self, spec, prefix): join_path(prefix, "extlib", "hm_reader"), ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("OPENRADIOSS_PATH", self.prefix) env.set("RAD_CFG_PATH", join_path(self.prefix, "hm_cfg_files")) env.set("RAD_H3D_PATH", join_path(self.prefix, "extlib", "h3d", "lib", "linux64")) diff --git a/var/spack/repos/builtin/packages/openrasmol/package.py b/var/spack/repos/builtin/packages/openrasmol/package.py index ad9f22a374f..8063451097b 100644 --- a/var/spack/repos/builtin/packages/openrasmol/package.py +++ b/var/spack/repos/builtin/packages/openrasmol/package.py @@ -42,7 +42,7 @@ def edit(self, spec, prefix): f.write("#define CcCmd {0}\n".format(spack_cc)) f.write("#endif\n") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("XFORMSLIB_DIR", self.spec["xforms"].prefix) env.set("CBFLIB_DIR", self.spec["cbflib"].prefix) env.set("CQRLIB_DIR", self.spec["cqrlib"].prefix) diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py index 352e92d683d..24da06ba016 100644 --- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py @@ -275,7 +275,7 @@ def set_mpi_cmake_options(self, spec, cmake_options): cmake_options.extend(mpi_options) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set up the compile and runtime environments for a package.""" # Find Dyninst library path, this is needed to diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py index 5789d89a362..7bf8f20d7bf 100644 --- a/var/spack/repos/builtin/packages/openspeedshop/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop/package.py @@ -293,7 +293,7 @@ def set_mpi_cmake_options(self, spec, cmake_options): cmake_options.extend(mpi_options) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set up the compile and runtime environments for a package.""" # Find Dyninst library path, this is needed to diff --git a/var/spack/repos/builtin/packages/openssh/package.py b/var/spack/repos/builtin/packages/openssh/package.py index 74e9efc1e79..d2794efa787 100755 --- a/var/spack/repos/builtin/packages/openssh/package.py +++ b/var/spack/repos/builtin/packages/openssh/package.py @@ -145,7 +145,7 @@ def install(self, spec, prefix): """Install generates etc/sshd_config, but it fails in parallel mode""" make("install", parallel=False) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Until spack supports a real implementation of setup_test_environment()""" if self.run_tests: self.setup_test_environment(env) @@ -158,7 +158,7 @@ def setup_build_environment(self, env): if self.spec.satisfies("@:7 %gcc@10:") or self.spec.satisfies("@:7 %clang@11:"): env.append_flags("CFLAGS", "-fcommon") - def setup_test_environment(self, env): + def setup_test_environment(self, env: EnvironmentModifications): """Configure the regression test suite like Debian's openssh-tests package""" p = self.prefix j = join_path diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py index 5fcb45f1c68..2904338f198 100644 --- a/var/spack/repos/builtin/packages/openssl/package.py +++ b/var/spack/repos/builtin/packages/openssl/package.py @@ -264,5 +264,5 @@ def patch(self): filter_file("-MF ", "", "Configurations/unix-Makefile.tmpl", string=True) filter_file(r"-MT \$\@ ", "", "Configurations/unix-Makefile.tmpl", string=True) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PERL", self.spec["perl"].prefix.bin.perl) diff --git a/var/spack/repos/builtin/packages/oras/package.py b/var/spack/repos/builtin/packages/oras/package.py index f52f889b24b..58181fa3a84 100644 --- a/var/spack/repos/builtin/packages/oras/package.py +++ b/var/spack/repos/builtin/packages/oras/package.py @@ -23,7 +23,7 @@ class Oras(Package): depends_on("go", type="build") depends_on("gmake", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Point GOPATH at the top of the staging dir for the build step. env.prepend_path("GOPATH", self.stage.path) diff --git a/var/spack/repos/builtin/packages/orca-faccts/package.py b/var/spack/repos/builtin/packages/orca-faccts/package.py index a8110dee5fb..e9976de9355 100644 --- a/var/spack/repos/builtin/packages/orca-faccts/package.py +++ b/var/spack/repos/builtin/packages/orca-faccts/package.py @@ -52,7 +52,7 @@ def install(self, spec, prefix): install_tree("bin", prefix.bin) install_tree("lib", prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.spec["libevent"].prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.spec["libpciaccess"].prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.spec["openmpi"].prefix.lib) diff --git a/var/spack/repos/builtin/packages/orca/package.py b/var/spack/repos/builtin/packages/orca/package.py index 3db74ba1714..5c971381b75 100644 --- a/var/spack/repos/builtin/packages/orca/package.py +++ b/var/spack/repos/builtin/packages/orca/package.py @@ -83,7 +83,7 @@ def install(self, spec, prefix): mpirun_srun = join_path(os.path.dirname(__file__), "mpirun_srun.sh") install(mpirun_srun, prefix.bin.mpirun) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.bin) env.prepend_path("LD_LIBRARY_PATH", self.spec["libevent"].prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.spec["libpciaccess"].prefix.lib) diff --git a/var/spack/repos/builtin/packages/orthofinder/package.py b/var/spack/repos/builtin/packages/orthofinder/package.py index 02d6d841081..6fbbaad6954 100644 --- a/var/spack/repos/builtin/packages/orthofinder/package.py +++ b/var/spack/repos/builtin/packages/orthofinder/package.py @@ -73,6 +73,6 @@ def install(self, spec, prefix): shutil.rmtree(prefix.bin.scripts_of.bin) os.rename("%s/orthofinder.py" % prefix.bin, "%s/orthofinder" % prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", prefix.bin) env.prepend_path("PATH", prefix.bin.tools) diff --git a/var/spack/repos/builtin/packages/orthomcl/package.py b/var/spack/repos/builtin/packages/orthomcl/package.py index 15d12672820..80c538a8ad4 100644 --- a/var/spack/repos/builtin/packages/orthomcl/package.py +++ b/var/spack/repos/builtin/packages/orthomcl/package.py @@ -25,5 +25,5 @@ def install(self, spec, prefix): install_tree("doc", prefix.doc) install_tree("lib", prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PERL5LIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/osg-ca-certs/package.py b/var/spack/repos/builtin/packages/osg-ca-certs/package.py index d7236e15613..eb0b199aa42 100644 --- a/var/spack/repos/builtin/packages/osg-ca-certs/package.py +++ b/var/spack/repos/builtin/packages/osg-ca-certs/package.py @@ -47,14 +47,14 @@ class OsgCaCerts(Package): depends_on("openssl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("OSG_CERTS_VERSION", self.version[:2]) env.set("OUR_CERTS_VERSION", str(self.version[:2]) + "NEW") env.set("IGTF_CERTS_VERSION", self.version[3:]) env.set("CADIST", join_path(self.stage.source_path, "certificates")) env.set("PKG_NAME", self.spec.name) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("X509_CERT_DIR", join_path(self.prefix, "certificates")) def install(self, spec, prefix): 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 80b09205d52..2be26da38f9 100644 --- a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py +++ b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py @@ -85,7 +85,7 @@ def configure_args(self): config_args.append("LDFLAGS=-lrt") return config_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: mpidir = join_path(self.prefix.libexec, "osu-micro-benchmarks", "mpi") env.prepend_path("PATH", join_path(mpidir, "startup")) env.prepend_path("PATH", join_path(mpidir, "pt2pt")) diff --git a/var/spack/repos/builtin/packages/pagit/package.py b/var/spack/repos/builtin/packages/pagit/package.py index e2d75f95bd5..b51dcd543e2 100644 --- a/var/spack/repos/builtin/packages/pagit/package.py +++ b/var/spack/repos/builtin/packages/pagit/package.py @@ -28,7 +28,7 @@ def install(self, spec, prefix): install_tree("lib", prefix.lib) install_tree("RATT", prefix.RATT) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PAGIT_HOME", self.prefix) env.set("PILEUP_HOME", join_path(self.prefix.bin, "pileup_v0.5")) env.set("ICORN_HOME", self.prefix.icorn) diff --git a/var/spack/repos/builtin/packages/pandorapfa/package.py b/var/spack/repos/builtin/packages/pandorapfa/package.py index 56001713d4f..69f0022f3c0 100644 --- a/var/spack/repos/builtin/packages/pandorapfa/package.py +++ b/var/spack/repos/builtin/packages/pandorapfa/package.py @@ -55,8 +55,10 @@ def url_for_version(self, version): url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch) return url - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("PANDORAPFA", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PANDORAPFA", self.prefix) diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py index d5607d09e1e..3e3457cff4a 100644 --- a/var/spack/repos/builtin/packages/pango/package.py +++ b/var/spack/repos/builtin/packages/pango/package.py @@ -131,14 +131,18 @@ def configure_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py index 4bac82088eb..708a75e2270 100644 --- a/var/spack/repos/builtin/packages/papi/package.py +++ b/var/spack/repos/builtin/packages/papi/package.py @@ -106,7 +106,7 @@ class Papi(AutotoolsPackage, ROCmPackage): configure_directory = "src" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "+lmsensors" in spec and self.version >= Version("6"): env.set("PAPI_LMSENSORS_ROOT", spec["lm-sensors"].prefix) diff --git a/var/spack/repos/builtin/packages/papyrus/package.py b/var/spack/repos/builtin/packages/papyrus/package.py index ee443617ca6..bf7bc103012 100644 --- a/var/spack/repos/builtin/packages/papyrus/package.py +++ b/var/spack/repos/builtin/packages/papyrus/package.py @@ -30,7 +30,7 @@ class Papyrus(CMakePackage): test_requires_compiler = True - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if os.path.isdir(self.prefix.lib64): lib_dir = self.prefix.lib64 else: diff --git a/var/spack/repos/builtin/packages/parallelio/package.py b/var/spack/repos/builtin/packages/parallelio/package.py index e8a255c81a9..b660e5fa0d4 100644 --- a/var/spack/repos/builtin/packages/parallelio/package.py +++ b/var/spack/repos/builtin/packages/parallelio/package.py @@ -124,7 +124,7 @@ def url_for_version(self, version): version.underscored ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PIO_VERSION_MAJOR", "2") valid_values = "netcdf" if self.spec.satisfies("+mpi"): diff --git a/var/spack/repos/builtin/packages/parallelmergetree/package.py b/var/spack/repos/builtin/packages/parallelmergetree/package.py index a62d41c1636..501633ffb10 100644 --- a/var/spack/repos/builtin/packages/parallelmergetree/package.py +++ b/var/spack/repos/builtin/packages/parallelmergetree/package.py @@ -68,7 +68,7 @@ class Parallelmergetree(CMakePackage): # The C++ headers of gcc-11 don't provide as side effect of others @when("%gcc@11:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", "-include algorithm") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index fa2b6d2b057..9d48ade9ae7 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -414,7 +414,9 @@ def paraview_subdir(self): else: return "paraview-{0}".format(self.spec.version.up_to(2)) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if os.path.isdir(self.prefix.lib64): lib_dir = self.prefix.lib64 else: @@ -451,7 +453,7 @@ def flag_handler(self, name, flags): return flags, None, None - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # paraview 5.5 and later # - cmake under lib/cmake/paraview-5.5 # - libs under lib diff --git a/var/spack/repos/builtin/packages/parflow/package.py b/var/spack/repos/builtin/packages/parflow/package.py index 4fec869b735..0af29194d02 100644 --- a/var/spack/repos/builtin/packages/parflow/package.py +++ b/var/spack/repos/builtin/packages/parflow/package.py @@ -59,7 +59,7 @@ def cmake_args(self): return cmake_args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Setup the run environment for ParFlow package.""" # ParFlow requires a PARFLOW_DIR env variable for correct execution env.set("PARFLOW_DIR", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/pass/package.py b/var/spack/repos/builtin/packages/pass/package.py index 01957f08ccb..0bc3e6683f5 100644 --- a/var/spack/repos/builtin/packages/pass/package.py +++ b/var/spack/repos/builtin/packages/pass/package.py @@ -42,7 +42,7 @@ class Pass(MakefilePackage): # Optional dependencies depends_on("xclip", when="+xclip") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set required environment variables for build.""" env.set("PREFIX", self.prefix) env.set("WITH_ALLCOMP", "yes") diff --git a/var/spack/repos/builtin/packages/pasta/package.py b/var/spack/repos/builtin/packages/pasta/package.py index 7eec70d45c6..257d3ee8b72 100644 --- a/var/spack/repos/builtin/packages/pasta/package.py +++ b/var/spack/repos/builtin/packages/pasta/package.py @@ -30,12 +30,12 @@ class Pasta(PythonPackage): destination=".", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: tools = join_path(self.prefix, "sate-tools-linux") env.set("PASTA_TOOLS_DEVDIR", tools) env.set("PASTA_TOOLS_RUNDIR", self.prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PASTA_TOOLS_RUNDIR", self.prefix.bin) @run_before("install") diff --git a/var/spack/repos/builtin/packages/pbbam/package.py b/var/spack/repos/builtin/packages/pbbam/package.py index b8f1fad0693..df6adbdc432 100644 --- a/var/spack/repos/builtin/packages/pbbam/package.py +++ b/var/spack/repos/builtin/packages/pbbam/package.py @@ -40,9 +40,11 @@ def meson_args(self): return options - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BOOST_ROOT", self.spec["boost"].prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("PacBioBAM_LIBRARIES", self.prefix.lib) env.set("PacBioBAM_INCLUDE_DIRS", self.prefix.include) diff --git a/var/spack/repos/builtin/packages/pciutils/package.py b/var/spack/repos/builtin/packages/pciutils/package.py index e099bb98f08..e4ee95a0754 100644 --- a/var/spack/repos/builtin/packages/pciutils/package.py +++ b/var/spack/repos/builtin/packages/pciutils/package.py @@ -30,5 +30,5 @@ def install(self, spec, prefix): else: make("install", "PREFIX={0}".format(prefix)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/pdiplugin-decl-hdf5/package.py b/var/spack/repos/builtin/packages/pdiplugin-decl-hdf5/package.py index 2df3b9f1eab..9764c98c662 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-decl-hdf5/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-decl-hdf5/package.py @@ -53,5 +53,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-decl-netcdf/package.py b/var/spack/repos/builtin/packages/pdiplugin-decl-netcdf/package.py index 8038ad383c4..9c74ff56b1c 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-decl-netcdf/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-decl-netcdf/package.py @@ -48,5 +48,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-mpi/package.py b/var/spack/repos/builtin/packages/pdiplugin-mpi/package.py index c8e91261307..0d60c8ccd9b 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-mpi/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-mpi/package.py @@ -43,5 +43,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-pycall/package.py b/var/spack/repos/builtin/packages/pdiplugin-pycall/package.py index 667f26dd4a0..e24d7421831 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-pycall/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-pycall/package.py @@ -43,5 +43,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-serialize/package.py b/var/spack/repos/builtin/packages/pdiplugin-serialize/package.py index 520f04a67fd..14d7e16979c 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-serialize/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-serialize/package.py @@ -43,5 +43,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-set-value/package.py b/var/spack/repos/builtin/packages/pdiplugin-set-value/package.py index 666c03a0796..8bf89242ef7 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-set-value/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-set-value/package.py @@ -44,5 +44,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-trace/package.py b/var/spack/repos/builtin/packages/pdiplugin-trace/package.py index a2aae1a4ec0..58cea58b297 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-trace/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-trace/package.py @@ -43,5 +43,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/pdiplugin-user-code/package.py b/var/spack/repos/builtin/packages/pdiplugin-user-code/package.py index 0f50159e54d..abaeeb136d0 100644 --- a/var/spack/repos/builtin/packages/pdiplugin-user-code/package.py +++ b/var/spack/repos/builtin/packages/pdiplugin-user-code/package.py @@ -44,5 +44,5 @@ def cmake_args(self): self.define_from_variant("BUILD_TESTING", "tests"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PDI_PLUGIN_PATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/perl-alien-svn/package.py b/var/spack/repos/builtin/packages/perl-alien-svn/package.py index eae99f9fe5d..1e6819b67a7 100644 --- a/var/spack/repos/builtin/packages/perl-alien-svn/package.py +++ b/var/spack/repos/builtin/packages/perl-alien-svn/package.py @@ -31,11 +31,11 @@ class PerlAlienSvn(PerlPackage): depends_on("zlib-api") depends_on("libbsd") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # non-interactive build, use defaults env.set("PERL_MM_USE_DEFAULT", "1") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # SVN libs are not RPATHed correctly... # TODO: extend to other plaforms if sys.platform.startswith("linux"): diff --git a/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py b/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py index 671841689bb..0a6f102df30 100644 --- a/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-bigfile/package.py @@ -64,7 +64,7 @@ def build_pl_args(self): f"--extra_linker_flags={' '.join(libs)}", ] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # These variables are exected by by the Build.PL file # even though we override the results via PERL_MB_OPT kent_pkg = self["kentutils"] diff --git a/var/spack/repos/builtin/packages/perl-bio-ensembl-variation/package.py b/var/spack/repos/builtin/packages/perl-bio-ensembl-variation/package.py index 37742f73570..824d2b39a11 100644 --- a/var/spack/repos/builtin/packages/perl-bio-ensembl-variation/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-ensembl-variation/package.py @@ -50,7 +50,7 @@ class PerlBioEnsemblVariation(Package): phases = ("build", "install") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+ld"): env.set("HTSLIB_DIR", self.spec["htslib"].prefix.include) diff --git a/var/spack/repos/builtin/packages/perl-compress-bzip2/package.py b/var/spack/repos/builtin/packages/perl-compress-bzip2/package.py index 9c367a642fb..059706d4bc7 100644 --- a/var/spack/repos/builtin/packages/perl-compress-bzip2/package.py +++ b/var/spack/repos/builtin/packages/perl-compress-bzip2/package.py @@ -20,7 +20,7 @@ class PerlCompressBzip2(PerlPackage): depends_on("c", type="build") depends_on("bzip2", type=("build", "test", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BZLIB_INCLUDE", self.spec["bzip2"].prefix.include) env.set("BZLIB_LIB", self.spec["bzip2"].prefix.lib) env.set("BZLIB_BIN", self.spec["bzip2"].prefix.bin) diff --git a/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py b/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py index 3bfabaaabe8..eebe75a722a 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py @@ -22,5 +22,5 @@ class PerlDbdOracle(PerlPackage): depends_on("perl-test-nowarnings", type=("build", "link")) depends_on("oracle-instant-client", type=("build", "link", "run", "test")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("ORACLE_HOME", self.spec["oracle-instant-client"].prefix) diff --git a/var/spack/repos/builtin/packages/perl-forks/package.py b/var/spack/repos/builtin/packages/perl-forks/package.py index 85bea5738cd..8e47a9f6c7c 100644 --- a/var/spack/repos/builtin/packages/perl-forks/package.py +++ b/var/spack/repos/builtin/packages/perl-forks/package.py @@ -19,6 +19,6 @@ class PerlForks(PerlPackage): depends_on("perl-list-moreutils", type=("build", "run")) depends_on("perl-sys-sigaction", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "perl~threads" in self.spec: env.set("FORKS_SIMULATE_USEITHREADS", "1") diff --git a/var/spack/repos/builtin/packages/perl-fth/package.py b/var/spack/repos/builtin/packages/perl-fth/package.py index fb6e1cf50ac..6d4ca255b66 100644 --- a/var/spack/repos/builtin/packages/perl-fth/package.py +++ b/var/spack/repos/builtin/packages/perl-fth/package.py @@ -87,12 +87,14 @@ def setup_dependent_package(self, module, dependent_spec): for name in checks: setattr(module, name, self._make_executable(name)) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("JAVATEX_DIR", self.prefix) env.set("FTAGSHTML_DIR", self.prefix) env.set("FTAGSHTML_DOC", join_path(self.prefix, "doc")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # https://github.com/spack/spack/discussions/13926 # Let us set the adequate environment when loading perl-fth env.set("JAVATEX_DIR", self.prefix) diff --git a/var/spack/repos/builtin/packages/perl-json-xs/package.py b/var/spack/repos/builtin/packages/perl-json-xs/package.py index 45093ce0ae4..b1c54bc02b1 100644 --- a/var/spack/repos/builtin/packages/perl-json-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-json-xs/package.py @@ -19,5 +19,5 @@ class PerlJsonXs(PerlPackage): depends_on("perl-common-sense", type=("build", "run", "test")) depends_on("perl-types-serialiser", type=("build", "run", "test")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PERL_CANARY_STABILITY_NOPROMPT", "1") diff --git a/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py index 359f0dc89f9..cf9acb541fc 100644 --- a/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py @@ -27,7 +27,7 @@ class PerlSerealDecoder(PerlPackage): depends_on("perl-test-warn", type=("build", "link", "test")) depends_on("zstd", type=("build", "link", "run", "test")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # These are not currently available in Spack env.set("SEREAL_USE_BUNDLED_CSNAPPY", "1") env.set("SEREAL_USE_BUNDLED_MINIZ", "1") diff --git a/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py index 47e4cc57fc9..13fbb548e73 100644 --- a/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py @@ -28,7 +28,7 @@ class PerlSerealEncoder(PerlPackage): depends_on("perl-test-warn", type=("build", "link", "test")) depends_on("zstd", type=("build", "link", "run", "test")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # These are not currently available in Spack env.set("SEREAL_USE_BUNDLED_CSNAPPY", "1") env.set("SEREAL_USE_BUNDLED_MINIZ", "1") diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py index f0dd6e9799b..6b5af2e8f54 100644 --- a/var/spack/repos/builtin/packages/perl/package.py +++ b/var/spack/repos/builtin/packages/perl/package.py @@ -470,7 +470,7 @@ def install_cpanm(self): maker() maker("install") - def _setup_dependent_env(self, env, dependent_spec): + def _setup_dependent_env(self, env: EnvironmentModifications, dependent_spec: Spec): """Set PATH and PERL5LIB to include the extension and any other perl extensions it depends on, assuming they were installed with INSTALL_BASE defined.""" @@ -483,10 +483,14 @@ def _setup_dependent_env(self, env, dependent_spec): if sys.platform == "win32": env.append_path("PATH", self.prefix.bin) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self._setup_dependent_env(env, dependent_spec) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self._setup_dependent_env(env, dependent_spec) def setup_dependent_package(self, module, dependent_spec): @@ -505,7 +509,7 @@ def setup_dependent_package(self, module, dependent_spec): # Add variables for library directory module.perl_lib_dir = dependent_spec.prefix.lib.perl5 - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if sys.platform == "win32": env.append_path("PATH", self.prefix.bin) return @@ -519,10 +523,10 @@ def setup_build_environment(self, env): env.set("MACOSX_DEPLOYMENT_TARGET", "10.16") # This is how we tell perl the locations of bzip and zlib. - env.set("BUILD_BZIP2", 0) + env.set("BUILD_BZIP2", "0") env.set("BZIP2_INCLUDE", spec["bzip2"].prefix.include) env.set("BZIP2_LIB", spec["bzip2"].libs.directories[0]) - env.set("BUILD_ZLIB", 0) + env.set("BUILD_ZLIB", "0") env.set("ZLIB_INCLUDE", spec["zlib-api"].prefix.include) env.set("ZLIB_LIB", spec["zlib-api"].libs.directories[0]) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index ed377bab791..510dac5fa7c 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -770,17 +770,19 @@ def install(self, spec, prefix): if self.run_tests: make('check PETSC_ARCH="" PETSC_DIR={0}'.format(prefix), parallel=False) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # configure fails if these env vars are set outside of Spack env.unset("PETSC_DIR") env.unset("PETSC_ARCH") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Set PETSC_DIR in the module file env.set("PETSC_DIR", self.prefix) env.unset("PETSC_ARCH") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Set up PETSC_DIR for everyone using PETSc package env.set("PETSC_DIR", self.prefix) env.unset("PETSC_ARCH") diff --git a/var/spack/repos/builtin/packages/pfind/package.py b/var/spack/repos/builtin/packages/pfind/package.py index 370c8330165..db750152353 100644 --- a/var/spack/repos/builtin/packages/pfind/package.py +++ b/var/spack/repos/builtin/packages/pfind/package.py @@ -19,7 +19,7 @@ class Pfind(Package): depends_on("mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CC", self.spec["mpi"].mpicc, force=True) env.set("CXX", self.spec["mpi"].mpicxx, force=True) diff --git a/var/spack/repos/builtin/packages/pfunit/package.py b/var/spack/repos/builtin/packages/pfunit/package.py index 6424ceb5cc3..f5831c2425d 100644 --- a/var/spack/repos/builtin/packages/pfunit/package.py +++ b/var/spack/repos/builtin/packages/pfunit/package.py @@ -233,6 +233,6 @@ def compiler_vendor(self): return value raise InstallError("Unsupported compiler.") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:3"): env.set("F90_VENDOR", self.compiler_vendor()) diff --git a/var/spack/repos/builtin/packages/pgplot/package.py b/var/spack/repos/builtin/packages/pgplot/package.py index d6b6c7ef449..07bc4f00221 100644 --- a/var/spack/repos/builtin/packages/pgplot/package.py +++ b/var/spack/repos/builtin/packages/pgplot/package.py @@ -119,7 +119,7 @@ def edit(self, spec, prefix): for key, value in sub.items(): filter_file(key, value, conf) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+X" in self.spec: env.append_flags("LIBS", self.spec["libx11"].libs.ld_flags) if "+png" in self.spec: @@ -174,10 +174,12 @@ def libs(self): libnames = ["libcpgplot", "libpgplot"] return find_libraries(libnames, root=self.prefix, shared=shared, recursive=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PGPLOT_FONT", self.prefix.include + "/grfont.dat") env.set("PGPLOT_DIR", self.prefix.lib + "/pgplot5") - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("PGPLOT_FONT", self.prefix.include + "/grfont.dat") env.set("PGPLOT_DIR", self.prefix.lib + "/pgplot5") diff --git a/var/spack/repos/builtin/packages/ph5concat/package.py b/var/spack/repos/builtin/packages/ph5concat/package.py index 04e02e6b00b..97f5ceb3b97 100644 --- a/var/spack/repos/builtin/packages/ph5concat/package.py +++ b/var/spack/repos/builtin/packages/ph5concat/package.py @@ -25,7 +25,7 @@ class Ph5concat(AutotoolsPackage): variant("profiling", default=False, description="Enable profiling support") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LIBS", "-ldl -lz") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/phist/package.py b/var/spack/repos/builtin/packages/phist/package.py index dbc92168dd6..07df9476e68 100644 --- a/var/spack/repos/builtin/packages/phist/package.py +++ b/var/spack/repos/builtin/packages/phist/package.py @@ -253,7 +253,7 @@ def patch(self): "drivers/matfuncs/matpde3d.F90", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SPACK_SBANG", sbang.sbang_install_path()) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/picard/package.py b/var/spack/repos/builtin/packages/picard/package.py index f5da7fd82a3..25f23eef034 100644 --- a/var/spack/repos/builtin/packages/picard/package.py +++ b/var/spack/repos/builtin/packages/picard/package.py @@ -194,7 +194,7 @@ def install(self, spec, prefix): filter_file("^java", java, script, **kwargs) filter_file("picard.jar", join_path(prefix.bin, "picard.jar"), script, **kwargs) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """The Picard docs suggest setting this as a convenience.""" env.prepend_path("PICARD", join_path(self.prefix.bin, "picard.jar")) diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index 4a37663884a..45a1da60321 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -46,7 +46,9 @@ def determine_version(cls, exe): return version - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Adds the ACLOCAL path for autotools.""" env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal) diff --git a/var/spack/repos/builtin/packages/pkgconf/package.py b/var/spack/repos/builtin/packages/pkgconf/package.py index 9070bd976da..e6303291dcd 100644 --- a/var/spack/repos/builtin/packages/pkgconf/package.py +++ b/var/spack/repos/builtin/packages/pkgconf/package.py @@ -56,7 +56,9 @@ def determine_version(cls, exe): return version - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Adds the ACLOCAL path for autotools.""" env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal) diff --git a/var/spack/repos/builtin/packages/planck-likelihood/package.py b/var/spack/repos/builtin/packages/planck-likelihood/package.py index 7228923e47a..509691955de 100644 --- a/var/spack/repos/builtin/packages/planck-likelihood/package.py +++ b/var/spack/repos/builtin/packages/planck-likelihood/package.py @@ -116,12 +116,14 @@ def install(self, spec, prefix): for dir in dirs: install_tree(dir, join_path(prefix, "share", "clik", dir)) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: 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): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CLIK_PATH", self.prefix) env.set("CLIK_DATA", self.prefix.share.clik) env.set("CLIK_PLUGIN", "rel2015") diff --git a/var/spack/repos/builtin/packages/plantuml/package.py b/var/spack/repos/builtin/packages/plantuml/package.py index 16c5c197307..2ed3ea69fb4 100644 --- a/var/spack/repos/builtin/packages/plantuml/package.py +++ b/var/spack/repos/builtin/packages/plantuml/package.py @@ -35,5 +35,5 @@ def install(self, spec, prefix): plantuml_wrapper = join_path(os.path.dirname(__file__), "plantuml") install(plantuml_wrapper, prefix.bin.plantuml) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PLANTUML_JAR_LOCATION", join_path(self.prefix.bin, "plantuml.jar")) diff --git a/var/spack/repos/builtin/packages/plink-ng/package.py b/var/spack/repos/builtin/packages/plink-ng/package.py index 794d6516f19..0ea290f4e79 100644 --- a/var/spack/repos/builtin/packages/plink-ng/package.py +++ b/var/spack/repos/builtin/packages/plink-ng/package.py @@ -25,7 +25,7 @@ def url_for_version(self, ver): template = "https://www.cog-genomics.org/static/bin/plink2_src_{0}.zip" return template.format(ver) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: zlib = join_path(self.spec["zlib-api"].prefix.lib, "libz.a") env.set("ZLIB", zlib) diff --git a/var/spack/repos/builtin/packages/plink/package.py b/var/spack/repos/builtin/packages/plink/package.py index 25b62046370..f587d719c3a 100644 --- a/var/spack/repos/builtin/packages/plink/package.py +++ b/var/spack/repos/builtin/packages/plink/package.py @@ -59,7 +59,7 @@ def install(self, spec, prefix): install("plink", prefix.bin) @when("@1.9-beta6.27:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BLASFLAGS", self.spec["blas"].libs.ld_flags) env.set("ZLIB", self.spec["zlib-api"].libs.ld_flags) diff --git a/var/spack/repos/builtin/packages/ploticus/package.py b/var/spack/repos/builtin/packages/ploticus/package.py index 6afdbe504e5..80d1cbf4252 100644 --- a/var/spack/repos/builtin/packages/ploticus/package.py +++ b/var/spack/repos/builtin/packages/ploticus/package.py @@ -28,7 +28,7 @@ def url_for_version(self, version): "https://sourceforge.net/projects/ploticus/files/ploticus/2.42/ploticus242_src.tar.gz" ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PLOTICUS_PREFABS", self.prefix.prefabs) def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/podio/package.py b/var/spack/repos/builtin/packages/podio/package.py index a3dff4db87e..c6fb756e45b 100644 --- a/var/spack/repos/builtin/packages/podio/package.py +++ b/var/spack/repos/builtin/packages/podio/package.py @@ -143,7 +143,7 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:0.99"): # After 0.99 podio installs its python bindings into a more standard place env.prepend_path("PYTHONPATH", self.prefix.python) @@ -157,7 +157,9 @@ def setup_run_environment(self, env): # Frame header needs to be available for python bindings env.prepend_path("ROOT_INCLUDE_PATH", self.prefix.include) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if self.spec.satisfies("@:0.99"): env.prepend_path("PYTHONPATH", self.prefix.python) diff --git a/var/spack/repos/builtin/packages/postgis/package.py b/var/spack/repos/builtin/packages/postgis/package.py index 7e6c69d6c1b..1c894f513d4 100644 --- a/var/spack/repos/builtin/packages/postgis/package.py +++ b/var/spack/repos/builtin/packages/postgis/package.py @@ -51,10 +51,10 @@ class Postgis(AutotoolsPackage): depends_on("gtkplus@:2.24.32", when="+gui") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("POSTGIS_GDAL_ENABLED_DRIVERS", "ENABLE_ALL") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("POSTGIS_GDAL_ENABLED_DRIVERS", "ENABLE_ALL") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py index 3219184075b..69a44dd26fb 100644 --- a/var/spack/repos/builtin/packages/postgresql/package.py +++ b/var/spack/repos/builtin/packages/postgresql/package.py @@ -123,7 +123,7 @@ def install(self, spec, prefix): else: super().install(spec, prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("+perl"): @@ -133,7 +133,9 @@ def setup_run_environment(self, env): if spec.satisfies("+python"): env.prepend_path("PYTHONPATH", self.prefix.lib) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spec = self.spec if spec.satisfies("+perl"): @@ -143,7 +145,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): if spec.satisfies("+python"): env.prepend_path("PYTHONPATH", self.prefix.lib) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: spec = self.spec if spec.satisfies("+perl"): diff --git a/var/spack/repos/builtin/packages/powertop/package.py b/var/spack/repos/builtin/packages/powertop/package.py index fea594931c6..97c0eed1e8d 100644 --- a/var/spack/repos/builtin/packages/powertop/package.py +++ b/var/spack/repos/builtin/packages/powertop/package.py @@ -19,5 +19,5 @@ class Powertop(AutotoolsPackage): depends_on("libnl") depends_on("ncurses", type="link") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/preseq/package.py b/var/spack/repos/builtin/packages/preseq/package.py index 5bb181be2a7..c5b50dc00a9 100644 --- a/var/spack/repos/builtin/packages/preseq/package.py +++ b/var/spack/repos/builtin/packages/preseq/package.py @@ -26,5 +26,5 @@ class Preseq(MakefilePackage): depends_on("samtools") depends_on("gsl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix) diff --git a/var/spack/repos/builtin/packages/prism/package.py b/var/spack/repos/builtin/packages/prism/package.py index 89885202805..4005a22bb8d 100644 --- a/var/spack/repos/builtin/packages/prism/package.py +++ b/var/spack/repos/builtin/packages/prism/package.py @@ -29,7 +29,7 @@ class Prism(MakefilePackage): patch("Makefile.patch", when="target=aarch64:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PRISM_DIR", self.prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/procps-ng/package.py b/var/spack/repos/builtin/packages/procps-ng/package.py index 5166c7f4692..ff17d938cb0 100644 --- a/var/spack/repos/builtin/packages/procps-ng/package.py +++ b/var/spack/repos/builtin/packages/procps-ng/package.py @@ -17,5 +17,5 @@ class ProcpsNg(AutotoolsPackage): depends_on("c", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/prodigal/package.py b/var/spack/repos/builtin/packages/prodigal/package.py index 1fcca6bb970..75a97b36c2f 100644 --- a/var/spack/repos/builtin/packages/prodigal/package.py +++ b/var/spack/repos/builtin/packages/prodigal/package.py @@ -21,5 +21,5 @@ class Prodigal(MakefilePackage): def install(self, spec, prefix): make("INSTALLDIR={0}".format(self.prefix), "install") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/professor/package.py b/var/spack/repos/builtin/packages/professor/package.py index 66301ee5703..7a48f7214e8 100644 --- a/var/spack/repos/builtin/packages/professor/package.py +++ b/var/spack/repos/builtin/packages/professor/package.py @@ -35,7 +35,7 @@ class Professor(Package): extends("python") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PROF_VERSION", self.spec.version) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py index 8a39abbbb33..4d91f366c10 100644 --- a/var/spack/repos/builtin/packages/proj/package.py +++ b/var/spack/repos/builtin/packages/proj/package.py @@ -134,7 +134,7 @@ class Proj(CMakePackage, AutotoolsPackage): conditional("autotools", when="@:8"), conditional("cmake", when="@5:"), default="cmake" ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # PROJ_LIB doesn't need to be set. However, it may be set by conda. # If an incompatible version of PROJ is found in PROJ_LIB, it can # cause the package to fail at run-time. See the following for details: @@ -144,7 +144,7 @@ def setup_run_environment(self, env): class AnyBuilder(BaseBuilder): - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PROJ_LIB", join_path(self.pkg.stage.source_path, "nad")) @run_after("install") diff --git a/var/spack/repos/builtin/packages/pscmc/package.py b/var/spack/repos/builtin/packages/pscmc/package.py index 8808f562198..ff974d90fee 100644 --- a/var/spack/repos/builtin/packages/pscmc/package.py +++ b/var/spack/repos/builtin/packages/pscmc/package.py @@ -24,7 +24,7 @@ class Pscmc(MakefilePackage): depends_on("c", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SCMC_COMPILE_ROOT", self.prefix.source) env.set("SCMC_ROOT", join_path(self.prefix.source, "runtime_passes")) env.set("STDLIB", join_path(self.prefix.source, "stdlib.scm")) diff --git a/var/spack/repos/builtin/packages/psmc/package.py b/var/spack/repos/builtin/packages/psmc/package.py index 13509ae8049..c57a9d18a1f 100644 --- a/var/spack/repos/builtin/packages/psmc/package.py +++ b/var/spack/repos/builtin/packages/psmc/package.py @@ -20,7 +20,7 @@ class Psmc(MakefilePackage): depends_on("zlib-api", type="link") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.bin.utils) def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/purify/package.py b/var/spack/repos/builtin/packages/purify/package.py index bbb01fefe94..4ee6b337cc4 100644 --- a/var/spack/repos/builtin/packages/purify/package.py +++ b/var/spack/repos/builtin/packages/purify/package.py @@ -56,7 +56,7 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+tests" in self.spec: env.prepend_path("PATH", self.spec.prefix.tests) if "+benchmarks" in self.spec: diff --git a/var/spack/repos/builtin/packages/pvm/package.py b/var/spack/repos/builtin/packages/pvm/package.py index fc39322afee..784a039c4d9 100644 --- a/var/spack/repos/builtin/packages/pvm/package.py +++ b/var/spack/repos/builtin/packages/pvm/package.py @@ -48,7 +48,7 @@ def patch(self): "^SHAREDCFLAGS =", "SHAREDCFLAGS = -fPIC", join_path("conf", pvm_arch + ".def") ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: tirpc = self.spec["libtirpc"].prefix env.prepend_path("SPACK_INCLUDE_DIRS", tirpc.include.tirpc) env.set("SPACK_LDLIBS", "-ltirpc") @@ -59,7 +59,7 @@ def install(self, spec, prefix): install_tree("lib", prefix.lib) install_tree("man", prefix.man) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Before running PVM, you must set the environment # variable "PVM_ROOT" to the path where PVM resides pvm_arch = self.pvm_arch(self.prefix) diff --git a/var/spack/repos/builtin/packages/py-amici/package.py b/var/spack/repos/builtin/packages/py-amici/package.py index ae9dcc869c6..f128f311bd1 100644 --- a/var/spack/repos/builtin/packages/py-amici/package.py +++ b/var/spack/repos/builtin/packages/py-amici/package.py @@ -40,8 +40,8 @@ class PyAmici(PythonPackage): depends_on("py-toposort", type=("build", "run")) depends_on("py-mpmath", when="@0.16.0:", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("BLAS_LIBS", " ".join(self.spec["blas"].libs)) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BLAS_LIBS", " ".join(self.spec["blas"].libs)) diff --git a/var/spack/repos/builtin/packages/py-amqp/package.py b/var/spack/repos/builtin/packages/py-amqp/package.py index efdfd3de88e..463fe093750 100644 --- a/var/spack/repos/builtin/packages/py-amqp/package.py +++ b/var/spack/repos/builtin/packages/py-amqp/package.py @@ -36,5 +36,5 @@ class PyAmqp(PythonPackage): depends_on("py-vine@1.1.3:4", when="@2", type=("build", "run")) depends_on("py-vine@5.0.0", when="@5.0.0:5", type=("build", "run")) - def setup_build_environment(self, env): - env.set("CELERY_ENABLE_SPEEDUPS", True) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("CELERY_ENABLE_SPEEDUPS", "True") diff --git a/var/spack/repos/builtin/packages/py-antspyx/package.py b/var/spack/repos/builtin/packages/py-antspyx/package.py index 13da3e02158..28a9b29306e 100644 --- a/var/spack/repos/builtin/packages/py-antspyx/package.py +++ b/var/spack/repos/builtin/packages/py-antspyx/package.py @@ -55,5 +55,5 @@ class PyAntspyx(PythonPackage): when="@0.3.7", # ANTs dependency needs updating for every version ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("ITK_DIR", self.spec["itk"].prefix) diff --git a/var/spack/repos/builtin/packages/py-anuga/package.py b/var/spack/repos/builtin/packages/py-anuga/package.py index c349905ba36..8fae81f8f82 100644 --- a/var/spack/repos/builtin/packages/py-anuga/package.py +++ b/var/spack/repos/builtin/packages/py-anuga/package.py @@ -45,7 +45,7 @@ class PyAnuga(PythonPackage): # https://github.com/GeoscienceAustralia/anuga_core/issues/247 conflicts("%apple-clang@12:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.run_tests: env.prepend_path("PATH", self.spec["mpi"].prefix.bin) diff --git a/var/spack/repos/builtin/packages/py-arm-pyart/package.py b/var/spack/repos/builtin/packages/py-arm-pyart/package.py index 137f540368b..d405fbe4126 100644 --- a/var/spack/repos/builtin/packages/py-arm-pyart/package.py +++ b/var/spack/repos/builtin/packages/py-arm-pyart/package.py @@ -65,7 +65,7 @@ class PyArmPyart(PythonPackage): patch("StringIO.patch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+rsl" in self.spec: env.set("RSL_PATH", self.spec["rsl"].prefix) else: diff --git a/var/spack/repos/builtin/packages/py-awkward/package.py b/var/spack/repos/builtin/packages/py-awkward/package.py index f5db8ec1cb8..66f34e7fac3 100644 --- a/var/spack/repos/builtin/packages/py-awkward/package.py +++ b/var/spack/repos/builtin/packages/py-awkward/package.py @@ -92,5 +92,5 @@ class PyAwkward(PythonPackage): depends_on("py-fsspec@2022.11.0:", when="@2.6.0:", type=("build", "run")) @when("@1.9.0:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CMAKE_ARGS", "-DAWKWARD_EXTERNAL_PYBIND11=TRUE") diff --git a/var/spack/repos/builtin/packages/py-awscrt/package.py b/var/spack/repos/builtin/packages/py-awscrt/package.py index 21890f5047e..2aeb2754f09 100644 --- a/var/spack/repos/builtin/packages/py-awscrt/package.py +++ b/var/spack/repos/builtin/packages/py-awscrt/package.py @@ -28,6 +28,6 @@ class PyAwscrt(PythonPackage): depends_on("py-setuptools", type=("build")) # On Linux, tell aws-crt-python to use libcrypto from spack (openssl) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: with when("platform=linux"): - env.set("AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO", 1) + env.set("AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO", "1") diff --git a/var/spack/repos/builtin/packages/py-ax-platform/package.py b/var/spack/repos/builtin/packages/py-ax-platform/package.py index 206eb20e580..d091f781814 100644 --- a/var/spack/repos/builtin/packages/py-ax-platform/package.py +++ b/var/spack/repos/builtin/packages/py-ax-platform/package.py @@ -34,5 +34,5 @@ class PyAxPlatform(PythonPackage): depends_on("py-typeguard@2.13.3", type=("build", "run")) depends_on("py-plotly@5.12.0:", type=("build", "run")) - def setup_build_environment(self, env): - env.set("ALLOW_BOTORCH_LATEST", True) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("ALLOW_BOTORCH_LATEST", "True") diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py index 338f5161e4e..65b484cd9a7 100644 --- a/var/spack/repos/builtin/packages/py-basemap/package.py +++ b/var/spack/repos/builtin/packages/py-basemap/package.py @@ -35,7 +35,7 @@ class PyBasemap(PythonPackage): # directories (i.e., matplotlib and basemap) depends_on("py-setuptools", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GEOS_DIR", self.spec["geos"].prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/py-bitshuffle/package.py b/var/spack/repos/builtin/packages/py-bitshuffle/package.py index e3eba7167d0..e3fce25d494 100644 --- a/var/spack/repos/builtin/packages/py-bitshuffle/package.py +++ b/var/spack/repos/builtin/packages/py-bitshuffle/package.py @@ -25,5 +25,5 @@ class PyBitshuffle(PythonPackage): # setup.py:220 depends_on("hdf5@1.8.11:~mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HDF5_DIR", self.spec["hdf5"].prefix) diff --git a/var/spack/repos/builtin/packages/py-blis/package.py b/var/spack/repos/builtin/packages/py-blis/package.py index e14b46e0136..6845196fa18 100644 --- a/var/spack/repos/builtin/packages/py-blis/package.py +++ b/var/spack/repos/builtin/packages/py-blis/package.py @@ -25,6 +25,6 @@ class PyBlis(PythonPackage): depends_on("py-cython@0.25:", when="@0.7.9:", type="build") depends_on("py-numpy@1.15:", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BLIS_COMPILER", spack_cc) env.set("BLIS_ARCH", "generic") diff --git a/var/spack/repos/builtin/packages/py-blosc/package.py b/var/spack/repos/builtin/packages/py-blosc/package.py index 4e8f4650310..0abab1cf7f8 100644 --- a/var/spack/repos/builtin/packages/py-blosc/package.py +++ b/var/spack/repos/builtin/packages/py-blosc/package.py @@ -40,6 +40,6 @@ class PyBlosc(PythonPackage): # https://github.com/Blosc/python-blosc/releases/tag/v1.11.2 depends_on("c-blosc@1.21.6", type=("build", "run"), when="@1.11.2 ^python@3.12:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("^c-blosc"): - env.set("USE_SYSTEM_BLOSC", 1) + env.set("USE_SYSTEM_BLOSC", "1") diff --git a/var/spack/repos/builtin/packages/py-blosc2/package.py b/var/spack/repos/builtin/packages/py-blosc2/package.py index 130bf95601e..e67ff7216db 100644 --- a/var/spack/repos/builtin/packages/py-blosc2/package.py +++ b/var/spack/repos/builtin/packages/py-blosc2/package.py @@ -39,7 +39,7 @@ class PyBlosc2(PythonPackage): depends_on("ninja") depends_on("pkgconfig") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: cmake_args = [*CMakeBuilder.std_args(self), CMakeBuilder.define("USE_SYSTEM_BLOSC2", True)] # scikit-build does not want a CMAKE_INSTALL_PREFIX cmake_args = [arg for arg in cmake_args if "CMAKE_INSTALL_PREFIX" not in arg] diff --git a/var/spack/repos/builtin/packages/py-bluepyopt/package.py b/var/spack/repos/builtin/packages/py-bluepyopt/package.py index 855ae57a669..b32ef0c493e 100644 --- a/var/spack/repos/builtin/packages/py-bluepyopt/package.py +++ b/var/spack/repos/builtin/packages/py-bluepyopt/package.py @@ -35,6 +35,6 @@ class PyBluepyopt(PythonPackage): depends_on("neuron@7.4:", type=("build", "run"), when="@:1.14.4") depends_on("neuron@7.8:", type=("build", "run"), when="@1.14.11:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.unset("PMI_RANK") env.set("NEURON_INIT_MPI", "0") diff --git a/var/spack/repos/builtin/packages/py-botorch/package.py b/var/spack/repos/builtin/packages/py-botorch/package.py index 2f6bf960feb..d9050955b76 100644 --- a/var/spack/repos/builtin/packages/py-botorch/package.py +++ b/var/spack/repos/builtin/packages/py-botorch/package.py @@ -49,6 +49,6 @@ class PyBotorch(PythonPackage): depends_on("py-linear-operator@0.4.0:", when="@0.8.4:") depends_on("py-linear-operator@0.3.0:", when="@0.8.3:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@0.8.3:"): - env.set("ALLOW_LATEST_GPYTORCH_LINOP", True) + env.set("ALLOW_LATEST_GPYTORCH_LINOP", "True") diff --git a/var/spack/repos/builtin/packages/py-cartopy/package.py b/var/spack/repos/builtin/packages/py-cartopy/package.py index eb78b2406da..df2da49259c 100644 --- a/var/spack/repos/builtin/packages/py-cartopy/package.py +++ b/var/spack/repos/builtin/packages/py-cartopy/package.py @@ -144,7 +144,7 @@ def url_for_version(self, version): name = "Cartopy" return url.format(name, version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Needed for `spack install --test=root py-cartopy` library_dirs = [] for dep in self.spec.dependencies(deptype="link"): @@ -163,5 +163,7 @@ def setup_build_environment(self, env): setup_run_environment = setup_build_environment # Needed for `spack test run py-foo` where `py-foo` depends on `py-cartopy` - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/py-cdo/package.py b/var/spack/repos/builtin/packages/py-cdo/package.py index db281238bbd..1a495ce1f36 100644 --- a/var/spack/repos/builtin/packages/py-cdo/package.py +++ b/var/spack/repos/builtin/packages/py-cdo/package.py @@ -23,5 +23,5 @@ class PyCdo(PythonPackage): depends_on("py-xarray", type=("build", "run")) depends_on("py-six", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CDO", self.spec["cdo"].prefix.bin.cdo) diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py index 049dfcf38c7..d29eda02d39 100644 --- a/var/spack/repos/builtin/packages/py-cffi/package.py +++ b/var/spack/repos/builtin/packages/py-cffi/package.py @@ -75,7 +75,7 @@ def flag_handler(self, name, flags): return (flags, None, None) return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # This sets the compiler (and flags) that distutils will use # to create the final shared library. It will use the # compiler specified by the environment variable 'CC' for all diff --git a/var/spack/repos/builtin/packages/py-chainforgecodegen/package.py b/var/spack/repos/builtin/packages/py-chainforgecodegen/package.py index 09a055f10cc..01d3c661c2e 100644 --- a/var/spack/repos/builtin/packages/py-chainforgecodegen/package.py +++ b/var/spack/repos/builtin/packages/py-chainforgecodegen/package.py @@ -24,6 +24,6 @@ class PyChainforgecodegen(PythonPackage): depends_on("py-pyyaml", type=("build", "run")) depends_on("py-setuptools", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec.prefix) env.prepend_path("PYTHONPATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/py-charm4py/package.py b/var/spack/repos/builtin/packages/py-charm4py/package.py index d9383b86d01..2d011b02e8e 100644 --- a/var/spack/repos/builtin/packages/py-charm4py/package.py +++ b/var/spack/repos/builtin/packages/py-charm4py/package.py @@ -63,7 +63,7 @@ class PyCharm4py(PythonPackage): # This sets the SPACK_CHARM4PY_EXTRALIBS env var which the # py-charm4py.makefile.patch adds to the build/link command for # libcharm.so. - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SPACK_CHARM4PY_EXTRALIBS", self.spec["cuda"].libs.ld_flags) def install_options(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/py-cryptography/package.py b/var/spack/repos/builtin/packages/py-cryptography/package.py index 1e9387d692c..2872a3c3df2 100644 --- a/var/spack/repos/builtin/packages/py-cryptography/package.py +++ b/var/spack/repos/builtin/packages/py-cryptography/package.py @@ -81,6 +81,6 @@ class PyCryptography(PythonPackage): # See reference: https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli depends_on("git", type="build", when="@35:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@35:"): env.set("CARGO_NET_GIT_FETCH_WITH_CLI", "true") diff --git a/var/spack/repos/builtin/packages/py-cupy/package.py b/var/spack/repos/builtin/packages/py-cupy/package.py index 2211419d3f5..2e892bfa370 100644 --- a/var/spack/repos/builtin/packages/py-cupy/package.py +++ b/var/spack/repos/builtin/packages/py-cupy/package.py @@ -78,8 +78,8 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): conflicts("+cuda +rocm") conflicts("+cuda cuda_arch=none") - def setup_build_environment(self, env): - env.set("CUPY_NUM_BUILD_JOBS", make_jobs) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("CUPY_NUM_BUILD_JOBS", str(make_jobs)) if self.spec.satisfies("+cuda"): cuda_arch = self.spec.variants["cuda_arch"].value arch_str = ";".join("arch=compute_{0},code=sm_{0}".format(i) for i in cuda_arch) @@ -107,4 +107,4 @@ def setup_build_environment(self, env): env.set("HIPCC", self.spec["hip"].hipcc) env.set("ROCM_HOME", self.spec["hipcub"].prefix) - env.set("CUPY_INSTALL_USE_HIP", 1) + env.set("CUPY_INSTALL_USE_HIP", "1") diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py index d575f054ad1..48faa489501 100644 --- a/var/spack/repos/builtin/packages/py-cvxopt/package.py +++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py @@ -55,7 +55,7 @@ class PyCvxopt(PythonPackage): # depends_on('mosek@8:', when='+mosek') depends_on("dsdp@5.8:", when="+dsdp") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # BLAS/LAPACK Libraries @@ -78,7 +78,7 @@ def setup_build_environment(self, env): # GSL Libraries if "+gsl" in spec: - env.set("CVXOPT_BUILD_GSL", 1) + env.set("CVXOPT_BUILD_GSL", "1") # Directory containing libgsl env.set("CVXOPT_GSL_LIB_DIR", spec["gsl"].libs.directories[0]) @@ -86,12 +86,12 @@ def setup_build_environment(self, env): # Directory containing the GSL header files env.set("CVXOPT_GSL_INC_DIR", spec["gsl"].headers.directories[0]) else: - env.set("CVXOPT_BUILD_GSL", 0) + env.set("CVXOPT_BUILD_GSL", "0") # FFTW Libraries if "+fftw" in spec: - env.set("CVXOPT_BUILD_FFTW", 1) + env.set("CVXOPT_BUILD_FFTW", "1") # Directory containing libfftw3 env.set("CVXOPT_FFTW_LIB_DIR", spec["fftw"].libs.directories[0]) @@ -99,12 +99,12 @@ def setup_build_environment(self, env): # Directory containing fftw.h env.set("CVXOPT_FFTW_INC_DIR", spec["fftw"].headers.directories[0]) else: - env.set("CVXOPT_BUILD_FFTW", 0) + env.set("CVXOPT_BUILD_FFTW", "0") # GLPK Libraries if "+glpk" in spec: - env.set("CVXOPT_BUILD_GLPK", 1) + env.set("CVXOPT_BUILD_GLPK", "1") # Directory containing libglpk env.set("CVXOPT_GLPK_LIB_DIR", spec["glpk"].libs.directories[0]) @@ -112,12 +112,12 @@ def setup_build_environment(self, env): # Directory containing glpk.h env.set("CVXOPT_GLPK_INC_DIR", spec["glpk"].headers.directories[0]) else: - env.set("CVXOPT_BUILD_GLPK", 0) + env.set("CVXOPT_BUILD_GLPK", "0") # DSDP Libraries if "+dsdp" in spec: - env.set("CVXOPT_BUILD_DSDP", 1) + env.set("CVXOPT_BUILD_DSDP", "1") # Directory containing libdsdp env.set("CVXOPT_DSDP_LIB_DIR", spec["dsdp"].libs.directories[0]) diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py index 8f1bb659d48..74749519d89 100644 --- a/var/spack/repos/builtin/packages/py-cython/package.py +++ b/var/spack/repos/builtin/packages/py-cython/package.py @@ -114,7 +114,9 @@ def command(self): """Returns the Cython command""" return Executable(self.prefix.bin.cython) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # If cython is used as a dep, ensure it's used even when pre-generated # C files are distributed in the tarball. Cython is a small build dep, and # the time generating C-files is typically less than compiling them. So it's diff --git a/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py b/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py index d6c77f7dd0a..6aef560caa1 100644 --- a/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py +++ b/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py @@ -33,5 +33,5 @@ def create_share_folder(self): for d in ("models", "tools"): mv(d, share_dir) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("DEEPSIG_ROOT", self.prefix.share.deepsig) diff --git a/var/spack/repos/builtin/packages/py-devito/package.py b/var/spack/repos/builtin/packages/py-devito/package.py index 0c46c04225a..4265f46ea13 100644 --- a/var/spack/repos/builtin/packages/py-devito/package.py +++ b/var/spack/repos/builtin/packages/py-devito/package.py @@ -65,6 +65,6 @@ def add_examples_dir(self): # Add file `__init__py` to examples/ so it is picked up by setuptools touch("examples/__init__.py") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Make benchmark.py available env.prepend_path("DEVITO_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/py-dgl/package.py b/var/spack/repos/builtin/packages/py-dgl/package.py index 596c7e1b359..a8f5f39ccc5 100644 --- a/var/spack/repos/builtin/packages/py-dgl/package.py +++ b/var/spack/repos/builtin/packages/py-dgl/package.py @@ -139,7 +139,7 @@ def install(self, spec, prefix): # Work around installation bug: https://github.com/dmlc/dgl/issues/1379 install_tree(prefix.dgl, prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # https://docs.dgl.ai/install/backend.html backend = self.spec.variants["backend"].value env.set("DGLBACKEND", backend) diff --git a/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py b/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py index 204e0bbe7b0..4fdebcd7664 100644 --- a/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py +++ b/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py @@ -53,7 +53,7 @@ class PyDlioProfilerPy(PythonPackage): depends_on("ninja", type="build") depends_on("cmake@3.12:", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@0.0.6:"): env.set("DLIO_PROFILER_INSTALL_DIR", self.prefix) env.set("DLIO_PROFILER_PYTHON_SITE", python_purelib) diff --git a/var/spack/repos/builtin/packages/py-eccodes/package.py b/var/spack/repos/builtin/packages/py-eccodes/package.py index fa86ae6f600..f987b1bf237 100644 --- a/var/spack/repos/builtin/packages/py-eccodes/package.py +++ b/var/spack/repos/builtin/packages/py-eccodes/package.py @@ -24,20 +24,24 @@ class PyEccodes(PythonPackage): depends_on("py-findlibs", type=("build", "run")) depends_on("eccodes@2.21.0:+shared", type="run") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: eccodes_spec = self.spec["eccodes:c,shared"] # ECCODES_HOME has the highest precedence when searching for the library with py-findlibs: env.set("ECCODES_HOME", eccodes_spec.prefix) # but not if ecmwflibs (https://pypi.org/project/ecmwflibs/) is in the PYTHONPATH: env.set("ECMWFLIBS_ECCODES", eccodes_spec.libs.files[0]) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.setup_build_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_build_environment(env) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_build_environment(env) def test_selfcheck(self): diff --git a/var/spack/repos/builtin/packages/py-fastavro/package.py b/var/spack/repos/builtin/packages/py-fastavro/package.py index 26b0c1736d5..0bd6ef1f052 100644 --- a/var/spack/repos/builtin/packages/py-fastavro/package.py +++ b/var/spack/repos/builtin/packages/py-fastavro/package.py @@ -26,9 +26,9 @@ class PyFastavro(PythonPackage): version("0.23.3", sha256="4e4bebe7b43b5cdad030bdbeb7f7f0ccb537ea025a9e28c7a4826876872fc84b") version("0.23.2", sha256="3b31707d6eaa1e98fc60536d0b3483bafb78be39bf9f0a1affe1b353e70bd5b2") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Use cython for building as *.c files are missing from repo - env.set("FASTAVRO_USE_CYTHON", 1) + env.set("FASTAVRO_USE_CYTHON", "1") depends_on("python@3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-flash-attn/package.py b/var/spack/repos/builtin/packages/py-flash-attn/package.py index 61fe469b629..acf3256b07e 100644 --- a/var/spack/repos/builtin/packages/py-flash-attn/package.py +++ b/var/spack/repos/builtin/packages/py-flash-attn/package.py @@ -49,6 +49,6 @@ class PyFlashAttn(PythonPackage): depends_on("python@3.7:", type=("build", "run"), when="@:2.5") depends_on("python@3.8:", type=("build", "run"), when="@2.6:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # If oom error, try lowering the number of jobs with `spack install -j` - env.set("MAX_JOBS", make_jobs) + env.set("MAX_JOBS", str(make_jobs)) diff --git a/var/spack/repos/builtin/packages/py-flye/package.py b/var/spack/repos/builtin/packages/py-flye/package.py index 842549d27b0..cc117ba03fe 100644 --- a/var/spack/repos/builtin/packages/py-flye/package.py +++ b/var/spack/repos/builtin/packages/py-flye/package.py @@ -36,7 +36,7 @@ class PyFlye(PythonPackage): conflicts("%clang@:3.2", msg=msg) conflicts("%apple-clang@:4.9", msg=msg) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.target.family == "aarch64": env.set("arm_neon", "1") env.set("aarch64", "1") diff --git a/var/spack/repos/builtin/packages/py-frozendict/package.py b/var/spack/repos/builtin/packages/py-frozendict/package.py index 797a439b6c6..3446cf0a3c9 100644 --- a/var/spack/repos/builtin/packages/py-frozendict/package.py +++ b/var/spack/repos/builtin/packages/py-frozendict/package.py @@ -22,7 +22,7 @@ class PyFrozendict(PythonPackage): depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # C extension is not supported for 3.11+. See also # https://github.com/Marco-Sulla/python-frozendict/issues/68 if self.spec.satisfies("^python@3.11:"): diff --git a/var/spack/repos/builtin/packages/py-gemmforge/package.py b/var/spack/repos/builtin/packages/py-gemmforge/package.py index 90be279274c..725440e8509 100644 --- a/var/spack/repos/builtin/packages/py-gemmforge/package.py +++ b/var/spack/repos/builtin/packages/py-gemmforge/package.py @@ -21,6 +21,6 @@ class PyGemmforge(PythonPackage): depends_on("py-pyyaml", type=("build", "run")) depends_on("py-setuptools", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec.prefix) env.prepend_path("PYTHONPATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/py-gensim/package.py b/var/spack/repos/builtin/packages/py-gensim/package.py index bca76235649..273508a281c 100644 --- a/var/spack/repos/builtin/packages/py-gensim/package.py +++ b/var/spack/repos/builtin/packages/py-gensim/package.py @@ -42,5 +42,5 @@ class PyGensim(PythonPackage): depends_on("py-smart-open@1.7.0:", when="@3.8.0", type=("build", "run")) depends_on("py-smart-open@1.8.1:", when="@3.8.1:", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GENSIM_CYTHON_REQUIRES", "Cython=={0}".format(self.spec["py-cython"].version)) diff --git a/var/spack/repos/builtin/packages/py-geopmdpy/package.py b/var/spack/repos/builtin/packages/py-geopmdpy/package.py index 458fe13232a..5fa38ad8e34 100644 --- a/var/spack/repos/builtin/packages/py-geopmdpy/package.py +++ b/var/spack/repos/builtin/packages/py-geopmdpy/package.py @@ -41,7 +41,7 @@ def build_directory(self): else: return "geopmdpy" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if not self.spec.version.isdevelop(): env.set("SETUPTOOLS_SCM_PRETEND_VERSION", self.version) diff --git a/var/spack/repos/builtin/packages/py-geopmpy/package.py b/var/spack/repos/builtin/packages/py-geopmpy/package.py index 9504ceb88b2..3c64581e55e 100644 --- a/var/spack/repos/builtin/packages/py-geopmpy/package.py +++ b/var/spack/repos/builtin/packages/py-geopmpy/package.py @@ -35,6 +35,6 @@ class PyGeopmpy(PythonPackage): build_directory = "geopmpy" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if not self.spec.version.isdevelop(): env.set("SETUPTOOLS_SCM_PRETEND_VERSION", self.version) 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 15f044c96ee..d9648c797c4 100644 --- a/var/spack/repos/builtin/packages/py-git-review/package.py +++ b/var/spack/repos/builtin/packages/py-git-review/package.py @@ -28,5 +28,5 @@ class PyGitReview(PythonPackage): depends_on("py-requests@1.1:", type=("build", "run")) depends_on("git", type=("run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PBR_VERSION", str(self.spec.version)) diff --git a/var/spack/repos/builtin/packages/py-gmxapi/package.py b/var/spack/repos/builtin/packages/py-gmxapi/package.py index eab4263e070..f205a9b5de7 100644 --- a/var/spack/repos/builtin/packages/py-gmxapi/package.py +++ b/var/spack/repos/builtin/packages/py-gmxapi/package.py @@ -40,7 +40,7 @@ class PyGmxapi(PythonPackage): depends_on("py-pybind11@2.6:", when="@:0.4", type=("build", "run")) depends_on("py-pytest@4.6:", type="test") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GROMACS_DIR", self.spec["gromacs"].prefix) env.set("gmxapi_ROOT", self.spec["gromacs"].prefix) env.set("Python3_ROOT", self.spec["python"].home) diff --git a/var/spack/repos/builtin/packages/py-google-crc32c/package.py b/var/spack/repos/builtin/packages/py-google-crc32c/package.py index 3f1409fd231..08bd08e37ed 100644 --- a/var/spack/repos/builtin/packages/py-google-crc32c/package.py +++ b/var/spack/repos/builtin/packages/py-google-crc32c/package.py @@ -23,5 +23,5 @@ class PyGoogleCrc32c(PythonPackage): depends_on("py-setuptools", type="build") depends_on("google-crc32c", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CRC32C_INSTALL_PREFIX", self.spec["google-crc32c"].prefix) diff --git a/var/spack/repos/builtin/packages/py-gosam/package.py b/var/spack/repos/builtin/packages/py-gosam/package.py index 463b8ae57aa..df8a484a208 100644 --- a/var/spack/repos/builtin/packages/py-gosam/package.py +++ b/var/spack/repos/builtin/packages/py-gosam/package.py @@ -39,7 +39,7 @@ class PyGosam(Package): depends_on("gosam-contrib", type="link") depends_on("python@3:", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: gosam_contrib_lib_dir = self.spec["gosam-contrib"].prefix.lib env.prepend_path("LD_LIBRARY_PATH", gosam_contrib_lib_dir) diff --git a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py index fd0ffd119ef..1dee6510326 100644 --- a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py +++ b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py @@ -37,12 +37,12 @@ class PyGrpcioTools(PythonPackage): depends_on("c-ares") depends_on("re2+shared") - def setup_build_environment(self, env): - env.set("GRPC_PYTHON_BUILD_WITH_CYTHON", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_OPENSSL", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_ZLIB", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_CARES", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_RE2", True) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("GRPC_PYTHON_BUILD_WITH_CYTHON", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_OPENSSL", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_ZLIB", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_CARES", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_RE2", "True") # https://github.com/grpc/grpc/pull/24449 env.set("GRPC_BUILD_WITH_BORING_SSL_ASM", "") env.set("GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS", str(make_jobs)) diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py index 0977a7d046f..d55796c8b81 100644 --- a/var/spack/repos/builtin/packages/py-grpcio/package.py +++ b/var/spack/repos/builtin/packages/py-grpcio/package.py @@ -84,12 +84,12 @@ class PyGrpcio(PythonPackage): patch("30522.diff", when="@1.48") # https://github.com/grpc/grpc/issues/30372 - def setup_build_environment(self, env): - env.set("GRPC_PYTHON_BUILD_WITH_CYTHON", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_OPENSSL", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_ZLIB", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_CARES", True) - env.set("GRPC_PYTHON_BUILD_SYSTEM_RE2", True) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("GRPC_PYTHON_BUILD_WITH_CYTHON", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_OPENSSL", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_ZLIB", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_CARES", "True") + env.set("GRPC_PYTHON_BUILD_SYSTEM_RE2", "True") # https://github.com/grpc/grpc/pull/24449 env.set("GRPC_BUILD_WITH_BORING_SSL_ASM", "") env.set("GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS", str(make_jobs)) diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py index 265e3f12aab..ecc98ab5ce1 100644 --- a/var/spack/repos/builtin/packages/py-h5py/package.py +++ b/var/spack/repos/builtin/packages/py-h5py/package.py @@ -96,7 +96,7 @@ def flag_handler(self, name, flags): flags.append("-Wno-error=incompatible-pointer-types-discards-qualifiers") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HDF5_DIR", self.spec["hdf5"].prefix) if "+mpi" in self.spec: env.set("CC", self.spec["mpi"].mpicc) diff --git a/var/spack/repos/builtin/packages/py-horovod/package.py b/var/spack/repos/builtin/packages/py-horovod/package.py index 2d91b08e58b..0f79bfb6e5d 100644 --- a/var/spack/repos/builtin/packages/py-horovod/package.py +++ b/var/spack/repos/builtin/packages/py-horovod/package.py @@ -236,7 +236,7 @@ def import_modules(self): return modules - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://github.com/horovod/horovod/blob/master/docs/install.rst#environment-variables # Build system @@ -247,29 +247,29 @@ def setup_build_environment(self, env): # Frameworks if "frameworks=tensorflow" in self.spec: - env.set("HOROVOD_WITH_TENSORFLOW", 1) + env.set("HOROVOD_WITH_TENSORFLOW", "1") else: - env.set("HOROVOD_WITHOUT_TENSORFLOW", 1) + env.set("HOROVOD_WITHOUT_TENSORFLOW", "1") if "frameworks=pytorch" in self.spec: - env.set("HOROVOD_WITH_PYTORCH", 1) + env.set("HOROVOD_WITH_PYTORCH", "1") else: - env.set("HOROVOD_WITHOUT_PYTORCH", 1) + env.set("HOROVOD_WITHOUT_PYTORCH", "1") if "frameworks=mxnet" in self.spec: - env.set("HOROVOD_WITH_MXNET", 1) + env.set("HOROVOD_WITH_MXNET", "1") env.set("MXNET_INCLUDE_PATH", self.spec["mxnet"].prefix.include) env.set("MXNET_LIBRARY_PATH", join_path(self.spec["mxnet"].libs[0])) else: - env.set("HOROVOD_WITHOUT_MXNET", 1) + env.set("HOROVOD_WITHOUT_MXNET", "1") # Controllers if "controllers=mpi" in self.spec or "tensor_ops=mpi" in self.spec: - env.set("HOROVOD_WITH_MPI", 1) + env.set("HOROVOD_WITH_MPI", "1") else: - env.set("HOROVOD_WITHOUT_MPI", 1) + env.set("HOROVOD_WITHOUT_MPI", "1") if "controllers=gloo" in self.spec or "tensor_ops=gloo" in self.spec: - env.set("HOROVOD_WITH_GLOO", 1) + env.set("HOROVOD_WITH_GLOO", "1") else: - env.set("HOROVOD_WITHOUT_GLOO", 1) + env.set("HOROVOD_WITHOUT_GLOO", "1") # Tensor Operations if "tensor_ops=nccl" in self.spec: diff --git a/var/spack/repos/builtin/packages/py-htgettoken/package.py b/var/spack/repos/builtin/packages/py-htgettoken/package.py index 33b13bdb901..9162ed20879 100644 --- a/var/spack/repos/builtin/packages/py-htgettoken/package.py +++ b/var/spack/repos/builtin/packages/py-htgettoken/package.py @@ -35,7 +35,7 @@ class PyHtgettoken(PythonPackage): depends_on("py-paramiko", type=("build", "run")) depends_on("py-urllib3", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: dir = os.environ.get("XDG_RUNTIME_DIR", "/tmp") uid = os.environ.get("UID", str(os.geteuid())) file = join_path(dir, "bt_u" + uid) diff --git a/var/spack/repos/builtin/packages/py-huggingface-hub/package.py b/var/spack/repos/builtin/packages/py-huggingface-hub/package.py index ec41d4909b1..038197728b5 100644 --- a/var/spack/repos/builtin/packages/py-huggingface-hub/package.py +++ b/var/spack/repos/builtin/packages/py-huggingface-hub/package.py @@ -58,6 +58,6 @@ class PyHuggingfaceHub(PythonPackage): with when("+hf_transfer"): depends_on("py-hf-transfer@0.1.4:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+hf_transfer" in self.spec: - env.set("HF_HUB_ENABLE_HF_TRANSFER", 1) + env.set("HF_HUB_ENABLE_HF_TRANSFER", "1") diff --git a/var/spack/repos/builtin/packages/py-igraph/package.py b/var/spack/repos/builtin/packages/py-igraph/package.py index 37c10b0099d..7f050686575 100644 --- a/var/spack/repos/builtin/packages/py-igraph/package.py +++ b/var/spack/repos/builtin/packages/py-igraph/package.py @@ -31,5 +31,5 @@ class PyIgraph(PythonPackage): depends_on("py-texttable@1.6.2:", type=("build", "run")) depends_on("py-matplotlib@3.5:", type="run", when="+matplotlib") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("IGRAPH_USE_PKG_CONFIG", "1") diff --git a/var/spack/repos/builtin/packages/py-isal/package.py b/var/spack/repos/builtin/packages/py-isal/package.py index 6e4a9037d40..e0c402202cd 100644 --- a/var/spack/repos/builtin/packages/py-isal/package.py +++ b/var/spack/repos/builtin/packages/py-isal/package.py @@ -24,5 +24,5 @@ class PyIsal(PythonPackage): depends_on("py-setuptools@51:", type="build") depends_on("libisal") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PYTHON_ISAL_LINK_DYNAMIC", "true") diff --git a/var/spack/repos/builtin/packages/py-jaxlib/package.py b/var/spack/repos/builtin/packages/py-jaxlib/package.py index a43ce8a1dec..d13048dd60d 100644 --- a/var/spack/repos/builtin/packages/py-jaxlib/package.py +++ b/var/spack/repos/builtin/packages/py-jaxlib/package.py @@ -206,7 +206,7 @@ def url_for_version(self, version): name = "jaxlib" return url.format(name, version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("@0.4.38: +rocm") and not spec["hip"].external: if spec.satisfies("^hip@6.2:"): diff --git a/var/spack/repos/builtin/packages/py-jupyter-core/package.py b/var/spack/repos/builtin/packages/py-jupyter-core/package.py index 402ba37676d..ac42e5bc606 100644 --- a/var/spack/repos/builtin/packages/py-jupyter-core/package.py +++ b/var/spack/repos/builtin/packages/py-jupyter-core/package.py @@ -47,7 +47,9 @@ class PyJupyterCore(PythonPackage): # Historical dependencies depends_on("py-setuptools", when="@:4.9.2", type=("build", "run")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # https://docs.jupyter.org/en/stable/use/jupyter-directories.html if os.path.exists(dependent_spec.prefix.etc.jupyter): env.prepend_path("JUPYTER_CONFIG_PATH", dependent_spec.prefix.etc.jupyter) diff --git a/var/spack/repos/builtin/packages/py-jupyterlab/package.py b/var/spack/repos/builtin/packages/py-jupyterlab/package.py index dee04a29a6b..014c9a3c025 100644 --- a/var/spack/repos/builtin/packages/py-jupyterlab/package.py +++ b/var/spack/repos/builtin/packages/py-jupyterlab/package.py @@ -82,5 +82,5 @@ class PyJupyterlab(PythonPackage): depends_on("py-tornado@:5,6.0.3:", type=("build", "run")) depends_on("py-jupyterlab-server@1.1.5:1", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("JUPYTERLAB_DIR", self.prefix.share.jupyter.lab) diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py index 5d45b52dbe4..e937ab122ef 100644 --- a/var/spack/repos/builtin/packages/py-keras/package.py +++ b/var/spack/repos/builtin/packages/py-keras/package.py @@ -159,7 +159,7 @@ def url_for_version(self, version): url = "https://files.pythonhosted.org/packages/source/k/keras/Keras-{}.tar.gz" return url.format(version) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@3:"): env.set("KERAS_BACKEND", self.spec.variants["backend"].value) diff --git a/var/spack/repos/builtin/packages/py-liblas/package.py b/var/spack/repos/builtin/packages/py-liblas/package.py index d1bbf7ebf1e..f014aa503df 100644 --- a/var/spack/repos/builtin/packages/py-liblas/package.py +++ b/var/spack/repos/builtin/packages/py-liblas/package.py @@ -18,7 +18,7 @@ class PyLiblas(PythonPackage): depends_on("py-setuptools", type="build") depends_on("liblas") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env_var = "LD_LIBRARY_PATH" if self.spec.satisfies("platform=darwin"): env_var = "DYLD_FALLBACK_LIBRARY_PATH" diff --git a/var/spack/repos/builtin/packages/py-llvmlite/package.py b/var/spack/repos/builtin/packages/py-llvmlite/package.py index a4389d9c6c9..79b44e2af22 100644 --- a/var/spack/repos/builtin/packages/py-llvmlite/package.py +++ b/var/spack/repos/builtin/packages/py-llvmlite/package.py @@ -77,7 +77,7 @@ class PyLlvmlite(PythonPackage): # TODO: investigate conflicts("%apple-clang@15:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%fj"): env.set("CXX_FLTO_FLAGS", "{0}".format(self.compiler.cxx_pic_flag)) env.set("LD_FLTO_FLAGS", "-Wl,--exclude-libs=ALL") diff --git a/var/spack/repos/builtin/packages/py-lmdb/package.py b/var/spack/repos/builtin/packages/py-lmdb/package.py index dce0b1cbe72..741ce95383b 100644 --- a/var/spack/repos/builtin/packages/py-lmdb/package.py +++ b/var/spack/repos/builtin/packages/py-lmdb/package.py @@ -23,5 +23,5 @@ class PyLmdb(PythonPackage): depends_on("py-setuptools", type="build") depends_on("lmdb") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LMDB_FORCE_SYSTEM", "1") diff --git a/var/spack/repos/builtin/packages/py-lws/package.py b/var/spack/repos/builtin/packages/py-lws/package.py index d61ec97febc..6cd3f7336c2 100644 --- a/var/spack/repos/builtin/packages/py-lws/package.py +++ b/var/spack/repos/builtin/packages/py-lws/package.py @@ -24,5 +24,5 @@ class PyLws(PythonPackage): depends_on("py-numpy", type=("build", "run")) depends_on("py-scipy", type=("build", "run")) - def setup_build_environment(self, env): - env.set("LWS_USE_CYTHON", 1) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("LWS_USE_CYTHON", "1") diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index 72762d7a5f1..211c8bc23ad 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -330,7 +330,7 @@ def install_test(self): python("-m", "pytest", "--pyargs", "mpl_toolkits.tests") @when("@:3.8") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: include = [] library = [] for dep in self.spec.dependencies(deptype="link"): diff --git a/var/spack/repos/builtin/packages/py-meldmd/package.py b/var/spack/repos/builtin/packages/py-meldmd/package.py index 95d09526a63..92e713aef25 100644 --- a/var/spack/repos/builtin/packages/py-meldmd/package.py +++ b/var/spack/repos/builtin/packages/py-meldmd/package.py @@ -80,7 +80,7 @@ def patch(self): if self.spec.satisfies("^openmm@7.6.0:"): filter_file("simtk.openmm", "openmm", "plugin/python/meldplugin.i", string=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("OPENMM_PLUGIN_DIR", self.prefix.lib.plugins) @run_after("install") diff --git a/var/spack/repos/builtin/packages/py-mo-pack/package.py b/var/spack/repos/builtin/packages/py-mo-pack/package.py index 1662963d4ae..7737a687cd5 100644 --- a/var/spack/repos/builtin/packages/py-mo-pack/package.py +++ b/var/spack/repos/builtin/packages/py-mo-pack/package.py @@ -21,5 +21,5 @@ class PyMoPack(PythonPackage): depends_on("py-numpy", type=("build", "run")) depends_on("py-cython", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("LDFLAGS", self.spec["libmo-unpack"].libs.search_flags) diff --git a/var/spack/repos/builtin/packages/py-modin/package.py b/var/spack/repos/builtin/packages/py-modin/package.py index 0b35bf76d59..a28080b5813 100644 --- a/var/spack/repos/builtin/packages/py-modin/package.py +++ b/var/spack/repos/builtin/packages/py-modin/package.py @@ -44,6 +44,6 @@ class PyModin(PythonPackage): depends_on("py-distributed@2.22:", type=("build", "run")) depends_on("py-pickle5", when="^python@:3.7", type=("build", "run")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # modin/config/envvars.py env.set("MODIN_ENGINE", self.spec.variants["engine"].value) diff --git a/var/spack/repos/builtin/packages/py-mpi4jax/package.py b/var/spack/repos/builtin/packages/py-mpi4jax/package.py index 1f79ee1e70c..39dbe77fad9 100644 --- a/var/spack/repos/builtin/packages/py-mpi4jax/package.py +++ b/var/spack/repos/builtin/packages/py-mpi4jax/package.py @@ -27,6 +27,6 @@ class PyMpi4jax(PythonPackage, CudaPackage): depends_on("py-numpy", type=("build", "run")) depends_on("py-jax@0.3.25:", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+cuda" in self.spec: env.set("CUDA_PATH", self.spec["cuda"].prefix) diff --git a/var/spack/repos/builtin/packages/py-mpi4py/package.py b/var/spack/repos/builtin/packages/py-mpi4py/package.py index 3e50afe71c0..0d564de6b0b 100644 --- a/var/spack/repos/builtin/packages/py-mpi4py/package.py +++ b/var/spack/repos/builtin/packages/py-mpi4py/package.py @@ -43,7 +43,7 @@ class PyMpi4py(PythonPackage): depends_on("py-cython@0.27:3", when="@master", type="build") depends_on("mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MPICC", self.spec["mpi"].mpicc) @run_before("install") diff --git a/var/spack/repos/builtin/packages/py-nbconvert/package.py b/var/spack/repos/builtin/packages/py-nbconvert/package.py index 2aa2eec2bc3..3ef54a564ed 100644 --- a/var/spack/repos/builtin/packages/py-nbconvert/package.py +++ b/var/spack/repos/builtin/packages/py-nbconvert/package.py @@ -165,11 +165,15 @@ def patch(self): # Avoid install-time downloads of css files. filter_file("css = urlopen(url).read()", "assert False", "hatch_build.py", string=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter) diff --git a/var/spack/repos/builtin/packages/py-netcdf4/package.py b/var/spack/repos/builtin/packages/py-netcdf4/package.py index 5c82e8bc02a..93953288947 100644 --- a/var/spack/repos/builtin/packages/py-netcdf4/package.py +++ b/var/spack/repos/builtin/packages/py-netcdf4/package.py @@ -79,7 +79,7 @@ def flag_handler(self, name, flags): return flags, None, None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Ensure installed netcdf and hdf5 libraries are used""" # Explicitly set these variables so setup.py won't erroneously pick up # system versions diff --git a/var/spack/repos/builtin/packages/py-nltk/package.py b/var/spack/repos/builtin/packages/py-nltk/package.py index 4bb1bb0cba3..569dcfbb66f 100644 --- a/var/spack/repos/builtin/packages/py-nltk/package.py +++ b/var/spack/repos/builtin/packages/py-nltk/package.py @@ -1066,7 +1066,7 @@ def url_for_version(self, version): placement="tagsets", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+data" in self.spec: env.prepend_path("NLTK_DATA", self.prefix.nltk_data) diff --git a/var/spack/repos/builtin/packages/py-numba/package.py b/var/spack/repos/builtin/packages/py-numba/package.py index 9006d2e874f..afa9553bdec 100644 --- a/var/spack/repos/builtin/packages/py-numba/package.py +++ b/var/spack/repos/builtin/packages/py-numba/package.py @@ -86,6 +86,6 @@ class PyNumba(PythonPackage): # See https://reviews.llvm.org/D44140 conflicts("^llvm@6.0.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("~tbb"): env.set("NUMBA_DISABLE_TBB", "yes") diff --git a/var/spack/repos/builtin/packages/py-numcodecs/package.py b/var/spack/repos/builtin/packages/py-numcodecs/package.py index c2161a9e08c..864e059660c 100644 --- a/var/spack/repos/builtin/packages/py-numcodecs/package.py +++ b/var/spack/repos/builtin/packages/py-numcodecs/package.py @@ -60,7 +60,7 @@ class PyNumcodecs(PythonPackage): # those libraries without any way to use the system versions. # https://github.com/zarr-developers/numcodecs/issues/464 - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # This package likes to compile natively by checking cpu features and then setting flags # -msse2 and -mavx2, which we want to avoid in Spack. This could go away if the package # supports external libraries. diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py index d889f172b09..0e4a06ba76c 100644 --- a/var/spack/repos/builtin/packages/py-numpy/package.py +++ b/var/spack/repos/builtin/packages/py-numpy/package.py @@ -487,7 +487,7 @@ def set_blas_lapack(self): self.blas_lapack_site_cfg() @when("@1.26:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%msvc"): # For meson build system, compiler paths must be in quotes # to prevent paths from being split by spaces. @@ -495,7 +495,7 @@ def setup_build_environment(self, env): env.set("CXX", f'"{self.compiler.cxx}"') @when("@:1.25") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Tell numpy which BLAS/LAPACK libraries we want to use. spec = self.spec # https://github.com/numpy/numpy/pull/13132 diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py index 986b94e4a03..7f907888ad5 100644 --- a/var/spack/repos/builtin/packages/py-onnx/package.py +++ b/var/spack/repos/builtin/packages/py-onnx/package.py @@ -95,7 +95,7 @@ def patch(self): "setup.py", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Build in a similar directory as the CMake packages env.set( "CMAKE_BUILD_DIR", join_path(self.stage.path, f"spack-build-{self.spec.dag_hash(7)}") diff --git a/var/spack/repos/builtin/packages/py-onnxruntime/package.py b/var/spack/repos/builtin/packages/py-onnxruntime/package.py index 5bca596721b..f55e4614eed 100644 --- a/var/spack/repos/builtin/packages/py-onnxruntime/package.py +++ b/var/spack/repos/builtin/packages/py-onnxruntime/package.py @@ -157,14 +157,14 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: value = self.spec.variants["dynamic_cpu_arch"].value value = self.dynamic_cpu_arch_values.index(value) env.set("MLAS_DYNAMIC_CPU_ARCH", str(value)) if self.spec.satisfies("+rocm"): env.set("MIOPEN_PATH", self.spec["miopen-hip"].prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: value = self.spec.variants["dynamic_cpu_arch"].value value = self.dynamic_cpu_arch_values.index(value) env.set("MLAS_DYNAMIC_CPU_ARCH", str(value)) diff --git a/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py b/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py index 29d19978fd8..ad89eafc71f 100644 --- a/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py +++ b/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py @@ -110,7 +110,7 @@ def url_for_version(self, version): class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): build_directory = "build" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PL_BACKEND", "lightning_kokkos") cm_args = " ".join([s[2:] for s in self.cmake_args()]) env.set("CMAKE_ARGS", f"{cm_args}") diff --git a/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py b/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py index 88ea6ebb777..54fa1a5c64a 100644 --- a/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py +++ b/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py @@ -74,7 +74,7 @@ class PyPennylaneLightning(CMakePackage, PythonExtension): class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): build_directory = "build" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PL_BACKEND", "lightning_qubit") cm_args = " ".join([s[2:] for s in self.cmake_args()]) env.set("CMAKE_ARGS", f"{cm_args}") diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py index 76af5e1c293..55f3f11ecda 100644 --- a/var/spack/repos/builtin/packages/py-pillow/package.py +++ b/var/spack/repos/builtin/packages/py-pillow/package.py @@ -139,8 +139,8 @@ def variant_to_cfg(variant): setup.write("[install]\n") @when("@:9") - def setup_build_environment(self, env): - env.set("MAX_CONCURRENCY", make_jobs) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("MAX_CONCURRENCY", str(make_jobs)) class PyPillow(PyPillowBase): diff --git a/var/spack/repos/builtin/packages/py-pipits/package.py b/var/spack/repos/builtin/packages/py-pipits/package.py index c89e9863875..476a6da6d65 100644 --- a/var/spack/repos/builtin/packages/py-pipits/package.py +++ b/var/spack/repos/builtin/packages/py-pipits/package.py @@ -51,7 +51,7 @@ class PyPipits(PythonPackage): def install_db(self): install_tree(join_path(self.stage.source_path, "refdb"), self.prefix.refdb) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set( "PIPITS_UNITE_REFERENCE_DATA_CHIMERA", join_path( diff --git a/var/spack/repos/builtin/packages/py-poetry-core/package.py b/var/spack/repos/builtin/packages/py-poetry-core/package.py index 0e0eabc767f..a00b5c41ed5 100644 --- a/var/spack/repos/builtin/packages/py-poetry-core/package.py +++ b/var/spack/repos/builtin/packages/py-poetry-core/package.py @@ -40,8 +40,10 @@ def url_for_version(self, version): return url.format(letter, version) # https://github.com/python-poetry/poetry/issues/5547 - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GIT_DIR", join_path(self.stage.source_path, ".git")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("GIT_DIR", join_path(dependent_spec.package.stage.source_path, ".git")) diff --git a/var/spack/repos/builtin/packages/py-psana/package.py b/var/spack/repos/builtin/packages/py-psana/package.py index d3615c6434d..acb29cf817d 100644 --- a/var/spack/repos/builtin/packages/py-psana/package.py +++ b/var/spack/repos/builtin/packages/py-psana/package.py @@ -46,7 +46,7 @@ class PyPsana(PythonPackage): build_directory = "psana" - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("INSTDIR", "{0}".format(self.prefix)) env.set("XTCDATADIR", "{0}".format(self.spec["xtcdata"].prefix)) env.set("PSALGDIR", "{0}".format(self.spec["psalg"].prefix)) diff --git a/var/spack/repos/builtin/packages/py-pspamm/package.py b/var/spack/repos/builtin/packages/py-pspamm/package.py index 31e81ac24bd..22ec272ef85 100644 --- a/var/spack/repos/builtin/packages/py-pspamm/package.py +++ b/var/spack/repos/builtin/packages/py-pspamm/package.py @@ -27,6 +27,6 @@ class PyPspamm(PythonPackage): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec.prefix) env.prepend_path("PYTHONPATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/py-psyclone/package.py b/var/spack/repos/builtin/packages/py-psyclone/package.py index ad6da950775..b47abacdda0 100644 --- a/var/spack/repos/builtin/packages/py-psyclone/package.py +++ b/var/spack/repos/builtin/packages/py-psyclone/package.py @@ -84,6 +84,6 @@ def check_build(self): with working_dir("src"): pytest() - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Allow testing with installed executables env.prepend_path("PATH", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py index 42a67fada68..d7451c7ced4 100644 --- a/var/spack/repos/builtin/packages/py-pyarrow/package.py +++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py @@ -101,11 +101,11 @@ class PyPyarrow(PythonPackage): # Starting with pyarrow 17+, backend support is built if arrow was built with it @when("@:16") - def setup_build_environment(self, env): - env.set("PYARROW_WITH_PARQUET", self.spec.satisfies("^arrow+parquet")) - env.set("PYARROW_WITH_CUDA", self.spec.satisfies("^arrow+cuda")) - env.set("PYARROW_WITH_ORC", self.spec.satisfies("^arrow+orc")) - env.set("PYARROW_WITH_DATASET", self.spec.satisfies("^arrow+dataset")) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("PYARROW_WITH_PARQUET", str(self.spec.satisfies("^arrow+parquet"))) + env.set("PYARROW_WITH_CUDA", str(self.spec.satisfies("^arrow+cuda"))) + env.set("PYARROW_WITH_ORC", str(self.spec.satisfies("^arrow+orc"))) + env.set("PYARROW_WITH_DATASET", str(self.spec.satisfies("^arrow+dataset"))) @when("@:16") def install_options(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py index 204886ce9c2..9b8922ea768 100644 --- a/var/spack/repos/builtin/packages/py-pybind11/package.py +++ b/var/spack/repos/builtin/packages/py-pybind11/package.py @@ -110,8 +110,8 @@ def install(self, pkg, spec, prefix): python_builder = spack.build_systems.python.PythonPipBuilder(pkg) python_builder.install(pkg, spec, prefix) - def setup_build_environment(self, env): - env.set("PYBIND11_USE_CMAKE", 1) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("PYBIND11_USE_CMAKE", "1") @run_after("install") def install_test(self): diff --git a/var/spack/repos/builtin/packages/py-pydftracer/package.py b/var/spack/repos/builtin/packages/py-pydftracer/package.py index 58b24b60823..321dc82e444 100644 --- a/var/spack/repos/builtin/packages/py-pydftracer/package.py +++ b/var/spack/repos/builtin/packages/py-pydftracer/package.py @@ -34,7 +34,7 @@ class PyPydftracer(PythonPackage): depends_on("ninja", type="build") depends_on("cmake@3.12:", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DFTRACER_INSTALL_DIR", self.prefix) env.set("DFTRACER_PYTHON_SITE", python_purelib) env.set("DFTRACER_BUILD_DEPENDENCIES", "0") diff --git a/var/spack/repos/builtin/packages/py-pyfftw/package.py b/var/spack/repos/builtin/packages/py-pyfftw/package.py index 2e18737ac08..09c762c01fd 100644 --- a/var/spack/repos/builtin/packages/py-pyfftw/package.py +++ b/var/spack/repos/builtin/packages/py-pyfftw/package.py @@ -48,5 +48,5 @@ def url_for_version(self, version): name = "pyFFTW" return url.format(name, version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("LDFLAGS", self.spec["fftw"].libs.search_flags) diff --git a/var/spack/repos/builtin/packages/py-pyfr/package.py b/var/spack/repos/builtin/packages/py-pyfr/package.py index 46d72eb2bed..59d20a9d3fd 100644 --- a/var/spack/repos/builtin/packages/py-pyfr/package.py +++ b/var/spack/repos/builtin/packages/py-pyfr/package.py @@ -65,7 +65,7 @@ class PyPyfr(PythonPackage, CudaPackage, ROCmPackage): depends_on("libxsmm@1.18:+shared blas=0", when="+libxsmm", type=("run")) # Explicitly add dependencies to environment variables - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: deps = ["metis", "scotch", "libxsmm", "hip", "rocblas"] pyfr_library_path = [] for dep in deps: diff --git a/var/spack/repos/builtin/packages/py-pygit2/package.py b/var/spack/repos/builtin/packages/py-pygit2/package.py index 0faf298bfb9..a745afc22b8 100644 --- a/var/spack/repos/builtin/packages/py-pygit2/package.py +++ b/var/spack/repos/builtin/packages/py-pygit2/package.py @@ -43,7 +43,7 @@ class PyPygit2(PythonPackage): depends_on("py-cached-property", when="@1.1:1.5", type=("build", "run")) depends_on("py-cached-property", when="@1.6: ^python@:3.7", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # https://www.pygit2.org/install.html env.set("LIBGIT2", spec["libgit2"].prefix) diff --git a/var/spack/repos/builtin/packages/py-pyhdf/package.py b/var/spack/repos/builtin/packages/py-pyhdf/package.py index 6eba7244b34..e8dbcfa468d 100644 --- a/var/spack/repos/builtin/packages/py-pyhdf/package.py +++ b/var/spack/repos/builtin/packages/py-pyhdf/package.py @@ -35,7 +35,7 @@ class PyPyhdf(PythonPackage): depends_on("py-numpy@:1.24", when="@0.10.4", type=("build", "run")) depends_on("jpeg", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: inc_dirs = [] lib_dirs = [] # Strip -I and -L from spec include_flags / search_flags diff --git a/var/spack/repos/builtin/packages/py-pylikwid/package.py b/var/spack/repos/builtin/packages/py-pylikwid/package.py index 79bde09e888..fabe0c9ef86 100644 --- a/var/spack/repos/builtin/packages/py-pylikwid/package.py +++ b/var/spack/repos/builtin/packages/py-pylikwid/package.py @@ -30,5 +30,5 @@ class PyPylikwid(PythonPackage): depends_on("likwid", when="~cuda") depends_on("likwid+cuda", when="+cuda") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LIKWID_PREFIX", self.spec["likwid"].prefix) diff --git a/var/spack/repos/builtin/packages/py-pylint-gitlab/package.py b/var/spack/repos/builtin/packages/py-pylint-gitlab/package.py index 02578496f83..5d57b46565b 100644 --- a/var/spack/repos/builtin/packages/py-pylint-gitlab/package.py +++ b/var/spack/repos/builtin/packages/py-pylint-gitlab/package.py @@ -29,5 +29,5 @@ class PyPylintGitlab(PythonPackage): depends_on("py-tomli", type=("build", "run")) depends_on("py-dill", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CI_COMMIT_TAG", self.spec.version.string) diff --git a/var/spack/repos/builtin/packages/py-pynio/package.py b/var/spack/repos/builtin/packages/py-pynio/package.py index 78ee01117c1..8462c3ac542 100644 --- a/var/spack/repos/builtin/packages/py-pynio/package.py +++ b/var/spack/repos/builtin/packages/py-pynio/package.py @@ -56,7 +56,7 @@ class PyPynio(PythonPackage): depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """ These environment variables are how the setup.py knows which options to turn on, and how to find them. diff --git a/var/spack/repos/builtin/packages/py-pynucleus/package.py b/var/spack/repos/builtin/packages/py-pynucleus/package.py index 97387177e65..e5e38a0dcca 100644 --- a/var/spack/repos/builtin/packages/py-pynucleus/package.py +++ b/var/spack/repos/builtin/packages/py-pynucleus/package.py @@ -54,8 +54,8 @@ class PyPynucleus(PythonPackage): "PyNucleus-nl", ] - def setup_build_environment(self, env): - env.set("PYNUCLEUS_BUILD_PARALLELISM", make_jobs) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("PYNUCLEUS_BUILD_PARALLELISM", str(make_jobs)) @run_before("install") def install_python(self): diff --git a/var/spack/repos/builtin/packages/py-pyopengl/package.py b/var/spack/repos/builtin/packages/py-pyopengl/package.py index 71e6b8a3243..5d4e33648c5 100644 --- a/var/spack/repos/builtin/packages/py-pyopengl/package.py +++ b/var/spack/repos/builtin/packages/py-pyopengl/package.py @@ -27,7 +27,7 @@ class PyPyopengl(PythonPackage): depends_on("glu", when="+glu", type="link") depends_on("freeglut+shared", when="+glut", type="link") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # PyOpenGL uses ctypes.cdll (or similar), which searches LD_LIBRARY_PATH lib_dirs = self.spec["gl"].libs.directories if "^glx" in self.spec: @@ -46,7 +46,9 @@ def setup_run_environment(self, env): else: env.prepend_path("LD_LIBRARY_PATH", libs) - def setup_dependent_build_environment_(self, env, dependent_spec): + def setup_dependent_build_environment_( + self, env: EnvironmentModifications, dependent_spec: Spec + ): self.setup_run_environment(env) # only test import available module diff --git a/var/spack/repos/builtin/packages/py-pyproj/package.py b/var/spack/repos/builtin/packages/py-pyproj/package.py index 0f8d772c74c..eae451e6cec 100644 --- a/var/spack/repos/builtin/packages/py-pyproj/package.py +++ b/var/spack/repos/builtin/packages/py-pyproj/package.py @@ -63,7 +63,7 @@ class PyPyproj(PythonPackage): depends_on("proj@6.0:7", when="@2.0:2.1") depends_on("proj") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://pyproj4.github.io/pyproj/stable/installation.html#pyproj-build-environment-variables env.set("PROJ_VERSION", self.spec["proj"].version) env.set("PROJ_DIR", self.spec["proj"].prefix) diff --git a/var/spack/repos/builtin/packages/py-pyqt6/package.py b/var/spack/repos/builtin/packages/py-pyqt6/package.py index 6f9f0e26e0b..be9dd8b52af 100644 --- a/var/spack/repos/builtin/packages/py-pyqt6/package.py +++ b/var/spack/repos/builtin/packages/py-pyqt6/package.py @@ -34,7 +34,7 @@ class PyPyqt6(SIPPackage): # README depends_on("qt-base@6") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Detected system locale encoding (US-ASCII, locale "C") is not UTF-8. # Qt shall use a UTF-8 locale ("UTF-8") instead. If this causes problems, # reconfigure your locale. See the locale(1) manual for more information. diff --git a/var/spack/repos/builtin/packages/py-pysam/package.py b/var/spack/repos/builtin/packages/py-pysam/package.py index b86f697fa08..f7568b4a2f4 100644 --- a/var/spack/repos/builtin/packages/py-pysam/package.py +++ b/var/spack/repos/builtin/packages/py-pysam/package.py @@ -37,7 +37,7 @@ class PyPysam(PythonPackage): depends_on("htslib@:1.6", when="@:0.13") depends_on("htslib") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LDFLAGS", self.spec["curl"].libs.search_flags) # this flag is supposed to be removed by cy_build.py, but for some reason isn't if self.spec.platform == "darwin": diff --git a/var/spack/repos/builtin/packages/py-pyscf/package.py b/var/spack/repos/builtin/packages/py-pyscf/package.py index a37a9629a9e..dd245c0591e 100644 --- a/var/spack/repos/builtin/packages/py-pyscf/package.py +++ b/var/spack/repos/builtin/packages/py-pyscf/package.py @@ -58,7 +58,7 @@ class PyPyscf(PythonPackage): depends_on("libxc") depends_on("xcfun") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Tell PSCF where supporting libraries are located." spec = self.spec diff --git a/var/spack/repos/builtin/packages/py-pyside2/package.py b/var/spack/repos/builtin/packages/py-pyside2/package.py index 40eba12022c..cd3e72bda9a 100644 --- a/var/spack/repos/builtin/packages/py-pyside2/package.py +++ b/var/spack/repos/builtin/packages/py-pyside2/package.py @@ -112,7 +112,7 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("LLVM_INSTALL_DIR", self.spec["llvm"].prefix) def install_options(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/py-pyspark/package.py b/var/spack/repos/builtin/packages/py-pyspark/package.py index e754d8e9f17..f45473ccbaa 100644 --- a/var/spack/repos/builtin/packages/py-pyspark/package.py +++ b/var/spack/repos/builtin/packages/py-pyspark/package.py @@ -55,7 +55,7 @@ class PyPyspark(PythonPackage): ]: depends_on(f"py-py4j@{py4j_version}:", when=f"@{pyspark_version}") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PYSPARK_PYTHON", python.path) env.set("PYSPARK_DRIVER_PYTHON", python.path) if self.spec.satisfies("+pandas ^java@11:"): diff --git a/var/spack/repos/builtin/packages/py-python-mapnik/package.py b/var/spack/repos/builtin/packages/py-python-mapnik/package.py index 90b70bbfa9a..d150947ba4f 100644 --- a/var/spack/repos/builtin/packages/py-python-mapnik/package.py +++ b/var/spack/repos/builtin/packages/py-python-mapnik/package.py @@ -33,7 +33,7 @@ class PyPythonMapnik(PythonPackage): depends_on("py-pycairo", type=("build", "run")) # Package can't find boost_python without the following - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Inform the package that boost python library is of form # 'libboost_python27.so' as opposed to 'libboost_python.so' py_ver = str(self.spec["python"].version.up_to(2).joined) diff --git a/var/spack/repos/builtin/packages/py-pythran/package.py b/var/spack/repos/builtin/packages/py-pythran/package.py index b259907ca14..b1de2d3753e 100644 --- a/var/spack/repos/builtin/packages/py-pythran/package.py +++ b/var/spack/repos/builtin/packages/py-pythran/package.py @@ -93,21 +93,25 @@ def patch(self): cfg_file = join_path("pythran", "pythran-{0}.cfg".format(sys.platform)) filter_file("CXX=", "CXX=" + self.compiler.cxx, cfg_file) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Needed for `spack install --test=root py-pythran` if self.spec.satisfies("%apple-clang"): env.prepend_path( "DYLD_FALLBACK_LIBRARY_PATH", self.spec["llvm-openmp"].libs.directories[0] ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Needed for `spack test run py-pythran` self.setup_build_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Needed for `spack install py-scipy` self.setup_build_environment(env) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Probably needed for something? self.setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py index 9284d50b91e..7b6eeb56884 100644 --- a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py +++ b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py @@ -42,7 +42,7 @@ class PyQiskitAer(PythonPackage, CudaPackage): variant("mpi", default=True, description="Enable MPI support") variant("gdr", default=True, description="Enable GDR support") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("DISABLE_CONAN", "ON") env.set("DISABLE_DEPENDENCY_INSTALL", "1") env.set("CUDAHOSTCXX", spack_cxx) diff --git a/var/spack/repos/builtin/packages/py-qtpy/package.py b/var/spack/repos/builtin/packages/py-qtpy/package.py index ab71b3ff5dc..ff8e5912898 100644 --- a/var/spack/repos/builtin/packages/py-qtpy/package.py +++ b/var/spack/repos/builtin/packages/py-qtpy/package.py @@ -26,5 +26,5 @@ class PyQtpy(PythonPackage): for api in apis: depends_on("py-" + api, when="api=" + api, type="run") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("QT_API", self.spec.variants["api"].value) diff --git a/var/spack/repos/builtin/packages/py-ray/package.py b/var/spack/repos/builtin/packages/py-ray/package.py index f07ae308d43..0af1ecc74fc 100644 --- a/var/spack/repos/builtin/packages/py-ray/package.py +++ b/var/spack/repos/builtin/packages/py-ray/package.py @@ -94,7 +94,7 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SKIP_THIRDPARTY_INSTALL", "1") # Compile the dashboard npm modules included in the project diff --git a/var/spack/repos/builtin/packages/py-rtree/package.py b/var/spack/repos/builtin/packages/py-rtree/package.py index 670d5e69ba9..734b6a6205c 100644 --- a/var/spack/repos/builtin/packages/py-rtree/package.py +++ b/var/spack/repos/builtin/packages/py-rtree/package.py @@ -36,8 +36,8 @@ def url_for_version(self, version): name = name.lower() return url.format(name, version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SPATIALINDEX_C_LIBRARY", self.spec["libspatialindex"].libs[0]) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py index bcb040d2340..cda7e050659 100644 --- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py @@ -134,7 +134,7 @@ def url_for_version(self, version): name = "scikit-learn" return url.format(name, version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Enable parallel builds of the sklearn backend env.append_flags("SKLEARN_BUILD_PARALLEL", str(make_jobs)) diff --git a/var/spack/repos/builtin/packages/py-scikits-odes/package.py b/var/spack/repos/builtin/packages/py-scikits-odes/package.py index 43c80feca54..9f0b7a0c8bb 100644 --- a/var/spack/repos/builtin/packages/py-scikits-odes/package.py +++ b/var/spack/repos/builtin/packages/py-scikits-odes/package.py @@ -43,7 +43,7 @@ class PyScikitsOdes(PythonPackage): sha256="8d05d7bcc3582b7c482a4393bf5a8c0460a58eb62d1e3c86339c95a0d4ce30ac", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SUNDIALS_INST", self.spec["sundials"].prefix) @run_after("install") diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py index c7925064d03..2dcba681608 100644 --- a/var/spack/repos/builtin/packages/py-scipy/package.py +++ b/var/spack/repos/builtin/packages/py-scipy/package.py @@ -213,7 +213,7 @@ def set_fortran_compiler(self): f.write("[config_fc]\n") f.write("fcompiler = intelem\n") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://github.com/scipy/scipy/issues/9080 env.set("F90", spack_fc) diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py index fb3f21742dd..b376bffbdd8 100644 --- a/var/spack/repos/builtin/packages/py-shapely/package.py +++ b/var/spack/repos/builtin/packages/py-shapely/package.py @@ -91,7 +91,7 @@ def patch(self): if os.path.exists("shapely/vectorized/_vectorized.c"): os.remove("shapely/vectorized/_vectorized.c") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GEOS_CONFIG", join_path(self.spec["geos"].prefix.bin, "geos-config")) # Shapely uses ctypes.util.find_library, which searches LD_LIBRARY_PATH @@ -103,8 +103,10 @@ def setup_build_environment(self, env): else: env.prepend_path("LD_LIBRARY_PATH", libs) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.setup_build_environment(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/py-smartredis/package.py b/var/spack/repos/builtin/packages/py-smartredis/package.py index 6ae8a231b0a..67bbe3abf0d 100644 --- a/var/spack/repos/builtin/packages/py-smartredis/package.py +++ b/var/spack/repos/builtin/packages/py-smartredis/package.py @@ -47,7 +47,7 @@ class PySmartredis(PythonPackage): patch("sr_0_4_1_no_deps.patch", when="@0.4.1") patch("sr_0_4_0_no_deps.patch", when="@0.4.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("REDISPP_LIB_DIR", spec["redis-plus-plus"].libs.directories[0]) env.set("REDISPP_INC_DIR", spec["redis-plus-plus"].headers.directories[0]) diff --git a/var/spack/repos/builtin/packages/py-smartsim/package.py b/var/spack/repos/builtin/packages/py-smartsim/package.py index 6ce9e1fd97c..5b4f6e47386 100644 --- a/var/spack/repos/builtin/packages/py-smartsim/package.py +++ b/var/spack/repos/builtin/packages/py-smartsim/package.py @@ -67,8 +67,8 @@ class PySmartsim(PythonPackage): # dependencies fetched though Spack patch("ss-0-5-0-remove-cli-build-fns.patch") - def setup_build_environment(self, env): - env.set("BUILD_JOBS", make_jobs) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("BUILD_JOBS", str(make_jobs)) @run_after("install") def symlink_bin_deps(self): diff --git a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py index 14ba952a829..09635f391f3 100644 --- a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py +++ b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py @@ -41,7 +41,7 @@ class PySphinxRtdTheme(PythonPackage): depends_on("py-sphinxcontrib-jquery@2:", when="@1.2:1.2.1", type=("build", "run")) conflicts("^py-sphinxcontrib-jquery@3.0.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Hack to prevent usage of npm in 0.5+ # https://github.com/readthedocs/sphinx_rtd_theme/issues/1014 - env.set("CI", True) + env.set("CI", "True") diff --git a/var/spack/repos/builtin/packages/py-tables/package.py b/var/spack/repos/builtin/packages/py-tables/package.py index 2b2710f5731..8aa8fa20add 100644 --- a/var/spack/repos/builtin/packages/py-tables/package.py +++ b/var/spack/repos/builtin/packages/py-tables/package.py @@ -76,7 +76,7 @@ class PyTables(PythonPackage): # Historical dependencies depends_on("py-six@1.9:", when="@:3.5", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("HDF5_DIR", self.spec["hdf5"].prefix) if "+bzip2" in self.spec: env.set("BZIP2_DIR", self.spec["bzip2"].prefix) diff --git a/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py b/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py index 3fa96fa977b..0bf628b6e17 100644 --- a/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py +++ b/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py @@ -34,7 +34,7 @@ class PyTensorboardDataServer(PythonPackage): when="@0.6.1", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CARGO_HOME", self.stage.source_path) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py b/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py index f255e0c7128..4971bbd4c78 100644 --- a/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py +++ b/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py @@ -53,6 +53,6 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: tmp_path = tempfile.mkdtemp(prefix="spack") env.set("TEST_TMPDIR", tmp_path) diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py index 0669974488f..274fe2352c7 100644 --- a/var/spack/repos/builtin/packages/py-tensorflow/package.py +++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py @@ -575,7 +575,7 @@ def flag_handler(self, name, flags): return (flags, None, None) # https://www.tensorflow.org/install/source - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # Please specify the location of python diff --git a/var/spack/repos/builtin/packages/py-tfdlpack/package.py b/var/spack/repos/builtin/packages/py-tfdlpack/package.py index 4871ca822dc..cbeff48598e 100644 --- a/var/spack/repos/builtin/packages/py-tfdlpack/package.py +++ b/var/spack/repos/builtin/packages/py-tfdlpack/package.py @@ -42,6 +42,6 @@ def install(self, spec, prefix): with working_dir("python"): pip(*PythonPipBuilder.std_args(self), f"--prefix={self.prefix}", ".") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Prevent TensorFlow from taking over the whole GPU env.set("TF_FORCE_GPU_ALLOW_GROWTH", "true") diff --git a/var/spack/repos/builtin/packages/py-torch-cluster/package.py b/var/spack/repos/builtin/packages/py-torch-cluster/package.py index 4d6fcfff0c8..09e8274b0cf 100644 --- a/var/spack/repos/builtin/packages/py-torch-cluster/package.py +++ b/var/spack/repos/builtin/packages/py-torch-cluster/package.py @@ -29,12 +29,12 @@ class PyTorchCluster(PythonPackage): # Undocumented dependencies depends_on("py-torch", type=("build", "link", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+cuda" in self.spec["py-torch"]: - env.set("FORCE_CUDA", 1) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 0) + env.set("FORCE_CUDA", "1") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "0") else: - env.set("FORCE_CUDA", 0) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 1) + env.set("FORCE_CUDA", "0") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "1") diff --git a/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py b/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py index 2a68cdd76c5..afcefbc8ea8 100644 --- a/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py +++ b/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py @@ -105,14 +105,14 @@ def torch_cuda_arch_list(self, env): ) env.set("TORCH_CUDA_ARCH_LIST", torch_cuda_arch) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cuda"): env.set("CUDA_HOME", self.spec["cuda"].prefix) self.torch_cuda_arch_list(env) else: env.unset("CUDA_HOME") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.torch_cuda_arch_list(env) @when("^py-pip@:23.0") diff --git a/var/spack/repos/builtin/packages/py-torch-scatter/package.py b/var/spack/repos/builtin/packages/py-torch-scatter/package.py index 8741fa6c222..7b3b588e545 100644 --- a/var/spack/repos/builtin/packages/py-torch-scatter/package.py +++ b/var/spack/repos/builtin/packages/py-torch-scatter/package.py @@ -28,12 +28,12 @@ class PyTorchScatter(PythonPackage): # Undocumented dependencies depends_on("py-torch", type=("build", "link", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+cuda" in self.spec["py-torch"]: - env.set("FORCE_CUDA", 1) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 0) + env.set("FORCE_CUDA", "1") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "0") else: - env.set("FORCE_CUDA", 0) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 1) + env.set("FORCE_CUDA", "0") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "1") diff --git a/var/spack/repos/builtin/packages/py-torch-sparse/package.py b/var/spack/repos/builtin/packages/py-torch-sparse/package.py index 34f60f06d50..793d5c17964 100644 --- a/var/spack/repos/builtin/packages/py-torch-sparse/package.py +++ b/var/spack/repos/builtin/packages/py-torch-sparse/package.py @@ -43,20 +43,20 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@0.6.9:"): if "+cuda" in self.spec["py-torch"]: - env.set("FORCE_CUDA", 1) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 0) + env.set("FORCE_CUDA", "1") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "0") else: - env.set("FORCE_CUDA", 0) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 1) + env.set("FORCE_CUDA", "0") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "1") else: if "+cuda" in self.spec["py-torch"]: - env.set("FORCE_CUDA", 1) - env.set("FORCE_CPU", 0) + env.set("FORCE_CUDA", "1") + env.set("FORCE_CPU", "0") else: - env.set("FORCE_CUDA", 0) - env.set("FORCE_CPU", 1) + env.set("FORCE_CUDA", "0") + env.set("FORCE_CPU", "1") diff --git a/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py b/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py index 47f5ef8c3b0..933198f878a 100644 --- a/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py +++ b/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py @@ -28,12 +28,12 @@ class PyTorchSplineConv(PythonPackage): # Undocumented dependencies depends_on("py-torch", type=("build", "link", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+cuda" in self.spec["py-torch"]: - env.set("FORCE_CUDA", 1) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 0) + env.set("FORCE_CUDA", "1") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "0") else: - env.set("FORCE_CUDA", 0) - env.set("FORCE_ONLY_CUDA", 0) - env.set("FORCE_ONLY_CPU", 1) + env.set("FORCE_CUDA", "0") + env.set("FORCE_ONLY_CUDA", "0") + env.set("FORCE_ONLY_CPU", "1") diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py index 698bf2fe30f..b1a2c32a75f 100644 --- a/var/spack/repos/builtin/packages/py-torch/package.py +++ b/var/spack/repos/builtin/packages/py-torch/package.py @@ -532,7 +532,7 @@ def torch_cuda_arch_list(self, env): ) env.set("TORCH_CUDA_ARCH_LIST", ";".join(torch_cuda_arch)) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set environment variables used to control the build. PyTorch's ``setup.py`` is a thin wrapper around ``cmake``. @@ -562,7 +562,7 @@ def enable_or_disable(variant, keyword="USE", var=None): env.set(keyword + "_" + var, "OFF") # Build in parallel to speed up build times - env.set("MAX_JOBS", make_jobs) + env.set("MAX_JOBS", str(make_jobs)) # Spack logs have trouble handling colored output env.set("COLORIZE_OUTPUT", "OFF") @@ -652,8 +652,8 @@ def enable_or_disable(variant, keyword="USE", var=None): env.set("DEBUG", "OFF") if not self.spec.satisfies("@main"): - env.set("PYTORCH_BUILD_VERSION", self.version) - env.set("PYTORCH_BUILD_NUMBER", 0) + env.set("PYTORCH_BUILD_VERSION", str(self.version)) + env.set("PYTORCH_BUILD_NUMBER", str(0)) # BLAS to be used by Caffe2 # Options defined in cmake/Dependencies.cmake and cmake/Modules/FindBLAS.cmake @@ -713,7 +713,7 @@ def enable_or_disable(variant, keyword="USE", var=None): else: env.set("BUILD_CUSTOM_PROTOBUF", "OFF") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.torch_cuda_arch_list(env) @run_before("install") diff --git a/var/spack/repos/builtin/packages/py-torchaudio/package.py b/var/spack/repos/builtin/packages/py-torchaudio/package.py index 6249d470700..ea21b585cb2 100644 --- a/var/spack/repos/builtin/packages/py-torchaudio/package.py +++ b/var/spack/repos/builtin/packages/py-torchaudio/package.py @@ -156,9 +156,9 @@ def flag_handler(self, name, flags): flags.append("-Wl,-ld_classic") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # tools/setup_helpers/extension.py - env.set("BUILD_SOX", 0) + env.set("BUILD_SOX", "0") if self.spec.satisfies("@2.1:"): env.set("FFMPEG_ROOT", self.spec["ffmpeg"].prefix) @@ -167,11 +167,11 @@ def setup_build_environment(self, env): env.set("USE_FFMPEG", "0") if "+cuda" in self.spec["py-torch"]: - env.set("USE_CUDA", 1) + env.set("USE_CUDA", "1") else: - env.set("USE_CUDA", 0) + env.set("USE_CUDA", "0") if "+rocm" in self.spec["py-torch"]: - env.set("USE_ROCM", 1) + env.set("USE_ROCM", "1") else: - env.set("USE_ROCM", 0) + env.set("USE_ROCM", "0") diff --git a/var/spack/repos/builtin/packages/py-torchdata/package.py b/var/spack/repos/builtin/packages/py-torchdata/package.py index 26bb498ed2e..c2cbba96797 100644 --- a/var/spack/repos/builtin/packages/py-torchdata/package.py +++ b/var/spack/repos/builtin/packages/py-torchdata/package.py @@ -70,5 +70,5 @@ class PyTorchdata(PythonPackage): depends_on("py-pybind11", when="@0.4:0.9") depends_on("aws-sdk-cpp", when="@0.4:0.9") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("USE_SYSTEM_LIBS", "ON") diff --git a/var/spack/repos/builtin/packages/py-torchvision/package.py b/var/spack/repos/builtin/packages/py-torchvision/package.py index 191fae7b4bb..0e6983e3c04 100644 --- a/var/spack/repos/builtin/packages/py-torchvision/package.py +++ b/var/spack/repos/builtin/packages/py-torchvision/package.py @@ -173,27 +173,27 @@ def flag_handler(self, name, flags): flags.append("-Wl,-ld_classic") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # The only documentation on building is what is found in setup.py and: # https://github.com/pytorch/vision/blob/main/CONTRIBUTING.md#development-installation # By default, version is read from `version.txt`, but this includes an `a0` # suffix used for alpha builds. Override the version for stable releases. if not self.spec.satisfies("@main"): - env.set("BUILD_VERSION", self.version) + env.set("BUILD_VERSION", str(self.version)) # Used by ninja - env.set("MAX_JOBS", make_jobs) + env.set("MAX_JOBS", str(make_jobs)) if "^cuda" in self.spec: env.set("CUDA_HOME", self.spec["cuda"].prefix) for gpu in ["cuda", "mps"]: - env.set(f"FORCE_{gpu.upper()}", int(f"+{gpu}" in self.spec["py-torch"])) + env.set(f"FORCE_{gpu.upper()}", str(f"+{gpu}" in self.spec["py-torch"])) extensions = ["png", "jpeg", "webp", "nvjpeg", "video_codec", "ffmpeg"] for extension in extensions: - env.set(f"TORCHVISION_USE_{extension.upper()}", int(f"+{extension}" in self.spec)) + env.set(f"TORCHVISION_USE_{extension.upper()}", str(f"+{extension}" in self.spec)) include = [] library = [] diff --git a/var/spack/repos/builtin/packages/py-transformer-engine/package.py b/var/spack/repos/builtin/packages/py-transformer-engine/package.py index 90aaaf936e3..b624736c4e5 100644 --- a/var/spack/repos/builtin/packages/py-transformer-engine/package.py +++ b/var/spack/repos/builtin/packages/py-transformer-engine/package.py @@ -42,7 +42,7 @@ class PyTransformerEngine(PythonPackage): with default_args(type=("build", "link", "run")): depends_on("py-torch+cuda+cudnn") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("NVTE_FRAMEWORK", "pytorch") if self.spec.satisfies("+userbuffers"): env.set("NVTE_WITH_USERBUFFERS", "1") diff --git a/var/spack/repos/builtin/packages/py-triton/package.py b/var/spack/repos/builtin/packages/py-triton/package.py index 78068e590fc..3263cdc4052 100644 --- a/var/spack/repos/builtin/packages/py-triton/package.py +++ b/var/spack/repos/builtin/packages/py-triton/package.py @@ -26,7 +26,7 @@ class PyTriton(PythonPackage): depends_on("zlib-api", type="link") conflicts("^openssl@3.3.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: """Set environment variables used to control the build""" if self.spec.satisfies("%clang"): env.set("TRITON_BUILD_WITH_CLANG_LLD", "True") diff --git a/var/spack/repos/builtin/packages/py-uv/package.py b/var/spack/repos/builtin/packages/py-uv/package.py index 2b01a44f4bf..724afc29374 100644 --- a/var/spack/repos/builtin/packages/py-uv/package.py +++ b/var/spack/repos/builtin/packages/py-uv/package.py @@ -25,7 +25,7 @@ class PyUv(PythonPackage): depends_on("cmake", type="build", when="@:0.6.3") @when("@:0.6.3") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CMAKE", self.spec["cmake"].prefix.bin.cmake) executables = ["^uv$"] diff --git a/var/spack/repos/builtin/packages/py-wand/package.py b/var/spack/repos/builtin/packages/py-wand/package.py index 814526d0f37..fbf8910684e 100644 --- a/var/spack/repos/builtin/packages/py-wand/package.py +++ b/var/spack/repos/builtin/packages/py-wand/package.py @@ -23,5 +23,5 @@ class PyWand(PythonPackage): # provides libmagickwand depends_on("imagemagick") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MAGICK_HOME", self.spec["imagemagick"].prefix) diff --git a/var/spack/repos/builtin/packages/py-waves/package.py b/var/spack/repos/builtin/packages/py-waves/package.py index 035bf23ef01..7617e15f38d 100644 --- a/var/spack/repos/builtin/packages/py-waves/package.py +++ b/var/spack/repos/builtin/packages/py-waves/package.py @@ -74,7 +74,7 @@ class PyWaves(PythonPackage): "waves.scons_extensions", ] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix) env.set("PKG_NAME", "waves"), if not self.spec.version.isdevelop(): diff --git a/var/spack/repos/builtin/packages/py-wxpython/package.py b/var/spack/repos/builtin/packages/py-wxpython/package.py index fe9c44db3bb..26586be98d7 100644 --- a/var/spack/repos/builtin/packages/py-wxpython/package.py +++ b/var/spack/repos/builtin/packages/py-wxpython/package.py @@ -33,7 +33,7 @@ class PyWxpython(PythonPackage): depends_on("pil", type=("build", "run")) depends_on("py-six", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # By default wxWdigets is built as well instead of using spack provided version, # this tells it to just build the python extensions env.set("WXPYTHON_BUILD_ARGS", "build_py --use_syswx") diff --git a/var/spack/repos/builtin/packages/py-xdot/package.py b/var/spack/repos/builtin/packages/py-xdot/package.py index 2dbb841097e..4bc0ad29a00 100644 --- a/var/spack/repos/builtin/packages/py-xdot/package.py +++ b/var/spack/repos/builtin/packages/py-xdot/package.py @@ -51,7 +51,7 @@ def post_install(self): # regenerate the byte-compiled __init__.py python("-m", "compileall", dst) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.prepend_path( "GI_TYPELIB_PATH", join_path(spec["harfbuzz"].prefix.lib, "girepository-1.0") diff --git a/var/spack/repos/builtin/packages/py-xxhash/package.py b/var/spack/repos/builtin/packages/py-xxhash/package.py index 148127fd7c6..734bf400726 100644 --- a/var/spack/repos/builtin/packages/py-xxhash/package.py +++ b/var/spack/repos/builtin/packages/py-xxhash/package.py @@ -25,5 +25,5 @@ class PyXxhash(PythonPackage): depends_on("py-setuptools-scm@6.2:", type="build", when="@3.2.0:") depends_on("xxhash@0.8:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("XXHASH_LINK_SO", "1") diff --git a/var/spack/repos/builtin/packages/py-yt/package.py b/var/spack/repos/builtin/packages/py-yt/package.py index 29e02cca2e8..f31d6874488 100644 --- a/var/spack/repos/builtin/packages/py-yt/package.py +++ b/var/spack/repos/builtin/packages/py-yt/package.py @@ -210,5 +210,5 @@ def check_install(self): # yt("--help") python(join_path(self.prefix.bin, "yt"), "--help") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MAX_BUILD_CORES", str(make_jobs)) diff --git a/var/spack/repos/builtin/packages/pypy/package.py b/var/spack/repos/builtin/packages/pypy/package.py index 8e19207cde6..533b2a79467 100644 --- a/var/spack/repos/builtin/packages/pypy/package.py +++ b/var/spack/repos/builtin/packages/pypy/package.py @@ -75,7 +75,7 @@ def patch(self): tklib_build.filter("linklibs = .*", f"linklibs = {libs.names}") tklib_build.filter("libdirs = .*", f"libdirs = {libs.directories}") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://doc.pypy.org/en/latest/build.html#set-environment-variables-that-will-affect-translation env.set("PYPY_USESSION_DIR", self.stage.source_path) env.prepend_path("PYTHONPATH", self.stage.source_path) diff --git a/var/spack/repos/builtin/packages/pythia6/package.py b/var/spack/repos/builtin/packages/pythia6/package.py index 472000b759b..97472baf8d3 100644 --- a/var/spack/repos/builtin/packages/pythia6/package.py +++ b/var/spack/repos/builtin/packages/pythia6/package.py @@ -146,7 +146,7 @@ def patch(self): "pyhepc.f", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%gcc@10:"): env.append_flags("CFLAGS", "-fcommon") env.append_flags("FFLAGS", "-fcommon") diff --git a/var/spack/repos/builtin/packages/pythia8/package.py b/var/spack/repos/builtin/packages/pythia8/package.py index 045a60b37da..021924c88db 100644 --- a/var/spack/repos/builtin/packages/pythia8/package.py +++ b/var/spack/repos/builtin/packages/pythia8/package.py @@ -217,8 +217,12 @@ def setup_common_env(self, env): env.set("PYTHIA8", self.prefix) env.set("PYTHIA8DATA", self.prefix.share.Pythia8.xmldoc) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_common_env(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.setup_common_env(env) diff --git a/var/spack/repos/builtin/packages/python-venv/package.py b/var/spack/repos/builtin/packages/python-venv/package.py index 583c3fafbd5..a3c259cf35a 100644 --- a/var/spack/repos/builtin/packages/python-venv/package.py +++ b/var/spack/repos/builtin/packages/python-venv/package.py @@ -83,7 +83,9 @@ def headers(self): def libs(self): return LibraryList([]) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set PYTHONPATH to include the site-packages directory for the extension and any other python extensions it depends on.""" # Packages may be installed in platform-specific or platform-independent site-packages diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 456c47e6f2c..f1df01cdad6 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -515,7 +515,7 @@ def patch(self): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec # TODO: Python has incomplete support for Python modules with mixed @@ -1264,7 +1264,9 @@ def include(self): return path.replace(prefix, "") return os.path.join("include", "python{}".format(self.version.up_to(2))) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set PYTHONPATH to include the site-packages directory for the extension and any other python extensions it depends on. """ @@ -1335,7 +1337,9 @@ def setup_dependent_build_environment(self, env, dependent_spec): if config_link != new_link and sys.platform != "win32": env.set(link_var, new_link) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set PYTHONPATH to include the site-packages directory for the extension and any other python extensions it depends on. """ diff --git a/var/spack/repos/builtin/packages/qbank/package.py b/var/spack/repos/builtin/packages/qbank/package.py index 8638530510c..382b748a6a6 100644 --- a/var/spack/repos/builtin/packages/qbank/package.py +++ b/var/spack/repos/builtin/packages/qbank/package.py @@ -52,6 +52,6 @@ def install(self, spec, prefix): if "+doc" in spec: install_tree("doc", prefix.doc) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+doc" in self.spec: env.prepend_path("MANPATH", self.prefix.doc) diff --git a/var/spack/repos/builtin/packages/qd/package.py b/var/spack/repos/builtin/packages/qd/package.py index dfd89b64142..942c0bfbd82 100644 --- a/var/spack/repos/builtin/packages/qd/package.py +++ b/var/spack/repos/builtin/packages/qd/package.py @@ -31,7 +31,7 @@ class Qd(AutotoolsPackage): depends_on("libtool", type="build") depends_on("m4", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%nvhpc"): env.append_flags("FCFLAGS", "-fPIC") diff --git a/var/spack/repos/builtin/packages/qgis/package.py b/var/spack/repos/builtin/packages/qgis/package.py index a34a746bccf..b2de2802f89 100644 --- a/var/spack/repos/builtin/packages/qgis/package.py +++ b/var/spack/repos/builtin/packages/qgis/package.py @@ -301,7 +301,7 @@ def cmake_args(self): args.append("-DWITH_GRASS7=OFF") return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+bindings" in self.spec: # python module isn't located at the standard path env.prepend_path("PYTHONPATH", self.prefix.share.qgis.python) diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py index 1cca1a0c846..68885bcb7d7 100644 --- a/var/spack/repos/builtin/packages/qmcpack/package.py +++ b/var/spack/repos/builtin/packages/qmcpack/package.py @@ -234,7 +234,7 @@ def build_targets(self): return targets # QMCPACK prefers taking MPI compiler wrappers as CMake compilers. - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "+mpi" in spec: env.set("CC", spec["mpi"].mpicc) @@ -403,7 +403,7 @@ def install(self, spec, prefix): with working_dir(self.build_directory): install_tree("bin", prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set-up runtime environment for QMCPACK. Set PATH and PYTHONPATH for basic analysis scripts for Nexus.""" diff --git a/var/spack/repos/builtin/packages/qscintilla/package.py b/var/spack/repos/builtin/packages/qscintilla/package.py index a199bdd1cf8..f9896de217b 100644 --- a/var/spack/repos/builtin/packages/qscintilla/package.py +++ b/var/spack/repos/builtin/packages/qscintilla/package.py @@ -59,10 +59,10 @@ 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): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("INSTALL_ROOT", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins) # Fix install prefix diff --git a/var/spack/repos/builtin/packages/qt-base/package.py b/var/spack/repos/builtin/packages/qt-base/package.py index 67c7d4faa76..9645dbdc77d 100644 --- a/var/spack/repos/builtin/packages/qt-base/package.py +++ b/var/spack/repos/builtin/packages/qt-base/package.py @@ -117,14 +117,16 @@ def add_qt_module_files(self): with open(qt_module_pri, "w") as file: file.write("\n".join(defs)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("QMAKEPATH", self.prefix) if os.path.exists(self.prefix.mkspecs.modules): env.prepend_path("QMAKE_MODULE_PATH", self.prefix.mkspecs.modules) if os.path.exists(self.prefix.plugins): env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Qt components typically install cmake config files in a single prefix, # so we have to point dependencies to the cmake config files. env.prepend_path("QT_ADDITIONAL_PACKAGES_PREFIX_PATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/qt-creator/package.py b/var/spack/repos/builtin/packages/qt-creator/package.py index efc0fad4c5e..65b7832aa91 100644 --- a/var/spack/repos/builtin/packages/qt-creator/package.py +++ b/var/spack/repos/builtin/packages/qt-creator/package.py @@ -33,7 +33,7 @@ def url_for_version(self, version): url = "https://download.qt.io/official_releases/qtcreator/{0}/{1}/qt-creator-opensource-src-{1}.tar.gz" return url.format(version.up_to(2), version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("INSTALL_ROOT", self.prefix) def qmake_args(self): diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index 0e8b4f781da..aa800901bb7 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -375,7 +375,7 @@ def url_for_version(self, version): return url - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if not IS_WINDOWS: env.set("MAKEFLAGS", "-j{0}".format(make_jobs)) if self.version >= Version("5.11"): @@ -388,13 +388,15 @@ def setup_build_environment(self, env): llvm_path = "/spack-disable-llvm" env.set("LLVM_INSTALL_DIR", llvm_path) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("QTDIR", self.prefix) env.set("QTINC", self.prefix.inc) env.set("QTLIB", self.prefix.lib) env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("QTDIR", self.prefix) env.set("QTINC", self.prefix.inc) env.set("QTLIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/qtgraph/package.py b/var/spack/repos/builtin/packages/qtgraph/package.py index 8b1c100f14f..6fd0f9d9658 100644 --- a/var/spack/repos/builtin/packages/qtgraph/package.py +++ b/var/spack/repos/builtin/packages/qtgraph/package.py @@ -27,11 +27,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_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("GRAPHVIZ_ROOT", self.spec["graphviz"].prefix) env.set("INSTALL_ROOT", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # What library suffix should be used based on library existence if os.path.isdir(self.prefix.lib64): lib_dir = self.prefix.lib64 diff --git a/var/spack/repos/builtin/packages/qualimap/package.py b/var/spack/repos/builtin/packages/qualimap/package.py index a11121ec3d2..0cc7c36f751 100644 --- a/var/spack/repos/builtin/packages/qualimap/package.py +++ b/var/spack/repos/builtin/packages/qualimap/package.py @@ -21,7 +21,7 @@ class Qualimap(Package): depends_on("java", type="run") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/quota/package.py b/var/spack/repos/builtin/packages/quota/package.py index c87779fa6f8..d0fdd230a30 100644 --- a/var/spack/repos/builtin/packages/quota/package.py +++ b/var/spack/repos/builtin/packages/quota/package.py @@ -17,5 +17,5 @@ class Quota(AutotoolsPackage): depends_on("c", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/r-asreml/package.py b/var/spack/repos/builtin/packages/r-asreml/package.py index b50eaf656e2..23683266bd9 100644 --- a/var/spack/repos/builtin/packages/r-asreml/package.py +++ b/var/spack/repos/builtin/packages/r-asreml/package.py @@ -38,5 +38,5 @@ class RAsreml(RPackage): def url_for_version(self, version): return f"file://{os.getcwd()}//asreml_{version}_x86_64-pc-linux-gnu.tar.gz" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("vsni_LICENSE", join_path(self.prefix, "vsni.lic")) diff --git a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py index 578450acea0..26520324f72 100644 --- a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py +++ b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py @@ -34,5 +34,5 @@ class RPhantompeakqualtools(RPackage): conflicts("%gcc@6:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BOOST_ROOT", self.spec["boost"].prefix) diff --git a/var/spack/repos/builtin/packages/r-proj/package.py b/var/spack/repos/builtin/packages/r-proj/package.py index 2385bdd96b3..54fd720d019 100644 --- a/var/spack/repos/builtin/packages/r-proj/package.py +++ b/var/spack/repos/builtin/packages/r-proj/package.py @@ -32,5 +32,5 @@ class RProj(RPackage): depends_on("libtiff@4", type=("build", "run")) depends_on("curl", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.spec["proj"].prefix.lib) diff --git a/var/spack/repos/builtin/packages/r-rhtslib/package.py b/var/spack/repos/builtin/packages/r-rhtslib/package.py index 2a0b4df2aa9..ed45f6d99d5 100644 --- a/var/spack/repos/builtin/packages/r-rhtslib/package.py +++ b/var/spack/repos/builtin/packages/r-rhtslib/package.py @@ -55,7 +55,7 @@ class RRhtslib(RPackage): patch("find_deps-1.16.patch", when="@1.16:1.28.0") @when("@1.12:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("BZIP2_INCLUDE", self.spec["bzip2"].headers.include_flags) env.set("XZ_INCLUDE", self.spec["xz"].headers.include_flags) env.set("BZIP2_LIB", self.spec["bzip2"].libs.search_flags) diff --git a/var/spack/repos/builtin/packages/r-rjava/package.py b/var/spack/repos/builtin/packages/r-rjava/package.py index 131949c6e18..f64c47a12bb 100644 --- a/var/spack/repos/builtin/packages/r-rjava/package.py +++ b/var/spack/repos/builtin/packages/r-rjava/package.py @@ -32,6 +32,6 @@ class RRjava(RPackage): depends_on("xz") depends_on("zlib-api") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.append_flags("JAVAH", "{0}/javah".format(join_path(spec["java"].prefix.bin))) diff --git a/var/spack/repos/builtin/packages/r-v8/package.py b/var/spack/repos/builtin/packages/r-v8/package.py index 3d2885d2312..750f0144698 100644 --- a/var/spack/repos/builtin/packages/r-v8/package.py +++ b/var/spack/repos/builtin/packages/r-v8/package.py @@ -34,7 +34,7 @@ class RV8(RPackage): conflicts("@3.4.0", when="target=aarch64:") conflicts("@3.4.0", when="%gcc@5:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if (spec.platform == "darwin") or ( spec.platform == "linux" and spec.target.family == "x86_64" diff --git a/var/spack/repos/builtin/packages/r/package.py b/var/spack/repos/builtin/packages/r/package.py index cb8ba305c5d..f6bfd4b2291 100644 --- a/var/spack/repos/builtin/packages/r/package.py +++ b/var/spack/repos/builtin/packages/r/package.py @@ -269,7 +269,9 @@ def copy_makeconf(self): def r_lib_dir(self): return join_path("rlib", "R", "library") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Set R_LIBS to include the library dir for the # extension and any other R extensions it depends on. r_libs_path = [] @@ -291,14 +293,16 @@ def setup_dependent_build_environment(self, env, dependent_spec): env.set("MAKEFLAGS", "-j{0}".format(make_jobs)) env.set("R_HOME", join_path(self.prefix, "rlib", "R")) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # For run time environment set only the path for dependent_spec and # prepend it to R_LIBS env.set("R_HOME", join_path(self.prefix, "rlib", "R")) if dependent_spec.package.extends(self.spec): env.prepend_path("R_LIBS", join_path(dependent_spec.prefix, self.r_lib_dir)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "rlib", "R", "lib")) env.prepend_path("PKG_CONFIG_PATH", join_path(self.prefix, "rlib", "pkgconfig")) env.set("R_HOME", join_path(self.prefix, "rlib", "R")) diff --git a/var/spack/repos/builtin/packages/rasdaemon/package.py b/var/spack/repos/builtin/packages/rasdaemon/package.py index 0c02ba20fb8..c0e8a83bae6 100644 --- a/var/spack/repos/builtin/packages/rasdaemon/package.py +++ b/var/spack/repos/builtin/packages/rasdaemon/package.py @@ -29,5 +29,5 @@ class Rasdaemon(AutotoolsPackage): depends_on("libtool", type="build") depends_on("m4", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/rayleigh/package.py b/var/spack/repos/builtin/packages/rayleigh/package.py index 1efba0cfefd..64eeecb552c 100644 --- a/var/spack/repos/builtin/packages/rayleigh/package.py +++ b/var/spack/repos/builtin/packages/rayleigh/package.py @@ -32,7 +32,7 @@ class Rayleigh(MakefilePackage): depends_on("fftw-api@3") depends_on("lapack") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if spec.satisfies("^cray-mpich"): # The Cray wrapper takes care of linking MPI correctly for all compilers. diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index a53737ff4b4..e18efc72e66 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -149,7 +149,7 @@ def determine_version(cls, lib): ver = None return ver - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) env.set("ROCMCORE_PATH", self.spec["rocm-core"].prefix) if self.spec.satisfies("+asan"): diff --git a/var/spack/repos/builtin/packages/redis-ai/package.py b/var/spack/repos/builtin/packages/redis-ai/package.py index 97ea78d62cd..cb1b906a84b 100644 --- a/var/spack/repos/builtin/packages/redis-ai/package.py +++ b/var/spack/repos/builtin/packages/redis-ai/package.py @@ -124,5 +124,5 @@ def copy_libtorch(self): torch_lib_dir = join_path(torch_site_dir, "lib") install_tree(torch_lib_dir, self.prefix.backends.redisai_torch.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("REDIS_AI", self.prefix.join("redisai.so")) diff --git a/var/spack/repos/builtin/packages/reframe/package.py b/var/spack/repos/builtin/packages/reframe/package.py index 1fa946bdc7b..a552fa6a560 100644 --- a/var/spack/repos/builtin/packages/reframe/package.py +++ b/var/spack/repos/builtin/packages/reframe/package.py @@ -181,7 +181,7 @@ def install(self, spec, prefix): shutil.move("reframe.settings.8", "man8") install_tree(self.stage.source_path, self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix) if self.spec.satisfies("@3.0:"): if "+docs" in self.spec: diff --git a/var/spack/repos/builtin/packages/rempi/package.py b/var/spack/repos/builtin/packages/rempi/package.py index a2afcedda85..b39f751d18b 100644 --- a/var/spack/repos/builtin/packages/rempi/package.py +++ b/var/spack/repos/builtin/packages/rempi/package.py @@ -36,7 +36,7 @@ def flag_handler(self, name, flags): flags.append("-Wno-error=implicit-function-declaration") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%cce"): env.set("MPICC", "mpicc") env.set("MPICXX", "mpicxx") diff --git a/var/spack/repos/builtin/packages/reprimand/package.py b/var/spack/repos/builtin/packages/reprimand/package.py index 191ee1a1db6..afe1e314b96 100644 --- a/var/spack/repos/builtin/packages/reprimand/package.py +++ b/var/spack/repos/builtin/packages/reprimand/package.py @@ -44,7 +44,7 @@ class Reprimand(MesonPackage): extends("python", when="+python") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXXFLAGS", self.compiler.cxx11_flag) env.set("BOOST_ROOT", self.spec["boost"].prefix) diff --git a/var/spack/repos/builtin/packages/rinetd/package.py b/var/spack/repos/builtin/packages/rinetd/package.py index 8896fc8ec75..3ef0c4b2239 100644 --- a/var/spack/repos/builtin/packages/rinetd/package.py +++ b/var/spack/repos/builtin/packages/rinetd/package.py @@ -23,7 +23,7 @@ class Rinetd(AutotoolsPackage): depends_on("autoconf", type="build") depends_on("automake", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) def autoreconf(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py index 978d936e0d4..34bbdfc41f3 100644 --- a/var/spack/repos/builtin/packages/rivet/package.py +++ b/var/spack/repos/builtin/packages/rivet/package.py @@ -134,7 +134,7 @@ def copy_gsl_m4(self): def force_autoreconf(self): return True - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # this avoids an "import site" error in the build env.unset("PYTHONHOME") diff --git a/var/spack/repos/builtin/packages/rnaquast/package.py b/var/spack/repos/builtin/packages/rnaquast/package.py index 2fd2a7b76e3..ec60e7729f9 100644 --- a/var/spack/repos/builtin/packages/rnaquast/package.py +++ b/var/spack/repos/builtin/packages/rnaquast/package.py @@ -33,5 +33,5 @@ def install(self, spec, prefix): install_tree(".", prefix.bin) os.rename("%s/rnaQUAST.py" % prefix.bin, "%s/rnaQUAST" % prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", prefix.bin) diff --git a/var/spack/repos/builtin/packages/roary/package.py b/var/spack/repos/builtin/packages/roary/package.py index f992cf8f26b..330bbc1a3f6 100644 --- a/var/spack/repos/builtin/packages/roary/package.py +++ b/var/spack/repos/builtin/packages/roary/package.py @@ -61,7 +61,7 @@ class Roary(Package): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", join_path(prefix, "contrib", "roary2svg")) env.prepend_path("PATH", join_path(prefix, "contrib", "roary_plots")) env.prepend_path("PERL5LIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index b01390bc2db..c26c70a479d 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -106,7 +106,7 @@ class Rocalution(CMakePackage): # Fix build for most Radeon 5000 and Radeon 6000 series GPUs. patch("0004-fix-navi-1x.patch", when="@5.2.0:5.3") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index e10bf6efc1a..a73f35e6e5c 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -189,7 +189,7 @@ class Rocblas(CMakePackage): patch("0006-Guard-use-of-OpenMP-to-make-it-optional-5.4.patch", when="@5.4") patch("0007-add-rocm-openmp-extras-include-dir.patch", when="@5.6:5.7") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index fa9a1c383ad..d680f581bc4 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -125,7 +125,7 @@ class Rocfft(CMakePackage): when="@6.0.0", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rocm-core/package.py b/var/spack/repos/builtin/packages/rocm-core/package.py index 6e2e5f68d6f..ab1b017a9b1 100644 --- a/var/spack/repos/builtin/packages/rocm-core/package.py +++ b/var/spack/repos/builtin/packages/rocm-core/package.py @@ -60,7 +60,7 @@ class RocmCore(CMakePackage): ]: depends_on("llvm-amdgpu", when=f"@{ver}+asan") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", self.spec["llvm-amdgpu"].prefix + "/bin/clang") env.set("CXX", self.spec["llvm-amdgpu"].prefix + "/bin/clang++") diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py index 4a8d53f27c5..0966d9f90d6 100644 --- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py +++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py @@ -125,7 +125,7 @@ def patch(self): "CMakeLists.txt", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py index bdd415b09f6..bf78726283e 100644 --- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py @@ -136,7 +136,7 @@ def determine_version(cls, lib): ) return None - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py index a4d7ed3969b..bc6146b87f2 100644 --- a/var/spack/repos/builtin/packages/rocm-opencl/package.py +++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py @@ -208,7 +208,7 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") @@ -217,7 +217,7 @@ def setup_build_environment(self, env): env.set("CXXFLAGS", "-fsanitize=address -shared-libasan") env.set("LDFLAGS", "-fuse-ld=lld") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) env.set("OCL_ICD_VENDORS", self.prefix.vendors + "/") diff --git a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py index f40c37ca6f4..b211e954581 100644 --- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py +++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py @@ -362,7 +362,7 @@ class RocmOpenmpExtras(Package): patch("0001-Avoid-duplicate-registration-on-cuda-env.patch", when="@6.1") patch("0001-Avoid-duplicate-registration-on-cuda-env-6.2.patch", when="@6.2:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: devlibs_prefix = self.spec["llvm-amdgpu"].prefix llvm_prefix = self.spec["llvm-amdgpu"].prefix hsa_prefix = self.spec["hsa-rocr-dev"].prefix @@ -375,7 +375,7 @@ def setup_run_environment(self, env): env.prepend_path("LD_LIBRARY_PATH", f"{hsa_prefix}/lib") env.set("AOMP_GPU", f"`{self.prefix}/bin/mygpu`") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: llvm_prefix = self.spec["llvm-amdgpu"].prefix env.set("AOMP", f"{llvm_prefix}") env.set("FC", f"{self.prefix}/bin/flang") diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py index 34ea16b56ae..7850ee20f41 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -110,7 +110,7 @@ def cmake_args(self): args.append(self.define_from_variant("ADDRESS_SANITIZER", "asan")) return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@6.1: +asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 0fccf686ec7..c75c2e5631f 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -104,7 +104,7 @@ class RocmTensile(CMakePackage): patch("0003-require-openmp-extras-when-tensile-use-openmp.patch", when="@5.1.0:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) env.append_flags("LDFLAGS", "-pthread") diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py index e6e346a1c5f..c68885430ef 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py @@ -75,9 +75,9 @@ class RocmValidationSuite(CMakePackage): depends_on("googletest") depends_on("doxygen", type="build") - def setup_build_environment(self, build_env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec - build_env.set("HIPCC_PATH", spec["hip"].prefix) + env.set("HIPCC_PATH", spec["hip"].prefix) for ver in [ "5.3.0", diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index d3505a73339..e510a210070 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -93,7 +93,7 @@ class Rocprim(CMakePackage): # the patch is meant for 5.3.0 only.this is already in the 5.3.3+ releases patch("fix-device-merge-mismatched-param-5.3.0.patch", when="@5.3.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") diff --git a/var/spack/repos/builtin/packages/rocprofiler-systems/package.py b/var/spack/repos/builtin/packages/rocprofiler-systems/package.py index 4922f030904..66cb0c1d6ac 100644 --- a/var/spack/repos/builtin/packages/rocprofiler-systems/package.py +++ b/var/spack/repos/builtin/packages/rocprofiler-systems/package.py @@ -178,7 +178,7 @@ def flag_handler(self, name, flags): flags.append("-lintl") return (flags, None, None) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+tau" in self.spec: import glob diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index e7b16b598fc..a3dcb9472a6 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -142,7 +142,7 @@ def patch(self): os.rmdir("hipRAND") os.rename("hiprand", "hipRAND") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index 78cb3ad7da2..7354653f1b9 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -154,7 +154,7 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index 1fab2fe8014..33644f323f6 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -260,7 +260,7 @@ def check_build(self): ) exe("--gtest_filter=*quick*:*pre_checkin*-*known_bug*") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 66f5e0e5e65..5a94a9c69fe 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -91,7 +91,7 @@ def check(self): with working_dir(self.build_directory): make("test") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py index 6254a70e58b..4e6dbd0bd80 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py @@ -156,7 +156,7 @@ def patch(self): "hsaap.py", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): self.asan_on(env) diff --git a/var/spack/repos/builtin/packages/rocwmma/package.py b/var/spack/repos/builtin/packages/rocwmma/package.py index 0b679b24281..1fe7aed19d2 100644 --- a/var/spack/repos/builtin/packages/rocwmma/package.py +++ b/var/spack/repos/builtin/packages/rocwmma/package.py @@ -130,7 +130,7 @@ class Rocwmma(CMakePackage): patch("0001-add-rocm-smi-lib-path-for-building-tests.patch", when="@5.6:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/roms/package.py b/var/spack/repos/builtin/packages/roms/package.py index 0ca26133647..bf28f0e24b0 100644 --- a/var/spack/repos/builtin/packages/roms/package.py +++ b/var/spack/repos/builtin/packages/roms/package.py @@ -128,16 +128,16 @@ def edit(self, spec, prefix): if "+debug" in self.spec: makefile.filter(r"\sUSE_DEBUG\s[?]=.*", "USE_DEBUG = on") - def setup_build_environment(self, spack_env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec netcdf_include = spec["netcdf-fortran"].prefix.include nf_config = join_path(spec["netcdf-fortran"].prefix.bin, "nf-config") - spack_env.set("NF_CONFIG", nf_config) - spack_env.set("NETCDF_INCDIR", netcdf_include) - spack_env.set("HDF5_INCDIR", spec["hdf5"].prefix.include) - spack_env.set("HDF5_LIBDIR", spec["hdf5"].prefix.libs) + env.set("NF_CONFIG", nf_config) + env.set("NETCDF_INCDIR", netcdf_include) + env.set("HDF5_INCDIR", spec["hdf5"].prefix.include) + env.set("HDF5_LIBDIR", spec["hdf5"].prefix.libs) def build(self, spec, prefix): make(parallel=False) diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py index 30e58c4e847..4c04686c8d8 100644 --- a/var/spack/repos/builtin/packages/root/package.py +++ b/var/spack/repos/builtin/packages/root/package.py @@ -829,7 +829,7 @@ def cmake_args(self): return options - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "lz4" in spec: @@ -878,7 +878,7 @@ def root_library_path(self): return "LD_LIBRARY_PATH" return "ROOT_LIBRARY_PATH" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ROOTSYS", self.prefix) env.set("ROOT_VERSION", "v{0}".format(self.version.up_to(1))) env.prepend_path("PYTHONPATH", self.prefix.lib.root) diff --git a/var/spack/repos/builtin/packages/rosco/package.py b/var/spack/repos/builtin/packages/rosco/package.py index a119dd45cd7..627d6b8f135 100644 --- a/var/spack/repos/builtin/packages/rosco/package.py +++ b/var/spack/repos/builtin/packages/rosco/package.py @@ -54,7 +54,7 @@ def cmake_args(self): return options - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ROSCO_DISCON", self.prefix.lib + "/libdiscon.so") env.set("ROSCO_DISCON_DIR", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/rose/package.py b/var/spack/repos/builtin/packages/rose/package.py index 8152d91f74e..ffcd9622cdc 100644 --- a/var/spack/repos/builtin/packages/rose/package.py +++ b/var/spack/repos/builtin/packages/rose/package.py @@ -208,7 +208,7 @@ def configure_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+codethorn" in self.spec: env.set("CXXFLAGS", "-std=c++11") diff --git a/var/spack/repos/builtin/packages/rpp/package.py b/var/spack/repos/builtin/packages/rpp/package.py index 8eaa7ae14d1..1913a1d2380 100644 --- a/var/spack/repos/builtin/packages/rpp/package.py +++ b/var/spack/repos/builtin/packages/rpp/package.py @@ -181,13 +181,13 @@ def patch(self): with when("~hip"): depends_on("rocm-opencl@5:") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+add_tests"): env.set("TURBO_JPEG_PATH", self.spec["libjpeg-turbo"].prefix) if self.spec.satisfies("@6.1:"): env.prepend_path("LD_LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") diff --git a/var/spack/repos/builtin/packages/rstudio/package.py b/var/spack/repos/builtin/packages/rstudio/package.py index ecaf2c14bc1..bdfe5895a2e 100644 --- a/var/spack/repos/builtin/packages/rstudio/package.py +++ b/var/spack/repos/builtin/packages/rstudio/package.py @@ -72,7 +72,7 @@ def cmake_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("RSTUDIO_TOOLS_ROOT", self.prefix.tools) def patch(self): diff --git a/var/spack/repos/builtin/packages/rsyslog/package.py b/var/spack/repos/builtin/packages/rsyslog/package.py index bbc2bd00571..d2e44e1146b 100644 --- a/var/spack/repos/builtin/packages/rsyslog/package.py +++ b/var/spack/repos/builtin/packages/rsyslog/package.py @@ -42,7 +42,7 @@ class Rsyslog(AutotoolsPackage): depends_on("byacc", type="build") depends_on("flex", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) def autoreconf(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ruby/package.py b/var/spack/repos/builtin/packages/ruby/package.py index 0da239928b6..6eee25913fd 100644 --- a/var/spack/repos/builtin/packages/ruby/package.py +++ b/var/spack/repos/builtin/packages/ruby/package.py @@ -95,7 +95,9 @@ def url_for_version(self, version): url = "https://cache.ruby-lang.org/pub/ruby/{0}/ruby-{1}.tar.gz" return url.format(version.up_to(2), version) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if dependent_spec.package.extends(self.spec): env.prepend_path("GEM_PATH", dependent_spec.prefix) @@ -114,7 +116,9 @@ def setup_dependent_package(self, module, dependent_spec): class SetupEnvironment: - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # TODO: do this only for actual extensions. # Set GEM_PATH to include dependent gem directories for d in dependent_spec.traverse(deptype=("build", "run", "test"), root=True): diff --git a/var/spack/repos/builtin/packages/rust/package.py b/var/spack/repos/builtin/packages/rust/package.py index 0710a3b929c..dda63f60677 100644 --- a/var/spack/repos/builtin/packages/rust/package.py +++ b/var/spack/repos/builtin/packages/rust/package.py @@ -122,7 +122,7 @@ def determine_spec_details(cls, prefix, exes_in_prefix): def setup_dependent_package(self, module, dependent_spec): module.cargo = Executable(os.path.join(self.spec.prefix.bin, "cargo")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Manually instruct Cargo dependency libssh2-sys to build with # the Spack installed libssh2 package. For more info see # https://github.com/alexcrichton/ssh2-rs/issues/173 diff --git a/var/spack/repos/builtin/packages/saga-gis/package.py b/var/spack/repos/builtin/packages/saga-gis/package.py index e387db4572e..3ac72670cc3 100644 --- a/var/spack/repos/builtin/packages/saga-gis/package.py +++ b/var/spack/repos/builtin/packages/saga-gis/package.py @@ -120,7 +120,7 @@ def configure_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Point saga to its tool set, will be loaded during runtime env.set("SAGA_MLB", self.prefix.lib.saga) env.set("SAGA_TLB", self.prefix.lib.saga) diff --git a/var/spack/repos/builtin/packages/salome-configuration/package.py b/var/spack/repos/builtin/packages/salome-configuration/package.py index 7d6a66cbb8e..f80b63bc9c6 100644 --- a/var/spack/repos/builtin/packages/salome-configuration/package.py +++ b/var/spack/repos/builtin/packages/salome-configuration/package.py @@ -32,7 +32,9 @@ class SalomeConfiguration(Package): patch("SalomeMacros.patch", working_dir="./cmake") patch("FindSalomeHDF5.patch", working_dir="./cmake", when="@:9.7.0") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("CONFIGURATION_ROOT_DIR", self.prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/salome-med/package.py b/var/spack/repos/builtin/packages/salome-med/package.py index 55249ad89ea..9fda7020e5d 100644 --- a/var/spack/repos/builtin/packages/salome-med/package.py +++ b/var/spack/repos/builtin/packages/salome-med/package.py @@ -62,7 +62,9 @@ def patch(self): string=True, ) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("HDF5_ROOT_DIR", self.spec["hdf5"].prefix) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/salome-medcoupling/package.py b/var/spack/repos/builtin/packages/salome-medcoupling/package.py index b2058d249ca..d5633e3f1ba 100644 --- a/var/spack/repos/builtin/packages/salome-medcoupling/package.py +++ b/var/spack/repos/builtin/packages/salome-medcoupling/package.py @@ -77,14 +77,14 @@ class SalomeMedcoupling(CMakePackage): def check(self): pass - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+metis" in self.spec: env.set("METIS_ROOT_DIR", self.spec["metis"].prefix) if "+scotch" in self.spec: env.set("SCOTCH_ROOT_DIR", self.spec["scotch"].prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: python_ver = self.spec["python"].version.up_to(2) env.prepend_path( "PYTHONPATH", join_path(self.prefix.lib, f"python{python_ver}", "site-packages") diff --git a/var/spack/repos/builtin/packages/samrai/package.py b/var/spack/repos/builtin/packages/samrai/package.py index 60986d5fb44..179ea1aca30 100644 --- a/var/spack/repos/builtin/packages/samrai/package.py +++ b/var/spack/repos/builtin/packages/samrai/package.py @@ -122,6 +122,8 @@ def configure_args(self): return options - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if self.spec.satisfies("@3.12:"): env.append_flags("CXXFLAGS", self.compiler.cxx11_flag) diff --git a/var/spack/repos/builtin/packages/samurai/package.py b/var/spack/repos/builtin/packages/samurai/package.py index 21683c85e7d..e3073838f83 100644 --- a/var/spack/repos/builtin/packages/samurai/package.py +++ b/var/spack/repos/builtin/packages/samurai/package.py @@ -46,11 +46,13 @@ class Samurai(CMakePackage): depends_on("petsc+mpi", when="+mpi") depends_on("boost+serialization+mpi", when="+mpi") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: include_path = self.spec.prefix.include env.append_path("CXXFLAGS", f"-I{include_path}") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec.prefix.include) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/scale/package.py b/var/spack/repos/builtin/packages/scale/package.py index 6c860bf1888..db5bc2da43c 100644 --- a/var/spack/repos/builtin/packages/scale/package.py +++ b/var/spack/repos/builtin/packages/scale/package.py @@ -41,8 +41,8 @@ class Scale(MakefilePackage): parallel = False - def setup_build_environment(self, build_env): - build_env.set("PREFIX", self.prefix) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("PREFIX", self.prefix) def build(self, spec, prefix): scale_sys_str = "" diff --git a/var/spack/repos/builtin/packages/scitokens-cpp/package.py b/var/spack/repos/builtin/packages/scitokens-cpp/package.py index cd42c18311f..f53a29fba9d 100644 --- a/var/spack/repos/builtin/packages/scitokens-cpp/package.py +++ b/var/spack/repos/builtin/packages/scitokens-cpp/package.py @@ -65,5 +65,5 @@ def cmake_args(self): ] return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("JWC_CPP_DIR", self.spec["jwt-cpp"].prefix) diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py index bec704a0423..8ba363def5b 100644 --- a/var/spack/repos/builtin/packages/scons/package.py +++ b/var/spack/repos/builtin/packages/scons/package.py @@ -55,13 +55,17 @@ def url_for_version(self, version): name = "scons" return url.format(name[0], name, version) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib.scons) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib.scons) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib.scons) def setup_dependent_package(self, module, dspec): diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py index 5e9231244bc..7015bab41d0 100644 --- a/var/spack/repos/builtin/packages/scotch/package.py +++ b/var/spack/repos/builtin/packages/scotch/package.py @@ -152,7 +152,7 @@ def is_64bit(self): return "64" in str(self.pkg.spec.target.family) @when("+noarch") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset("SPACK_TARGET_ARGS") diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index a8cb1fc7fac..6580dd878af 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -318,7 +318,7 @@ class Seacas(CMakePackage): # Based on install-tpl.sh script, cereal seems to only be used when faodel enabled depends_on("cereal", when="@2021-04-02: +faodel") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/seissol/package.py b/var/spack/repos/builtin/packages/seissol/package.py index fcd722c86e4..700cca006e0 100644 --- a/var/spack/repos/builtin/packages/seissol/package.py +++ b/var/spack/repos/builtin/packages/seissol/package.py @@ -365,6 +365,6 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # for seissol-launch env.prepend_path("PATH", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/selalib/package.py b/var/spack/repos/builtin/packages/selalib/package.py index 7443ccf1ed0..c663149fef7 100644 --- a/var/spack/repos/builtin/packages/selalib/package.py +++ b/var/spack/repos/builtin/packages/selalib/package.py @@ -61,7 +61,7 @@ def cmake_args(self): ] return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("FFTW_INCLUDE", self.spec["fftw"].prefix.include) env.set("FFTW_ROOT", self.spec["fftw"].prefix) diff --git a/var/spack/repos/builtin/packages/seqfu/package.py b/var/spack/repos/builtin/packages/seqfu/package.py index 07e40135643..848c914c832 100644 --- a/var/spack/repos/builtin/packages/seqfu/package.py +++ b/var/spack/repos/builtin/packages/seqfu/package.py @@ -26,7 +26,7 @@ class Seqfu(Package): patch("wno_incompatible_pointer_types.patch", when="@:1.21%gcc@14:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("NIMBLE_DIR", ".nimble") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/serenity/package.py b/var/spack/repos/builtin/packages/serenity/package.py index b3dbdaaae4c..77c15bdf02f 100644 --- a/var/spack/repos/builtin/packages/serenity/package.py +++ b/var/spack/repos/builtin/packages/serenity/package.py @@ -175,7 +175,7 @@ def cmake_args(self): args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path)) return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # set up environment like if we sourced dev/templates/serenity.sh env.set("SERENITY_HOME", self.prefix) env.set("SERENITY_BIN", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/serialbox/package.py b/var/spack/repos/builtin/packages/serialbox/package.py index 84ae8fa085a..9c463624b1b 100644 --- a/var/spack/repos/builtin/packages/serialbox/package.py +++ b/var/spack/repos/builtin/packages/serialbox/package.py @@ -149,7 +149,7 @@ def flag_handler(self, name, flags): return flags, None, (cmake_flags or None) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Allow for running the preprocessor directly: env.prepend_path("PATH", self.prefix.python.pp_ser) # Allow for running the preprocessor as a Python module, as well as diff --git a/var/spack/repos/builtin/packages/sfcio/package.py b/var/spack/repos/builtin/packages/sfcio/package.py index 78b4c998e5f..5cd688a0d2a 100644 --- a/var/spack/repos/builtin/packages/sfcio/package.py +++ b/var/spack/repos/builtin/packages/sfcio/package.py @@ -31,7 +31,7 @@ def cmake_args(self): args = [self.define("ENABLE_TESTS", self.run_tests)] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: lib = find_libraries("libsfcio", root=self.prefix, shared=False, recursive=True) # Only one library version, but still need to set _4 to make NCO happy for suffix in ("4", ""): diff --git a/var/spack/repos/builtin/packages/shapemapper/package.py b/var/spack/repos/builtin/packages/shapemapper/package.py index 17613117fe0..220834923d1 100644 --- a/var/spack/repos/builtin/packages/shapemapper/package.py +++ b/var/spack/repos/builtin/packages/shapemapper/package.py @@ -61,5 +61,5 @@ def install(self, spec, prefix): for f in ["shapemapper", "README.md"]: install(f, prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) 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 8ac491b8180..bbf6dc0d175 100644 --- a/var/spack/repos/builtin/packages/shared-mime-info/package.py +++ b/var/spack/repos/builtin/packages/shared-mime-info/package.py @@ -27,8 +27,12 @@ class SharedMimeInfo(AutotoolsPackage): depends_on("gettext", type="build") depends_on("pkgconfig", type="build") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XDG_DATA_DIRS", self.prefix.share) diff --git a/var/spack/repos/builtin/packages/shortbred/package.py b/var/spack/repos/builtin/packages/shortbred/package.py index 0c816cf4f34..c0d4402ca01 100644 --- a/var/spack/repos/builtin/packages/shortbred/package.py +++ b/var/spack/repos/builtin/packages/shortbred/package.py @@ -31,5 +31,5 @@ def install(self, spec, prefix): install("shortbred_quantify.py", prefix.bin) install_tree("src", prefix.src) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/sigio/package.py b/var/spack/repos/builtin/packages/sigio/package.py index d84e753d53d..4aebf9813c1 100644 --- a/var/spack/repos/builtin/packages/sigio/package.py +++ b/var/spack/repos/builtin/packages/sigio/package.py @@ -29,7 +29,7 @@ def cmake_args(self): args = [self.define("ENABLE_TESTS", self.run_tests)] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: lib = find_libraries("libsigio", root=self.prefix, shared=False, recursive=True) # Only one library version, but still need to set _4 to make NCO happy for suffix in ("4", ""): diff --git a/var/spack/repos/builtin/packages/signalp/package.py b/var/spack/repos/builtin/packages/signalp/package.py index 670c5ca114b..7acf6e70a57 100644 --- a/var/spack/repos/builtin/packages/signalp/package.py +++ b/var/spack/repos/builtin/packages/signalp/package.py @@ -38,5 +38,5 @@ def install(self, spec, prefix): install_tree("lib", prefix.lib) install_tree("syn", prefix.syn) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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 760dbed38da..31b9e98d76a 100644 --- a/var/spack/repos/builtin/packages/signify/package.py +++ b/var/spack/repos/builtin/packages/signify/package.py @@ -21,5 +21,5 @@ class Signify(MakefilePackage): depends_on("libbsd@0.8:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix) diff --git a/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py b/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py index 6f577559c61..41a32a07bc7 100644 --- a/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py +++ b/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py @@ -573,12 +573,14 @@ class SimmetrixSimmodsuite(Package): condition = "@{0}+{1}".format(sim_version, feature) simmetrix_resource(_name, url, sha256, condition) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: archlib = join_path(self.prefix.lib, self.oslib) env.append_path("CMAKE_PREFIX_PATH", archlib) simmetrix_setkernelcmakeprefixpath(self.spec, archlib, env) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: archlib = join_path(self.prefix.lib, self.oslib) env.append_path("CMAKE_PREFIX_PATH", archlib) simmetrix_setkernelcmakeprefixpath(self.spec, archlib, env) diff --git a/var/spack/repos/builtin/packages/singularity-eos/package.py b/var/spack/repos/builtin/packages/singularity-eos/package.py index e2f61804665..ffd264c3254 100644 --- a/var/spack/repos/builtin/packages/singularity-eos/package.py +++ b/var/spack/repos/builtin/packages/singularity-eos/package.py @@ -188,7 +188,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if os.path.isdir(self.prefix.lib64): lib_dir = self.prefix.lib64 else: diff --git a/var/spack/repos/builtin/packages/singularityce/package.py b/var/spack/repos/builtin/packages/singularityce/package.py index a5c4a4b50ec..58ab5925528 100644 --- a/var/spack/repos/builtin/packages/singularityce/package.py +++ b/var/spack/repos/builtin/packages/singularityce/package.py @@ -94,7 +94,7 @@ def edit(self, spec, prefix): build_targets = ["-C", "builddir", "parallel=False"] install_targets = ["install", "-C", "builddir", "parallel=False"] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # Point GOPATH at the top of the staging dir for the build step. env.prepend_path("GOPATH", self.gopath) diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py index 1209bc23b2b..90410a43fe7 100644 --- a/var/spack/repos/builtin/packages/slepc/package.py +++ b/var/spack/repos/builtin/packages/slepc/package.py @@ -233,12 +233,14 @@ def install(self, spec, prefix): make("install", parallel=False) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # set SLEPC_DIR & PETSC_DIR in the module file env.set("SLEPC_DIR", self.prefix) env.set("PETSC_DIR", self.spec["petsc"].prefix) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Set up SLEPC_DIR for dependent packages built with SLEPc env.set("SLEPC_DIR", self.prefix) diff --git a/var/spack/repos/builtin/packages/smartmontools/package.py b/var/spack/repos/builtin/packages/smartmontools/package.py index 9ca183a08a1..47da9a58d1f 100644 --- a/var/spack/repos/builtin/packages/smartmontools/package.py +++ b/var/spack/repos/builtin/packages/smartmontools/package.py @@ -18,6 +18,6 @@ class Smartmontools(AutotoolsPackage): depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) env.prepend_path("LD_LIBRARY_PATH", self.prefix.usr.lib) diff --git a/var/spack/repos/builtin/packages/snap-korf/package.py b/var/spack/repos/builtin/packages/snap-korf/package.py index 83eefe314d1..27163c432c0 100644 --- a/var/spack/repos/builtin/packages/snap-korf/package.py +++ b/var/spack/repos/builtin/packages/snap-korf/package.py @@ -50,6 +50,6 @@ def install(self, spec, prefix): install_tree("HMM", prefix.HMM) install_tree("DNA", prefix.DNA) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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 5e99b8e598e..f9f605d38a2 100644 --- a/var/spack/repos/builtin/packages/snphylo/package.py +++ b/var/spack/repos/builtin/packages/snphylo/package.py @@ -39,5 +39,5 @@ def install(self, spec, prefix): bash("./setup.sh", input=f) install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/sollve/package.py b/var/spack/repos/builtin/packages/sollve/package.py index 2faa3735aa5..cc16f0dd336 100644 --- a/var/spack/repos/builtin/packages/sollve/package.py +++ b/var/spack/repos/builtin/packages/sollve/package.py @@ -244,10 +244,10 @@ def check_darwin_lldb_codesign_requirement(self): ) raise RuntimeError(explanation) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", self.compiler.cxx11_flag) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+clang" in self.spec: env.set("CC", join_path(self.spec.prefix.bin, "clang")) env.set("CXX", join_path(self.spec.prefix.bin, "clang++")) diff --git a/var/spack/repos/builtin/packages/sonlib/package.py b/var/spack/repos/builtin/packages/sonlib/package.py index b15e2126989..e42befa9419 100644 --- a/var/spack/repos/builtin/packages/sonlib/package.py +++ b/var/spack/repos/builtin/packages/sonlib/package.py @@ -28,7 +28,7 @@ class Sonlib(MakefilePackage): depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: binpath = os.path.join(self.stage.source_path, "bin") libpath = os.path.join(self.stage.source_path, "lib") diff --git a/var/spack/repos/builtin/packages/sopt/package.py b/var/spack/repos/builtin/packages/sopt/package.py index 69884872847..f0aaed52378 100644 --- a/var/spack/repos/builtin/packages/sopt/package.py +++ b/var/spack/repos/builtin/packages/sopt/package.py @@ -59,7 +59,7 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+tests" in self.spec: env.prepend_path("PATH", self.spec.prefix.tests) if "+examples" in self.spec: diff --git a/var/spack/repos/builtin/packages/sos/package.py b/var/spack/repos/builtin/packages/sos/package.py index dc796b3f8ae..1090524f732 100644 --- a/var/spack/repos/builtin/packages/sos/package.py +++ b/var/spack/repos/builtin/packages/sos/package.py @@ -82,7 +82,9 @@ class Sos(AutotoolsPackage): # them from using the spack wrappers filter_compiler_wrappers("oshcc", "oshc++", "oshcc", "oshfort", relative_root="bin") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # Enable the osh wrappers to use spack wrappers when inside spack # with env variables env.set("SHMEM_CC", spack_cc) diff --git a/var/spack/repos/builtin/packages/sosflow/package.py b/var/spack/repos/builtin/packages/sosflow/package.py index d33b7cbc117..8f7edffa6c2 100644 --- a/var/spack/repos/builtin/packages/sosflow/package.py +++ b/var/spack/repos/builtin/packages/sosflow/package.py @@ -2,6 +2,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os from spack.package import * @@ -23,15 +24,15 @@ class Sosflow(CMakePackage): depends_on("pkgconfig") depends_on("mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: 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): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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_WORK", os.environ["HOME"]) + env.set("SOS_EVPATH_MEETUP", os.environ["HOME"]) env.set("SOS_ENV_SET", "true") diff --git a/var/spack/repos/builtin/packages/sp/package.py b/var/spack/repos/builtin/packages/sp/package.py index b8bb65ec176..32e77c322ab 100644 --- a/var/spack/repos/builtin/packages/sp/package.py +++ b/var/spack/repos/builtin/packages/sp/package.py @@ -35,7 +35,7 @@ class Sp(CMakePackage): depends_on("fortran", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@2.4:"): suffixes = self.spec.variants["precision"].value else: diff --git a/var/spack/repos/builtin/packages/spack/package.py b/var/spack/repos/builtin/packages/spack/package.py index b0487f81c2a..98f62854c99 100644 --- a/var/spack/repos/builtin/packages/spack/package.py +++ b/var/spack/repos/builtin/packages/spack/package.py @@ -143,7 +143,7 @@ class Spack(Package): depends_on("py-sphinx-rtd-theme", type="run") depends_on("graphviz", type="run") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SPACK_PYTHON", self.spec["python"].command.path) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/spark/package.py b/var/spack/repos/builtin/packages/spark/package.py index 36335dbfa48..a8ca52ef198 100644 --- a/var/spack/repos/builtin/packages/spark/package.py +++ b/var/spack/repos/builtin/packages/spark/package.py @@ -56,7 +56,7 @@ def install_dir(dirname): install("RELEASE", prefix) @when("+hadoop") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: hadoop = self.spec["hadoop"].command hadoop.add_default_env("JAVA_HOME", self.spec["java"].home) hadoop_classpath = hadoop("classpath", output=str) diff --git a/var/spack/repos/builtin/packages/spectrum-mpi/package.py b/var/spack/repos/builtin/packages/spectrum-mpi/package.py index 8432cd86dc7..066a29ec9b6 100644 --- a/var/spack/repos/builtin/packages/spectrum-mpi/package.py +++ b/var/spack/repos/builtin/packages/spectrum-mpi/package.py @@ -117,7 +117,9 @@ def setup_dependent_package(self, module, dependent_spec): self.spec.mpif77 = os.path.join(self.prefix.bin, "mpif77") self.spec.mpifc = os.path.join(self.prefix.bin, "mpif90") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if "%xl" in dependent_spec or "%xl_r" in dependent_spec: env.set("MPICC", os.path.join(self.prefix.bin, "mpixlc")) env.set("MPICXX", os.path.join(self.prefix.bin, "mpixlC")) @@ -136,7 +138,7 @@ def setup_dependent_build_environment(self, env, dependent_spec): env.set("OMPI_F77", dependent_module.spack_f77) env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Because MPI functions as a compiler we need to setup the compilers # in the run environment, like any compiler if "%xl" in self.spec or "%xl_r" in self.spec: diff --git a/var/spack/repos/builtin/packages/spindle/package.py b/var/spack/repos/builtin/packages/spindle/package.py index efb5c377017..ba99c529de3 100644 --- a/var/spack/repos/builtin/packages/spindle/package.py +++ b/var/spack/repos/builtin/packages/spindle/package.py @@ -32,5 +32,5 @@ class Spindle(AutotoolsPackage): # spindle_logd.cc:65:76: error: narrowing conversion of '223' from 'int' to 'char' # spindle_logd.cc:65:76: error: narrowing conversion of '191' from 'int' to 'char' @when("@0.8.1 %gcc") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CPPFLAGS", "-Wno-narrowing") diff --git a/var/spack/repos/builtin/packages/spiral-software/package.py b/var/spack/repos/builtin/packages/spiral-software/package.py index 459b858feb9..0221b5a68b8 100644 --- a/var/spack/repos/builtin/packages/spiral-software/package.py +++ b/var/spack/repos/builtin/packages/spiral-software/package.py @@ -110,11 +110,15 @@ def install(self, spec, prefix): if f"+{pkg}" in spec: self.spiral_package_install(spec, prefix, pkg) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("SPIRAL_HOME", self.prefix) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("SPIRAL_HOME", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SPIRAL_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/srilm/package.py b/var/spack/repos/builtin/packages/srilm/package.py index f5f1089fdeb..b1dd9ee44ed 100644 --- a/var/spack/repos/builtin/packages/srilm/package.py +++ b/var/spack/repos/builtin/packages/srilm/package.py @@ -90,7 +90,7 @@ def install(self, spec, prefix): install_tree("include", prefix.include) install_tree("man", prefix.man) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Most executable files are in a subfolder named based on # the detected machine type. Unfortunately we cannot use # `machine_type` at this point but we can just guess as diff --git a/var/spack/repos/builtin/packages/ssmtp/package.py b/var/spack/repos/builtin/packages/ssmtp/package.py index 58e228b9b3f..ba6ec46cf65 100644 --- a/var/spack/repos/builtin/packages/ssmtp/package.py +++ b/var/spack/repos/builtin/packages/ssmtp/package.py @@ -28,7 +28,7 @@ class Ssmtp(AutotoolsPackage): patch("install.patch") @when("+ssl") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # The configure script is generated with a very old version of # autoconf, which cannot accept LIBS as a command-line argument env.set("LIBS", self.spec["openssl"].libs.link_flags) diff --git a/var/spack/repos/builtin/packages/sspace-standard/package.py b/var/spack/repos/builtin/packages/sspace-standard/package.py index 002a89922fb..f3c2e3fc5ab 100644 --- a/var/spack/repos/builtin/packages/sspace-standard/package.py +++ b/var/spack/repos/builtin/packages/sspace-standard/package.py @@ -46,6 +46,6 @@ def install(self, spec, prefix): install_tree("tools", prefix.tools) install(rootscript, prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SSPACE_HOME", self.prefix) env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/sst-elements/package.py b/var/spack/repos/builtin/packages/sst-elements/package.py index 553bf7e0543..36dda9a532d 100644 --- a/var/spack/repos/builtin/packages/sst-elements/package.py +++ b/var/spack/repos/builtin/packages/sst-elements/package.py @@ -169,7 +169,7 @@ def configure_args(self): args.append("--with-sst-core=%s" % spec["sst-core"].prefix) return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Setup runtime environment for SST Elements.""" if "+pin" in self.spec: diff --git a/var/spack/repos/builtin/packages/star-ccm-plus/package.py b/var/spack/repos/builtin/packages/star-ccm-plus/package.py index 2c1273c893a..bf9f8315071 100644 --- a/var/spack/repos/builtin/packages/star-ccm-plus/package.py +++ b/var/spack/repos/builtin/packages/star-ccm-plus/package.py @@ -75,7 +75,7 @@ def install(self, spec, prefix): "-DNODOC={0}".format("false" if "+docs" in spec else "true"), ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # using Version.up_to strips out the 0 padding version = re.sub("_.*$", "", format(self.spec.version)) env.prepend_path( diff --git a/var/spack/repos/builtin/packages/stata/package.py b/var/spack/repos/builtin/packages/stata/package.py index 5ba670b0c4d..c9ff1a94ce1 100644 --- a/var/spack/repos/builtin/packages/stata/package.py +++ b/var/spack/repos/builtin/packages/stata/package.py @@ -39,7 +39,7 @@ 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_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) env.prepend_path("LD_LIBRARY_PATH", self.spec["libpng"].prefix.lib) diff --git a/var/spack/repos/builtin/packages/steps/package.py b/var/spack/repos/builtin/packages/steps/package.py index 6ffb7384e77..f922a45a5cc 100644 --- a/var/spack/repos/builtin/packages/steps/package.py +++ b/var/spack/repos/builtin/packages/steps/package.py @@ -141,7 +141,7 @@ def build_targets(self): ] return targets - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # This recipe exposes a Python package from a C++ CMake project. # This hook is required to reproduce what Spack PythonPackage does. env.prepend_path("PYTHONPATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/stripack/package.py b/var/spack/repos/builtin/packages/stripack/package.py index 9bc0be06d19..d50dcea5238 100644 --- a/var/spack/repos/builtin/packages/stripack/package.py +++ b/var/spack/repos/builtin/packages/stripack/package.py @@ -51,7 +51,7 @@ def run_mkmake(self): fh.write("\n".join(config)) mkdirp(join_path(self.build_directory, "build")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # This is smartly used by VisIt env.set( "VISIT_FFP_STRIPACK_PATH", join_path(self.spec.prefix.lib, "libstripack." + dso_suffix) diff --git a/var/spack/repos/builtin/packages/su2/package.py b/var/spack/repos/builtin/packages/su2/package.py index 80793800f86..11c36cfeb51 100644 --- a/var/spack/repos/builtin/packages/su2/package.py +++ b/var/spack/repos/builtin/packages/su2/package.py @@ -156,7 +156,7 @@ def install_mpp(self): join_path(self.build_directory, "subprojects", "Mutationpp"), self.prefix.lib ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("su2_run", self.prefix.bin) env.set("su2_home", self.prefix) env.prepend_path("path", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/sumo/package.py b/var/spack/repos/builtin/packages/sumo/package.py index 4d284f0d5bb..1db5ecc4a07 100644 --- a/var/spack/repos/builtin/packages/sumo/package.py +++ b/var/spack/repos/builtin/packages/sumo/package.py @@ -48,5 +48,5 @@ def url_for_version(self, version): url = "https://github.com/eclipse/sumo/archive/v{0}.tar.gz" return url.format(version.underscored) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SUMO_HOME", self.prefix) diff --git a/var/spack/repos/builtin/packages/supernova/package.py b/var/spack/repos/builtin/packages/supernova/package.py index c7c5ed50295..a9802f04bea 100644 --- a/var/spack/repos/builtin/packages/supernova/package.py +++ b/var/spack/repos/builtin/packages/supernova/package.py @@ -36,7 +36,7 @@ class Supernova(Package): def url_for_version(self, version): return "file://{0}/supernova-{1}.tar.gz".format(os.getcwd(), version) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/survey/package.py b/var/spack/repos/builtin/packages/survey/package.py index 76147b5c0d2..f4a4fd1f4d6 100644 --- a/var/spack/repos/builtin/packages/survey/package.py +++ b/var/spack/repos/builtin/packages/survey/package.py @@ -149,7 +149,7 @@ def python_lib_dir(self): def site_packages_dir(self): return join_path(self.python_lib_dir, "site-packages") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set up the compile and runtime environments for a package.""" # Set SURVEY_MPI_IMPLEMENTATON to the appropriate mpi implementation diff --git a/var/spack/repos/builtin/packages/sw4/package.py b/var/spack/repos/builtin/packages/sw4/package.py index 8feb7845baa..49265b5c561 100644 --- a/var/spack/repos/builtin/packages/sw4/package.py +++ b/var/spack/repos/builtin/packages/sw4/package.py @@ -42,7 +42,7 @@ class Sw4(MakefilePackage): depends_on("fftw@3: +mpi", when="+fftw") depends_on("llvm-openmp", when="+openmp %apple-clang") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["mpi"].mpicxx) env.set("FC", self.spec["mpi"].mpifc) # openmp is enabled by default diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py index 0181504cf1d..80ccbb3d031 100644 --- a/var/spack/repos/builtin/packages/swiftsim/package.py +++ b/var/spack/repos/builtin/packages/swiftsim/package.py @@ -37,11 +37,11 @@ class Swiftsim(AutotoolsPackage): depends_on("hdf5~mpi", when="~mpi") depends_on("hdf5+mpi", when="+mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # 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") - env.set("GIT_SSL_NO_VERIFY", 1) + env.set("GIT_SSL_NO_VERIFY", "1") def configure_args(self): return [ diff --git a/var/spack/repos/builtin/packages/sympack/package.py b/var/spack/repos/builtin/packages/sympack/package.py index 1429eb5c8a1..87ec9020f1b 100644 --- a/var/spack/repos/builtin/packages/sympack/package.py +++ b/var/spack/repos/builtin/packages/sympack/package.py @@ -80,7 +80,7 @@ def cmake_args(self): ] return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "network=auto" not in spec: env.set("UPCXX_NETWORK", spec.variants["network"].value) diff --git a/var/spack/repos/builtin/packages/sysstat/package.py b/var/spack/repos/builtin/packages/sysstat/package.py index 9e83cf439d8..785d7942350 100644 --- a/var/spack/repos/builtin/packages/sysstat/package.py +++ b/var/spack/repos/builtin/packages/sysstat/package.py @@ -33,7 +33,7 @@ class Sysstat(AutotoolsPackage): depends_on("gettext") depends_on("lm-sensors") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("rcdir", self.spec.prefix.etc) env.append_flags("sa_dir", self.spec.prefix.log.sa) env.append_flags("conf_dir", self.spec.prefix.etc.sysconfig) diff --git a/var/spack/repos/builtin/packages/sz/package.py b/var/spack/repos/builtin/packages/sz/package.py index d8c0cdd9503..df86a04fb96 100644 --- a/var/spack/repos/builtin/packages/sz/package.py +++ b/var/spack/repos/builtin/packages/sz/package.py @@ -96,7 +96,7 @@ def flag_handler(self, name, flags): flags.append("-Wno-error=implicit-function-declaration") return (flags, None, None) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+hdf5" in self.spec: env.prepend_path("HDF5_PLUGIN_PATH", self.prefix.lib64) diff --git a/var/spack/repos/builtin/packages/sz3/package.py b/var/spack/repos/builtin/packages/sz3/package.py index 10cd5a86501..d9e79614001 100644 --- a/var/spack/repos/builtin/packages/sz3/package.py +++ b/var/spack/repos/builtin/packages/sz3/package.py @@ -34,7 +34,7 @@ class Sz3(CMakePackage): depends_on("pkgconfig") depends_on("hdf5", when="+hdf5") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+hdf5" in self.spec: env.prepend_path("HDF5_PLUGIN_PATH", self.prefix.lib64) diff --git a/var/spack/repos/builtin/packages/tandem/package.py b/var/spack/repos/builtin/packages/tandem/package.py index ad6947ec803..c651be4a219 100644 --- a/var/spack/repos/builtin/packages/tandem/package.py +++ b/var/spack/repos/builtin/packages/tandem/package.py @@ -119,5 +119,5 @@ def install(self, spec, prefix): self.build(spec, prefix) install_tree(self.build_directory, prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.app) diff --git a/var/spack/repos/builtin/packages/targetp/package.py b/var/spack/repos/builtin/packages/targetp/package.py index 20bc5cbc67b..9b255b75a6e 100644 --- a/var/spack/repos/builtin/packages/targetp/package.py +++ b/var/spack/repos/builtin/packages/targetp/package.py @@ -42,6 +42,6 @@ def install(self, spec, prefix): install_tree("tmp", prefix.tmp) install("targetp", prefix.targetp) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("TARGETP", self.prefix) env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/tasmanian/package.py b/var/spack/repos/builtin/packages/tasmanian/package.py index 03911f8a827..ba22c8ec97b 100644 --- a/var/spack/repos/builtin/packages/tasmanian/package.py +++ b/var/spack/repos/builtin/packages/tasmanian/package.py @@ -93,7 +93,7 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage): # patching a bug in the interpretation of the C++ standard patch("tas80_clang17.patch", when="@8.0") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # needed for the hipcc compiler if "+rocm" in self.spec: env.set("CXX", self.spec["hip"].hipcc) diff --git a/var/spack/repos/builtin/packages/tassel/package.py b/var/spack/repos/builtin/packages/tassel/package.py index 4bf7e5b66b5..32445c0c593 100644 --- a/var/spack/repos/builtin/packages/tassel/package.py +++ b/var/spack/repos/builtin/packages/tassel/package.py @@ -27,5 +27,5 @@ class Tassel(Package): def install(self, spec, prefix): install_tree(".", prefix.bin) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: 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 126eb2b2359..2bbe8374dd2 100644 --- a/var/spack/repos/builtin/packages/tau/package.py +++ b/var/spack/repos/builtin/packages/tau/package.py @@ -251,7 +251,7 @@ def set_compiler_options(self, spec): compiler_options.append(useropt) return compiler_options - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LIBRARY_PATH", self.spec["zlib-api"].prefix.lib) env.prepend_path("LIBRARY_PATH", self.spec["hwloc"].prefix.lib) @@ -450,7 +450,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_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: pattern = join_path(self.prefix.lib, "Makefile.*") files = glob.glob(pattern) diff --git a/var/spack/repos/builtin/packages/tb-lmto/package.py b/var/spack/repos/builtin/packages/tb-lmto/package.py index 39a9464f746..5023b3b5266 100644 --- a/var/spack/repos/builtin/packages/tb-lmto/package.py +++ b/var/spack/repos/builtin/packages/tb-lmto/package.py @@ -61,5 +61,5 @@ def install(self, spec, prefix): mkdirp(prefix) install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py index 08c592a68a5..21f19aa6b9d 100644 --- a/var/spack/repos/builtin/packages/tcl/package.py +++ b/var/spack/repos/builtin/packages/tcl/package.py @@ -93,7 +93,7 @@ def command(self): exe = ".exe" if is_windows else "" return Executable(os.path.realpath(self.prefix.bin.join(f"tclsh{self._tcl_name}{exe}"))) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set TCL_LIBRARY to the directory containing init.tcl. For further info see: @@ -104,7 +104,9 @@ def setup_run_environment(self, env): # python will not be able to find Tcl unless TCL_LIBRARY is set. env.set("TCL_LIBRARY", find_script_dir(self.spec)) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set TCLLIBPATH to include the tcl-shipped directory for extensions and any other tcl extension it depends on. @@ -138,7 +140,9 @@ def symlink_tclsh(self): with working_dir(self.prefix.bin): symlink(f"tclsh{ver_suffix}{win_suffix}", "tclsh") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set TCL_LIBRARY to the directory containing init.tcl. Set TCLLIBPATH to include the tcl-shipped directory for extensions and any other tcl extension it depends on. @@ -185,7 +189,7 @@ class AutotoolsBuilder(AnyBuilder, spack.build_systems.autotools.AutotoolsBuilde # if TCL is present on the system this may be set to the system's # existing TCL so ensure it is unset # https://wiki.tcl-lang.org/page/TCL%5FLIBRARY - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("TCL_LIBRARY", "") def install(self, pkg, spec, prefix): diff --git a/var/spack/repos/builtin/packages/tecplot/package.py b/var/spack/repos/builtin/packages/tecplot/package.py index 05de2b27282..d702f52c2e9 100644 --- a/var/spack/repos/builtin/packages/tecplot/package.py +++ b/var/spack/repos/builtin/packages/tecplot/package.py @@ -55,7 +55,7 @@ def install(self, spec, prefix): force_symlink("../tecplotlm.lic", join_path(self.prefix, lic360)) force_symlink("../tecplotlm.lic", join_path(self.prefix, licChorus)) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # Add Chorus bin binChorus = "chorus_{0}/bin".format(self.version) env.prepend_path("PATH", join_path(self.prefix, binChorus)) diff --git a/var/spack/repos/builtin/packages/templight/package.py b/var/spack/repos/builtin/packages/templight/package.py index a4e00e77f6f..b7195a0834d 100644 --- a/var/spack/repos/builtin/packages/templight/package.py +++ b/var/spack/repos/builtin/packages/templight/package.py @@ -107,10 +107,10 @@ def patch(self): with open("tools/clang/tools/CMakeLists.txt", "a") as cmake_lists: cmake_lists.write("add_clang_subdirectory(templight)") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", self.compiler.cxx11_flag) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("CC", join_path(self.spec.prefix.bin, "templight")) env.set("CXX", join_path(self.spec.prefix.bin, "templight++")) diff --git a/var/spack/repos/builtin/packages/tempo/package.py b/var/spack/repos/builtin/packages/tempo/package.py index 5b9941a3214..dd09ddf0655 100644 --- a/var/spack/repos/builtin/packages/tempo/package.py +++ b/var/spack/repos/builtin/packages/tempo/package.py @@ -57,14 +57,18 @@ def post_install_packages(self): cp("-r", "ephem", join_path(self.prefix, "ephem")) cp("-r", "tzpar", join_path(self.prefix, "tzpar")) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("TEMPO", self.prefix) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.set("TEMPO", self.prefix) # For LWA-10-17-2020 version env.set("TEMPO_DIR", self.prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("TEMPO", self.prefix) diff --git a/var/spack/repos/builtin/packages/tengine/package.py b/var/spack/repos/builtin/packages/tengine/package.py index 01172ed34f6..4ae7f3f7abb 100644 --- a/var/spack/repos/builtin/packages/tengine/package.py +++ b/var/spack/repos/builtin/packages/tengine/package.py @@ -21,5 +21,5 @@ class Tengine(AutotoolsPackage): depends_on("pcre") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/tesseract/package.py b/var/spack/repos/builtin/packages/tesseract/package.py index b0c7d97d01a..1dfb0a3a635 100644 --- a/var/spack/repos/builtin/packages/tesseract/package.py +++ b/var/spack/repos/builtin/packages/tesseract/package.py @@ -71,7 +71,7 @@ def autoreconf(self, spec, prefix): def configure_args(self): return self.enable_or_disable("doc") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("SCROLLVIEW_PATH", prefix.share.tessdata) @when("@5.5.0:") diff --git a/var/spack/repos/builtin/packages/tests-sos/package.py b/var/spack/repos/builtin/packages/tests-sos/package.py index 01120113192..11210030a6f 100644 --- a/var/spack/repos/builtin/packages/tests-sos/package.py +++ b/var/spack/repos/builtin/packages/tests-sos/package.py @@ -32,7 +32,7 @@ def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CC", "oshcc") env.set("CXX", "oshc++") env.set("FC", "oshfort") diff --git a/var/spack/repos/builtin/packages/texinfo/package.py b/var/spack/repos/builtin/packages/texinfo/package.py index 909777bcaac..e309a30d3b1 100644 --- a/var/spack/repos/builtin/packages/texinfo/package.py +++ b/var/spack/repos/builtin/packages/texinfo/package.py @@ -67,7 +67,7 @@ def build_targets(self): targets.append(f"CFLAGS={self.compiler.c11_flag}") return targets - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # texinfo builds Perl XS modules internally, and by default it overrides the # CC that the top-level configure reports. This loses the Spack wrappers unless # we set PERL_EXT_CC diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py index 295602d468b..a503ff6c2e8 100644 --- a/var/spack/repos/builtin/packages/texlive/package.py +++ b/var/spack/repos/builtin/packages/texlive/package.py @@ -165,10 +165,10 @@ def setup_texlive(self): mtxrun = Executable(mtxrun_lua) mtxrun("--generate") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", join_path(self.prefix.bin, self.tex_arch())) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", join_path(self.prefix.bin, self.tex_arch())) executables = [r"^tex$"] diff --git a/var/spack/repos/builtin/packages/tfel/package.py b/var/spack/repos/builtin/packages/tfel/package.py index 95d8f8180ca..7429461c96c 100644 --- a/var/spack/repos/builtin/packages/tfel/package.py +++ b/var/spack/repos/builtin/packages/tfel/package.py @@ -230,7 +230,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path("LD_LIBRARY_PATH", self.prefix.lib) def check(self): diff --git a/var/spack/repos/builtin/packages/thrift/package.py b/var/spack/repos/builtin/packages/thrift/package.py index 5c0704bf26a..eafa377893c 100644 --- a/var/spack/repos/builtin/packages/thrift/package.py +++ b/var/spack/repos/builtin/packages/thrift/package.py @@ -80,7 +80,7 @@ class Thrift(Package): when="@0.16.0", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+pic" in self.spec: env.append_flags("CFLAGS", self.compiler.cc_pic_flag) env.append_flags("CXXFLAGS", self.compiler.cxx_pic_flag) diff --git a/var/spack/repos/builtin/packages/thunar/package.py b/var/spack/repos/builtin/packages/thunar/package.py index f290fa2e5a8..09f53d599d5 100644 --- a/var/spack/repos/builtin/packages/thunar/package.py +++ b/var/spack/repos/builtin/packages/thunar/package.py @@ -60,7 +60,7 @@ class Thunar(AutotoolsPackage): depends_on("gtkplus@3.22:") depends_on("gobject-introspection@1.60:", when="+introspection") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@4.18"): # Fails to check in xcfe4 include subdirectory for the libxfce4kbd-private-3 tree env.append_flags("CPPFLAGS", f"-I{self.spec['libxfce4ui'].home.include.xfce4}") diff --git a/var/spack/repos/builtin/packages/tix/package.py b/var/spack/repos/builtin/packages/tix/package.py index 5af70e84e2a..1462ea15c16 100644 --- a/var/spack/repos/builtin/packages/tix/package.py +++ b/var/spack/repos/builtin/packages/tix/package.py @@ -94,7 +94,7 @@ def test_tcl(self): def libs(self): return find_libraries(["libTix{0}".format(self.version)], root=self.prefix, recursive=True) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set TIX_LIBRARY to the directory containing Tix.tcl. For further info, see: @@ -105,7 +105,9 @@ def setup_run_environment(self, env): # python will not be able to find Tix unless TIX_LIBRARY is set. env.set("TIX_LIBRARY", os.path.dirname(find(self.prefix, "Tix.tcl")[0])) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set TIX_LIBRARY to the directory containing Tix.tcl. For further info, see: diff --git a/var/spack/repos/builtin/packages/tixi/package.py b/var/spack/repos/builtin/packages/tixi/package.py index f94ce1c0937..7fa8e9a9180 100644 --- a/var/spack/repos/builtin/packages/tixi/package.py +++ b/var/spack/repos/builtin/packages/tixi/package.py @@ -56,7 +56,7 @@ def cmake_args(self): self.define_from_variant("TIXI_ENABLE_FORTRAN", "fortran"), ] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Allow to import tixi3wrapper in python""" if "+python" in self.spec: diff --git a/var/spack/repos/builtin/packages/tk/package.py b/var/spack/repos/builtin/packages/tk/package.py index 4d026369b88..062fcaa23cf 100644 --- a/var/spack/repos/builtin/packages/tk/package.py +++ b/var/spack/repos/builtin/packages/tk/package.py @@ -127,7 +127,7 @@ def _find_script_dir(self): return os.path.dirname(result) raise RuntimeError("Cannot locate tk.tcl") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: """Set TK_LIBRARY to the directory containing tk.tcl. For further info, see: @@ -138,7 +138,9 @@ def setup_run_environment(self, env): # python will not be able to find Tk unless TK_LIBRARY is set. env.set("TK_LIBRARY", self._find_script_dir()) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Set TK_LIBRARY to the directory containing tk.tcl. For further info, see: diff --git a/var/spack/repos/builtin/packages/tophat/package.py b/var/spack/repos/builtin/packages/tophat/package.py index f5117c273c3..ca2ec6a0685 100644 --- a/var/spack/repos/builtin/packages/tophat/package.py +++ b/var/spack/repos/builtin/packages/tophat/package.py @@ -37,7 +37,7 @@ def patch(self): # Newer versions of autoconf hate calling AM_INIT_AUTOMAKE twice filter_file(r"^AM_INIT_AUTOMAKE$", "", "configure.ac") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CFLAGS", self.compiler.cxx98_flag) def configure_args(self): diff --git a/var/spack/repos/builtin/packages/totalview/package.py b/var/spack/repos/builtin/packages/totalview/package.py index c467b2bb342..b41bb38aef1 100644 --- a/var/spack/repos/builtin/packages/totalview/package.py +++ b/var/spack/repos/builtin/packages/totalview/package.py @@ -112,7 +112,7 @@ class Totalview(Package): url="https://dslwuu69twiif.cloudfront.net/totalview/2024.1/totalview_2024.1.21_linux_arm64.tar", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path( "PATH", join_path(self.prefix, "toolworks", "totalview.{0}".format(self.version), "bin"), diff --git a/var/spack/repos/builtin/packages/toybox/package.py b/var/spack/repos/builtin/packages/toybox/package.py index 714f8420d6f..dbbdf2e3035 100644 --- a/var/spack/repos/builtin/packages/toybox/package.py +++ b/var/spack/repos/builtin/packages/toybox/package.py @@ -62,11 +62,11 @@ class Toybox(MakefilePackage): when="@=0.7.4", ) - def setup_build_environment(self, env): - env.set("NOSTRIP", 1) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("NOSTRIP", "1") if not self.spec.satisfies("@=0.8.9"): - env.set("V", 1) # Verbose + env.set("V", "1") # Verbose if self.spec.satisfies("+static"): env.append_flags("LDFLAGS", "--static") diff --git a/var/spack/repos/builtin/packages/tpm2-tss/package.py b/var/spack/repos/builtin/packages/tpm2-tss/package.py index 198a550465a..0717aa607f5 100644 --- a/var/spack/repos/builtin/packages/tpm2-tss/package.py +++ b/var/spack/repos/builtin/packages/tpm2-tss/package.py @@ -31,12 +31,12 @@ class Tpm2Tss(AutotoolsPackage): depends_on("libgcrypt", when="@:2.4.2") @when("@:2.4.2") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("ACLOCAL_PATH", self.spec["libgcrypt"].prefix.share.aclocal) env.prepend_path("ACLOCAL_PATH", self.spec["autoconf-archive"].prefix.share.aclocal) @when("@3.0.0:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("ACLOCAL_PATH", self.spec["autoconf-archive"].prefix.share.aclocal) def autoreconf(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/transdecoder/package.py b/var/spack/repos/builtin/packages/transdecoder/package.py index 0d019a98f67..09731f8f0b4 100644 --- a/var/spack/repos/builtin/packages/transdecoder/package.py +++ b/var/spack/repos/builtin/packages/transdecoder/package.py @@ -35,6 +35,6 @@ def install(self, spec, prefix): install_tree("PerlLib", prefix.PerlLib) install_tree("util", prefix.util) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) env.prepend_path("PATH", self.prefix.util) diff --git a/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py b/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py index f11c2ef02c5..fa166094c62 100644 --- a/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py +++ b/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py @@ -39,7 +39,7 @@ class TrilinosCatalystIossAdapter(CMakePackage): "ParaViewCatalystIossAdapter", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.python) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index 74df430456a..fb0f91f0f7e 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -621,7 +621,9 @@ def url_for_version(self, version): url = "https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-{0}.tar.gz" return url.format(version.dashed) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: if self.spec.satisfies("@:13.1.0 +cuda"): # older releases of Trilinos doesn't perform the memory fence so # it relies on blocking CUDA kernel launch. This is needed @@ -635,7 +637,7 @@ def kokkos_cxx(self) -> str: # Assumes build-time globals have been set already return spack_cxx - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec if "+cuda" in spec and "+wrapper" in spec: if "+mpi" in spec: @@ -1121,7 +1123,7 @@ def filter_python(self): ) filter_file(r"-lpytrilinos", "", "%s/Makefile.export.Trilinos" % self.prefix.include) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+exodus" in self.spec: env.prepend_path("PYTHONPATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/trinity/package.py b/var/spack/repos/builtin/packages/trinity/package.py index a776a4dba3b..e4a5cdc694b 100644 --- a/var/spack/repos/builtin/packages/trinity/package.py +++ b/var/spack/repos/builtin/packages/trinity/package.py @@ -118,9 +118,9 @@ def install(self, spec, prefix): force_remove(join_path(prefix.bin, "trinity-plugins", "seqtk-trinity-0.0.2", ".gitignore")) force_remove(join_path(prefix.bin, "trinity-plugins", "slclust", "bin", ".hidden")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CXXFLAGS", self.compiler.openmp_flag) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("TRINITY_HOME", self.prefix.bin) env.prepend_path("PATH", self.prefix.bin.util) diff --git a/var/spack/repos/builtin/packages/turbine/package.py b/var/spack/repos/builtin/packages/turbine/package.py index d0f21848a3c..40371edbbe6 100644 --- a/var/spack/repos/builtin/packages/turbine/package.py +++ b/var/spack/repos/builtin/packages/turbine/package.py @@ -40,7 +40,7 @@ class Turbine(AutotoolsPackage): depends_on("libtool", type="build", when="@master") depends_on("m4", type=("build", "run")) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("CC", spec["mpi"].mpicc) diff --git a/var/spack/repos/builtin/packages/turbomole/package.py b/var/spack/repos/builtin/packages/turbomole/package.py index 0e71184f366..66c50d0ea66 100644 --- a/var/spack/repos/builtin/packages/turbomole/package.py +++ b/var/spack/repos/builtin/packages/turbomole/package.py @@ -115,7 +115,7 @@ 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_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: molecontrol_version = "MoleControl_2.5" tm_arch = self.get_tm_arch() diff --git a/var/spack/repos/builtin/packages/typhon/package.py b/var/spack/repos/builtin/packages/typhon/package.py index 31eb959840b..08542b1e6b0 100644 --- a/var/spack/repos/builtin/packages/typhon/package.py +++ b/var/spack/repos/builtin/packages/typhon/package.py @@ -28,6 +28,6 @@ class Typhon(CMakePackage): depends_on("mpi") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("%fj"): env.set("LDFLAGS", "--linkfortran") diff --git a/var/spack/repos/builtin/packages/ucsc-bedclip/package.py b/var/spack/repos/builtin/packages/ucsc-bedclip/package.py index af4c2eb11e2..9bc4bab6a6c 100644 --- a/var/spack/repos/builtin/packages/ucsc-bedclip/package.py +++ b/var/spack/repos/builtin/packages/ucsc-bedclip/package.py @@ -25,7 +25,7 @@ class UcscBedclip(Package): depends_on("openssl") depends_on("zlib-api") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MYSQLLIBS", "-lmysqlclient") env.set("L", "-lssl") env.set("BINDIR", "bin") diff --git a/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py b/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py index 1906f41e235..fd63aae9d41 100644 --- a/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py +++ b/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py @@ -29,7 +29,7 @@ class UcscBedgraphtobigwig(Package): depends_on("mysql-client") conflicts("^mysql@8.0.0:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MYSQLLIBS", "-lmysqlclient") env.set("L", "-lssl") env.set("BINDIR", "bin") diff --git a/var/spack/repos/builtin/packages/ufs-utils/package.py b/var/spack/repos/builtin/packages/ufs-utils/package.py index 3dcd667eef0..224c925306f 100644 --- a/var/spack/repos/builtin/packages/ufs-utils/package.py +++ b/var/spack/repos/builtin/packages/ufs-utils/package.py @@ -75,5 +75,5 @@ def cmake_args(self): "-DMPI_Fortran_COMPILER=%s" % self.spec["mpi"].mpifc, ] - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("ESMFMKFILE", join_path(self.spec["esmf"].prefix.lib, "esmf.mk")) diff --git a/var/spack/repos/builtin/packages/ufs-weather-model/package.py b/var/spack/repos/builtin/packages/ufs-weather-model/package.py index 644b529bf9d..44156bfb205 100644 --- a/var/spack/repos/builtin/packages/ufs-weather-model/package.py +++ b/var/spack/repos/builtin/packages/ufs-weather-model/package.py @@ -163,7 +163,7 @@ class UfsWeatherModel(CMakePackage): conflicts("%gcc@:8", when="@develop") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec env.set("CC", spec["mpi"].mpicc) env.set("CXX", spec["mpi"].mpicxx) diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py index df0cf71a5c6..841d0027c84 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -500,7 +500,7 @@ def initconfig_package_entries(self): def cmake_args(self): return [] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: for library in ["lib", "lib64"]: lib_path = join_path(self.prefix, library) if os.path.exists(lib_path): diff --git a/var/spack/repos/builtin/packages/unifyfs/package.py b/var/spack/repos/builtin/packages/unifyfs/package.py index 791c2435d68..8e050ff8c9e 100644 --- a/var/spack/repos/builtin/packages/unifyfs/package.py +++ b/var/spack/repos/builtin/packages/unifyfs/package.py @@ -104,7 +104,7 @@ def flag_handler(self, name, flags): flags.append("-std=gnu99") return (None, None, flags) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # GCC11 generates a bogus array bounds error: # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98266 if "%gcc@11" in self.spec: diff --git a/var/spack/repos/builtin/packages/upcxx/package.py b/var/spack/repos/builtin/packages/upcxx/package.py index fe5fee91e14..3e482ae4681 100644 --- a/var/spack/repos/builtin/packages/upcxx/package.py +++ b/var/spack/repos/builtin/packages/upcxx/package.py @@ -177,10 +177,12 @@ def set_variables(self, env): env.set("UPCXX_NETWORK", "ofi") env.set("GASNET_SPAWN_CONTROL", "pmi") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: self.set_variables(env) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.set_variables(env) def setup_dependent_package(self, module, dep_spec): diff --git a/var/spack/repos/builtin/packages/uqtk/package.py b/var/spack/repos/builtin/packages/uqtk/package.py index 8d5455ae2d3..2ee8b38aa66 100644 --- a/var/spack/repos/builtin/packages/uqtk/package.py +++ b/var/spack/repos/builtin/packages/uqtk/package.py @@ -88,7 +88,7 @@ def cmake_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+python" in self.spec: env.prepend_path("PYTHONPATH", self.prefix) env.prepend_path("PYTHONPATH", "{0}/PyUQTk".format(self.prefix)) diff --git a/var/spack/repos/builtin/packages/util-macros/package.py b/var/spack/repos/builtin/packages/util-macros/package.py index 7e8b4485a7f..c03e578ee7f 100644 --- a/var/spack/repos/builtin/packages/util-macros/package.py +++ b/var/spack/repos/builtin/packages/util-macros/package.py @@ -29,6 +29,8 @@ def url_for_version(self, version): if self.spec.satisfies("@:1.19"): return spack.url.substitute_version(self.urls[0].replace("xz", "bz2"), version) - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: """Adds the ACLOCAL path for autotools.""" 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 a693e3df377..a52a173fb6f 100644 --- a/var/spack/repos/builtin/packages/varscan/package.py +++ b/var/spack/repos/builtin/packages/varscan/package.py @@ -38,6 +38,6 @@ def install(self, spec, prefix): filter_file("^java", java, script, **kwargs) filter_file("varscan.jar", join_path(prefix.jar, jar_file), script, **kwargs) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("VARSCAN_HOME", self.prefix.jar) env.set("CLASSPATH", self.prefix.jar) diff --git a/var/spack/repos/builtin/packages/vasp/package.py b/var/spack/repos/builtin/packages/vasp/package.py index 1e4744d8a81..0c3afe5d7fd 100644 --- a/var/spack/repos/builtin/packages/vasp/package.py +++ b/var/spack/repos/builtin/packages/vasp/package.py @@ -326,9 +326,9 @@ def edit(self, spec, prefix): os.rename(make_include, "makefile.include") - def setup_build_environment(self, spack_env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+cuda %nvhpc"): - spack_env.set("NVHPC_CUDA_HOME", self.spec["cuda"].prefix) + env.set("NVHPC_CUDA_HOME", self.spec["cuda"].prefix) def build(self, spec, prefix): if spec.satisfies("@:6.2"): diff --git a/var/spack/repos/builtin/packages/vbfnlo/package.py b/var/spack/repos/builtin/packages/vbfnlo/package.py index a87ef9c287c..25e3015900d 100644 --- a/var/spack/repos/builtin/packages/vbfnlo/package.py +++ b/var/spack/repos/builtin/packages/vbfnlo/package.py @@ -58,7 +58,7 @@ class Vbfnlo(AutotoolsPackage): depends_on("tcsh", type="build") @when("@2.7.1") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.unset("F77") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/vcftools/package.py b/var/spack/repos/builtin/packages/vcftools/package.py index 7190e558091..dc24fd909b7 100644 --- a/var/spack/repos/builtin/packages/vcftools/package.py +++ b/var/spack/repos/builtin/packages/vcftools/package.py @@ -82,5 +82,5 @@ def filter_sbang(self): kwargs = {"ignore_absent": True, "backup": False, "string": False} filter_file(match, substitute, *files, **kwargs) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PERL5LIB", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/vecmem/package.py b/var/spack/repos/builtin/packages/vecmem/package.py index 559aeb9907d..68e2017d517 100644 --- a/var/spack/repos/builtin/packages/vecmem/package.py +++ b/var/spack/repos/builtin/packages/vecmem/package.py @@ -77,7 +77,7 @@ class Vecmem(CMakePackage, CudaPackage): # and we can choose between always depending on googletest, or using FetchContent # depends_on("googletest", type="test") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+sycl"): env.set("SYCLCXX", self.compiler.cxx) if self.spec.satisfies("%oneapi"): diff --git a/var/spack/repos/builtin/packages/vep-cache/package.py b/var/spack/repos/builtin/packages/vep-cache/package.py index a56343969e6..505094af9e1 100644 --- a/var/spack/repos/builtin/packages/vep-cache/package.py +++ b/var/spack/repos/builtin/packages/vep-cache/package.py @@ -101,7 +101,7 @@ def vep_cache_config(self, base): "full_path": join_path(root, cache_dir), } - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+env"): cache = self.vep_cache_config(self.home) env.set("VEP_OFFLINE", "1") diff --git a/var/spack/repos/builtin/packages/vep/package.py b/var/spack/repos/builtin/packages/vep/package.py index 1605bf0e87a..7b0ddbf4cd2 100644 --- a/var/spack/repos/builtin/packages/vep/package.py +++ b/var/spack/repos/builtin/packages/vep/package.py @@ -84,7 +84,7 @@ def vep_scripts_path(self): def vep_installer_path(self): return f"{self.vep_scripts_path.INSTALL}.pl" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("VEP_HOME", self.home) if self.spec.satisfies("+bundled_htslib"): env.prepend_path("PATH", self.vep_lib_path.htslib) diff --git a/var/spack/repos/builtin/packages/verilator/package.py b/var/spack/repos/builtin/packages/verilator/package.py index 7226bec81dc..3a7c75d081b 100644 --- a/var/spack/repos/builtin/packages/verilator/package.py +++ b/var/spack/repos/builtin/packages/verilator/package.py @@ -97,7 +97,7 @@ class Verilator(AutotoolsPackage): filter_compiler_wrappers("verilated.mk", relative_root="share/verilator/include") @when("@:5.022") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("VERILATOR_ROOT", self.prefix) def autoreconf(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/vesta/package.py b/var/spack/repos/builtin/packages/vesta/package.py index 8f8f0763050..4d51517c784 100644 --- a/var/spack/repos/builtin/packages/vesta/package.py +++ b/var/spack/repos/builtin/packages/vesta/package.py @@ -20,7 +20,7 @@ class Vesta(Package): conflicts("%gcc@:5.3") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix) env.prepend_path("LD_LIBRARY_PATH", self.prefix) diff --git a/var/spack/repos/builtin/packages/vmc/package.py b/var/spack/repos/builtin/packages/vmc/package.py index 5a54fbe29ec..e456d3d4737 100644 --- a/var/spack/repos/builtin/packages/vmc/package.py +++ b/var/spack/repos/builtin/packages/vmc/package.py @@ -28,6 +28,6 @@ class Vmc(CMakePackage): depends_on("root@6.18.04: ~vmc") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("platform=darwin"): env.unset("MACOSX_DEPLOYMENT_TARGET") diff --git a/var/spack/repos/builtin/packages/vmd/package.py b/var/spack/repos/builtin/packages/vmd/package.py index eb8b13f26d5..2f802745e77 100644 --- a/var/spack/repos/builtin/packages/vmd/package.py +++ b/var/spack/repos/builtin/packages/vmd/package.py @@ -37,7 +37,7 @@ class Vmd(Package): depends_on("patchelf", type="build") depends_on("gmake", type="build") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("VMDINSTALLBINDIR", self.prefix.bin) env.set("VMDINSTALLLIBRARYDIR", self.prefix.lib64) @@ -58,5 +58,5 @@ def ensure_rpaths(self): ) patchelf("--set-rpath", rpath, join_path(self.prefix, "lib64", "vmd_LINUXAMD64")) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("PLUGINDIR", self.spec.prefix.lib64.plugins) diff --git a/var/spack/repos/builtin/packages/voms/package.py b/var/spack/repos/builtin/packages/voms/package.py index 0526cf87016..b65f49d87b5 100644 --- a/var/spack/repos/builtin/packages/voms/package.py +++ b/var/spack/repos/builtin/packages/voms/package.py @@ -40,7 +40,7 @@ def patch(self): r"/usr/bin/soapcpp2", f"{self.spec['gsoap'].prefix.bin.soapcpp2}", "m4/wsdl2h.m4" ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=voms pkgconfig = Executable(join_path(self.spec["pkgconfig"].prefix.bin, "pkg-config")) env.set("GSOAP_SSL_PP_CFLAGS", pkgconfig("--cflags", "gsoapssl++", "zlib", output=str)) diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index c10e49b0d00..e86ccd3762d 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -271,7 +271,7 @@ def url_for_version(self, version): url = "http://www.vtk.org/files/release/{0}/VTK-{1}.tar.gz" return url.format(version.up_to(2), version) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # VTK has some trouble finding freetype unless it is set in # the environment env.set("FREETYPE_DIR", self.spec["freetype"].prefix) diff --git a/var/spack/repos/builtin/packages/w3emc/package.py b/var/spack/repos/builtin/packages/w3emc/package.py index f7841835cce..499a40e1c48 100644 --- a/var/spack/repos/builtin/packages/w3emc/package.py +++ b/var/spack/repos/builtin/packages/w3emc/package.py @@ -64,7 +64,7 @@ class W3emc(CMakePackage): depends_on("sigio", when="@2.7.3") depends_on("netcdf-fortran", when="@2.7.3") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@:2.9"): suffixes = ("4", "d", "8") shared = False diff --git a/var/spack/repos/builtin/packages/w3m/package.py b/var/spack/repos/builtin/packages/w3m/package.py index 3072188f292..00bd59c2e3c 100644 --- a/var/spack/repos/builtin/packages/w3m/package.py +++ b/var/spack/repos/builtin/packages/w3m/package.py @@ -102,7 +102,7 @@ def configure_args(self): return args - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.variants["termlib"].value == "ncurses": env.append_flags("LDFLAGS", "-ltinfo") env.append_flags("LDFLAGS", "-lncurses") diff --git a/var/spack/repos/builtin/packages/wannier90/package.py b/var/spack/repos/builtin/packages/wannier90/package.py index 47874c433a8..980e95ab289 100644 --- a/var/spack/repos/builtin/packages/wannier90/package.py +++ b/var/spack/repos/builtin/packages/wannier90/package.py @@ -145,7 +145,7 @@ def edit(self, spec, prefix): string=True, ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("MPIFC", self.prefix.bin.mpifc) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/webbench/package.py b/var/spack/repos/builtin/packages/webbench/package.py index dd143f21a6a..6c979a0ee24 100644 --- a/var/spack/repos/builtin/packages/webbench/package.py +++ b/var/spack/repos/builtin/packages/webbench/package.py @@ -19,7 +19,7 @@ class Webbench(MakefilePackage): depends_on("ntirpc") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec["ntirpc"].prefix.include.ntirpc) def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/wgrib2/package.py b/var/spack/repos/builtin/packages/wgrib2/package.py index 5e122de4430..eaa4bc28be6 100644 --- a/var/spack/repos/builtin/packages/wgrib2/package.py +++ b/var/spack/repos/builtin/packages/wgrib2/package.py @@ -244,7 +244,7 @@ def edit(self, pkg, spec, prefix): value = int(spec.variants[variant_name].value) makefile.filter(r"^%s=.*" % makefile_option, "{}={}".format(makefile_option, value)) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.compiler.name in ["oneapi", "intel"]: comp_sys = "intel_linux" elif self.spec.compiler.name in ["gcc", "clang", "apple-clang"]: diff --git a/var/spack/repos/builtin/packages/whizard/package.py b/var/spack/repos/builtin/packages/whizard/package.py index 81cdf340c69..003ae099ee5 100644 --- a/var/spack/repos/builtin/packages/whizard/package.py +++ b/var/spack/repos/builtin/packages/whizard/package.py @@ -117,7 +117,7 @@ class Whizard(AutotoolsPackage): msg="The fortran compiler needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html", ) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # whizard uses some environment variables to detect dependencies at # configure time if they are not installed to standard system prefixes if self.spec.satisfies("+lcio"): diff --git a/var/spack/repos/builtin/packages/wi4mpi/package.py b/var/spack/repos/builtin/packages/wi4mpi/package.py index f65224a39e7..6c7353d7468 100644 --- a/var/spack/repos/builtin/packages/wi4mpi/package.py +++ b/var/spack/repos/builtin/packages/wi4mpi/package.py @@ -59,7 +59,7 @@ def cmake_args(self): ] return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("WI4MPI_ROOT", self.prefix) env.set("WI4MPI_VERSION", str(self.version)) env.set("WI4MPI_CC", self.compiler.cc) diff --git a/var/spack/repos/builtin/packages/win-wdk/package.py b/var/spack/repos/builtin/packages/win-wdk/package.py index 312303dc390..ce28dac149a 100644 --- a/var/spack/repos/builtin/packages/win-wdk/package.py +++ b/var/spack/repos/builtin/packages/win-wdk/package.py @@ -105,10 +105,12 @@ def determine_variants(cls, libs, ver_str): variants.append("plat=%s" % arch) return variants - def setup_dependent_environment(self): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # This points to all core build extensions needed to build # drivers on Windows - os.environ["WDKContentRoot"] = self.prefix + env.set("WDKContentRoot", self.prefix) @run_before("install") def rename_downloaded_executable(self): diff --git a/var/spack/repos/builtin/packages/wordnet/package.py b/var/spack/repos/builtin/packages/wordnet/package.py index 4d672000303..f90e4877c6f 100644 --- a/var/spack/repos/builtin/packages/wordnet/package.py +++ b/var/spack/repos/builtin/packages/wordnet/package.py @@ -29,6 +29,6 @@ def configure_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("WNHOME", self.prefix) env.set("WNSEARCHDIR", self.prefix.dict) diff --git a/var/spack/repos/builtin/packages/wps/package.py b/var/spack/repos/builtin/packages/wps/package.py index 61dfad0b415..566d69944bd 100644 --- a/var/spack/repos/builtin/packages/wps/package.py +++ b/var/spack/repos/builtin/packages/wps/package.py @@ -61,7 +61,7 @@ class Wps(Package): patch("for_aarch64.patch", when="target=aarch64:") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("WRF_DIR", self.spec["wrf"].prefix) env.set("NETCDF", self.spec["netcdf-c"].prefix) # This gets used via the applied patch files @@ -74,7 +74,7 @@ def setup_build_environment(self, env): env.set("FCFLAGS", args) env.set("FFLAGS", args) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.append_path("PATH", self.prefix) env.append_path("PATH", self.prefix.util) diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py index b6725f8f2bc..dba27293031 100644 --- a/var/spack/repos/builtin/packages/wrf/package.py +++ b/var/spack/repos/builtin/packages/wrf/package.py @@ -281,12 +281,12 @@ class Wrf(Package): ) phases = ["configure", "build", "install"] - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("WRF_HOME", self.prefix) env.append_path("PATH", self.prefix.main) env.append_path("PATH", self.prefix.tools) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # From 4.5.2 the split-netcdf patches are not needed, # just tell the build system where netcdf and netcdf-c are: if self.spec.satisfies("@4.5.2:"): @@ -298,9 +298,9 @@ def setup_build_environment(self, env): env.set("PNETCDF", self.spec["parallel-netcdf"].prefix) # Add WRF-Chem module if "+chem" in self.spec: - env.set("WRF_CHEM", 1) + env.set("WRF_CHEM", "1") if "+netcdf_classic" in self.spec: - env.set("NETCDF_classic", 1) + env.set("NETCDF_classic", "1") # This gets used via the applied patch files env.set("NETCDFF", self.spec["netcdf-fortran"].prefix) env.set("PHDF5", self.spec["hdf5"].prefix) @@ -308,7 +308,7 @@ def setup_build_environment(self, env): env.set("JASPERLIB", self.spec["jasper"].prefix.lib) if self.spec.satisfies("%aocc"): - env.set("WRFIO_NCD_LARGE_FILE_SUPPORT", 1) + env.set("WRFIO_NCD_LARGE_FILE_SUPPORT", "1") env.set("HDF5", self.spec["hdf5"].prefix) env.prepend_path("PATH", ancestor(self.compiler.cc)) diff --git a/var/spack/repos/builtin/packages/xcdf/package.py b/var/spack/repos/builtin/packages/xcdf/package.py index 4dc73fdd580..6214e3d37b7 100644 --- a/var/spack/repos/builtin/packages/xcdf/package.py +++ b/var/spack/repos/builtin/packages/xcdf/package.py @@ -23,5 +23,5 @@ class Xcdf(CMakePackage): depends_on("python@3.7:", when="@3.01:") depends_on("py-pybind11", when="@3.01:", type="build") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PYTHONPATH", self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/xfce4-session/package.py b/var/spack/repos/builtin/packages/xfce4-session/package.py index e8a7c06043a..6b5232135aa 100644 --- a/var/spack/repos/builtin/packages/xfce4-session/package.py +++ b/var/spack/repos/builtin/packages/xfce4-session/package.py @@ -55,7 +55,9 @@ def configure_args(self): def setup_run_enviornment(self, env): self.add_xdg_dirs(env) - def setup_dependent_run_environment(self, env, dep_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: self.add_xdg_dirs(env) def add_xdg_dirs(self, env): diff --git a/var/spack/repos/builtin/packages/xfsdump/package.py b/var/spack/repos/builtin/packages/xfsdump/package.py index 6b5b6a52151..ad2e85d3aa9 100644 --- a/var/spack/repos/builtin/packages/xfsdump/package.py +++ b/var/spack/repos/builtin/packages/xfsdump/package.py @@ -48,5 +48,5 @@ def install(self, spec, prefix): "install", ) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/xfsprogs/package.py b/var/spack/repos/builtin/packages/xfsprogs/package.py index 24ec70feb45..0bbe6ed15c7 100644 --- a/var/spack/repos/builtin/packages/xfsprogs/package.py +++ b/var/spack/repos/builtin/packages/xfsprogs/package.py @@ -52,7 +52,7 @@ def flag_handler(self, name, flags): flags.append("-lintl") return build_system_flags(name, flags) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_path("C_INCLUDE_PATH", self.spec["util-linux"].prefix.include.blkid) def configure_args(self): @@ -65,5 +65,5 @@ def install(self, spec, prefix): make("install") make("install-dev") - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/xfwp/package.py b/var/spack/repos/builtin/packages/xfwp/package.py index 9d81ae10fe3..d2a4500543c 100644 --- a/var/spack/repos/builtin/packages/xfwp/package.py +++ b/var/spack/repos/builtin/packages/xfwp/package.py @@ -24,5 +24,5 @@ class Xfwp(AutotoolsPackage, XorgPackage): # Fixes this and a long list of other compilation errors: # io.c:1039:7: error: implicit declaration of function 'swab' - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.append_flags("CPPFLAGS", "-D_GNU_SOURCE") diff --git a/var/spack/repos/builtin/packages/xkeyboard-config/package.py b/var/spack/repos/builtin/packages/xkeyboard-config/package.py index 65b08a4972e..767648e512e 100644 --- a/var/spack/repos/builtin/packages/xkeyboard-config/package.py +++ b/var/spack/repos/builtin/packages/xkeyboard-config/package.py @@ -35,8 +35,12 @@ class XkeyboardConfig(AutotoolsPackage, XorgPackage): # perl@5.8.1: # perl XML::Parser - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XKB_CONFIG_ROOT", self.prefix.share.X11.xkb) - def setup_dependent_run_environment(self, env, dependent_spec): + def setup_dependent_run_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: env.prepend_path("XKB_CONFIG_ROOT", self.prefix.share.X11.xkb) diff --git a/var/spack/repos/builtin/packages/xnedit/package.py b/var/spack/repos/builtin/packages/xnedit/package.py index e66c68405f4..9a884b7660f 100644 --- a/var/spack/repos/builtin/packages/xnedit/package.py +++ b/var/spack/repos/builtin/packages/xnedit/package.py @@ -45,7 +45,7 @@ class Xnedit(MakefilePackage): depends_on("motif") depends_on("pcre") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("LDFLAGS", "-Wl,--copy-dt-needed-entries") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/xorg-server/package.py b/var/spack/repos/builtin/packages/xorg-server/package.py index fc698436776..13a19c62766 100644 --- a/var/spack/repos/builtin/packages/xorg-server/package.py +++ b/var/spack/repos/builtin/packages/xorg-server/package.py @@ -85,7 +85,7 @@ def patch(self): depends_on("libpciaccess") @when("@:1.19") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: # https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/406 env.set("CPPFLAGS", "-fcommon") diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py index 043c8021220..a5db43ad999 100644 --- a/var/spack/repos/builtin/packages/xrootd/package.py +++ b/var/spack/repos/builtin/packages/xrootd/package.py @@ -246,7 +246,7 @@ def cmake_args(self): return options @when("@:5.1.99") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: cxxstdflag = "" if self.spec.variants["cxxstd"].value == "98": cxxstdflag = self.compiler.cxx98_flag diff --git a/var/spack/repos/builtin/packages/xsd/package.py b/var/spack/repos/builtin/packages/xsd/package.py index 658ab0c5663..29067b5ae51 100644 --- a/var/spack/repos/builtin/packages/xsd/package.py +++ b/var/spack/repos/builtin/packages/xsd/package.py @@ -40,7 +40,7 @@ class Xsd(MakefilePackage): def install(self, spec, prefix): make("install", "install_prefix=" + prefix) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: xercesc_lib_flags = self.spec["xerces-c"].libs.search_flags env.append_flags("LDFLAGS", xercesc_lib_flags) cxxstdflag = "cxx{0}_flag".format(self.spec.variants["cxxstd"].value) diff --git a/var/spack/repos/builtin/packages/yorick/package.py b/var/spack/repos/builtin/packages/yorick/package.py index b18b6796ec3..ac9a337f90d 100644 --- a/var/spack/repos/builtin/packages/yorick/package.py +++ b/var/spack/repos/builtin/packages/yorick/package.py @@ -38,7 +38,7 @@ def url_for_version(self, version): url = "https://github.com/dhmunro/yorick/archive/y_{0}.tar.gz" return url.format(version.underscored) - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("FORTRAN_LINKAGE", "-Df_linkage") if self.spec.satisfies("arch=aarch64:"): env.set("FPU_IGNORE", "1") diff --git a/var/spack/repos/builtin/packages/yosys/package.py b/var/spack/repos/builtin/packages/yosys/package.py index d11f10c9a2f..a17b8e59c01 100644 --- a/var/spack/repos/builtin/packages/yosys/package.py +++ b/var/spack/repos/builtin/packages/yosys/package.py @@ -85,7 +85,7 @@ def edit(self, spec, prefix): makefile.filter(r"ENABLE_ABC :=", "ENABLE_ABC ?=") makefile.filter(r"ENABLE_CCACHE :=", "ENABLE_CCACHE ?=") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("PREFIX", self.prefix) env.set("CXXFLAGS", f'-I{self.spec["readline"].prefix.include}') env.set( diff --git a/var/spack/repos/builtin/packages/zabbix/package.py b/var/spack/repos/builtin/packages/zabbix/package.py index 67d9e63f2d8..b5fe07757f8 100644 --- a/var/spack/repos/builtin/packages/zabbix/package.py +++ b/var/spack/repos/builtin/packages/zabbix/package.py @@ -67,5 +67,5 @@ def configure_args(self): return args - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/zfs/package.py b/var/spack/repos/builtin/packages/zfs/package.py index 9b602426015..5600b314e76 100644 --- a/var/spack/repos/builtin/packages/zfs/package.py +++ b/var/spack/repos/builtin/packages/zfs/package.py @@ -27,5 +27,5 @@ class Zfs(AutotoolsPackage): depends_on("libtirpc") depends_on("util-linux") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("CPATH", self.spec["util-linux"].prefix.include) diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py index 72e7ee7f385..b46d6c63cec 100644 --- a/var/spack/repos/builtin/packages/zlib/package.py +++ b/var/spack/repos/builtin/packages/zlib/package.py @@ -93,7 +93,7 @@ def libs(self): class SetupEnvironment: - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: if "+pic" in self.spec: env.append_flags("CFLAGS", self.pkg.compiler.cc_pic_flag) if "+optimize" in self.spec: diff --git a/var/spack/repos/builtin/packages/zookeeper/package.py b/var/spack/repos/builtin/packages/zookeeper/package.py index 35e2ae0416f..c28486134df 100644 --- a/var/spack/repos/builtin/packages/zookeeper/package.py +++ b/var/spack/repos/builtin/packages/zookeeper/package.py @@ -32,7 +32,7 @@ class Zookeeper(Package): def install(self, spec, prefix): install_tree(".", prefix) - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ZOOBINDIR", self.prefix.bin) env.set("ZOOCFGDIR", ".") env.set("ZOO_LOG_DIR", ".") diff --git a/var/spack/repos/builtin/packages/zuo/package.py b/var/spack/repos/builtin/packages/zuo/package.py index 7f99dcca197..1892cea1800 100644 --- a/var/spack/repos/builtin/packages/zuo/package.py +++ b/var/spack/repos/builtin/packages/zuo/package.py @@ -21,8 +21,8 @@ class Zuo(AutotoolsPackage): depends_on("c", type="build") - def setup_build_environment(self, env): - env.set("ZUO_JOBS", make_jobs) + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("ZUO_JOBS", str(make_jobs)) def configure_args(self): return [*self.enable_or_disable("big")] diff --git a/var/spack/repos/tutorial/packages/elpa/package.py b/var/spack/repos/tutorial/packages/elpa/package.py index e7068cff366..31755a63dc2 100644 --- a/var/spack/repos/tutorial/packages/elpa/package.py +++ b/var/spack/repos/tutorial/packages/elpa/package.py @@ -41,7 +41,7 @@ def libs(self): build_directory = "spack-build" - def setup_run_environment(self, env): + def setup_run_environment(self, env: EnvironmentModifications) -> None: # TUTORIAL: set the following environment variables: # # CC=spec['mpi'].mpicc diff --git a/var/spack/repos/tutorial/packages/hdf5/package.py b/var/spack/repos/tutorial/packages/hdf5/package.py index 234e249a7ee..34ebfadf9fc 100644 --- a/var/spack/repos/tutorial/packages/hdf5/package.py +++ b/var/spack/repos/tutorial/packages/hdf5/package.py @@ -306,7 +306,7 @@ def libs(self): return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True) @when("@:1.8.21,1.10.0:1.10.5+szip") - def setup_build_environment(self, env): + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("SZIP_INSTALL", self.spec["szip"].prefix) @run_before("cmake") diff --git a/var/spack/repos/tutorial/packages/mpich/package.py b/var/spack/repos/tutorial/packages/mpich/package.py index c6b55b9f47a..de60bb2487c 100644 --- a/var/spack/repos/tutorial/packages/mpich/package.py +++ b/var/spack/repos/tutorial/packages/mpich/package.py @@ -72,7 +72,9 @@ class Mpich(AutotoolsPackage): conflicts("netmod=mxm", when="@:3.1.3") conflicts("netmod=tcp", when="device=ch4") - def setup_dependent_build_environment(self, env, dependent_spec): + def setup_dependent_build_environment( + self, env: EnvironmentModifications, dependent_spec: Spec + ) -> None: # TUTORIAL: set the following variables for dependents: # # MPICC=join_path(self.prefix.bin, 'mpicc')