BundlePackage represents a set of packages that are expected to work
well together, such as a collection of commonly used software libraries.
The associated software is specified as dependencies.
If it makes sense, variants, conflicts, and requirements can be added to the package. Variants ensure that common build options are consistent across the packages supporting them. Conflicts and requirements prevent attempts to build with known bugs or limitations.
For example, if
MyBundlePackage is known to only build on
it could use the
require directive as follows:
require("platform=linux", msg="MyBundlePackage only builds on linux")
Spack has a number of built-in bundle packages, such as:
Xsdk also inherits from
Libc is a virtual bundle package for the C standard library.
Be sure to specify the
bundle template if you are using
to generate a package from the template. For example, use the following
command to create a bundle package whose class name will be
$ spack create --template bundle --name mybundle
BundlePackage base class does not provide any phases by default
since the bundle does not represent a build system.
url property does not have meaning since there is no package-specific
code to fetch.
At least one
version must be specified in order for the package to