From bbbecc6f4e8d0251c8c097074a4055daef0bcbb8 Mon Sep 17 00:00:00 2001 From: SY Wang Date: Sun, 17 May 2026 02:06:18 +0800 Subject: [PATCH] TBlite: add v0.6.0, CMake only [Spack] (#5214) --- .../TEST_FILES.toml | 4 +- .../O2plus_gfn2_uks_cp2k_mixer.inp | 2 +- tests/xTB/regtest-tblite-gfn2/TEST_FILES.toml | 4 +- tools/spack/cp2k_deps_p.yaml | 2 +- tools/spack/cp2k_deps_s-static.yaml | 2 +- tools/spack/cp2k_deps_s.yaml | 2 +- .../cp2k_dev/packages/tblite/package.py | 46 ++++--------------- 7 files changed, 16 insertions(+), 46 deletions(-) diff --git a/tests/xTB/regtest-tblite-gfn1-periodic/TEST_FILES.toml b/tests/xTB/regtest-tblite-gfn1-periodic/TEST_FILES.toml index 5580faf7be..b4bfd88fb4 100644 --- a/tests/xTB/regtest-tblite-gfn1-periodic/TEST_FILES.toml +++ b/tests/xTB/regtest-tblite-gfn1-periodic/TEST_FILES.toml @@ -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}, diff --git a/tests/xTB/regtest-tblite-gfn2/O2plus_gfn2_uks_cp2k_mixer.inp b/tests/xTB/regtest-tblite-gfn2/O2plus_gfn2_uks_cp2k_mixer.inp index 5d352b6538..74753985bd 100644 --- a/tests/xTB/regtest-tblite-gfn2/O2plus_gfn2_uks_cp2k_mixer.inp +++ b/tests/xTB/regtest-tblite-gfn2/O2plus_gfn2_uks_cp2k_mixer.inp @@ -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 diff --git a/tests/xTB/regtest-tblite-gfn2/TEST_FILES.toml b/tests/xTB/regtest-tblite-gfn2/TEST_FILES.toml index 47c3d18193..d54ce3e4c1 100644 --- a/tests/xTB/regtest-tblite-gfn2/TEST_FILES.toml +++ b/tests/xTB/regtest-tblite-gfn2/TEST_FILES.toml @@ -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}, diff --git a/tools/spack/cp2k_deps_p.yaml b/tools/spack/cp2k_deps_p.yaml index 425b31eee8..d5f760764e 100644 --- a/tools/spack/cp2k_deps_p.yaml +++ b/tools/spack/cp2k_deps_p.yaml @@ -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: diff --git a/tools/spack/cp2k_deps_s-static.yaml b/tools/spack/cp2k_deps_s-static.yaml index c685942bdc..77ff4774ab 100644 --- a/tools/spack/cp2k_deps_s-static.yaml +++ b/tools/spack/cp2k_deps_s-static.yaml @@ -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: diff --git a/tools/spack/cp2k_deps_s.yaml b/tools/spack/cp2k_deps_s.yaml index 75b972f621..135d34a79d 100644 --- a/tools/spack/cp2k_deps_s.yaml +++ b/tools/spack/cp2k_deps_s.yaml @@ -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: diff --git a/tools/spack/spack_repo/cp2k_dev/packages/tblite/package.py b/tools/spack/spack_repo/cp2k_dev/packages/tblite/package.py index e50f9220fa..956a14fb44 100644 --- a/tools/spack/spack_repo/cp2k_dev/packages/tblite/package.py +++ b/tools/spack/spack_repo/cp2k_dev/packages/tblite/package.py @@ -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):