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):
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():
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):
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_dict = spec.to_dict()
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
pytest.param(
"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"},
1,
marks=pytest.mark.skipif(
@ -101,7 +101,7 @@ def test_external_nodes_do_not_have_runtimes(runtime_repo, mutable_config, tmp_p
),
pytest.param(
"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-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",
# conflict not triggered
"conflict",
"conflict%clang~foo",
"conflict~foo%clang",
"conflict-parent%gcc",
]
)
@ -387,8 +387,8 @@ def test_different_compilers_get_different_flags(
t = archspec.cpu.host().family
client = spack.concretize.concretize_one(
Spec(
f"cmake-client %gcc@11.1.0 platform=test os=redhat6 target={t}"
f" ^cmake %clang@12.2.0 platform=test os=redhat6 target={t}"
f"cmake-client platform=test os=redhat6 target={t} %gcc@11.1.0"
f" ^cmake platform=test os=redhat6 target={t} %clang@12.2.0"
)
)
cmake = client["cmake"]
@ -403,7 +403,7 @@ def test_spec_flags_maintain_order(self, mutable_config, gcc11_with_flags):
for successive concretizations.
"""
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):
s = spack.concretize.concretize_one(spec_str)
assert all(
@ -414,7 +414,7 @@ def test_compiler_flags_differ_identical_compilers(self, mutable_config, clang12
mutable_config.set("compilers", [clang12_with_flags])
# Correct arch to use test compiler that has flags
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 (
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
del cnl_compiler["compiler"]["target"]
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)
for s in spec.traverse(root=False):
assert s.architecture.target == spec.architecture.target
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)
cflags = spec.compiler_flags["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")
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)
assert s["mpileaks"].satisfies("%clang")
assert s["dyninst"].satisfies("%gcc")
@ -826,7 +826,7 @@ def test_conflict_in_all_directives_true(self):
with pytest.raises(spack.error.SpackError):
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):
# Modify the configuration to have the spec with conflict
# registered as an external
@ -940,9 +940,9 @@ def test_noversion_pkg(self, spec):
"spec, best_achievable",
[
("mpileaks%gcc@=4.4.7 ^dyninst@=10.2.1 target=x86_64:", "core2"),
("mpileaks%gcc@=4.8 target=x86_64:", "haswell"),
("mpileaks%gcc@=5.3.0 target=x86_64:", "broadwell"),
("mpileaks%apple-clang@=5.1.0 target=x86_64:", "x86_64"),
("mpileaks target=x86_64: %gcc@=4.8", "haswell"),
("mpileaks target=x86_64: %gcc@=5.3.0", "broadwell"),
("mpileaks target=x86_64: %apple-clang@=5.1.0", "x86_64"),
],
)
@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(
"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)
assert "openblas@0.2.15" in s
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")]
)
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
def test_all_patches_applied(self):
@ -1531,8 +1531,8 @@ def test_external_with_non_default_variant_as_dependency(self):
("mpileaks", "os=debian6"),
# To trigger the bug in 22871 we need to have the same compiler
# spec available on both operating systems
("mpileaks%gcc@10.2.1 platform=test os=debian6", "os=debian6"),
("mpileaks%gcc@10.2.1 platform=test os=redhat6", "os=redhat6"),
("mpileaks platform=test os=debian6 %gcc@10.2.1", "os=debian6"),
("mpileaks platform=test os=redhat6 %gcc@10.2.1", "os=redhat6"),
],
)
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):
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_modules = ["mpich/4.1"]
spec._mark_concrete()
@ -3031,7 +3031,7 @@ def test_reusable_externals_match(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_modules = ["mpich/4.1"]
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):
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_modules = ["mpich/4.1"]
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"]])
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_modules = modules
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):
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._mark_concrete()
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")
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"')
@ -182,7 +182,7 @@ def test_propagate_and_compiler_cfg(concretize_scope, test_repo):
conf_str = _compiler_cfg_one_entry_with_cflags("-f2")
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'")
@ -229,7 +229,7 @@ def test_dev_mix_flags(tmp_path, concretize_scope, mutable_mock_env_path, test_r
env_content = f"""\
spack:
specs:
- y %gcc@12.100.100 cflags=='-fsanitize=address'
- y cflags=='-fsanitize=address' %gcc@12.100.100
develop:
y:
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)
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")
assert s2.satisfies("%gcc+shared")
assert s2.satisfies("+shared%gcc")
@pytest.mark.regression("34241")
@ -499,7 +499,7 @@ def test_default_requirements_with_all(spec_str, requirement_str, concretize_sco
"requirements,expectations",
[
(("%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(
@ -754,7 +754,7 @@ def test_skip_requirement_when_default_requirement_condition_cannot_be_met(
update_packages_config(packages_yaml)
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
# cause failures during concretization.
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):
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")
_, _, 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"

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):
"""Specs which violate constraints specified with the "conflicts"
directive in the "conflict" package.

View File

@ -53,7 +53,7 @@ def test_no_version_match(pkg_name):
# Constraints on compilers with a default
("%gcc", "has_a_default", "gcc"),
("%clang", "has_a_default", "clang"),
("%apple-clang os=elcapitan", "has_a_default", "default"),
("os=elcapitan %apple-clang", "has_a_default", "default"),
# Constraints on dependencies
("^zmpi", "different_by_dep", "zmpi"),
("^mpich", "different_by_dep", "mpich"),
@ -74,7 +74,7 @@ def test_multimethod_calls(
with spack.config.override(
"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"
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@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-b": None,
"pkg-c": None,
@ -49,8 +49,8 @@
},
),
(
"optional-dep-test@1.1%clang@36.5+a",
{"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",
{"optional-dep-test@1.1+a%clang@36.5": {"pkg-b": None, "pkg-a": None, "pkg-e": None}},
),
# Chained MPI
(

View File

@ -160,11 +160,11 @@ def _specfile_for(spec_str, filename):
),
# Version after compiler
(
"foo %bar@1.0 @2.0",
"foo @2.0 %bar@1.0",
[
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="foo"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%bar@1.0"),
Token(SpecTokens.VERSION, value="@2.0"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%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"),
# 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.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"),
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="~qt_4"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"),
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%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.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"),
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.KEY_VALUE_PAIR, value="debug=2"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"),
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%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",
[
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="mvapich_foo"),
Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="_openmpi"),
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.BOOL_VARIANT, value="+debug"),
Token(SpecTokens.BOOL_VARIANT, value="~qt_4"),
Token(SpecTokens.COMPILER_AND_VERSION, value="%intel@12.1"),
Token(SpecTokens.DEPENDENCY, value="^"),
Token(SpecTokens.UNQUALIFIED_PACKAGE_NAME, value="stackwalker"),
Token(SpecTokens.VERSION, value="@8.1_1e"),
@ -486,10 +486,10 @@ def _specfile_for(spec_str, filename):
"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.COMPILER_AND_VERSION, value="% 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 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="emacs"),
Token(SpecTokens.VERSION, value="@1.1.1"),
Token(SpecTokens.COMPILER, value="%intel"),
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',
@ -1232,7 +1232,7 @@ def test_compare_abstract_specs():
"foo.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 cflags=foo",
"foo.foo@foo+foo arch=foo-foo-foo cflags=foo %foo",
]
specs = [SpecParser(s).next_spec() for s in constraints]

View File

@ -9,7 +9,7 @@
]
],
"python": "python@3.10.13",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -20,7 +20,7 @@
]
],
"python": "python@3.11.5",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -31,7 +31,7 @@
]
],
"python": "python@3.12.0",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -42,7 +42,7 @@
]
],
"python": "python@3.6",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -53,7 +53,7 @@
]
],
"python": "python@3.7.17",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -64,7 +64,7 @@
]
],
"python": "python@3.8.18",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -75,7 +75,7 @@
]
],
"python": "python@3.9.18",
"spec": "clingo-bootstrap%apple-clang platform=darwin target=aarch64"
"spec": "clingo-bootstrap platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -86,7 +86,7 @@
]
],
"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": [
@ -97,7 +97,7 @@
]
],
"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": [
@ -108,7 +108,7 @@
]
],
"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": [
@ -119,7 +119,7 @@
]
],
"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": [
@ -130,7 +130,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": [
@ -141,7 +141,7 @@
]
],
"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": [
@ -152,7 +152,7 @@
]
],
"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": [
@ -163,7 +163,7 @@
]
],
"python": "python@3.10.13",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -174,7 +174,7 @@
]
],
"python": "python@3.11.5",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -185,7 +185,7 @@
]
],
"python": "python@3.12.0",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -196,7 +196,7 @@
]
],
"python": "python@3.6",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -207,7 +207,7 @@
]
],
"python": "python@3.7.17",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -218,7 +218,7 @@
]
],
"python": "python@3.8.18",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -229,7 +229,7 @@
]
],
"python": "python@3.9.18",
"spec": "clingo-bootstrap%gcc platform=linux target=aarch64"
"spec": "clingo-bootstrap platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -240,7 +240,7 @@
]
],
"python": "python@3.10.13",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -251,7 +251,7 @@
]
],
"python": "python@3.11.5",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -262,7 +262,7 @@
]
],
"python": "python@3.12.0",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -273,7 +273,7 @@
]
],
"python": "python@3.6",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -284,7 +284,7 @@
]
],
"python": "python@3.7.17",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -295,7 +295,7 @@
]
],
"python": "python@3.8.18",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -306,7 +306,7 @@
]
],
"python": "python@3.9.18",
"spec": "clingo-bootstrap%gcc platform=linux target=ppc64le"
"spec": "clingo-bootstrap platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -317,7 +317,7 @@
]
],
"python": "python@3.10.13",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64"
"spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
},
{
"binaries": [
@ -328,7 +328,7 @@
]
],
"python": "python@3.11.5",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64"
"spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
},
{
"binaries": [
@ -339,7 +339,7 @@
]
],
"python": "python@3.12.0",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64"
"spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
},
{
"binaries": [
@ -350,7 +350,7 @@
]
],
"python": "python@3.6",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64"
"spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
},
{
"binaries": [
@ -361,7 +361,7 @@
]
],
"python": "python@3.7.17",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64"
"spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
},
{
"binaries": [
@ -372,7 +372,7 @@
]
],
"python": "python@3.8.18",
"spec": "clingo-bootstrap%gcc platform=linux target=x86_64"
"spec": "clingo-bootstrap platform=linux target=x86_64 %gcc"
},
{
"binaries": [
@ -383,7 +383,7 @@
]
],
"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"
]
],
"spec": "gnupg@2.3: %apple-clang platform=darwin target=aarch64"
"spec": "gnupg@2.3: platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -98,7 +98,7 @@
"b9481e122e2cb26f69b70505830d0fcc0d200aadbb6c6572339825f17ad1e52d"
]
],
"spec": "gnupg@2.3: %apple-clang platform=darwin target=x86_64"
"spec": "gnupg@2.3: platform=darwin target=x86_64 %apple-clang"
},
{
"binaries": [
@ -148,7 +148,7 @@
"228ccb475932f7f40a64e9d87dec045931cc57f71b1dfd4b4c3926107222d96c"
]
],
"spec": "gnupg@2.3: %gcc platform=linux target=aarch64"
"spec": "gnupg@2.3: platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -198,7 +198,7 @@
"98e2bcb4064ec0830d896938bc1fe5264dac611da71ea546b9ca03349b752041"
]
],
"spec": "gnupg@2.3: %gcc platform=linux target=ppc64le"
"spec": "gnupg@2.3: platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -248,7 +248,7 @@
"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"
]
],
"spec": "patchelf@0.13: %gcc platform=linux target=aarch64"
"spec": "patchelf@0.13: platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -18,7 +18,7 @@
"91cf0a9d4750c04575c5ed3bcdefc4754e1cf9d1cd1bf197eb1fe20ccaa869f1"
]
],
"spec": "patchelf@0.13: %gcc platform=linux target=ppc64le"
"spec": "patchelf@0.13: platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -28,7 +28,7 @@
"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"
]
],
"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": [
@ -18,7 +18,7 @@
"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": [
@ -28,7 +28,7 @@
"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": [
@ -38,7 +38,7 @@
"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": [
@ -48,7 +48,7 @@
"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": [
@ -58,7 +58,7 @@
"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": [
@ -68,7 +68,7 @@
"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": [
@ -78,7 +78,7 @@
"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": [
@ -88,7 +88,7 @@
"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": [
@ -98,7 +98,7 @@
"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": [
@ -108,7 +108,7 @@
"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": [
@ -118,7 +118,7 @@
"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": [
@ -128,7 +128,7 @@
"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": [
@ -138,7 +138,7 @@
"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": [
@ -148,7 +148,7 @@
"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": [
@ -158,7 +158,7 @@
"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": [
@ -168,7 +168,7 @@
"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": [
@ -178,7 +178,7 @@
"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": [
@ -188,7 +188,7 @@
"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": [
@ -198,7 +198,7 @@
"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": [
@ -208,7 +208,7 @@
"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": [
@ -218,7 +218,7 @@
"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": [
@ -228,7 +228,7 @@
"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": [
@ -238,7 +238,7 @@
"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": [
@ -248,7 +248,7 @@
"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": [
@ -258,7 +258,7 @@
"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": [
@ -268,7 +268,7 @@
"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": [
@ -278,7 +278,7 @@
"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": [
@ -288,7 +288,7 @@
"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": [
@ -298,7 +298,7 @@
"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": [
@ -308,7 +308,7 @@
"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": [
@ -318,7 +318,7 @@
"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": [
@ -328,7 +328,7 @@
"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": [
@ -338,7 +338,7 @@
"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": [
@ -348,7 +348,7 @@
"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": [
@ -358,7 +358,7 @@
"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": [
@ -368,7 +368,7 @@
"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": [
@ -378,7 +378,7 @@
"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"
]
],
"spec": "gnupg@2.4.5%apple-clang platform=darwin target=aarch64"
"spec": "gnupg@2.4.5 platform=darwin target=aarch64 %apple-clang"
},
{
"binaries": [
@ -98,7 +98,7 @@
"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": [
@ -153,7 +153,7 @@
"8398592ab0812d8c76a21deca06da4277d05f4db784e129ead7535bb8988faa2"
]
],
"spec": "gnupg@2.4.5%gcc platform=linux target=aarch64"
"spec": "gnupg@2.4.5 platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -208,7 +208,7 @@
"cc7e4833af58913fa4ab2b7ce3fdb86d214594d54327c7e4eb4ca3f0784c046f"
]
],
"spec": "gnupg@2.4.5%gcc platform=linux target=ppc64le"
"spec": "gnupg@2.4.5 platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -263,7 +263,7 @@
"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"
]
],
"spec": "patchelf@0.17.2%gcc platform=linux target=aarch64"
"spec": "patchelf@0.17.2 platform=linux target=aarch64 %gcc"
},
{
"binaries": [
@ -28,7 +28,7 @@
"1569df037ea1ea316a50e89f5a0cafa0ce8e20629bbd07fcc3846d9fecd2451c"
]
],
"spec": "patchelf@0.17.2%gcc platform=linux target=ppc64le"
"spec": "patchelf@0.17.2 platform=linux target=ppc64le %gcc"
},
{
"binaries": [
@ -43,7 +43,7 @@
"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:
require: mpich
mpich:
require: '~wrapperrpath ~hwloc %gcc target=neoverse_v2'
require: '~wrapperrpath ~hwloc target=neoverse_v2 %gcc'
tbb:
require: intel-tbb
vtk-m:
require: "+examples %gcc target=neoverse_v2"
require: "+examples target=neoverse_v2 %gcc"
paraview:
require: "+examples %gcc target=neoverse_v2"
require: "+examples target=neoverse_v2 %gcc"
specs:
# CPU

View File

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

View File

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

View File

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

View File

@ -128,7 +128,7 @@ def with_or_without_hdf5(self, activated):
def setup_build_environment(self, env):
# 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")
def configure_args(self):

View File

@ -257,9 +257,9 @@ def patch(self):
def setup_build_environment(self, env):
# 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")
elif self.spec.satisfies("%fj +fortran"):
elif self.spec.satisfies("+fortran %fj"):
env.set("FFLAGS", "-Ccpp")
def cmake_args(self):

View File

@ -39,6 +39,6 @@ class AppleGl(AppleGlBase):
provides("gl@4.1")
requires(
"%apple-clang platform=darwin",
"platform=darwin %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")
requires(
"%apple-clang platform=darwin",
"platform=darwin %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 +cuda +cuda_lambda +cuda_constexpr", when="+cuda")
depends_on("kokkos +rocm", when="+rocm")
depends_on("kokkos +wrapper", when="%gcc+cuda")
depends_on("kokkos +wrapper", when="+cuda%gcc")
# Cabana dependencies
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("blas")
depends_on("llvm-openmp", when="%apple-clang +openmp")
depends_on("llvm-openmp", when="+openmp %apple-clang")
depends_on("rocblas", when="+rocm")
depends_on("intel-oneapi-mkl", 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")
# 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
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")
# 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
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")
# 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
conflicts(
"%gcc platform=darwin",
"platform=darwin %gcc",
when="@:3.17",
msg="CMake <3.18 does not compile with GCC on macOS, "
"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"]
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 += [
"-fallow-argument-mismatch"
] # 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("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_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
@ -349,7 +349,7 @@ def initconfig_package_entries(self):
return entries
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("CFLAGS", 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
# fmt 10, which only happens with GCC 9 and nvcc 11.2 and older:
# 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:
# https://github.com/eth-cscs/DLA-Future/pull/1043

View File

@ -158,7 +158,7 @@ class Eccodes(CMakePackage):
when="@:2.4.0+netcdf",
)
@when("%nag+fortran")
@when("+fortran%nag")
def patch(self):
# A number of Fortran source files assume that the kinds of integer and
# 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
# Patch taken from CMS recipe:
# 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
filter_file("-shared", "-dynamiclib -undefined dynamic_lookup", "make.inc")

View File

@ -52,19 +52,19 @@ class Fds(MakefilePackage):
requires(
"^openmpi",
when="%gcc platform=linux",
when="platform=linux %gcc",
msg="OpenMPI can only be used with GNU Fortran on Linux platform",
)
requires(
"^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",
)
requires(
"^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",
)

View File

@ -26,7 +26,7 @@ class FftwBase(AutotoolsPackage):
variant("shared", default=True, description="Build shared libraries")
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
conflicts("%gcc@8.0:8", when="@3.3.7")
@ -87,7 +87,7 @@ def selected_precisions(self):
return self.spec.variants["precision"].value
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("CFLAGS", 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("armadillo", when="+armadillo")
depends_on("llvm-openmp", when="%apple-clang +openmp")
depends_on("llvm-openmp", when="+openmp %apple-clang")
def cmake_args(self):
args = [

View File

@ -18,6 +18,6 @@ class Gccxml(CMakePackage):
depends_on("c", 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
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("%apple-clang", when="@:0.1", msg="No Darwin support for clang in older versions")
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"):
env.set("OBJC", self.compiler.cc)
@when("%clang platform=darwin")
@when("platform=darwin %clang")
def patch(self):
# When using Clang, replace GCC's libstdc++ with LLVM's libc++
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("lapack")
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
# 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@7:", when="@2021:2022")
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"):
cmake_flags.append(self.compiler.cxx_pic_flag)
elif name == "fflags":
if spec.satisfies("%cce+fortran"):
if spec.satisfies("+fortran%cce"):
# Cray compiler generates module files with uppercase names by
# default, which is not handled by the CMake scripts. The
# 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("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
# 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))
if spec.satisfies("%clang +openmp platform=darwin") or spec.satisfies(
"%clang +omp_taskloops platform=darwin"
if spec.satisfies("+openmp platform=darwin %clang") or spec.satisfies(
"+omp_taskloops platform=darwin %clang"
):
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
@ -280,7 +280,7 @@ def initconfig_package_entries(self):
return entries
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("CFLAGS", 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"])
if self.spec.satisfies("+ocean"):
@ -269,7 +269,7 @@ def configure_args(self):
["-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")
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
# assembler.
if (
spec.satisfies("%gcc@4.8.0: os=rhel6")
or spec.satisfies("%gcc@4.8.0: os=centos6")
or spec.satisfies("%gcc@4.8.0: os=scientific6")
spec.satisfies("os=rhel6 %gcc@4.8.0:")
or spec.satisfies("os=centos6 %gcc@4.8.0:")
or spec.satisfies("os=scientific6 %gcc@4.8.0:")
):
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
# 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("nccl", when="@0.94:0.98.2 +cuda")
@ -410,7 +410,7 @@ def initconfig_package_entries(self):
# a shell, which expects :
# 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_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)

View File

@ -79,11 +79,11 @@ class Legion(CMakePackage, ROCmPackage):
for nvarch in cuda_arch_list:
depends_on(
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(
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")
@ -407,7 +407,7 @@ def cmake_args(self):
# default is off.
options.append("-DLegion_USE_Kokkos=ON")
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
options.append(
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("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
patch("powerpc-3.3.patch", when="@3.3")
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
# https://github.com/libuv/libuv/issues/2805
conflicts(
"%gcc platform=darwin",
"platform=darwin %gcc",
when="@:1.37.9",
msg="libuv does not compile with GCC on macOS yet, use clang. "
"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"
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"))
if spec.satisfies("+cuda"):

View File

@ -107,7 +107,7 @@ class Mimalloc(CMakePackage):
"debug_ubsan": (
False,
"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),
}

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.11:", type="build")
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("armcomputelibrary", when="+acl")
depends_on("tbb", when="cpu_runtime=sycl")
@ -125,7 +125,7 @@ def cmake_args(self):
args.append("-DDNNL_BUILD_TESTS=OFF")
# 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(
[
"-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
# 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
# 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
# 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__")
# 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
# override the verbose output flag for Fortran compiler on the command line
# (see below).
conflicts("+shared", when="@:1.9%nag+fortran")
conflicts("+shared", when="@:1.9+fortran%nag")
@property
def libs(self):
@ -145,7 +145,7 @@ def configure_args(self):
args += self.enable_or_disable("shared")
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"])
if self.spec.satisfies("+burstbuffer"):

View File

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

View File

@ -49,7 +49,7 @@ class PyDgl(CMakePackage, PythonExtension, CudaPackage):
)
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
# 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-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
# 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:
depends_on("kokkos cuda_arch={0}".format(val), when="cuda_arch={0}".format(val))
# Use +wrapper when not %clang %cce
depends_on("kokkos+wrapper", when="%gcc+cuda")
depends_on("kokkos+wrapper", when="+cuda %gcc")
# ROCm
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+rocm", when="+magma+rocm")
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")
with when("+rocm"):
depends_on("hsa-rocr-dev")

View File

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

View File

@ -155,7 +155,7 @@ def configure_args(self):
"--disable-docs",
]
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
extra_cflags += " -mmacosx-version-min=11.0"
args.append(f"--extra-cflags={extra_cflags}")

View File

@ -125,7 +125,7 @@ class QuantumEspresso(CMakePackage, Package):
with when("+mpi"):
depends_on("mpi")
variant("scalapack", default=True, description="Enables scalapack support")
with when("%nvhpc+cuda"):
with when("+cuda%nvhpc"):
# add mpi_gpu_aware variant, False by default
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
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")

View File

@ -62,10 +62,10 @@ class Serialbox(CMakePackage):
patch("ppser_py3.patch", when="@2.2.0:")
# NAG patches:
patch("nag/interface.patch", when="@2.0.1:%nag+fortran")
patch("nag/examples.patch", when="@2.3.1:%nag+fortran+examples")
patch("nag/ftg.patch", when="@2.3.1:%nag+ftg")
patch("nag/bool_getters.patch", when="@2.3.1:%nag@7.1:+fortran")
patch("nag/interface.patch", when="@2.0.1:+fortran%nag")
patch("nag/examples.patch", when="@2.3.1:+fortran+examples%nag")
patch("nag/ftg.patch", when="@2.3.1:+ftg%nag")
patch("nag/bool_getters.patch", when="@2.3.1:+fortran%nag@7.1:")
# Add missing include directives
# (part of https://github.com/GridTools/serialbox/pull/259):
@ -144,7 +144,7 @@ def flag_handler(self, name, flags):
# undefined reference to
# `std::experimental::filesystem::v1::__cxx11::path::
# _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")
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
def flag_handler(self, name, flags):
if name == "fflags":
if self.spec.satisfies("%cce+fortran"):
if self.spec.satisfies("+fortran%cce"):
# The Cray fortran compiler generates module files with
# uppercase names by default, which is not handled by the
# 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")])
# 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)
if "+cuda" in spec:

View File

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

View File

@ -40,7 +40,7 @@ class Sw4(MakefilePackage):
depends_on("zfp", when="+zfp")
depends_on("h5z-zfp@develop", when="+zfp")
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):
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.append_flags("EXTRA_LINK_FLAGS", self.spec["blas"].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)
# From spack/trilinos
if (

View File

@ -205,7 +205,7 @@ def edit(self, spec, prefix):
"-fallow-argument-mismatch", " -fno-fortran-main", make_include, string=True
)
# fj
elif spec.satisfies("@6.4.3: %fj target=a64fx"):
elif spec.satisfies("@6.4.3: target=a64fx %fj"):
include_string += "fujitsu_a64fx"
omp_flag = "-Kopenmp"
fc.extend(["simd_nouse_multiple_structures", "-X03"])
@ -323,7 +323,7 @@ def edit(self, spec, prefix):
os.rename(make_include, "makefile.include")
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)
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/Makefile.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_acfl.patch", when="@4.2:4.3.1 %arm 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 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_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/derf_fix.patch", when="@=4.2 %aocc")
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_acfl.patch", when="@4.3.2:4.4.2 %arm 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 target=aarch64: %arm")
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")

View File

@ -55,7 +55,7 @@ class Xgboost(CMakePackage, CudaPackage):
depends_on("cuda@:12.4", when="@:2.1")
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")
# 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_r@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
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):

View File

@ -48,7 +48,7 @@ class ZlibNg(AutotoolsPackage, CMakePackage):
build_system("autotools", "cmake", default="autotools")
# 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"):
depends_on("cmake@3.5.1:", type="build")

View File

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