Build all the things with Spack: a package manager for more than C++
summary
Spack is a Python‑DSL package manager that builds combinatorial variants — e.g., install HDF5 with specific GCC 8.3, MPI, BLAS/LAPACK and target CPU like Skylake — by hashing installs into isolated directories and recording full build metadata. It already serves supercomputers like Fugaku, supports build matrices that generate tens or hundreds of builds and CI jobs, produces reproducible manifests and lockfiles, and claims 4,300 packages with over 600 contributors; Windows support is planned.
AI-written summary · about
chapters (11)
- 0:00Intro
- 1:38Customization
- 2:31Packages
- 3:05Package length
- 3:26Combinatorial complexity
- 3:55dependency resolution
- 4:20target micro architectures
- 4:45manifests
- 5:09build matrix
- 5:36ci pipeline
- 5:58Windows support
related talks
26mReproducible software provisioning for high performance computing & research software engineering
46mBuilding and Packaging Modern C++
58mHow Can Package Managers Handle ABI (In)compatibility in C++?
05mLightning Talk: Scaling Container Builds with Software Supply Chains
01h 12mA Common Package Specification: Getting Build Tools to Talk to Each Other: Lessons Learned From Making Thousands of Binaries Consumable by Any Build System
01h 11mThe State of Package Management in C++
37mCross-Building Strategies in the Age of C++ Package Managers
10mStay calm and stress-free by using a package manager: an overview of vcpkg
