TBlite: add v0.6.0, CMake only [Spack] (#5214)

This commit is contained in:
SY Wang 2026-05-17 02:06:18 +08:00 committed by GitHub
parent 695da86d0c
commit bbbecc6f4e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 16 additions and 46 deletions

View file

@ -5,8 +5,8 @@
# for details see cp2k/tools/do_regtest
"COBe_gfn1_fd.inp" = [{matcher="E_total", tol=1.0E-8, ref=-7.4283186205}]
"CH2O_gfn1.inp" = [{matcher="E_total", tol=1.0E-8, ref=-7.8503584297}]
"Si_gfn1_fd.inp" = [{matcher="E_total", tol=1.0E-8, ref=-14.45211749988608}]
"Si_gfn1_kp.inp" = [{matcher="E_total", tol=1.0E-8, ref=-14.707430385147}]
"Si_gfn1_fd.inp" = [{matcher="E_total", tol=3.0E-8, ref=-14.45211749988608}]
"Si_gfn1_kp.inp" = [{matcher="E_total", tol=3.0E-8, ref=-14.707430385147}]
"Si_gfn1_kp_kpsym.inp" = [{matcher="E_total", tol=1.0E-8, ref=-14.722697896033},
{matcher="N_special_kpoints", tol=0.0, ref=4}]
"Si_gfn1_kp_spglib_backend.inp" = [{matcher="E_total", tol=1.0E-8, ref=-14.722697896033},

View file

@ -22,7 +22,7 @@
&END QS
&SCF
ADDED_MOS 1 2
EPS_SCF 1.e-8
EPS_SCF 1.e-6
MAX_SCF 80
SCF_GUESS MOPAC
&MIXING

View file

@ -20,7 +20,7 @@
"O2_gfn2_uks_force.inp" = [{matcher="M082", tol=5.0E-6, ref=0.0000000}]
"O2_gfn2_uks_ot.inp" = [{matcher="E_total", tol=1.0E-8, ref=-7.9319651546}]
"O2_gfn2_uks_xyz_ls_cp2k_mixer.inp" = [{matcher="M011", tol=1.0E-8, ref=-7.93196513956454}]
"O2plus_gfn2_uks_cp2k_mixer.inp" = [{matcher="E_total", tol=1.0E-8, ref=-7.2659684002}]
"O2plus_gfn2_uks_cp2k_mixer.inp" = [{matcher="E_total", tol=1.0E-8, ref=-7.26596846265160}]
"O2plus_gfn2_uks_cp2k_mixer_force.inp" = [{matcher="M082", tol=5.0E-6, ref=0.0000000}]
"CH2O_gfn2_force_cp2k_mixer.inp" = [{matcher="M082", tol=5.0E-6, ref=0.0000000}]
"CH2O_gfn2_stress.inp" = [{matcher="M042", tol=1.0E-7, ref=0.0000000}]
@ -41,7 +41,7 @@
{matcher="N_special_kpoints", tol=0.0, ref=4}]
"Si_gfn2_kp_spglib_backend.inp" = [{matcher="E_total", tol=1.0E-8, ref=-13.65677573470654},
{matcher="N_special_kpoints", tol=0.0, ref=4}]
"Ar_fcc_gfn2_ls.inp" = [{matcher="M011", tol=1.0E-8, ref=-17.12154132132343}]
"Ar_fcc_gfn2_ls.inp" = [{matcher="M011", tol=5.0E-8, ref=-17.12154132132343}]
"Ar_fcc_gfn2_force.inp" = [{matcher="M082", tol=1.0E-5, ref=0.0000000}]
"Ar_fcc_gfn2_stress.inp" = [{matcher="M042", tol=1.0E-5, ref=0.0000000}]
"Ar_fcc_gfn2_kp_debug.inp" = [{matcher="DEBUG_stress_sum", tol=1.0E-5, ref=0.0000000},

View file

@ -212,7 +212,7 @@ spack:
- "spfft@1.1.1"
- "spglib@2.7.0"
- "spla@1.6.1"
- "tblite@2026-05-11"
- "tblite@0.6.0"
- "trexio@2.5.0"
view:

View file

@ -110,7 +110,7 @@ spack:
- "openblas@0.3.32"
- "pace@2025.12.4"
- "spglib@2.7.0"
- "tblite@2026-05-11"
- "tblite@0.6.0"
view:
default:

View file

@ -126,7 +126,7 @@ spack:
- "pace@2025.12.4"
- "py-torch@2.11.0"
- "spglib@2.7.0"
- "tblite@2026-05-11"
- "tblite@0.6.0"
- "trexio@2.5.0"
view:

View file

@ -2,14 +2,13 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack_repo.builtin.build_systems import cmake, meson
from spack_repo.builtin.build_systems import cmake
from spack_repo.builtin.build_systems.cmake import CMakePackage
from spack_repo.builtin.build_systems.meson import MesonPackage
from spack.package import *
class Tblite(CMakePackage, MesonPackage):
class Tblite(CMakePackage):
"""Light-weight tight-binding framework"""
homepage = "https://tblite.readthedocs.io"
@ -20,15 +19,14 @@ class Tblite(CMakePackage, MesonPackage):
license("LGPL-3.0-or-later")
version("2026-05-11", commit="5b90becb07cc0844985930679a8545e4559ee325")
version("0.6.0", sha256="372281aedb89234168d00eb691addb303197a9462a9c55d145c835f2cf5e8b42")
version("0.5.0", sha256="e8a70b72ed0a0db0621c7958c63667a9cd008c97c868a4a417ff1bc262052ea8")
version("0.4.0", sha256="5c2249b568bfd3b987d3b28f2cbfddd5c37f675b646e17c1e750428380af464b")
version("0.3.0", sha256="46d77c120501ac55ed6a64dea8778d6593b26fb0653c591f8e8c985e35884f0a")
build_system("cmake", "meson", default="meson")
build_system("cmake")
variant("openmp", default=True, description="Use OpenMP parallelisation")
variant("python", default=False, description="Build Python extension module")
depends_on("c", type="build") # generated
depends_on("fortran", type="build") # generated
@ -36,40 +34,12 @@ class Tblite(CMakePackage, MesonPackage):
depends_on("blas")
depends_on("lapack")
# for build_system in ["cmake", "meson"]:
# depends_on(
# f"mctc-lib@0.5: build_system={build_system}", when=f"build_system={build_system}"
# )
# depends_on(
# f"simple-dftd3@1.2: build_system={build_system}", when=f"build_system={build_system}"
# )
# depends_on(f"dftd4@3: build_system={build_system}", when=f"build_system={build_system}")
# depends_on(f"toml-f build_system={build_system}", when=f"build_system={build_system}")
# depends_on("mctc-lib@0.3: build_system=cmake")
# depends_on("simple-dftd3@0.3: build_system=cmake")
# depends_on("dftd4@3: build_system=cmake")
# depends_on("toml-f build_system=cmake")
depends_on("meson@0.57.2:", type="build") # mesonbuild/meson#8377
depends_on("pkgconfig", type="build")
depends_on("py-cffi", when="+python")
depends_on("py-numpy", when="+python")
depends_on("python@3.6:", when="+python")
extends("python", when="+python")
class MesonBuilder(meson.MesonBuilder):
def meson_args(self):
lapack = self.spec["lapack"].libs.names[0]
if lapack == "lapack":
lapack = "netlib"
elif lapack.startswith("mkl"):
lapack = "mkl"
elif lapack != "openblas":
lapack = "auto"
return [
"-Dlapack={0}".format(lapack),
"-Dopenmp={0}".format(str("+openmp" in self.spec).lower()),
"-Dpython={0}".format(str("+python" in self.spec).lower()),
]
class CMakeBuilder(cmake.CMakeBuilder):