Skip to content

Latest commit

 

History

History
12 lines (7 loc) · 1.17 KB

File metadata and controls

12 lines (7 loc) · 1.17 KB

M1. Each xSDK-compatible package must support portable installation through Spack.

All configuration, build, and installation phases must be specified in a Spack package recipe.

Packages should have a build system that is appropriate for the language (e.g.~ CMake, Autoconf, setup.py), and the packages should attempt to follow the best practices and guidelines of the respective environment. For example, a proper configuration phase should be used where relevant (a list of platform specific makefiles would not be acceptable). It is recommended that packages have a mechanism for 'smoke' testing (e.g. make test_install).

The package should provide Spack variants compliant with the xSDK Spack variant guidelines.

Packages must not override Spack's resolved dependencies (as determined by spack spec). For example, if a BLAS library is part of the concretized spack spec, a package cannot silently substitute a different BLAS implementation.

The goal of this policy is to enable easy and customizable installation of the package in a way that is compatible with other xSDK packages on the same system.