Include last missing package TBLITE in spack build

This commit is contained in:
Matthias Krack 2026-01-30 23:45:34 +01:00
parent dabbdeb19f
commit 3385008a7f
4 changed files with 78 additions and 4 deletions

View file

@ -641,7 +641,6 @@ if [[ ! -d "${CMAKE_BUILD_PATH}" ]]; then
-DCP2K_USE_LIBXSMM=ON \
-DCP2K_USE_MPI=ON \
-DCP2K_USE_OPENPMD=ON \
-DCP2K_USE_TBLITE=OFF \
-Werror=dev |&
tee "${CMAKE_BUILD_PATH}/cmake.log"
EXIT_CODE=$?
@ -659,7 +658,6 @@ if [[ ! -d "${CMAKE_BUILD_PATH}" ]]; then
-DCP2K_USE_LIBXSMM=ON \
-DCP2K_USE_MPI=OFF \
-DCP2K_USE_OPENPMD=OFF \
-DCP2K_USE_TBLITE=OFF \
-Werror=dev |&
tee "${CMAKE_BUILD_PATH}/cmake.log"
EXIT_CODE=$?

View file

@ -181,7 +181,7 @@ spack:
- "spfft@1.1.1"
- "spglib@2.5.0"
- "spla@1.6.1"
# - "tblite@0.5.0 CMake build error for mctc-lib: target OpenMP::OpenMP_Fortran not found"
- "tblite@0.5.0"
- "trexio@2.5.0"
view:

View file

@ -110,7 +110,7 @@ spack:
- "pace@2025.12.4"
- "py-torch@2.9.0"
- "spglib@2.5.0"
# - "tblite@0.5.0" CMake build error for mctc-lib: target OpenMP::OpenMP_Fortran not found
- "tblite@0.5.0"
- "trexio@2.5.0"
view:

View file

@ -0,0 +1,76 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack_repo.builtin.build_systems import cmake, meson
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):
"""Light-weight tight-binding framework"""
homepage = "https://tblite.readthedocs.io"
url = "https://github.com/tblite/tblite/releases/download/v0.3.0/tblite-0.3.0.tar.xz"
git = "https://github.com/tblite/tblite.git"
maintainers("awvwgk")
license("LGPL-3.0-or-later")
version("0.5.0", sha256="e8a70b72ed0a0db0621c7958c63667a9cd008c97c868a4a417ff1bc262052ea8")
version("0.4.0", sha256="5c2249b568bfd3b987d3b28f2cbfddd5c37f675b646e17c1e750428380af464b")
version("0.3.0", sha256="46d77c120501ac55ed6a64dea8778d6593b26fb0653c591f8e8c985e35884f0a")
build_system("cmake", "meson", default="meson")
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
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("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):
def cmake_args(self):
return [self.define_from_variant("WITH_OpenMP", "openmp")]