id = "spack"
name = "Spack"
homepage = "https://spack.io"
description = "Package manager for supercomputers."
executables = ["spack"]
[dotfiles]
paths = [
"~/.spack/config.yaml",
"~/.spack/concretizer.yaml",
"~/.spack/include.yaml",
"~/.spack/mirrors.yaml",
"~/.spack/modules.yaml",
"~/.spack/packages.yaml",
"~/.spack/*/compilers.yaml",
"~/.spack/repos.yaml",
"~/.spack/toolchains.yaml",
]
secret = []
[commands]
format = 1
label = "Spack"
description = "Build and install packages from specs. Environment-only, buildcache-mode, CDash and log options of spack install are left out; other spack subcommands are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["install"]
label = "Install packages"
description = "Concretize and install one or more package specs."
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://spack.readthedocs.io/en/latest/command_index.html"
revision = "1.3.0.dev0"
evidence = """
spack install [-h] [--only {package,dependencies}] [-u UNTIL] [-p CONCURRENT_PACKAGES] [-j JOBS] [--overwrite]
Positional arguments
spec package spec
--only {package,dependencies} select the mode of installation
-j, --jobs JOBS explicitly set number of parallel jobs
--overwrite reinstall an existing spec, even if it has dependents
--fail-fast stop all builds if any build fails (default is best effort)
--keep-stage don't remove the build stage if installation succeeds
--use-cache check for pre-built Spack packages in mirrors (default)
--no-cache do not check for pre-built Spack packages in mirrors
--cache-only only install package from binary mirrors
--show-log-on-error print full build log to stderr if build fails
-n, --no-checksum do not use checksums to verify downloaded files (unsafe)
-v, --verbose display verbose build output while installing
--test {root,all} run tests on only root packages or all packages
-y, --yes-to-all assume "yes" is the answer to every confirmation request
-U, --fresh do not reuse installed deps; build newest configuration
--reuse reuse installed packages/buildcaches when possible
"""
[[commands.subcommand.field]]
id = "specs"
label = "Package specs"
description = "For example zlib@1.3 +shared %gcc."
type = "string"
position = 0
multiple = true
min = 0
sources = ["help"]
[[commands.subcommand.field]]
id = "only"
label = "Install"
type = "enum"
option = ["--only"]
choices = [{ value = "package", label = "Package only" }, { value = "dependencies", label = "Dependencies only" }]
sources = ["help"]
[[commands.subcommand.field]]
id = "jobs"
label = "Parallel jobs"
type = "integer"
option = ["--jobs", "-j"]
sources = ["help"]
[[commands.subcommand.field]]
id = "overwrite"
label = "Reinstall existing"
type = "boolean"
option = ["--overwrite"]
effect = "overwrite"
sources = ["help"]
[[commands.subcommand.field]]
id = "fail_fast"
label = "Stop on first failure"
type = "boolean"
option = ["--fail-fast"]
sources = ["help"]
[[commands.subcommand.field]]
id = "keep_stage"
label = "Keep build stage"
type = "boolean"
option = ["--keep-stage"]
sources = ["help"]
[[commands.subcommand.field]]
id = "no_cache"
label = "Skip binary mirrors"
type = "boolean"
option = ["--no-cache"]
sources = ["help"]
[[commands.subcommand.field]]
id = "cache_only"
label = "Binary mirrors only"
type = "boolean"
option = ["--cache-only"]
sources = ["help"]
[[commands.subcommand.field]]
id = "no_checksum"
label = "Skip checksum verification (unsafe)"
type = "boolean"
option = ["--no-checksum", "-n"]
sources = ["help"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbose build output"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["help"]
[[commands.subcommand.field]]
id = "show_log_on_error"
label = "Show log on error"
type = "boolean"
option = ["--show-log-on-error"]
sources = ["help"]
[[commands.subcommand.field]]
id = "test"
label = "Run tests"
type = "enum"
option = ["--test"]
choices = [{ value = "root", label = "Root packages" }, { value = "all", label = "All packages" }]
sources = ["help"]
[[commands.subcommand.field]]
id = "fresh"
label = "Build fresh (no reuse)"
type = "boolean"
option = ["--fresh", "-U"]
sources = ["help"]
[[commands.subcommand.field]]
id = "reuse"
label = "Reuse installed"
type = "boolean"
option = ["--reuse"]
sources = ["help"]
[[commands.subcommand.task]]
id = "install"
label = "Install a package"
fields = ["specs", "jobs", "verbose"]
required = ["specs"]
[[commands.subcommand.task]]
id = "binary"
label = "Install from binary mirrors only"
fields = ["specs", "cache_only"]
required = ["specs"]
set = { cache_only = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["specs", "only", "jobs", "verbose", "overwrite"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["fail_fast", "keep_stage", "no_cache", "cache_only", "no_checksum", "show_log_on_error", "test", "fresh", "reuse"]