Specs
Specs are descriptors used to provide more information while installing spack packages. For example, package name, providing a specific version of the package using @, compiler using % and compiler options etc.
mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt target=x86_64 ^callpath @1.1 %gcc@4.7.2
Above command can be described as, install package mpileaks of version in between 1.2 and 1.4 built using gcc of version 4.7.5 for architecture x86_64 with debug option enabled and Qt option disabled. Additionally using dependency callpath of version 1.1 built using gcc of version 4.7.2.
Spec consists of following pieces.
- package name which is mandatory.
- version using
@which works for both package and compiler. %to specify the compiler for both package and dependencies. It sould come just after the package name and whatever dependencies.+, -, or ~variant specifiers.name=<value>optional compiler flags.target=<value>oros=<value>for architecture information.^to specify dependencies.