Move %compiler last in static spec strings (#49438)

This commit is contained in:
Harmen Stoppels 2025-03-12 19:41:43 +01:00 committed by GitHub
parent cf804c4ea8
commit f89a2ada4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
74 changed files with 245 additions and 245 deletions

View File

@ -129,7 +129,7 @@ def test_satisfy_strict_constraint_when_not_concrete(architecture_tuple, constra
) )
def test_concretize_target_ranges(root_target_range, dep_target_range, result, monkeypatch): def test_concretize_target_ranges(root_target_range, dep_target_range, result, monkeypatch):
spec = Spec( spec = Spec(
f"pkg-a %gcc@10 foobar=bar target={root_target_range} ^pkg-b target={dep_target_range}" f"pkg-a foobar=bar target={root_target_range} %gcc@10 ^pkg-b target={dep_target_range}"
) )
with spack.concretize.disable_compiler_existence_check(): with spack.concretize.disable_compiler_existence_check():
spec = spack.concretize.concretize_one(spec) spec = spack.concretize.concretize_one(spec)

View File

@ -1140,7 +1140,7 @@ def test_get_valid_spec_file_no_json(tmp_path, filename):
def test_download_tarball_with_unsupported_layout_fails(tmp_path, mutable_config, capsys): def test_download_tarball_with_unsupported_layout_fails(tmp_path, mutable_config, capsys):
layout_version = bindist.CURRENT_BUILD_CACHE_LAYOUT_VERSION + 1 layout_version = bindist.CURRENT_BUILD_CACHE_LAYOUT_VERSION + 1
spec = Spec("gmake@4.4.1%gcc@13.1.0 arch=linux-ubuntu23.04-zen2") spec = Spec("gmake@4.4.1 arch=linux-ubuntu23.04-zen2 %gcc@13.1.0")
spec._mark_concrete() spec._mark_concrete()
spec_dict = spec.to_dict() spec_dict = spec.to_dict()
spec_dict["buildcache_layout_version"] = layout_version spec_dict["buildcache_layout_version"] = layout_version

View File

@ -92,7 +92,7 @@ def test_external_nodes_do_not_have_runtimes(runtime_repo, mutable_config, tmp_p
# Same as before, but tests that we can reuse from a more generic target # Same as before, but tests that we can reuse from a more generic target
pytest.param( pytest.param(
"pkg-a%gcc@9.4.0", "pkg-a%gcc@9.4.0",
"pkg-b%gcc@10.2.1 target=x86_64", "pkg-b target=x86_64 %gcc@10.2.1",
{"pkg-a": "gcc-runtime@9.4.0", "pkg-b": "gcc-runtime@9.4.0"}, {"pkg-a": "gcc-runtime@9.4.0", "pkg-b": "gcc-runtime@9.4.0"},
1, 1,
marks=pytest.mark.skipif( marks=pytest.mark.skipif(
@ -101,7 +101,7 @@ def test_external_nodes_do_not_have_runtimes(runtime_repo, mutable_config, tmp_p
), ),
pytest.param( pytest.param(
"pkg-a%gcc@10.2.1", "pkg-a%gcc@10.2.1",
"pkg-b%gcc@9.4.0 target=x86_64", "pkg-b target=x86_64 %gcc@9.4.0",
{ {
"pkg-a": "gcc-runtime@10.2.1 target=x86_64", "pkg-a": "gcc-runtime@10.2.1 target=x86_64",
"pkg-b": "gcc-runtime@9.4.0 target=x86_64", "pkg-b": "gcc-runtime@9.4.0 target=x86_64",

View File

@ -121,7 +121,7 @@ def binary_compatibility(monkeypatch, request):
"mpileaks ^mpi@1.2:2", "mpileaks ^mpi@1.2:2",
# conflict not triggered # conflict not triggered
"conflict", "conflict",
"conflict%clang~foo", "conflict~foo%clang",
"conflict-parent%gcc", "conflict-parent%gcc",
] ]
) )
@ -387,8 +387,8 @@ def test_different_compilers_get_different_flags(
t = archspec.cpu.host().family t = archspec.cpu.host().family
client = spack.concretize.concretize_one( client = spack.concretize.concretize_one(
Spec( Spec(
f"cmake-client %gcc@11.1.0 platform=test os=redhat6 target={t}" f"cmake-client platform=test os=redhat6 target={t} %gcc@11.1.0"
f" ^cmake %clang@12.2.0 platform=test os=redhat6 target={t}" f" ^cmake platform=test os=redhat6 target={t} %clang@12.2.0"
) )
) )
cmake = client["cmake"] cmake = client["cmake"]
@ -403,7 +403,7 @@ def test_spec_flags_maintain_order(self, mutable_config, gcc11_with_flags):
for successive concretizations. for successive concretizations.
""" """
mutable_config.set("compilers", [gcc11_with_flags]) mutable_config.set("compilers", [gcc11_with_flags])
spec_str = "libelf %gcc@11.1.0 os=redhat6" spec_str = "libelf os=redhat6 %gcc@11.1.0"
for _ in range(3): for _ in range(3):
s = spack.concretize.concretize_one(spec_str) s = spack.concretize.concretize_one(spec_str)
assert all( assert all(
@ -414,7 +414,7 @@ def test_compiler_flags_differ_identical_compilers(self, mutable_config, clang12
mutable_config.set("compilers", [clang12_with_flags]) mutable_config.set("compilers", [clang12_with_flags])
# Correct arch to use test compiler that has flags # Correct arch to use test compiler that has flags
t = archspec.cpu.host().family t = archspec.cpu.host().family
spec = Spec(f"pkg-a %clang@12.2.0 platform=test os=redhat6 target={t}") spec = Spec(f"pkg-a platform=test os=redhat6 target={t} %clang@12.2.0")
# Get the compiler that matches the spec ( # Get the compiler that matches the spec (
compiler = spack.compilers.compiler_for_spec("clang@=12.2.0", spec.architecture) compiler = spack.compilers.compiler_for_spec("clang@=12.2.0", spec.architecture)
@ -488,13 +488,13 @@ def test_architecture_deep_inheritance(self, mock_targets, compiler_factory):
# CNL compiler has no target attribute, and this is essential to make detection pass # CNL compiler has no target attribute, and this is essential to make detection pass
del cnl_compiler["compiler"]["target"] del cnl_compiler["compiler"]["target"]
with spack.config.override("compilers", [cnl_compiler]): with spack.config.override("compilers", [cnl_compiler]):
spec_str = "mpileaks %gcc@4.5.0 os=CNL target=nocona ^dyninst os=CNL ^callpath os=CNL" spec_str = "mpileaks os=CNL target=nocona %gcc@4.5.0 ^dyninst os=CNL ^callpath os=CNL"
spec = spack.concretize.concretize_one(spec_str) spec = spack.concretize.concretize_one(spec_str)
for s in spec.traverse(root=False): for s in spec.traverse(root=False):
assert s.architecture.target == spec.architecture.target assert s.architecture.target == spec.architecture.target
def test_compiler_flags_from_user_are_grouped(self): def test_compiler_flags_from_user_are_grouped(self):
spec = Spec('pkg-a%gcc cflags="-O -foo-flag foo-val" platform=test') spec = Spec('pkg-a cflags="-O -foo-flag foo-val" platform=test %gcc')
spec = spack.concretize.concretize_one(spec) spec = spack.concretize.concretize_one(spec)
cflags = spec.compiler_flags["cflags"] cflags = spec.compiler_flags["cflags"]
assert any(x == "-foo-flag foo-val" for x in cflags) assert any(x == "-foo-flag foo-val" for x in cflags)
@ -804,7 +804,7 @@ def test_external_and_virtual(self, mutable_config):
assert spec["stuff"].compiler.satisfies("gcc") assert spec["stuff"].compiler.satisfies("gcc")
def test_compiler_child(self): def test_compiler_child(self):
s = Spec("mpileaks%clang target=x86_64 ^dyninst%gcc") s = Spec("mpileaks target=x86_64 %clang ^dyninst%gcc")
s = spack.concretize.concretize_one(s) s = spack.concretize.concretize_one(s)
assert s["mpileaks"].satisfies("%clang") assert s["mpileaks"].satisfies("%clang")
assert s["dyninst"].satisfies("%gcc") assert s["dyninst"].satisfies("%gcc")
@ -826,7 +826,7 @@ def test_conflict_in_all_directives_true(self):
with pytest.raises(spack.error.SpackError): with pytest.raises(spack.error.SpackError):
s = spack.concretize.concretize_one(s) s = spack.concretize.concretize_one(s)
@pytest.mark.parametrize("spec_str", ["conflict@10.0%clang+foo"]) @pytest.mark.parametrize("spec_str", ["conflict@10.0+foo%clang"])
def test_no_conflict_in_external_specs(self, spec_str): def test_no_conflict_in_external_specs(self, spec_str):
# Modify the configuration to have the spec with conflict # Modify the configuration to have the spec with conflict
# registered as an external # registered as an external
@ -940,9 +940,9 @@ def test_noversion_pkg(self, spec):
"spec, best_achievable", "spec, best_achievable",
[ [
("mpileaks%gcc@=4.4.7 ^dyninst@=10.2.1 target=x86_64:", "core2"), ("mpileaks%gcc@=4.4.7 ^dyninst@=10.2.1 target=x86_64:", "core2"),
("mpileaks%gcc@=4.8 target=x86_64:", "haswell"), ("mpileaks target=x86_64: %gcc@=4.8", "haswell"),
("mpileaks%gcc@=5.3.0 target=x86_64:", "broadwell"), ("mpileaks target=x86_64: %gcc@=5.3.0", "broadwell"),
("mpileaks%apple-clang@=5.1.0 target=x86_64:", "x86_64"), ("mpileaks target=x86_64: %apple-clang@=5.1.0", "x86_64"),
], ],
) )
@pytest.mark.regression("13361", "20537") @pytest.mark.regression("13361", "20537")
@ -1286,7 +1286,7 @@ def test_compiler_match_is_preferred_to_newer_version(self, compiler_factory):
with spack.config.override( with spack.config.override(
"compilers", [compiler_factory(spec="gcc@10.1.0", operating_system="redhat6")] "compilers", [compiler_factory(spec="gcc@10.1.0", operating_system="redhat6")]
): ):
spec_str = "simple-inheritance+openblas %gcc@10.1.0 os=redhat6" spec_str = "simple-inheritance+openblas os=redhat6 %gcc@10.1.0"
s = spack.concretize.concretize_one(spec_str) s = spack.concretize.concretize_one(spec_str)
assert "openblas@0.2.15" in s assert "openblas@0.2.15" in s
assert s["openblas"].satisfies("%gcc@10.1.0") assert s["openblas"].satisfies("%gcc@10.1.0")
@ -1319,7 +1319,7 @@ def test_custom_compiler_version(self, mutable_config, compiler_factory, monkeyp
"compilers", [compiler_factory(spec="gcc@10foo", operating_system="redhat6")] "compilers", [compiler_factory(spec="gcc@10foo", operating_system="redhat6")]
) )
monkeypatch.setattr(spack.compiler.Compiler, "real_version", "10.2.1") monkeypatch.setattr(spack.compiler.Compiler, "real_version", "10.2.1")
s = spack.concretize.concretize_one("pkg-a %gcc@10foo os=redhat6") s = spack.concretize.concretize_one("pkg-a os=redhat6 %gcc@10foo")
assert "%gcc@10foo" in s assert "%gcc@10foo" in s
def test_all_patches_applied(self): def test_all_patches_applied(self):
@ -1531,8 +1531,8 @@ def test_external_with_non_default_variant_as_dependency(self):
("mpileaks", "os=debian6"), ("mpileaks", "os=debian6"),
# To trigger the bug in 22871 we need to have the same compiler # To trigger the bug in 22871 we need to have the same compiler
# spec available on both operating systems # spec available on both operating systems
("mpileaks%gcc@10.2.1 platform=test os=debian6", "os=debian6"), ("mpileaks platform=test os=debian6 %gcc@10.2.1", "os=debian6"),
("mpileaks%gcc@10.2.1 platform=test os=redhat6", "os=redhat6"), ("mpileaks platform=test os=redhat6 %gcc@10.2.1", "os=redhat6"),
], ],
) )
def test_os_selection_when_multiple_choices_are_possible( def test_os_selection_when_multiple_choices_are_possible(
@ -3013,7 +3013,7 @@ def test_virtuals_provided_together_but_only_one_required_in_dag(self):
def test_reusable_externals_match(mock_packages, tmpdir): def test_reusable_externals_match(mock_packages, tmpdir):
spec = Spec("mpich@4.1%gcc@13.1.0~debug build_system=generic arch=linux-ubuntu23.04-zen2") spec = Spec("mpich@4.1~debug build_system=generic arch=linux-ubuntu23.04-zen2 %gcc@13.1.0")
spec.external_path = tmpdir.strpath spec.external_path = tmpdir.strpath
spec.external_modules = ["mpich/4.1"] spec.external_modules = ["mpich/4.1"]
spec._mark_concrete() spec._mark_concrete()
@ -3031,7 +3031,7 @@ def test_reusable_externals_match(mock_packages, tmpdir):
def test_reusable_externals_match_virtual(mock_packages, tmpdir): def test_reusable_externals_match_virtual(mock_packages, tmpdir):
spec = Spec("mpich@4.1%gcc@13.1.0~debug build_system=generic arch=linux-ubuntu23.04-zen2") spec = Spec("mpich@4.1~debug build_system=generic arch=linux-ubuntu23.04-zen2 %gcc@13.1.0")
spec.external_path = tmpdir.strpath spec.external_path = tmpdir.strpath
spec.external_modules = ["mpich/4.1"] spec.external_modules = ["mpich/4.1"]
spec._mark_concrete() spec._mark_concrete()
@ -3049,7 +3049,7 @@ def test_reusable_externals_match_virtual(mock_packages, tmpdir):
def test_reusable_externals_different_prefix(mock_packages, tmpdir): def test_reusable_externals_different_prefix(mock_packages, tmpdir):
spec = Spec("mpich@4.1%gcc@13.1.0~debug build_system=generic arch=linux-ubuntu23.04-zen2") spec = Spec("mpich@4.1~debug build_system=generic arch=linux-ubuntu23.04-zen2 %gcc@13.1.0")
spec.external_path = "/other/path" spec.external_path = "/other/path"
spec.external_modules = ["mpich/4.1"] spec.external_modules = ["mpich/4.1"]
spec._mark_concrete() spec._mark_concrete()
@ -3068,7 +3068,7 @@ def test_reusable_externals_different_prefix(mock_packages, tmpdir):
@pytest.mark.parametrize("modules", [None, ["mpich/4.1", "libfabric/1.19"]]) @pytest.mark.parametrize("modules", [None, ["mpich/4.1", "libfabric/1.19"]])
def test_reusable_externals_different_modules(mock_packages, tmpdir, modules): def test_reusable_externals_different_modules(mock_packages, tmpdir, modules):
spec = Spec("mpich@4.1%gcc@13.1.0~debug build_system=generic arch=linux-ubuntu23.04-zen2") spec = Spec("mpich@4.1~debug build_system=generic arch=linux-ubuntu23.04-zen2 %gcc@13.1.0")
spec.external_path = tmpdir.strpath spec.external_path = tmpdir.strpath
spec.external_modules = modules spec.external_modules = modules
spec._mark_concrete() spec._mark_concrete()
@ -3086,7 +3086,7 @@ def test_reusable_externals_different_modules(mock_packages, tmpdir, modules):
def test_reusable_externals_different_spec(mock_packages, tmpdir): def test_reusable_externals_different_spec(mock_packages, tmpdir):
spec = Spec("mpich@4.1%gcc@13.1.0~debug build_system=generic arch=linux-ubuntu23.04-zen2") spec = Spec("mpich@4.1~debug build_system=generic arch=linux-ubuntu23.04-zen2 %gcc@13.1.0")
spec.external_path = tmpdir.strpath spec.external_path = tmpdir.strpath
spec._mark_concrete() spec._mark_concrete()
assert not spack.solver.asp._is_reusable( assert not spack.solver.asp._is_reusable(

View File

@ -94,7 +94,7 @@ def test_mix_spec_and_compiler_cfg(concretize_scope, test_repo):
conf_str = _compiler_cfg_one_entry_with_cflags("-Wall") conf_str = _compiler_cfg_one_entry_with_cflags("-Wall")
update_concretize_scope(conf_str, "compilers") update_concretize_scope(conf_str, "compilers")
s1 = spack.concretize.concretize_one('y %gcc@12.100.100 cflags="-O2"') s1 = spack.concretize.concretize_one('y cflags="-O2" %gcc@12.100.100')
assert s1.satisfies('cflags="-Wall -O2"') assert s1.satisfies('cflags="-Wall -O2"')
@ -182,7 +182,7 @@ def test_propagate_and_compiler_cfg(concretize_scope, test_repo):
conf_str = _compiler_cfg_one_entry_with_cflags("-f2") conf_str = _compiler_cfg_one_entry_with_cflags("-f2")
update_concretize_scope(conf_str, "compilers") update_concretize_scope(conf_str, "compilers")
root_spec = spack.concretize.concretize_one("v %gcc@12.100.100 cflags=='-f1'") root_spec = spack.concretize.concretize_one("v cflags=='-f1' %gcc@12.100.100")
assert root_spec["y"].satisfies("cflags='-f1 -f2'") assert root_spec["y"].satisfies("cflags='-f1 -f2'")
@ -229,7 +229,7 @@ def test_dev_mix_flags(tmp_path, concretize_scope, mutable_mock_env_path, test_r
env_content = f"""\ env_content = f"""\
spack: spack:
specs: specs:
- y %gcc@12.100.100 cflags=='-fsanitize=address' - y cflags=='-fsanitize=address' %gcc@12.100.100
develop: develop:
y: y:
spec: y cflags=='-fsanitize=address' spec: y cflags=='-fsanitize=address'

View File

@ -359,10 +359,10 @@ def test_one_package_multiple_oneof_groups(concretize_scope, test_repo):
update_packages_config(conf_str) update_packages_config(conf_str)
s1 = spack.concretize.concretize_one("y@2.5") s1 = spack.concretize.concretize_one("y@2.5")
assert s1.satisfies("%clang~shared") assert s1.satisfies("~shared%clang")
s2 = spack.concretize.concretize_one("y@2.4") s2 = spack.concretize.concretize_one("y@2.4")
assert s2.satisfies("%gcc+shared") assert s2.satisfies("+shared%gcc")
@pytest.mark.regression("34241") @pytest.mark.regression("34241")
@ -499,7 +499,7 @@ def test_default_requirements_with_all(spec_str, requirement_str, concretize_sco
"requirements,expectations", "requirements,expectations",
[ [
(("%gcc", "%clang"), ("%gcc", "%clang")), (("%gcc", "%clang"), ("%gcc", "%clang")),
(("%gcc~shared", "@1.0"), ("%gcc~shared", "@1.0+shared")), (("~shared%gcc", "@1.0"), ("~shared%gcc", "@1.0+shared")),
], ],
) )
def test_default_and_package_specific_requirements( def test_default_and_package_specific_requirements(
@ -754,7 +754,7 @@ def test_skip_requirement_when_default_requirement_condition_cannot_be_met(
update_packages_config(packages_yaml) update_packages_config(packages_yaml)
s = spack.concretize.concretize_one("mpileaks") s = spack.concretize.concretize_one("mpileaks")
assert s.satisfies("%clang+shared") assert s.satisfies("+shared %clang")
# Sanity checks that 'callpath' doesn't have the shared variant, but that didn't # Sanity checks that 'callpath' doesn't have the shared variant, but that didn't
# cause failures during concretization. # cause failures during concretization.
assert "shared" not in s["callpath"].variants assert "shared" not in s["callpath"].variants

View File

@ -1221,7 +1221,7 @@ def test_user_config_path_is_default_when_env_var_is_empty(working_env):
def test_default_install_tree(monkeypatch, default_config): def test_default_install_tree(monkeypatch, default_config):
s = spack.spec.Spec("nonexistent@x.y.z %none@a.b.c arch=foo-bar-baz") s = spack.spec.Spec("nonexistent@x.y.z arch=foo-bar-baz %none@a.b.c")
monkeypatch.setattr(s, "dag_hash", lambda length: "abc123") monkeypatch.setattr(s, "dag_hash", lambda length: "abc123")
_, _, projections = spack.store.parse_install_tree(spack.config.get("config")) _, _, projections = spack.store.parse_install_tree(spack.config.get("config"))
assert s.format(projections["all"]) == "foo-bar-baz/none-a.b.c/nonexistent-x.y.z-abc123" assert s.format(projections["all"]) == "foo-bar-baz/none-a.b.c/nonexistent-x.y.z-abc123"

View File

@ -1700,7 +1700,7 @@ def installation_dir_with_headers(tmpdir_factory):
########## ##########
@pytest.fixture(params=["conflict%clang+foo", "conflict-parent@0.9^conflict~foo"]) @pytest.fixture(params=["conflict+foo%clang", "conflict-parent@0.9^conflict~foo"])
def conflict_spec(request): def conflict_spec(request):
"""Specs which violate constraints specified with the "conflicts" """Specs which violate constraints specified with the "conflicts"
directive in the "conflict" package. directive in the "conflict" package.

View File

@ -53,7 +53,7 @@ def test_no_version_match(pkg_name):
# Constraints on compilers with a default # Constraints on compilers with a default
("%gcc", "has_a_default", "gcc"), ("%gcc", "has_a_default", "gcc"),
("%clang", "has_a_default", "clang"), ("%clang", "has_a_default", "clang"),
("%apple-clang os=elcapitan", "has_a_default", "default"), ("os=elcapitan %apple-clang", "has_a_default", "default"),
# Constraints on dependencies # Constraints on dependencies
("^zmpi", "different_by_dep", "zmpi"), ("^zmpi", "different_by_dep", "zmpi"),
("^mpich", "different_by_dep", "mpich"), ("^mpich", "different_by_dep", "mpich"),
@ -74,7 +74,7 @@ def test_multimethod_calls(
with spack.config.override( with spack.config.override(
"compilers", [compiler_factory(spec="apple-clang@9.1.0", operating_system="elcapitan")] "compilers", [compiler_factory(spec="apple-clang@9.1.0", operating_system="elcapitan")]
): ):
s = spack.concretize.concretize_one(pkg_name + constraint_str) s = spack.concretize.concretize_one(f"{pkg_name} {constraint_str}")
msg = f"Method {method_name} from {s} is giving a wrong result" msg = f"Method {method_name} from {s} is giving a wrong result"
assert getattr(s.package, method_name)() == expected_result, msg assert getattr(s.package, method_name)() == expected_result, msg

View File

@ -38,9 +38,9 @@
{"optional-dep-test@1.1%intel": {"pkg-b": None, "pkg-c": None}}, {"optional-dep-test@1.1%intel": {"pkg-b": None, "pkg-c": None}},
), ),
( (
"optional-dep-test@1.1%intel@64.1.2+a", "optional-dep-test@1.1+a%intel@64.1.2",
{ {
"optional-dep-test@1.1%intel@64.1.2+a": { "optional-dep-test@1.1+a%intel@64.1.2": {
"pkg-a": None, "pkg-a": None,
"pkg-b": None, "pkg-b": None,
"pkg-c": None, "pkg-c": None,
@ -49,8 +49,8 @@
}, },
), ),
( (
"optional-dep-test@1.1%clang@36.5+a", "optional-dep-test@1.1+a%clang@36.5",
{"optional-dep-test@1.1%clang@36.5+a": {"pkg-b": None, "pkg-a": None, "pkg-e": None}}, {"optional-dep-test@1.1+a%clang@36.5": {"pkg-b": None, "pkg-a": None, "pkg-e": None}},
), ),
# Chained MPI # Chained MPI
( (

View File

@ -160,11 +160,11 @@ def _specfile_for(spec_str, filename):
), ),
# Version after compiler # Version after compiler
( (
"foo %bar@1.0 @2.0", "foo @2.0 %bar@1.0",
[ [
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="foo"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="foo"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%bar@1.0"),
Token(SpecTokens.VERSION, value="@2.0"), Token(SpecTokens.VERSION, value="@2.0"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%bar@1.0"),
], ],
"foo@2.0 %bar@1.0", "foo@2.0 %bar@1.0",
), ),
@ -175,15 +175,15 @@ def _specfile_for(spec_str, filename):
dependency_with_version("openmpi ^hwloc@1.2e6:1.4b7-rc3"), dependency_with_version("openmpi ^hwloc@1.2e6:1.4b7-rc3"),
# Complex specs with multiple constraints # Complex specs with multiple constraints
( (
"mvapich_foo ^_openmpi@1.2:1.4,1.6%intel@12.1+debug~qt_4 ^stackwalker@8.1_1e", "mvapich_foo ^_openmpi@1.2:1.4,1.6+debug~qt_4 %intel@12.1 ^stackwalker@8.1_1e",
[ [
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"),
Token(SpecTokens.DEPENDENCY, value="^"), Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"),
Token(SpecTokens.VERSION, value="@1.2:1.4,1.6"), Token(SpecTokens.VERSION, value="@1.2:1.4,1.6"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.BOOL_VARIANT, value="+debug"), Token(SpecTokens.BOOL_VARIANT, value="+debug"),
Token(SpecTokens.BOOL_VARIANT, value="~qt_4"), Token(SpecTokens.BOOL_VARIANT, value="~qt_4"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.DEPENDENCY, value="^"), Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"),
Token(SpecTokens.VERSION, value="@8.1_1e"), Token(SpecTokens.VERSION, value="@8.1_1e"),
@ -191,15 +191,15 @@ def _specfile_for(spec_str, filename):
"mvapich_foo ^_openmpi@1.2:1.4,1.6+debug~qt_4 %intel@12.1 ^stackwalker@8.1_1e", "mvapich_foo ^_openmpi@1.2:1.4,1.6+debug~qt_4 %intel@12.1 ^stackwalker@8.1_1e",
), ),
( (
"mvapich_foo ^_openmpi@1.2:1.4,1.6%intel@12.1~qt_4 debug=2 ^stackwalker@8.1_1e", "mvapich_foo ^_openmpi@1.2:1.4,1.6~qt_4 debug=2 %intel@12.1 ^stackwalker@8.1_1e",
[ [
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"),
Token(SpecTokens.DEPENDENCY, value="^"), Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"),
Token(SpecTokens.VERSION, value="@1.2:1.4,1.6"), Token(SpecTokens.VERSION, value="@1.2:1.4,1.6"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.BOOL_VARIANT, value="~qt_4"), Token(SpecTokens.BOOL_VARIANT, value="~qt_4"),
Token(SpecTokens.KEY_VALUE_PAIR, value="debug=2"), Token(SpecTokens.KEY_VALUE_PAIR, value="debug=2"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.DEPENDENCY, value="^"), Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"),
Token(SpecTokens.VERSION, value="@8.1_1e"), Token(SpecTokens.VERSION, value="@8.1_1e"),
@ -207,17 +207,17 @@ def _specfile_for(spec_str, filename):
"mvapich_foo ^_openmpi@1.2:1.4,1.6~qt_4 debug=2 %intel@12.1 ^stackwalker@8.1_1e", "mvapich_foo ^_openmpi@1.2:1.4,1.6~qt_4 debug=2 %intel@12.1 ^stackwalker@8.1_1e",
), ),
( (
"mvapich_foo ^_openmpi@1.2:1.4,1.6%intel@12.1 cppflags=-O3 +debug~qt_4 " "mvapich_foo ^_openmpi@1.2:1.4,1.6 cppflags=-O3 +debug~qt_4 %intel@12.1 "
"^stackwalker@8.1_1e", "^stackwalker@8.1_1e",
[ [
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"),
Token(SpecTokens.DEPENDENCY, value="^"), Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"),
Token(SpecTokens.VERSION, value="@1.2:1.4,1.6"), Token(SpecTokens.VERSION, value="@1.2:1.4,1.6"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.KEY_VALUE_PAIR, value="cppflags=-O3"), Token(SpecTokens.KEY_VALUE_PAIR, value="cppflags=-O3"),
Token(SpecTokens.BOOL_VARIANT, value="+debug"), Token(SpecTokens.BOOL_VARIANT, value="+debug"),
Token(SpecTokens.BOOL_VARIANT, value="~qt_4"), Token(SpecTokens.BOOL_VARIANT, value="~qt_4"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.DEPENDENCY, value="^"), Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"),
Token(SpecTokens.VERSION, value="@8.1_1e"), Token(SpecTokens.VERSION, value="@8.1_1e"),
@ -486,10 +486,10 @@ def _specfile_for(spec_str, filename):
"a@1:", "a@1:",
), ),
( (
"% intel @ 12.1:12.6 + debug", "+ debug % intel @ 12.1:12.6",
[ [
Token(SpecTokens.COMPILER_AND_VERSION, value="% intel @ 12.1:12.6"),
Token(SpecTokens.BOOL_VARIANT, value="+ debug"), Token(SpecTokens.BOOL_VARIANT, value="+ debug"),
Token(SpecTokens.COMPILER_AND_VERSION, value="% intel @ 12.1:12.6"),
], ],
"+debug %intel@12.1:12.6", "+debug %intel@12.1:12.6",
), ),
@ -640,15 +640,15 @@ def test_parse_single_spec(spec_str, tokens, expected_roundtrip, mock_git_test_p
["mvapich cppflags=-O3", "emacs"], ["mvapich cppflags=-O3", "emacs"],
), ),
( (
"mvapich emacs @1.1.1 %intel cflags=-O3", "mvapich emacs @1.1.1 cflags=-O3 %intel",
[ [
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="emacs"), Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="emacs"),
Token(SpecTokens.VERSION, value="@1.1.1"), Token(SpecTokens.VERSION, value="@1.1.1"),
Token(SpecTokens.COMPILER, value="%intel"),
Token(SpecTokens.KEY_VALUE_PAIR, value="cflags=-O3"), Token(SpecTokens.KEY_VALUE_PAIR, value="cflags=-O3"),
Token(SpecTokens.COMPILER, value="%intel"),
], ],
["mvapich", "emacs @1.1.1 %intel cflags=-O3"], ["mvapich", "emacs @1.1.1 cflags=-O3 %intel"],
), ),
( (
'mvapich cflags="-O3 -fPIC" emacs^ncurses%intel', 'mvapich cflags="-O3 -fPIC" emacs^ncurses%intel',
@ -1232,7 +1232,7 @@ def test_compare_abstract_specs():
"foo.foo@foo+foo", "foo.foo@foo+foo",
"foo.foo@foo+foo arch=foo-foo-foo", "foo.foo@foo+foo arch=foo-foo-foo",
"foo.foo@foo+foo arch=foo-foo-foo %foo", "foo.foo@foo+foo arch=foo-foo-foo %foo",
"foo.foo@foo+foo arch=foo-foo-foo %foo cflags=foo", "foo.foo@foo+foo arch=foo-foo-foo cflags=foo %foo",
] ]
specs = [SpecParser(s).next_spec() for s in constraints] specs = [SpecParser(s).next_spec() for s in constraints]

View File

@ -9,7 +9,7 @@
] ]
], ],
"python": "python@3.10.13", "python": "python@3.10.13",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -20,7 +20,7 @@
] ]
], ],
"python": "python@3.11.5", "python": "python@3.11.5",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -31,7 +31,7 @@
] ]
], ],
"python": "python@3.12.0", "python": "python@3.12.0",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -42,7 +42,7 @@
] ]
], ],
"python": "python@3.6", "python": "python@3.6",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -53,7 +53,7 @@
] ]
], ],
"python": "python@3.7.17", "python": "python@3.7.17",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -64,7 +64,7 @@
] ]
], ],
"python": "python@3.8.18", "python": "python@3.8.18",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -75,7 +75,7 @@
] ]
], ],
"python": "python@3.9.18", "python": "python@3.9.18",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64" "spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -86,7 +86,7 @@
] ]
], ],
"python": "python@3.10", "python": "python@3.10",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -97,7 +97,7 @@
] ]
], ],
"python": "python@3.11", "python": "python@3.11",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -108,7 +108,7 @@
] ]
], ],
"python": "python@3.12", "python": "python@3.12",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -119,7 +119,7 @@
] ]
], ],
"python": "python@3.6", "python": "python@3.6",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -130,7 +130,7 @@
] ]
], ],
"python": "python@3.7", "python": "python@3.7",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -141,7 +141,7 @@
] ]
], ],
"python": "python@3.8", "python": "python@3.8",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -152,7 +152,7 @@
] ]
], ],
"python": "python@3.9", "python": "python@3.9",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" "spec": "clingo-bootstrap platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -163,7 +163,7 @@
] ]
], ],
"python": "python@3.10.13", "python": "python@3.10.13",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -174,7 +174,7 @@
] ]
], ],
"python": "python@3.11.5", "python": "python@3.11.5",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -185,7 +185,7 @@
] ]
], ],
"python": "python@3.12.0", "python": "python@3.12.0",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -196,7 +196,7 @@
] ]
], ],
"python": "python@3.6", "python": "python@3.6",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -207,7 +207,7 @@
] ]
], ],
"python": "python@3.7.17", "python": "python@3.7.17",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -218,7 +218,7 @@
] ]
], ],
"python": "python@3.8.18", "python": "python@3.8.18",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -229,7 +229,7 @@
] ]
], ],
"python": "python@3.9.18", "python": "python@3.9.18",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64" "spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -240,7 +240,7 @@
] ]
], ],
"python": "python@3.10.13", "python": "python@3.10.13",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -251,7 +251,7 @@
] ]
], ],
"python": "python@3.11.5", "python": "python@3.11.5",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -262,7 +262,7 @@
] ]
], ],
"python": "python@3.12.0", "python": "python@3.12.0",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -273,7 +273,7 @@
] ]
], ],
"python": "python@3.6", "python": "python@3.6",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -284,7 +284,7 @@
] ]
], ],
"python": "python@3.7.17", "python": "python@3.7.17",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -295,7 +295,7 @@
] ]
], ],
"python": "python@3.8.18", "python": "python@3.8.18",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -306,7 +306,7 @@
] ]
], ],
"python": "python@3.9.18", "python": "python@3.9.18",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" "spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -317,7 +317,7 @@
] ]
], ],
"python": "python@3.10.13", "python": "python@3.10.13",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -328,7 +328,7 @@
] ]
], ],
"python": "python@3.11.5", "python": "python@3.11.5",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -339,7 +339,7 @@
] ]
], ],
"python": "python@3.12.0", "python": "python@3.12.0",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -350,7 +350,7 @@
] ]
], ],
"python": "python@3.6", "python": "python@3.6",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -361,7 +361,7 @@
] ]
], ],
"python": "python@3.7.17", "python": "python@3.7.17",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -372,7 +372,7 @@
] ]
], ],
"python": "python@3.8.18", "python": "python@3.8.18",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -383,7 +383,7 @@
] ]
], ],
"python": "python@3.9.18", "python": "python@3.9.18",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64" "spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
} }
] ]
} }

View File

@ -48,7 +48,7 @@
"23fdd223493f441fa2e5f82d7e02837ecfad831fbfa4c27c175b3e294ed977d1" "23fdd223493f441fa2e5f82d7e02837ecfad831fbfa4c27c175b3e294ed977d1"
] ]
], ],
"spec": "gnupg@2.3: %apple-clang platform=darwin target=aarch64" "spec": "gnupg@2.3: platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -98,7 +98,7 @@
"b9481e122e2cb26f69b70505830d0fcc0d200aadbb6c6572339825f17ad1e52d" "b9481e122e2cb26f69b70505830d0fcc0d200aadbb6c6572339825f17ad1e52d"
] ]
], ],
"spec": "gnupg@2.3: %apple-clang platform=darwin target=x86_64" "spec": "gnupg@2.3: platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -148,7 +148,7 @@
"228ccb475932f7f40a64e9d87dec045931cc57f71b1dfd4b4c3926107222d96c" "228ccb475932f7f40a64e9d87dec045931cc57f71b1dfd4b4c3926107222d96c"
] ]
], ],
"spec": "gnupg@2.3: %gcc platform=linux target=aarch64" "spec": "gnupg@2.3: platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -198,7 +198,7 @@
"98e2bcb4064ec0830d896938bc1fe5264dac611da71ea546b9ca03349b752041" "98e2bcb4064ec0830d896938bc1fe5264dac611da71ea546b9ca03349b752041"
] ]
], ],
"spec": "gnupg@2.3: %gcc platform=linux target=ppc64le" "spec": "gnupg@2.3: platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -248,7 +248,7 @@
"054fac6eaad7c862ea4661461d847fb069876eb114209416b015748266f7d166" "054fac6eaad7c862ea4661461d847fb069876eb114209416b015748266f7d166"
] ]
], ],
"spec": "gnupg@2.3: %gcc platform=linux target=x86_64" "spec": "gnupg@2.3: platform=linux target=x86_64 %gcc"
} }
] ]
} }

View File

@ -8,7 +8,7 @@
"102800775f789cc293e244899f39a22f0b7a19373305ef0497ca3189223123f3" "102800775f789cc293e244899f39a22f0b7a19373305ef0497ca3189223123f3"
] ]
], ],
"spec": "patchelf@0.13: %gcc platform=linux target=aarch64" "spec": "patchelf@0.13: platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -18,7 +18,7 @@
"91cf0a9d4750c04575c5ed3bcdefc4754e1cf9d1cd1bf197eb1fe20ccaa869f1" "91cf0a9d4750c04575c5ed3bcdefc4754e1cf9d1cd1bf197eb1fe20ccaa869f1"
] ]
], ],
"spec": "patchelf@0.13: %gcc platform=linux target=ppc64le" "spec": "patchelf@0.13: platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -28,7 +28,7 @@
"73f4bde46b843c96521e3f5c31ab94756491404c1ad6429c9f61dbafbbfa6470" "73f4bde46b843c96521e3f5c31ab94756491404c1ad6429c9f61dbafbbfa6470"
] ]
], ],
"spec": "patchelf@0.13: %gcc platform=linux target=x86_64" "spec": "patchelf@0.13: platform=linux target=x86_64 %gcc"
} }
] ]
} }

View File

@ -8,7 +8,7 @@
"ff7f45db1645d1d857a315bf8d63c31447330552528bdf1fccdcf50735e62166" "ff7f45db1645d1d857a315bf8d63c31447330552528bdf1fccdcf50735e62166"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.10" "spec": "clingo-bootstrap@spack platform=darwin target=aarch64 %apple-clang ^python@3.10"
}, },
{ {
"binaries": [ "binaries": [
@ -18,7 +18,7 @@
"e7491ac297cbb3f45c80aaf4ca5102e2b655b731e7b6ce7682807d302cb61f1c" "e7491ac297cbb3f45c80aaf4ca5102e2b655b731e7b6ce7682807d302cb61f1c"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.11" "spec": "clingo-bootstrap@spack platform=darwin target=aarch64 %apple-clang ^python@3.11"
}, },
{ {
"binaries": [ "binaries": [
@ -28,7 +28,7 @@
"91214626a86c21fc0d76918884ec819050d4d52b4f78df7cc9769a83fbee2f71" "91214626a86c21fc0d76918884ec819050d4d52b4f78df7cc9769a83fbee2f71"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.12" "spec": "clingo-bootstrap@spack platform=darwin target=aarch64 %apple-clang ^python@3.12"
}, },
{ {
"binaries": [ "binaries": [
@ -38,7 +38,7 @@
"db596d9e6d8970d659f4be4cb510f9ba5dc2ec4ea42ecf2aed1325ec5ad72b45" "db596d9e6d8970d659f4be4cb510f9ba5dc2ec4ea42ecf2aed1325ec5ad72b45"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.13" "spec": "clingo-bootstrap@spack platform=darwin target=aarch64 %apple-clang ^python@3.13"
}, },
{ {
"binaries": [ "binaries": [
@ -48,7 +48,7 @@
"a7ed91aee1f8d5cfe2ca5ef2e3e74215953ffd2d8b5c722a670f2c303610e90c" "a7ed91aee1f8d5cfe2ca5ef2e3e74215953ffd2d8b5c722a670f2c303610e90c"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.8" "spec": "clingo-bootstrap@spack platform=darwin target=aarch64 %apple-clang ^python@3.8"
}, },
{ {
"binaries": [ "binaries": [
@ -58,7 +58,7 @@
"c856a98f92b9fa218377cea9272dffa736e93251d987b6386e6abf40058333dc" "c856a98f92b9fa218377cea9272dffa736e93251d987b6386e6abf40058333dc"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=aarch64 ^python@3.9" "spec": "clingo-bootstrap@spack platform=darwin target=aarch64 %apple-clang ^python@3.9"
}, },
{ {
"binaries": [ "binaries": [
@ -68,7 +68,7 @@
"d74cc0b44faa69473816dca16a3806123790e6eb9a59f611b1d80da7843f474a" "d74cc0b44faa69473816dca16a3806123790e6eb9a59f611b1d80da7843f474a"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.10" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.10"
}, },
{ {
"binaries": [ "binaries": [
@ -78,7 +78,7 @@
"2cb12477504ca8e112522b6d56325ce32024c9466de5b8427fd70a1a81b15020" "2cb12477504ca8e112522b6d56325ce32024c9466de5b8427fd70a1a81b15020"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.11" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.11"
}, },
{ {
"binaries": [ "binaries": [
@ -88,7 +88,7 @@
"4e73426599fa61df1a4faceafa38ade170a3dec45b6d8f333e6c2b6bfe697724" "4e73426599fa61df1a4faceafa38ade170a3dec45b6d8f333e6c2b6bfe697724"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.12" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.12"
}, },
{ {
"binaries": [ "binaries": [
@ -98,7 +98,7 @@
"4309b42e5642bc5c83ede90759b1a0b5d66fffa8991b6213208577626b588cde" "4309b42e5642bc5c83ede90759b1a0b5d66fffa8991b6213208577626b588cde"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.13" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.13"
}, },
{ {
"binaries": [ "binaries": [
@ -108,7 +108,7 @@
"1feeab9e1a81ca56de838ccc234d60957e9ab14da038e38b6687732b7bae1ff6" "1feeab9e1a81ca56de838ccc234d60957e9ab14da038e38b6687732b7bae1ff6"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.6" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.6"
}, },
{ {
"binaries": [ "binaries": [
@ -118,7 +118,7 @@
"1149ab7d5f1c82d8de53f048af8aa5c5dbf0d21da4e4780c06e54b8ee902085b" "1149ab7d5f1c82d8de53f048af8aa5c5dbf0d21da4e4780c06e54b8ee902085b"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.7" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.7"
}, },
{ {
"binaries": [ "binaries": [
@ -128,7 +128,7 @@
"d6aeae2dbd7fa3c1d1c62f840a5c01f8e71b64afe2bdc9c90d4087694f7d3443" "d6aeae2dbd7fa3c1d1c62f840a5c01f8e71b64afe2bdc9c90d4087694f7d3443"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.8" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.8"
}, },
{ {
"binaries": [ "binaries": [
@ -138,7 +138,7 @@
"81ef2beef78f46979965e5e69cd92b68ff4d2a59dbae1331c648d18b6ded1444" "81ef2beef78f46979965e5e69cd92b68ff4d2a59dbae1331c648d18b6ded1444"
] ]
], ],
"spec": "clingo-bootstrap@spack%apple-clang platform=darwin target=x86_64 ^python@3.9" "spec": "clingo-bootstrap@spack platform=darwin target=x86_64 %apple-clang ^python@3.9"
}, },
{ {
"binaries": [ "binaries": [
@ -148,7 +148,7 @@
"3d0830654f9e327fd7ec6dab214050295dbf0832f493937c0c133e516dd2a95a" "3d0830654f9e327fd7ec6dab214050295dbf0832f493937c0c133e516dd2a95a"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.10" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.10"
}, },
{ {
"binaries": [ "binaries": [
@ -158,7 +158,7 @@
"941b93cd89d5271c740d1b1c870e85f32e5970f9f7b842ad99870399215a93db" "941b93cd89d5271c740d1b1c870e85f32e5970f9f7b842ad99870399215a93db"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.11" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.11"
}, },
{ {
"binaries": [ "binaries": [
@ -168,7 +168,7 @@
"8ca78e345da732643e3d1b077d8156ce89863c25095e4958d4ac6d1a458ae74b" "8ca78e345da732643e3d1b077d8156ce89863c25095e4958d4ac6d1a458ae74b"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.12" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.12"
}, },
{ {
"binaries": [ "binaries": [
@ -178,7 +178,7 @@
"f6ced988b515494d86a1069f13ae9030caeb40fe951c2460f532123c80399154" "f6ced988b515494d86a1069f13ae9030caeb40fe951c2460f532123c80399154"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.13" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.13"
}, },
{ {
"binaries": [ "binaries": [
@ -188,7 +188,7 @@
"c00855b5cda99639b87c3912ee9c734c0b609dfe7d2c47ea947738c32bab6f03" "c00855b5cda99639b87c3912ee9c734c0b609dfe7d2c47ea947738c32bab6f03"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.6" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.6"
}, },
{ {
"binaries": [ "binaries": [
@ -198,7 +198,7 @@
"aa861cfdf6001fc2da6e83eecc9ad35df424d86d71f6d73e480818942405ce4e" "aa861cfdf6001fc2da6e83eecc9ad35df424d86d71f6d73e480818942405ce4e"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.7" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.7"
}, },
{ {
"binaries": [ "binaries": [
@ -208,7 +208,7 @@
"cb7807cd31fc5e0efe2acc1de1f74c7cef962bcadfc656b09ff853bc33c11bd0" "cb7807cd31fc5e0efe2acc1de1f74c7cef962bcadfc656b09ff853bc33c11bd0"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.8" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.8"
}, },
{ {
"binaries": [ "binaries": [
@ -218,7 +218,7 @@
"36e5efb6b15b431b661e9e272904ab3c29ae7b87bf6250c158d545ccefc2f424" "36e5efb6b15b431b661e9e272904ab3c29ae7b87bf6250c158d545ccefc2f424"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=aarch64 ^python@3.9" "spec": "clingo-bootstrap@spack platform=linux target=aarch64 %gcc ^python@3.9"
}, },
{ {
"binaries": [ "binaries": [
@ -228,7 +228,7 @@
"bd492c078b2cdaf327148eee5b0abd5b068dbb3ffa5dae0ec5d53257f471f7f7" "bd492c078b2cdaf327148eee5b0abd5b068dbb3ffa5dae0ec5d53257f471f7f7"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.10" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.10"
}, },
{ {
"binaries": [ "binaries": [
@ -238,7 +238,7 @@
"0ebe5e05246c33fc8529e90e21529b29742b5dd6756dbc07534577a90394c0e6" "0ebe5e05246c33fc8529e90e21529b29742b5dd6756dbc07534577a90394c0e6"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.11" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.11"
}, },
{ {
"binaries": [ "binaries": [
@ -248,7 +248,7 @@
"9f97d3bf78b7642a775f12feb43781d46110793f58a7e69b0b68ac4fff47655c" "9f97d3bf78b7642a775f12feb43781d46110793f58a7e69b0b68ac4fff47655c"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.12" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.12"
}, },
{ {
"binaries": [ "binaries": [
@ -258,7 +258,7 @@
"e7295bb4bcb11a936f39665632ce68c751c9f6cddc44904392a1b33a5290bbbe" "e7295bb4bcb11a936f39665632ce68c751c9f6cddc44904392a1b33a5290bbbe"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.13" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.13"
}, },
{ {
"binaries": [ "binaries": [
@ -268,7 +268,7 @@
"c44e7fbf721383aa8ee57d2305f41377e64a42ab8e02a9d3d6fc792d9b29ad08" "c44e7fbf721383aa8ee57d2305f41377e64a42ab8e02a9d3d6fc792d9b29ad08"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.6" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.6"
}, },
{ {
"binaries": [ "binaries": [
@ -278,7 +278,7 @@
"965ba5c1a42f436001162a3f3a0d1715424f2ec8f65c42d6b66efcd4f4566b77" "965ba5c1a42f436001162a3f3a0d1715424f2ec8f65c42d6b66efcd4f4566b77"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.7" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.7"
}, },
{ {
"binaries": [ "binaries": [
@ -288,7 +288,7 @@
"c8d31089d8f91718a5bde9c6b28cc67bdbadab401c8fdd07b296d588ece4ddfe" "c8d31089d8f91718a5bde9c6b28cc67bdbadab401c8fdd07b296d588ece4ddfe"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.8" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.8"
}, },
{ {
"binaries": [ "binaries": [
@ -298,7 +298,7 @@
"ef3f05d30333a39fd18714b87ee22605679f52fda97f5e592764d1591527bbf3" "ef3f05d30333a39fd18714b87ee22605679f52fda97f5e592764d1591527bbf3"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=ppc64le ^python@3.9" "spec": "clingo-bootstrap@spack platform=linux target=ppc64le %gcc ^python@3.9"
}, },
{ {
"binaries": [ "binaries": [
@ -308,7 +308,7 @@
"a4abec667660307ad5cff0a616d6651e187cc7b1386fd8cd4b6b288a01614076" "a4abec667660307ad5cff0a616d6651e187cc7b1386fd8cd4b6b288a01614076"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.10" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.10"
}, },
{ {
"binaries": [ "binaries": [
@ -318,7 +318,7 @@
"a572ab6db954f4a850d1292bb1ef6d6055916784a894d149d657996fa98d0367" "a572ab6db954f4a850d1292bb1ef6d6055916784a894d149d657996fa98d0367"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.11" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.11"
}, },
{ {
"binaries": [ "binaries": [
@ -328,7 +328,7 @@
"97f8ea17f3df3fb38904450114cbef9b4b0ea9c94da9de7a49b70b707012277a" "97f8ea17f3df3fb38904450114cbef9b4b0ea9c94da9de7a49b70b707012277a"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.12" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.12"
}, },
{ {
"binaries": [ "binaries": [
@ -338,7 +338,7 @@
"6599ac06ade0cb3e80695f36492ea94a306f8bde0537482521510076c5981aa0" "6599ac06ade0cb3e80695f36492ea94a306f8bde0537482521510076c5981aa0"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.13" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.13"
}, },
{ {
"binaries": [ "binaries": [
@ -348,7 +348,7 @@
"90b7cf4dd98e26c58578ad8604738cc32dfbb228cfb981bdfe103c99d0e7b5dd" "90b7cf4dd98e26c58578ad8604738cc32dfbb228cfb981bdfe103c99d0e7b5dd"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.6" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.6"
}, },
{ {
"binaries": [ "binaries": [
@ -358,7 +358,7 @@
"dc5dbfd9c05b43c4992bf6666638ae96cee5548921e94eb793ba85727b25ec59" "dc5dbfd9c05b43c4992bf6666638ae96cee5548921e94eb793ba85727b25ec59"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.7" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.7"
}, },
{ {
"binaries": [ "binaries": [
@ -368,7 +368,7 @@
"e8518de25baff7a74bdb42193e6e4b0496e7d0688434c42ce4bdc92fe4293a09" "e8518de25baff7a74bdb42193e6e4b0496e7d0688434c42ce4bdc92fe4293a09"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.8" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.8"
}, },
{ {
"binaries": [ "binaries": [
@ -378,7 +378,7 @@
"0c5831932608e7b4084fc6ce60e2b67b77dab76e5515303a049d4d30cd772321" "0c5831932608e7b4084fc6ce60e2b67b77dab76e5515303a049d4d30cd772321"
] ]
], ],
"spec": "clingo-bootstrap@spack%gcc platform=linux target=x86_64 ^python@3.9" "spec": "clingo-bootstrap@spack platform=linux target=x86_64 %gcc ^python@3.9"
} }
] ]
} }

View File

@ -48,7 +48,7 @@
"61bcb83dc3fc2ae06fde30b9f79c2596bd0457cf56b4d339c8c562a38ca1c31f" "61bcb83dc3fc2ae06fde30b9f79c2596bd0457cf56b4d339c8c562a38ca1c31f"
] ]
], ],
"spec": "gnupg@2.4.5%apple-clang platform=darwin target=aarch64" "spec": "gnupg@2.4.5 platform=darwin target=aarch64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -98,7 +98,7 @@
"3d36bce8bbd06134445aa3cefa00a80068317b6d082d2b43bb1e3be81ede5849" "3d36bce8bbd06134445aa3cefa00a80068317b6d082d2b43bb1e3be81ede5849"
] ]
], ],
"spec": "gnupg@2.4.5%apple-clang platform=darwin target=x86_64" "spec": "gnupg@2.4.5 platform=darwin target=x86_64 %apple-clang"
}, },
{ {
"binaries": [ "binaries": [
@ -153,7 +153,7 @@
"8398592ab0812d8c76a21deca06da4277d05f4db784e129ead7535bb8988faa2" "8398592ab0812d8c76a21deca06da4277d05f4db784e129ead7535bb8988faa2"
] ]
], ],
"spec": "gnupg@2.4.5%gcc platform=linux target=aarch64" "spec": "gnupg@2.4.5 platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -208,7 +208,7 @@
"cc7e4833af58913fa4ab2b7ce3fdb86d214594d54327c7e4eb4ca3f0784c046f" "cc7e4833af58913fa4ab2b7ce3fdb86d214594d54327c7e4eb4ca3f0784c046f"
] ]
], ],
"spec": "gnupg@2.4.5%gcc platform=linux target=ppc64le" "spec": "gnupg@2.4.5 platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -263,7 +263,7 @@
"418b582f84547504b6464913fba5ba196482e86258081bdeb21af519fe8a2933" "418b582f84547504b6464913fba5ba196482e86258081bdeb21af519fe8a2933"
] ]
], ],
"spec": "gnupg@2.4.5%gcc platform=linux target=x86_64" "spec": "gnupg@2.4.5 platform=linux target=x86_64 %gcc"
} }
] ]
} }

View File

@ -13,7 +13,7 @@
"820b8013b0b918ad85caa953740497e6c31c09d812bd34d087fc57128bfbdacb" "820b8013b0b918ad85caa953740497e6c31c09d812bd34d087fc57128bfbdacb"
] ]
], ],
"spec": "patchelf@0.17.2%gcc platform=linux target=aarch64" "spec": "patchelf@0.17.2 platform=linux target=aarch64 %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -28,7 +28,7 @@
"1569df037ea1ea316a50e89f5a0cafa0ce8e20629bbd07fcc3846d9fecd2451c" "1569df037ea1ea316a50e89f5a0cafa0ce8e20629bbd07fcc3846d9fecd2451c"
] ]
], ],
"spec": "patchelf@0.17.2%gcc platform=linux target=ppc64le" "spec": "patchelf@0.17.2 platform=linux target=ppc64le %gcc"
}, },
{ {
"binaries": [ "binaries": [
@ -43,7 +43,7 @@
"79dfb7064e7993a97474c5f6b7560254fe19465a6c4cfc44569852e5a6ab542b" "79dfb7064e7993a97474c5f6b7560254fe19465a6c4cfc44569852e5a6ab542b"
] ]
], ],
"spec": "patchelf@0.17.2%gcc platform=linux target=x86_64" "spec": "patchelf@0.17.2 platform=linux target=x86_64 %gcc"
} }
] ]
} }

View File

@ -30,13 +30,13 @@ spack:
mpi: mpi:
require: mpich require: mpich
mpich: mpich:
require: '~wrapperrpath ~hwloc %gcc target=neoverse_v2' require: '~wrapperrpath ~hwloc target=neoverse_v2 %gcc'
tbb: tbb:
require: intel-tbb require: intel-tbb
vtk-m: vtk-m:
require: "+examples %gcc target=neoverse_v2" require: "+examples target=neoverse_v2 %gcc"
paraview: paraview:
require: "+examples %gcc target=neoverse_v2" require: "+examples target=neoverse_v2 %gcc"
specs: specs:
# CPU # CPU

View File

@ -20,7 +20,7 @@ spack:
elfutils: elfutils:
variants: ~nls variants: ~nls
gcc-runtime: gcc-runtime:
require: "%gcc target=x86_64_v3" require: "target=x86_64_v3 %gcc"
hdf5: hdf5:
variants: +fortran +hl +shared variants: +fortran +hl +shared
libfabric: libfabric:
@ -47,32 +47,32 @@ spack:
prefix: /opt/intel/oneapi prefix: /opt/intel/oneapi
unzip: unzip:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
binutils: binutils:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
variants: +ld +gold +headers +libiberty ~nls variants: +ld +gold +headers +libiberty ~nls
llvm: llvm:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
ruby: ruby:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
rust: rust:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
krb5: krb5:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
openssh: openssh:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
dyninst: dyninst:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
bison: bison:
require: require:
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
paraview: paraview:
require: require:
- +examples target=x86_64_v3 - +examples target=x86_64_v3

View File

@ -17,7 +17,7 @@ spack:
mpi: mpi:
require: mpich require: mpich
mpich: mpich:
require: '~wrapperrpath ~hwloc %gcc target=x86_64_v3' require: '~wrapperrpath ~hwloc target=x86_64_v3 %gcc'
openblas: openblas:
variants: threads=openmp variants: threads=openmp
paraview: paraview:

View File

@ -26,11 +26,11 @@ spack:
cmake: cmake:
require: require:
- "~qtgui" - "~qtgui"
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
gmake: gmake:
require: require:
- "~guile" - "~guile"
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
hdf5: hdf5:
variants: +fortran +hl +shared variants: +fortran +hl +shared
libfabric: libfabric:
@ -47,14 +47,14 @@ spack:
mpich: mpich:
require: require:
- '~wrapperrpath ~hwloc' - '~wrapperrpath ~hwloc'
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
tbb: tbb:
require: require:
- intel-tbb - intel-tbb
vtk-m: vtk-m:
require: require:
- "+examples" - "+examples"
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
visit: visit:
require: require:
- "~gui target=x86_64_v3" - "~gui target=x86_64_v3"
@ -62,7 +62,7 @@ spack:
# Don't build GUI support or GLX rendering for HPC/container deployments # Don't build GUI support or GLX rendering for HPC/container deployments
require: require:
- "+examples ~qt ^[virtuals=gl] osmesa target=x86_64_v3" - "+examples ~qt ^[virtuals=gl] osmesa target=x86_64_v3"
- '%gcc target=x86_64_v3' - 'target=x86_64_v3 %gcc'
specs: specs:
# CPU # CPU

View File

@ -128,7 +128,7 @@ def with_or_without_hdf5(self, activated):
def setup_build_environment(self, env): def setup_build_environment(self, env):
# https://github.com/ornladios/ADIOS/issues/206 # https://github.com/ornladios/ADIOS/issues/206
if self.spec.satisfies("%gcc@10: +fortran"): if self.spec.satisfies("+fortran %gcc@10:"):
env.set("FCFLAGS", "-fallow-argument-mismatch") env.set("FCFLAGS", "-fallow-argument-mismatch")
def configure_args(self): def configure_args(self):

View File

@ -257,9 +257,9 @@ def patch(self):
def setup_build_environment(self, env): def setup_build_environment(self, env):
# https://github.com/ornladios/ADIOS2/issues/2228 # https://github.com/ornladios/ADIOS2/issues/2228
if self.spec.satisfies("%gcc@10: +fortran"): if self.spec.satisfies("+fortran %gcc@10:"):
env.set("FFLAGS", "-fallow-argument-mismatch") env.set("FFLAGS", "-fallow-argument-mismatch")
elif self.spec.satisfies("%fj +fortran"): elif self.spec.satisfies("+fortran %fj"):
env.set("FFLAGS", "-Ccpp") env.set("FFLAGS", "-Ccpp")
def cmake_args(self): def cmake_args(self):

View File

@ -39,6 +39,6 @@ class AppleGl(AppleGlBase):
provides("gl@4.1") provides("gl@4.1")
requires( requires(
"%apple-clang platform=darwin", "platform=darwin %apple-clang",
msg="Apple-GL is only available on Darwin, when using Apple Clang", msg="Apple-GL is only available on Darwin, when using Apple Clang",
) )

View File

@ -13,6 +13,6 @@ class AppleGlu(AppleGlBase):
provides("glu@1.3") provides("glu@1.3")
requires( requires(
"%apple-clang platform=darwin", "platform=darwin %apple-clang",
msg="Apple-GLU is only available on Darwin, when using Apple Clang", msg="Apple-GLU is only available on Darwin, when using Apple Clang",
) )

View File

@ -44,7 +44,7 @@ class Beatnik(CMakePackage, CudaPackage, ROCmPackage):
depends_on("kokkos @4:") depends_on("kokkos @4:")
depends_on("kokkos +cuda +cuda_lambda +cuda_constexpr", when="+cuda") depends_on("kokkos +cuda +cuda_lambda +cuda_constexpr", when="+cuda")
depends_on("kokkos +rocm", when="+rocm") depends_on("kokkos +rocm", when="+rocm")
depends_on("kokkos +wrapper", when="%gcc+cuda") depends_on("kokkos +wrapper", when="+cuda%gcc")
# Cabana dependencies # Cabana dependencies
depends_on("cabana @0.7.0 +grid +heffte +silo +hdf5 +mpi +arborx", when="@1.1") depends_on("cabana @0.7.0 +grid +heffte +silo +hdf5 +mpi +arborx", when="@1.1")

View File

@ -62,7 +62,7 @@ class Blaspp(CMakePackage, CudaPackage, ROCmPackage):
depends_on("cmake@3.15.0:", type="build") depends_on("cmake@3.15.0:", type="build")
depends_on("blas") depends_on("blas")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
depends_on("rocblas", when="+rocm") depends_on("rocblas", when="+rocm")
depends_on("intel-oneapi-mkl", when="+sycl") depends_on("intel-oneapi-mkl", when="+sycl")
depends_on("intel-oneapi-mkl threads=openmp", when="+sycl") depends_on("intel-oneapi-mkl threads=openmp", when="+sycl")

View File

@ -293,7 +293,7 @@ class Ceed(BundlePackage, CudaPackage, ROCmPackage):
depends_on("remhos@1.0", when="@3.0.0+mfem") depends_on("remhos@1.0", when="@3.0.0+mfem")
# If using gcc version <= 4.8 build suite-sparse version <= 5.1.0 # If using gcc version <= 4.8 build suite-sparse version <= 5.1.0
depends_on("suite-sparse@:5.1.0", when="@3.0.0%gcc@:4.8+mfem+petsc") depends_on("suite-sparse@:5.1.0", when="@3.0.0+mfem+petsc%gcc@:4.8")
# ceed-2.0 # ceed-2.0
depends_on("mfem@3.4.0+mpi+examples+miniapps", when="@2.0.0+mfem~petsc") depends_on("mfem@3.4.0+mpi+examples+miniapps", when="@2.0.0+mfem~petsc")
@ -305,7 +305,7 @@ class Ceed(BundlePackage, CudaPackage, ROCmPackage):
depends_on("hypre~internal-superlu~superlu-dist", when="@2.0.0+mfem+quickbuild") depends_on("hypre~internal-superlu~superlu-dist", when="@2.0.0+mfem+quickbuild")
# If using gcc version <= 4.8 build suite-sparse version <= 5.1.0 # If using gcc version <= 4.8 build suite-sparse version <= 5.1.0
depends_on("suite-sparse@:5.1.0", when="@2.0.0%gcc@:4.8+mfem+petsc") depends_on("suite-sparse@:5.1.0", when="@2.0.0+mfem+petsc%gcc@:4.8")
# ceed-1.0 # ceed-1.0
depends_on("mfem@3.3.2+mpi+examples+miniapps", when="@1.0.0+mfem") depends_on("mfem@3.3.2+mpi+examples+miniapps", when="@1.0.0+mfem")
@ -319,4 +319,4 @@ class Ceed(BundlePackage, CudaPackage, ROCmPackage):
depends_on("hypre~internal-superlu", when="@1.0.0+mfem") depends_on("hypre~internal-superlu", when="@1.0.0+mfem")
# If using gcc version <= 4.8 build suite-sparse version <= 5.1.0 # If using gcc version <= 4.8 build suite-sparse version <= 5.1.0
depends_on("suite-sparse@:5.1.0", when="@1.0.0%gcc@:4.8+mfem") depends_on("suite-sparse@:5.1.0", when="@1.0.0+mfem%gcc@:4.8")

View File

@ -141,7 +141,7 @@ class Cmake(Package):
# See https://gitlab.kitware.com/cmake/cmake/-/issues/21135 # See https://gitlab.kitware.com/cmake/cmake/-/issues/21135
conflicts( conflicts(
"%gcc platform=darwin", "platform=darwin %gcc",
when="@:3.17", when="@:3.17",
msg="CMake <3.18 does not compile with GCC on macOS, " msg="CMake <3.18 does not compile with GCC on macOS, "
"please use %apple-clang or a newer CMake release. " "please use %apple-clang or a newer CMake release. "

View File

@ -527,7 +527,7 @@ def edit(self, pkg, spec, prefix):
fcflags += ["-qpreprocess", "-qstrict", "-q64"] fcflags += ["-qpreprocess", "-qstrict", "-q64"]
ldflags += ["-Wl,--allow-multiple-definition"] ldflags += ["-Wl,--allow-multiple-definition"]
if "%gcc@10: +mpi" in spec and spec["mpi"].name in ["mpich", "cray-mpich"]: if "+mpi %gcc@10:" in spec and spec["mpi"].name in ["mpich", "cray-mpich"]:
fcflags += [ fcflags += [
"-fallow-argument-mismatch" "-fallow-argument-mismatch"
] # https://github.com/pmodels/mpich/issues/4300 ] # https://github.com/pmodels/mpich/issues/4300

View File

@ -258,7 +258,7 @@ def initconfig_compiler_entries(self):
entries.append(cmake_cache_option("CMAKE_EXPORT_COMPILE_COMMANDS", True)) entries.append(cmake_cache_option("CMAKE_EXPORT_COMPILE_COMMANDS", True))
entries.append(cmake_cache_option("MPI_ASSUME_NO_BUILTIN_MPI", True)) entries.append(cmake_cache_option("MPI_ASSUME_NO_BUILTIN_MPI", True))
if spec.satisfies("%clang +distconv platform=darwin"): if spec.satisfies("+distconv platform=darwin %clang"):
clang = self.compiler.cc clang = self.compiler.cc
clang_bin = os.path.dirname(clang) clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin) clang_root = os.path.dirname(clang_bin)
@ -349,7 +349,7 @@ def initconfig_package_entries(self):
return entries return entries
def setup_build_environment(self, env): def setup_build_environment(self, env):
if self.spec.satisfies("%apple-clang +openmp"): if self.spec.satisfies("+openmp %apple-clang"):
env.append_flags("CPPFLAGS", self.compiler.openmp_flag) env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags) env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags) env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)

View File

@ -135,7 +135,7 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage):
# Compilation problem triggered by the bundled fmt in Umpire together with # Compilation problem triggered by the bundled fmt in Umpire together with
# fmt 10, which only happens with GCC 9 and nvcc 11.2 and older: # fmt 10, which only happens with GCC 9 and nvcc 11.2 and older:
# https://github.com/eth-cscs/DLA-Future/issues/1044 # https://github.com/eth-cscs/DLA-Future/issues/1044
conflicts("^fmt@10:", when="@:0.3.0 %gcc@9 +cuda ^cuda@:11.2 ^umpire@2022.10:") conflicts("^fmt@10:", when="@:0.3.0 +cuda %gcc@9 ^cuda@:11.2 ^umpire@2022.10:")
# Pedantic warnings, triggered by GCC 9 and 10, are always errors until 0.3.1: # Pedantic warnings, triggered by GCC 9 and 10, are always errors until 0.3.1:
# https://github.com/eth-cscs/DLA-Future/pull/1043 # https://github.com/eth-cscs/DLA-Future/pull/1043

View File

@ -158,7 +158,7 @@ class Eccodes(CMakePackage):
when="@:2.4.0+netcdf", when="@:2.4.0+netcdf",
) )
@when("%nag+fortran") @when("+fortran%nag")
def patch(self): def patch(self):
# A number of Fortran source files assume that the kinds of integer and # A number of Fortran source files assume that the kinds of integer and
# real variables are specified in bytes. However, the NAG compiler # real variables are specified in bytes. However, the NAG compiler

View File

@ -79,7 +79,7 @@ def patch(self):
# the `-undefined dynamic_lookup` flag enables weak linking on Mac # the `-undefined dynamic_lookup` flag enables weak linking on Mac
# Patch taken from CMS recipe: # Patch taken from CMS recipe:
# https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_12_1_X/master/evtgen.spec#L48 # https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_12_1_X/master/evtgen.spec#L48
if not self.spec.satisfies("%gcc platform=darwin"): if not self.spec.satisfies("platform=darwin %gcc"):
return return
filter_file("-shared", "-dynamiclib -undefined dynamic_lookup", "make.inc") filter_file("-shared", "-dynamiclib -undefined dynamic_lookup", "make.inc")

View File

@ -52,19 +52,19 @@ class Fds(MakefilePackage):
requires( requires(
"^openmpi", "^openmpi",
when="%gcc platform=linux", when="platform=linux %gcc",
msg="OpenMPI can only be used with GNU Fortran on Linux platform", msg="OpenMPI can only be used with GNU Fortran on Linux platform",
) )
requires( requires(
"^intel-mpi^intel-mkl", "^intel-mpi^intel-mkl",
when="%intel platform=linux", when="platform=linux %intel",
msg="Intel MPI and Intel MKL can only be used with Intel Fortran on Linux platform", msg="Intel MPI and Intel MKL can only be used with Intel Fortran on Linux platform",
) )
requires( requires(
"^intel-oneapi-mpi^intel-oneapi-mkl", "^intel-oneapi-mpi^intel-oneapi-mkl",
when="%oneapi platform=linux", when="platform=linux %oneapi",
msg="Intel oneAPI MPI and MKL can only be used with oneAPI Fortran on Linux platform", msg="Intel oneAPI MPI and MKL can only be used with oneAPI Fortran on Linux platform",
) )

View File

@ -26,7 +26,7 @@ class FftwBase(AutotoolsPackage):
variant("shared", default=True, description="Build shared libraries") variant("shared", default=True, description="Build shared libraries")
depends_on("mpi", when="+mpi") depends_on("mpi", when="+mpi")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
# https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3 # https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3
conflicts("%gcc@8.0:8", when="@3.3.7") conflicts("%gcc@8.0:8", when="@3.3.7")
@ -87,7 +87,7 @@ def selected_precisions(self):
return self.spec.variants["precision"].value return self.spec.variants["precision"].value
def setup_build_environment(self, env): def setup_build_environment(self, env):
if self.spec.satisfies("%apple-clang +openmp"): if self.spec.satisfies("+openmp %apple-clang"):
env.append_flags("CPPFLAGS", self.compiler.openmp_flag) env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags) env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags) env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)

View File

@ -34,7 +34,7 @@ class Func(CMakePackage):
depends_on("boost") depends_on("boost")
depends_on("armadillo", when="+armadillo") depends_on("armadillo", when="+armadillo")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
def cmake_args(self): def cmake_args(self):
args = [ args = [

View File

@ -18,6 +18,6 @@ class Gccxml(CMakePackage):
depends_on("c", type="build") # generated depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated depends_on("cxx", type="build") # generated
patch("darwin-gcc.patch", when="%gcc platform=darwin") patch("darwin-gcc.patch", when="platform=darwin %gcc")
# taken from https://github.com/gccxml/gccxml/issues/11#issuecomment-140334118 # taken from https://github.com/gccxml/gccxml/issues/11#issuecomment-140334118
patch("gcc-5.patch", when="%gcc@5:") patch("gcc-5.patch", when="%gcc@5:")

View File

@ -50,5 +50,5 @@ class Gitconddb(CMakePackage):
conflicts("%gcc@:7.9", msg="GitCondDB requires GCC 8 or newer for C++17 support") conflicts("%gcc@:7.9", msg="GitCondDB requires GCC 8 or newer for C++17 support")
conflicts("%apple-clang", when="@:0.1", msg="No Darwin support for clang in older versions") conflicts("%apple-clang", when="@:0.1", msg="No Darwin support for clang in older versions")
conflicts( conflicts(
"%clang platform=darwin", when="@:0.1", msg="No Darwin support for clang in older versions" "platform=darwin %clang", when="@:0.1", msg="No Darwin support for clang in older versions"
) )

View File

@ -166,7 +166,7 @@ def setup_build_environment(self, env):
if self.spec.satisfies("+quartz"): if self.spec.satisfies("+quartz"):
env.set("OBJC", self.compiler.cc) env.set("OBJC", self.compiler.cc)
@when("%clang platform=darwin") @when("platform=darwin %clang")
def patch(self): def patch(self):
# When using Clang, replace GCC's libstdc++ with LLVM's libc++ # When using Clang, replace GCC's libstdc++ with LLVM's libc++
mkdirs = ["cmd/dot", "cmd/edgepaint", "cmd/mingle", "plugin/gdiplus"] mkdirs = ["cmd/dot", "cmd/edgepaint", "cmd/mingle", "plugin/gdiplus"]

View File

@ -502,10 +502,10 @@ class Gromacs(CMakePackage, CudaPackage):
depends_on("sycl", when="+sycl") depends_on("sycl", when="+sycl")
depends_on("lapack") depends_on("lapack")
depends_on("blas") depends_on("blas")
depends_on("gcc", when="%intel ~intel_provided_gcc") depends_on("gcc", when="~intel_provided_gcc %intel")
# TODO this can be expanded to all clang-based compilers once # TODO this can be expanded to all clang-based compilers once
# the principle is demonstrated to work # the principle is demonstrated to work
with when("%oneapi ~intel_provided_gcc"): with when("~intel_provided_gcc %oneapi"):
depends_on("gcc-runtime@5:", when="@2020") depends_on("gcc-runtime@5:", when="@2020")
depends_on("gcc-runtime@7:", when="@2021:2022") depends_on("gcc-runtime@7:", when="@2021:2022")
depends_on("gcc-runtime@9:", when="@2023:2024") depends_on("gcc-runtime@9:", when="@2023:2024")

View File

@ -345,7 +345,7 @@ def flag_handler(self, name, flags):
if spec.satisfies("@:1.8.12+cxx~shared"): if spec.satisfies("@:1.8.12+cxx~shared"):
cmake_flags.append(self.compiler.cxx_pic_flag) cmake_flags.append(self.compiler.cxx_pic_flag)
elif name == "fflags": elif name == "fflags":
if spec.satisfies("%cce+fortran"): if spec.satisfies("+fortran%cce"):
# Cray compiler generates module files with uppercase names by # Cray compiler generates module files with uppercase names by
# default, which is not handled by the CMake scripts. The # default, which is not handled by the CMake scripts. The
# following flag forces the compiler to produce module files # following flag forces the compiler to produce module files

View File

@ -127,7 +127,7 @@ class Hydrogen(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on("hipcub +rocm", when="+rocm +cub") depends_on("hipcub +rocm", when="+rocm +cub")
depends_on("half", when="+half") depends_on("half", when="+half")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
# Fixes https://github.com/spack/spack/issues/42286 # Fixes https://github.com/spack/spack/issues/42286
# https://github.com/LLNL/Elemental/pull/177 # https://github.com/LLNL/Elemental/pull/177
@ -175,8 +175,8 @@ def initconfig_compiler_entries(self):
entries.append(cmake_cache_option("MPI_ASSUME_NO_BUILTIN_MPI", True)) entries.append(cmake_cache_option("MPI_ASSUME_NO_BUILTIN_MPI", True))
if spec.satisfies("%clang +openmp platform=darwin") or spec.satisfies( if spec.satisfies("+openmp platform=darwin %clang") or spec.satisfies(
"%clang +omp_taskloops platform=darwin" "+omp_taskloops platform=darwin %clang"
): ):
clang = self.compiler.cc clang = self.compiler.cc
clang_bin = os.path.dirname(clang) clang_bin = os.path.dirname(clang)
@ -280,7 +280,7 @@ def initconfig_package_entries(self):
return entries return entries
def setup_build_environment(self, env): def setup_build_environment(self, env):
if self.spec.satisfies("%apple-clang +openmp"): if self.spec.satisfies("+openmp %apple-clang"):
env.append_flags("CPPFLAGS", self.compiler.openmp_flag) env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags) env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags) env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)

View File

@ -241,7 +241,7 @@ def configure_args(self):
] ]
) )
if self.spec.satisfies("%oneapi+coupling"): if self.spec.satisfies("+coupling%oneapi"):
flags["ICON_YAC_CFLAGS"].extend(["-O2", "-fp-model precise"]) flags["ICON_YAC_CFLAGS"].extend(["-O2", "-fp-model precise"])
if self.spec.satisfies("+ocean"): if self.spec.satisfies("+ocean"):
@ -269,7 +269,7 @@ def configure_args(self):
["-acc=gpu", "-gpu=cc{0}".format(self.nvidia_targets[gpu])] ["-acc=gpu", "-gpu=cc{0}".format(self.nvidia_targets[gpu])]
) )
if self.spec.satisfies("%nvhpc@:23.9+coupling"): if self.spec.satisfies("+coupling%nvhpc@:23.9"):
args.append("yac_cv_fc_is_contiguous_works=yes") args.append("yac_cv_fc_is_contiguous_works=yes")
else: else:

View File

@ -255,9 +255,9 @@ def build(self, pkg, spec, prefix):
# Deactivate use of RTM with GCC when on an OS with a very old # Deactivate use of RTM with GCC when on an OS with a very old
# assembler. # assembler.
if ( if (
spec.satisfies("%gcc@4.8.0: os=rhel6") spec.satisfies("os=rhel6 %gcc@4.8.0:")
or spec.satisfies("%gcc@4.8.0: os=centos6") or spec.satisfies("os=centos6 %gcc@4.8.0:")
or spec.satisfies("%gcc@4.8.0: os=scientific6") or spec.satisfies("os=scientific6 %gcc@4.8.0:")
): ):
filter_file(r"RTM_KEY.*=.*rtm.*", "RTM_KEY =", join_path("build", "linux.gcc.inc")) filter_file(r"RTM_KEY.*=.*rtm.*", "RTM_KEY =", join_path("build", "linux.gcc.inc"))

View File

@ -204,7 +204,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
# Note that for Power systems we want the environment to add +powerpc # Note that for Power systems we want the environment to add +powerpc
# When using a GCC compiler # When using a GCC compiler
depends_on("opencv@4.1.0: +powerpc", when="+vision %gcc arch=ppc64le:") depends_on("opencv@4.1.0: +powerpc", when="+vision arch=ppc64le: %gcc")
depends_on("cnpy", when="+numpy") depends_on("cnpy", when="+numpy")
depends_on("nccl", when="@0.94:0.98.2 +cuda") depends_on("nccl", when="@0.94:0.98.2 +cuda")
@ -410,7 +410,7 @@ def initconfig_package_entries(self):
# a shell, which expects : # a shell, which expects :
# Add support for OpenMP with external (Brew) clang # Add support for OpenMP with external (Brew) clang
if spec.satisfies("%clang platform=darwin"): if spec.satisfies("platform=darwin %clang"):
clang = self.compiler.cc clang = self.compiler.cc
clang_bin = os.path.dirname(clang) clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin) clang_root = os.path.dirname(clang_bin)

View File

@ -79,11 +79,11 @@ class Legion(CMakePackage, ROCmPackage):
for nvarch in cuda_arch_list: for nvarch in cuda_arch_list:
depends_on( depends_on(
f"kokkos@3.3.01:+cuda+cuda_lambda+wrapper cuda_arch={nvarch}", f"kokkos@3.3.01:+cuda+cuda_lambda+wrapper cuda_arch={nvarch}",
when=f"%gcc+kokkos+cuda cuda_arch={nvarch}", when=f"+kokkos+cuda cuda_arch={nvarch} %gcc",
) )
depends_on( depends_on(
f"kokkos@3.3.01:+cuda+cuda_lambda~wrapper cuda_arch={nvarch}", f"kokkos@3.3.01:+cuda+cuda_lambda~wrapper cuda_arch={nvarch}",
when=f"%clang+kokkos+cuda cuda_arch={nvarch}", when=f"+kokkos+cuda cuda_arch={nvarch} %clang",
) )
depends_on("kokkos@3.3.01:~cuda", when="+kokkos~cuda") depends_on("kokkos@3.3.01:~cuda", when="+kokkos~cuda")
@ -407,7 +407,7 @@ def cmake_args(self):
# default is off. # default is off.
options.append("-DLegion_USE_Kokkos=ON") options.append("-DLegion_USE_Kokkos=ON")
os.environ["KOKKOS_CXX_COMPILER"] = self["kokkos"].kokkos_cxx os.environ["KOKKOS_CXX_COMPILER"] = self["kokkos"].kokkos_cxx
if spec.satisfies("+cuda+cuda_unsupported_compiler ^kokkos%clang +cuda"): if spec.satisfies("+cuda+cuda_unsupported_compiler ^kokkos+cuda %clang"):
# Keep CMake CUDA compiler detection happy # Keep CMake CUDA compiler detection happy
options.append( options.append(
self.define("CMAKE_CUDA_FLAGS", "--allow-unsupported-compiler -std=c++17") self.define("CMAKE_CUDA_FLAGS", "--allow-unsupported-compiler -std=c++17")

View File

@ -35,7 +35,7 @@ class Libffi(AutotoolsPackage):
depends_on("c", type="build") # generated depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated depends_on("cxx", type="build") # generated
patch("clang-powerpc-3.2.1.patch", when="@3.2.1%clang platform=linux") patch("clang-powerpc-3.2.1.patch", when="@3.2.1 platform=linux %clang")
# ref.: https://github.com/libffi/libffi/pull/561 # ref.: https://github.com/libffi/libffi/pull/561
patch("powerpc-3.3.patch", when="@3.3") patch("powerpc-3.3.patch", when="@3.3")
patch( patch(

View File

@ -112,7 +112,7 @@ def url_for_version(self, version):
# Tries to build an Objective-C file with GCC's C frontend # Tries to build an Objective-C file with GCC's C frontend
# https://github.com/libuv/libuv/issues/2805 # https://github.com/libuv/libuv/issues/2805
conflicts( conflicts(
"%gcc platform=darwin", "platform=darwin %gcc",
when="@:1.37.9", when="@:1.37.9",
msg="libuv does not compile with GCC on macOS yet, use clang. " msg="libuv does not compile with GCC on macOS yet, use clang. "
"See: https://github.com/libuv/libuv/issues/2805", "See: https://github.com/libuv/libuv/issues/2805",

View File

@ -215,7 +215,7 @@ def hostconfig(self, spec, prefix, py_site_pkgs_dir=None):
debug_flags = "-O0 -g" debug_flags = "-O0 -g"
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_DEBUG", debug_flags)) cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_DEBUG", debug_flags))
if spec.satisfies("%clang arch=linux-rhel7-ppc64le"): if spec.satisfies("arch=linux-rhel7-ppc64le%clang"):
cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS", "-Wl,--no-toc-optimize")) cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS", "-Wl,--no-toc-optimize"))
if spec.satisfies("+cuda"): if spec.satisfies("+cuda"):

View File

@ -107,7 +107,7 @@ class Mimalloc(CMakePackage):
"debug_ubsan": ( "debug_ubsan": (
False, False,
"Build with undefined-behavior sanitizer (needs clang++)", "Build with undefined-behavior sanitizer (needs clang++)",
"%clang build_type=Debug +use_cxx", "build_type=Debug +use_cxx %clang ",
), ),
"skip_collect_on_exit": (False, "Skip collecting memory on program exit", None), "skip_collect_on_exit": (False, "Skip collecting memory on program exit", None),
} }

View File

@ -106,7 +106,7 @@ class Onednn(CMakePackage):
depends_on("cmake@2.8.12:", when="@2.3:", type="build") depends_on("cmake@2.8.12:", when="@2.3:", type="build")
depends_on("cmake@2.8.11:", type="build") depends_on("cmake@2.8.11:", type="build")
depends_on("tbb@2017:", when="cpu_runtime=tbb") depends_on("tbb@2017:", when="cpu_runtime=tbb")
depends_on("llvm-openmp", when="%apple-clang cpu_runtime=omp") depends_on("llvm-openmp", when="cpu_runtime=omp %apple-clang")
depends_on("opencl@1.2:", when="gpu_runtime=ocl") depends_on("opencl@1.2:", when="gpu_runtime=ocl")
depends_on("armcomputelibrary", when="+acl") depends_on("armcomputelibrary", when="+acl")
depends_on("tbb", when="cpu_runtime=sycl") depends_on("tbb", when="cpu_runtime=sycl")
@ -125,7 +125,7 @@ def cmake_args(self):
args.append("-DDNNL_BUILD_TESTS=OFF") args.append("-DDNNL_BUILD_TESTS=OFF")
# https://github.com/oneapi-src/oneDNN/issues/591 # https://github.com/oneapi-src/oneDNN/issues/591
if self.spec.satisfies("%apple-clang cpu_runtime=omp"): if self.spec.satisfies("cpu_runtime=omp %apple-clang"):
args.extend( args.extend(
[ [
"-DOpenMP_CXX_FLAGS={0}".format(self.compiler.openmp_flag), "-DOpenMP_CXX_FLAGS={0}".format(self.compiler.openmp_flag),

View File

@ -141,7 +141,7 @@ class Openblas(CMakePackage, MakefilePackage):
# Fixes compilation error on POWER8 with GCC 7 # Fixes compilation error on POWER8 with GCC 7
# https://github.com/OpenMathLib/OpenBLAS/pull/1098 # https://github.com/OpenMathLib/OpenBLAS/pull/1098
patch("power8.patch", when="@0.2.18:0.2.19 %gcc@7.1.0: target=power8") patch("power8.patch", when="@0.2.18:0.2.19 target=power8 %gcc@7.1.0:")
# Change file comments to work around clang 3.9 assembler bug # Change file comments to work around clang 3.9 assembler bug
# https://github.com/OpenMathLib/OpenBLAS/pull/982 # https://github.com/OpenMathLib/OpenBLAS/pull/982

View File

@ -168,7 +168,7 @@ def install(self, spec, prefix):
# The default glibc provided by CentOS 7 does not provide proper # The default glibc provided by CentOS 7 does not provide proper
# atomic support when using the NVIDIA compilers # atomic support when using the NVIDIA compilers
if self.spec.satisfies("%nvhpc os=centos7"): if self.spec.satisfies("os=centos7 %nvhpc"):
options.append("-D__STDC_NO_ATOMICS__") options.append("-D__STDC_NO_ATOMICS__")
# Make a flag for shared library builds # Make a flag for shared library builds

View File

@ -84,7 +84,7 @@ def url_for_version(self, version):
# detected using macro AC_FC_LIBRARY_LDFLAGS, which means that we can # detected using macro AC_FC_LIBRARY_LDFLAGS, which means that we can
# override the verbose output flag for Fortran compiler on the command line # override the verbose output flag for Fortran compiler on the command line
# (see below). # (see below).
conflicts("+shared", when="@:1.9%nag+fortran") conflicts("+shared", when="@:1.9+fortran%nag")
@property @property
def libs(self): def libs(self):
@ -145,7 +145,7 @@ def configure_args(self):
args += self.enable_or_disable("shared") args += self.enable_or_disable("shared")
args.extend(["--enable-static", "--disable-silent-rules"]) args.extend(["--enable-static", "--disable-silent-rules"])
if self.spec.satisfies("%nag+fortran+shared"): if self.spec.satisfies("+fortran+shared%nag"):
args.extend(["ac_cv_prog_fc_v=-Wl,-v", "ac_cv_prog_f77_v=-Wl,-v"]) args.extend(["ac_cv_prog_fc_v=-Wl,-v", "ac_cv_prog_f77_v=-Wl,-v"])
if self.spec.satisfies("+burstbuffer"): if self.spec.satisfies("+burstbuffer"):

View File

@ -57,7 +57,7 @@ class PyDaskMl(PythonPackage):
patch("xgboost_dependency.patch") patch("xgboost_dependency.patch")
conflicts("+docs", when="%gcc target=aarch64:") conflicts("+docs", when="target=aarch64: %gcc")
@run_after("install") @run_after("install")
def install_docs(self): def install_docs(self):

View File

@ -49,7 +49,7 @@ class PyDgl(CMakePackage, PythonExtension, CudaPackage):
) )
depends_on("cmake@3.5:", type="build") depends_on("cmake@3.5:", type="build")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
# Python dependencies # Python dependencies
# See python/setup.py # See python/setup.py

View File

@ -54,7 +54,7 @@ class PyNumcodecs(PythonPackage):
depends_on("py-entrypoints", when="@0.10.1:0.11", type=("build", "run")) depends_on("py-entrypoints", when="@0.10.1:0.11", type=("build", "run"))
depends_on("py-msgpack", type=("build", "run"), when="+msgpack") depends_on("py-msgpack", type=("build", "run"), when="+msgpack")
patch("apple-clang-12.patch", when="%apple-clang@12: @:0.13") patch("apple-clang-12.patch", when="@:0.13 %apple-clang@12:")
# TODO: this package should really depend on blosc, zstd, lz4, zlib, but right now it vendors # TODO: this package should really depend on blosc, zstd, lz4, zlib, but right now it vendors
# those libraries without any way to use the system versions. # those libraries without any way to use the system versions.

View File

@ -57,7 +57,7 @@ class PyPennylaneLightningKokkos(CMakePackage, PythonExtension, CudaPackage, ROC
for val in CudaPackage.cuda_arch_values: for val in CudaPackage.cuda_arch_values:
depends_on("kokkos cuda_arch={0}".format(val), when="cuda_arch={0}".format(val)) depends_on("kokkos cuda_arch={0}".format(val), when="cuda_arch={0}".format(val))
# Use +wrapper when not %clang %cce # Use +wrapper when not %clang %cce
depends_on("kokkos+wrapper", when="%gcc+cuda") depends_on("kokkos+wrapper", when="+cuda %gcc")
# ROCm # ROCm
for val in ROCmPackage.amdgpu_targets: for val in ROCmPackage.amdgpu_targets:

View File

@ -286,7 +286,7 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
depends_on("magma+cuda", when="+magma+cuda") depends_on("magma+cuda", when="+magma+cuda")
depends_on("magma+rocm", when="+magma+rocm") depends_on("magma+rocm", when="+magma+rocm")
depends_on("numactl", when="+numa") depends_on("numactl", when="+numa")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
depends_on("valgrind", when="+valgrind") depends_on("valgrind", when="+valgrind")
with when("+rocm"): with when("+rocm"):
depends_on("hsa-rocr-dev") depends_on("hsa-rocr-dev")

View File

@ -379,7 +379,7 @@ class Python(Package):
# https://github.com/spack/spack/pull/16222 # https://github.com/spack/spack/pull/16222
# https://github.com/python/cpython/pull/13306 # https://github.com/python/cpython/pull/13306
conflicts( conflicts(
"%gcc platform=darwin", "platform=darwin %gcc",
msg="CPython does not compile with GCC on macOS yet, use clang. " msg="CPython does not compile with GCC on macOS yet, use clang. "
"See: https://github.com/python/cpython/pull/13306", "See: https://github.com/python/cpython/pull/13306",
) )

View File

@ -155,7 +155,7 @@ def configure_args(self):
"--disable-docs", "--disable-docs",
] ]
extra_cflags = "-Wno-unknown-warning-option" extra_cflags = "-Wno-unknown-warning-option"
if self.spec.satisfies("%apple-clang platform=darwin"): if self.spec.satisfies("platform=darwin %apple-clang"):
# qemu 9: uses pthread_jit_write_protect_np which requires OSX 11.0 or newer # qemu 9: uses pthread_jit_write_protect_np which requires OSX 11.0 or newer
extra_cflags += " -mmacosx-version-min=11.0" extra_cflags += " -mmacosx-version-min=11.0"
args.append(f"--extra-cflags={extra_cflags}") args.append(f"--extra-cflags={extra_cflags}")

View File

@ -125,7 +125,7 @@ class QuantumEspresso(CMakePackage, Package):
with when("+mpi"): with when("+mpi"):
depends_on("mpi") depends_on("mpi")
variant("scalapack", default=True, description="Enables scalapack support") variant("scalapack", default=True, description="Enables scalapack support")
with when("%nvhpc+cuda"): with when("+cuda%nvhpc"):
# add mpi_gpu_aware variant, False by default # add mpi_gpu_aware variant, False by default
variant("mpigpu", default=False, description="Enables GPU-aware MPI operations") variant("mpigpu", default=False, description="Enables GPU-aware MPI operations")
@ -292,7 +292,7 @@ class QuantumEspresso(CMakePackage, Package):
# Internal compiler error gcc8 and a64fx, I check only 6.5 and 6.6 # Internal compiler error gcc8 and a64fx, I check only 6.5 and 6.6
conflicts( conflicts(
"@5.3:", when="%gcc@8 target=a64fx", msg="Internal compiler error with gcc8 and a64fx" "@5.3:", when="target=a64fx %gcc@8", msg="Internal compiler error with gcc8 and a64fx"
) )
conflicts("@6.5:", when="+environ", msg="6.4.x is the latest QE series supported by Environ") conflicts("@6.5:", when="+environ", msg="6.4.x is the latest QE series supported by Environ")

View File

@ -62,10 +62,10 @@ class Serialbox(CMakePackage):
patch("ppser_py3.patch", when="@2.2.0:") patch("ppser_py3.patch", when="@2.2.0:")
# NAG patches: # NAG patches:
patch("nag/interface.patch", when="@2.0.1:%nag+fortran") patch("nag/interface.patch", when="@2.0.1:+fortran%nag")
patch("nag/examples.patch", when="@2.3.1:%nag+fortran+examples") patch("nag/examples.patch", when="@2.3.1:+fortran+examples%nag")
patch("nag/ftg.patch", when="@2.3.1:%nag+ftg") patch("nag/ftg.patch", when="@2.3.1:+ftg%nag")
patch("nag/bool_getters.patch", when="@2.3.1:%nag@7.1:+fortran") patch("nag/bool_getters.patch", when="@2.3.1:+fortran%nag@7.1:")
# Add missing include directives # Add missing include directives
# (part of https://github.com/GridTools/serialbox/pull/259): # (part of https://github.com/GridTools/serialbox/pull/259):
@ -144,7 +144,7 @@ def flag_handler(self, name, flags):
# undefined reference to # undefined reference to
# `std::experimental::filesystem::v1::__cxx11::path:: # `std::experimental::filesystem::v1::__cxx11::path::
# _M_find_extension[abi:cxx11]() const' # _M_find_extension[abi:cxx11]() const'
if self.spec.satisfies("%intel@:19.0.1+std-filesystem"): if self.spec.satisfies("+std-filesystem%intel@:19.0.1"):
cmake_flags.append("-D_GLIBCXX_USE_CXX11_ABI=0") cmake_flags.append("-D_GLIBCXX_USE_CXX11_ABI=0")
return flags, None, (cmake_flags or None) return flags, None, (cmake_flags or None)

View File

@ -142,7 +142,7 @@ class SingularityEos(CMakePackage, CudaPackage):
# can be removed once <1.8.0 versions have been removed # can be removed once <1.8.0 versions have been removed
def flag_handler(self, name, flags): def flag_handler(self, name, flags):
if name == "fflags": if name == "fflags":
if self.spec.satisfies("%cce+fortran"): if self.spec.satisfies("+fortran%cce"):
# The Cray fortran compiler generates module files with # The Cray fortran compiler generates module files with
# uppercase names by default, which is not handled by the # uppercase names by default, which is not handled by the
# CMake scripts. The following flag forces the compiler to # CMake scripts. The following flag forces the compiler to

View File

@ -156,7 +156,7 @@ def cmake_args(self):
args.extend([self.define_from_variant("STRUMPACK_C_INTERFACE", "c_interface")]) args.extend([self.define_from_variant("STRUMPACK_C_INTERFACE", "c_interface")])
# Workaround for linking issue on Mac: # Workaround for linking issue on Mac:
if spec.satisfies("%apple-clang +mpi"): if spec.satisfies("+mpi %apple-clang"):
args.append("-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc) args.append("-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc)
if "+cuda" in spec: if "+cuda" in spec:

View File

@ -270,7 +270,7 @@ def install(self, spec, prefix):
] ]
make_args += [f"CMAKE_OPTIONS={' '.join(cmake_args)}"] make_args += [f"CMAKE_OPTIONS={' '.join(cmake_args)}"]
if spec.satisfies("%gcc platform=darwin"): if spec.satisfies("platform=darwin %gcc"):
make_args += ["LDLIBS=-lm"] make_args += ["LDLIBS=-lm"]
if "%cce" in spec: if "%cce" in spec:

View File

@ -40,7 +40,7 @@ class Sw4(MakefilePackage):
depends_on("zfp", when="+zfp") depends_on("zfp", when="+zfp")
depends_on("h5z-zfp@develop", when="+zfp") depends_on("h5z-zfp@develop", when="+zfp")
depends_on("fftw@3: +mpi", when="+fftw") depends_on("fftw@3: +mpi", when="+fftw")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
def setup_build_environment(self, env): def setup_build_environment(self, env):
env.set("CXX", self.spec["mpi"].mpicxx) env.set("CXX", self.spec["mpi"].mpicxx)
@ -66,7 +66,7 @@ def setup_build_environment(self, env):
env.set("EXTRA_LINK_FLAGS", "-lstdc++ -lm -ldl") env.set("EXTRA_LINK_FLAGS", "-lstdc++ -lm -ldl")
env.append_flags("EXTRA_LINK_FLAGS", self.spec["blas"].libs.ld_flags) env.append_flags("EXTRA_LINK_FLAGS", self.spec["blas"].libs.ld_flags)
env.append_flags("EXTRA_LINK_FLAGS", self.spec["lapack"].libs.ld_flags) env.append_flags("EXTRA_LINK_FLAGS", self.spec["lapack"].libs.ld_flags)
if self.spec.satisfies("%apple-clang +openmp"): if self.spec.satisfies("+openmp %apple-clang"):
env.append_flags("EXTRA_LINK_FLAGS", self.spec["llvm-openmp"].libs.ld_flags) env.append_flags("EXTRA_LINK_FLAGS", self.spec["llvm-openmp"].libs.ld_flags)
# From spack/trilinos # From spack/trilinos
if ( if (

View File

@ -205,7 +205,7 @@ def edit(self, spec, prefix):
"-fallow-argument-mismatch", " -fno-fortran-main", make_include, string=True "-fallow-argument-mismatch", " -fno-fortran-main", make_include, string=True
) )
# fj # fj
elif spec.satisfies("@6.4.3: %fj target=a64fx"): elif spec.satisfies("@6.4.3: target=a64fx %fj"):
include_string += "fujitsu_a64fx" include_string += "fujitsu_a64fx"
omp_flag = "-Kopenmp" omp_flag = "-Kopenmp"
fc.extend(["simd_nouse_multiple_structures", "-X03"]) fc.extend(["simd_nouse_multiple_structures", "-X03"])
@ -323,7 +323,7 @@ def edit(self, spec, prefix):
os.rename(make_include, "makefile.include") os.rename(make_include, "makefile.include")
def setup_build_environment(self, spack_env): def setup_build_environment(self, spack_env):
if self.spec.satisfies("%nvhpc +cuda"): if self.spec.satisfies("+cuda %nvhpc"):
spack_env.set("NVHPC_CUDA_HOME", self.spec["cuda"].prefix) spack_env.set("NVHPC_CUDA_HOME", self.spec["cuda"].prefix)
def build(self, spec, prefix): def build(self, spec, prefix):

View File

@ -184,19 +184,19 @@ class Wrf(Package):
patch("patches/4.2/var.gen_be.Makefile.patch", when="@4.2:") patch("patches/4.2/var.gen_be.Makefile.patch", when="@4.2:")
patch("patches/4.2/Makefile.patch", when="@4.2") patch("patches/4.2/Makefile.patch", when="@4.2")
patch("patches/4.2/tirpc_detect.patch", when="@4.2") patch("patches/4.2/tirpc_detect.patch", when="@4.2")
patch("patches/4.2/add_aarch64.patch", when="@4.2:4.3.1 %gcc target=aarch64:") patch("patches/4.2/add_aarch64.patch", when="@4.2:4.3.1 target=aarch64: %gcc")
patch("patches/4.2/add_aarch64_acfl.patch", when="@4.2:4.3.1 %arm target=aarch64:") patch("patches/4.2/add_aarch64_acfl.patch", when="@4.2:4.3.1 target=aarch64: %arm")
patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0") patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0")
patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2 %aocc@3.0.0:3.2.0") patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2 %aocc@3.0.0:3.2.0")
patch("patches/4.2/hdf5_fix.patch", when="@4.2:4.5.1 %aocc") patch("patches/4.2/hdf5_fix.patch", when="@4.2:4.5.1 %aocc")
patch("patches/4.2/derf_fix.patch", when="@=4.2 %aocc") patch("patches/4.2/derf_fix.patch", when="@=4.2 %aocc")
patch( patch(
"patches/4.2/add_tools_flags_acfl2304.patch", "patches/4.2/add_tools_flags_acfl2304.patch",
when="@4.2:4.4.2 %arm@23.04.1: target=aarch64:", when="@4.2:4.4.2 target=aarch64: %arm@23.04.1:",
) )
patch("patches/4.3/add_aarch64.patch", when="@4.3.2:4.4.2 %gcc target=aarch64:") patch("patches/4.3/add_aarch64.patch", when="@4.3.2:4.4.2 target=aarch64: %gcc")
patch("patches/4.3/add_aarch64_acfl.patch", when="@4.3.2:4.4.2 %arm target=aarch64:") patch("patches/4.3/add_aarch64_acfl.patch", when="@4.3.2:4.4.2 target=aarch64: %arm")
patch("patches/4.4/arch.postamble.patch", when="@4.4:4.5.1") patch("patches/4.4/arch.postamble.patch", when="@4.4:4.5.1")
patch("patches/4.4/configure.patch", when="@4.4:4.4.2") patch("patches/4.4/configure.patch", when="@4.4:4.4.2")

View File

@ -55,7 +55,7 @@ class Xgboost(CMakePackage, CudaPackage):
depends_on("cuda@:12.4", when="@:2.1") depends_on("cuda@:12.4", when="@:2.1")
depends_on("nccl", when="+nccl") depends_on("nccl", when="+nccl")
depends_on("llvm-openmp", when="%apple-clang +openmp") depends_on("llvm-openmp", when="+openmp %apple-clang")
depends_on("hwloc", when="%clang") depends_on("hwloc", when="%clang")
# https://github.com/dmlc/xgboost/issues/6972 # https://github.com/dmlc/xgboost/issues/6972

View File

@ -48,7 +48,7 @@ class YamlCpp(CMakePackage):
conflicts("%xl@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support") conflicts("%xl@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
conflicts("%xl_r@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support") conflicts("%xl_r@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
conflicts( conflicts(
'%clang cxxflags="-stdlib=libc++"', when="+tests", msg=yaml_cpp_tests_libcxx_error_msg 'cxxflags="-stdlib=libc++" %clang', when="+tests", msg=yaml_cpp_tests_libcxx_error_msg
) )
def flag_handler(self, name, flags): def flag_handler(self, name, flags):

View File

@ -48,7 +48,7 @@ class ZlibNg(AutotoolsPackage, CMakePackage):
build_system("autotools", "cmake", default="autotools") build_system("autotools", "cmake", default="autotools")
# fix building with NVHPC, see https://github.com/zlib-ng/zlib-ng/pull/1698 # fix building with NVHPC, see https://github.com/zlib-ng/zlib-ng/pull/1698
patch("pr-1698.patch", when="@2.1.4:2.1.6%nvhpc+opt") patch("pr-1698.patch", when="@2.1.4:2.1.6+opt%nvhpc")
with when("build_system=cmake"): with when("build_system=cmake"):
depends_on("cmake@3.5.1:", type="build") depends_on("cmake@3.5.1:", type="build")

View File

@ -165,7 +165,7 @@ def configure_args(self):
config_fcflags = config_cflags[:] config_fcflags = config_cflags[:]
config_cxxflags = config_cflags[:] config_cxxflags = config_cflags[:]
if spec.satisfies("%gcc@10:+fortran"): if spec.satisfies("+fortran%gcc@10:"):
config_fcflags.append("-fallow-argument-mismatch") config_fcflags.append("-fallow-argument-mismatch")
# NOTE: Early versions of Zoltan come packaged with a few embedded # NOTE: Early versions of Zoltan come packaged with a few embedded