summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarmen Stoppels <me@harmenstoppels.nl>2024-09-09 19:37:26 +0200
committerGitHub <noreply@github.com>2024-09-09 10:37:26 -0700
commit2f789f01d3b38770fb51c01b9bf64024b8852d82 (patch)
tree3bc44841f331870680b84ca1bc2872908636250e /lib
parent0229240df45b4e7c3a74d4084bd9c72bd5bc98e5 (diff)
downloadspack-2f789f01d3b38770fb51c01b9bf64024b8852d82.tar.gz
spack-2f789f01d3b38770fb51c01b9bf64024b8852d82.tar.bz2
spack-2f789f01d3b38770fb51c01b9bf64024b8852d82.tar.xz
spack-2f789f01d3b38770fb51c01b9bf64024b8852d82.zip
Revert "Set module variables for all packages before running setup_dependent_…" (#46283)
This reverts commit 6f08db463149efdea126abf8fdc770f684b4199d.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/build_environment.py7
-rw-r--r--lib/spack/spack/test/build_environment.py24
2 files changed, 1 insertions, 30 deletions
diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py
index e95a904217..e807bf6fd0 100644
--- a/lib/spack/spack/build_environment.py
+++ b/lib/spack/spack/build_environment.py
@@ -1003,6 +1003,7 @@ class SetupContext:
"""Set the globals in modules of package.py files."""
for dspec, flag in chain(self.external, self.nonexternal):
pkg = dspec.package
+
if self.should_set_package_py_globals & flag:
if self.context == Context.BUILD and self.needs_build_context & flag:
set_package_py_globals(pkg, context=Context.BUILD)
@@ -1010,12 +1011,6 @@ class SetupContext:
# This includes runtime dependencies, also runtime deps of direct build deps.
set_package_py_globals(pkg, context=Context.RUN)
- # Looping over the set of packages a second time
- # ensures all globals are loaded into the module space prior to
- # any package setup. This guarantees package setup methods have
- # access to expected module level definitions such as "spack_cc"
- for dspec, flag in chain(self.external, self.nonexternal):
- pkg = dspec.package
for spec in dspec.dependents():
# Note: some specs have dependents that are unreachable from the root, so avoid
# setting globals for those.
diff --git a/lib/spack/spack/test/build_environment.py b/lib/spack/spack/test/build_environment.py
index 02f0a27f46..3ae41acc9c 100644
--- a/lib/spack/spack/test/build_environment.py
+++ b/lib/spack/spack/test/build_environment.py
@@ -513,30 +513,6 @@ def test_setting_dtags_based_on_config(config_setting, expected_flag, config, mo
assert dtags_to_add.value == expected_flag
-def test_module_globals_available_at_setup_dependent_time(
- monkeypatch, mutable_config, mock_packages, working_env
-):
- """Spack built package externaltest depends on an external package
- externaltool. Externaltool's setup_dependent_package needs to be able to
- access globals on the dependent"""
-
- def setup_dependent_package(module, dependent_spec):
- # Make sure set_package_py_globals was already called on
- # dependents
- # ninja is always set by the setup context and is not None
- dependent_module = dependent_spec.package.module
- assert hasattr(dependent_module, "ninja")
- assert dependent_module.ninja is not None
- dependent_spec.package.test_attr = True
-
- externaltool = spack.spec.Spec("externaltest").concretized()
- monkeypatch.setattr(
- externaltool["externaltool"].package, "setup_dependent_package", setup_dependent_package
- )
- spack.build_environment.setup_package(externaltool.package, False)
- assert externaltool.package.test_attr
-
-
def test_build_jobs_sequential_is_sequential():
assert (
determine_number_of_jobs(