abacus: modernize to CMake build and add v3.9.0.19, v3.10.1 - #6221
abacus: modernize to CMake build and add v3.9.0.19, v3.10.1#6221Bitllion wants to merge 3 commits into
Conversation
- Migrate from MakefilePackage (ABACUS 2.2.x, Intel-only) to CMakePackage (ABACUS 3.x) with proper GNU/OpenMPI toolchain support. - Add versions 3.10.1 and 3.9.0.19, drop 2.2.x line. - Replace hardcoded Intel MKL dependency with openblas. - Add lcao/elpa/libxc variants; set GIT_SUBMODULE=OFF for release tarballs. Verified: 62 dependencies built cleanly; SCF example (pw_Si2) converged to -215.5056984116324 eV identically for both new versions.
| license("LGPL-3.0-or-later") | ||
|
|
||
| version("develop", branch="develop") | ||
| version("2.2.3", sha256="88dbf6a3bdd907df3e097637ec8e51fde13e2f5e0b44f3667443195481320edf") |
There was a problem hiding this comment.
Could you add deprecation to these versions instead of removing them? That's the policy we follow with packages. https://spack.readthedocs.io/en/latest/packaging_guide_creation.html#deprecate
|
|
||
|
|
||
| class Abacus(MakefilePackage): | ||
| class Abacus(CMakePackage): |
There was a problem hiding this comment.
You can add support for both CMakePackage and MakefilePackage, and we'll have to have at least one round of version releasing that has the Makefile version deprecated before we can remove this support entirely.
Per review feedback: - Keep 2.2.x versions with deprecated=True instead of removing them - Support both CMakePackage (3.x) and MakefilePackage (2.2.x) via a build_system variant; the legacy Intel makefile path is preserved for the deprecated 2.2.x line
|
Both review points are now addressed in the latest commit
Verified:
|
Verified: 62 dependencies built cleanly; SCF example (pw_Si2) converged to -215.5056984116324 eV identically for both new versions.