-
Notifications
You must be signed in to change notification settings - Fork 58
Developer Corner
The following documentation aims at developers and advanced users of spack-stack.
spack-stack is a mainly a collection of Spack configuration files, including common and site-specific configurations for compilers, modules, and packages. Templates are used to install environments for specific applications or users. A spack extension to simplify the installation process is provided in spack-ext. This extension is registered with a fork of the spack engine in the Git submodule spack. Most package recipes reside in a fork of the spack-packages repository in the Git submodule repos/builtin. Additional packages that are not suitable for inclusion in the authoritative spack-packages repository can be found in repos/spack-stack.
Any work with or on spack-stack requires registering spack-stack and the spack engine in the current shell. Unless otherwise noted in the site-specific documentation linked below, the following commands clone a specific branch of spack-stack (develop in this example) with all it submodules and register it in the current shell; note that support is limited to bash shells.
git clone -b develop --recurse-submodules https://github.com/jcsda/spack-stack
cd spack-stack
source setup.sh
./
cache/ # Temporary data (created by spack)
configs/
common/ # Config for all sites and environments
containers/ # Container recipes, currently not used
sites/ # Tier-1 and tier-2 site configurations
templates/ # Environment templates
envs/ # Default directory for spack environments
LICENSE
README.md
repos/
builtin/ # Fork of upstream spack-packages repo
spack-stack/ # Additional packages
setup.sh # Sourced to activate spack/spack-stack
spack/ # Fork of upstream spack engine repo
spack-ext/ # Extension of spack with tests
util/ # Miscellaneous utilities and scripts