summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsnehring <7978778+snehring@users.noreply.github.com>2024-08-06 02:30:22 -0500
committerGitHub <noreply@github.com>2024-08-06 09:30:22 +0200
commit28171f1b9ddd23c91eecf357e05a2d9241c095b8 (patch)
treedaa44d5a225b614cc27f35e2f9b45ba2cbaa9a9a
parent8de03e2bf59afa1c2457c4a8c0531181db330f77 (diff)
downloadspack-28171f1b9ddd23c91eecf357e05a2d9241c095b8.tar.gz
spack-28171f1b9ddd23c91eecf357e05a2d9241c095b8.tar.bz2
spack-28171f1b9ddd23c91eecf357e05a2d9241c095b8.tar.xz
spack-28171f1b9ddd23c91eecf357e05a2d9241c095b8.zip
diamond: add blast support and eigen (#45254)
Signed-off-by: Shane Nehring <snehring@iastate.edu>
-rw-r--r--var/spack/repos/builtin/packages/diamond/package.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/diamond/package.py b/var/spack/repos/builtin/packages/diamond/package.py
index 62a7c101dd..c87e675eae 100644
--- a/var/spack/repos/builtin/packages/diamond/package.py
+++ b/var/spack/repos/builtin/packages/diamond/package.py
@@ -39,10 +39,38 @@ class Diamond(CMakePackage):
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
+ depends_on("blas", when="+eigen")
+ depends_on("blast-plus", when="+blast")
+ depends_on("eigen", when="+eigen")
+ depends_on("lapack", when="+eigen")
depends_on("zlib-api")
+ depends_on("zstd", when="+zstd")
+
+ variant("zstd", default=False, description="Bulid with zstd support", when="@2.1.0:")
+ variant("blast", default=True, description="Build with blast db support", when="@2.1.0:")
+ variant("eigen", default=False, description="Build with Eigen support", when="@2.1.0:")
+
+ requires("+zstd", when="+blast", msg="blast support requires zstd")
conflicts("target=aarch64:", when="@:0.9.25")
# fix error [-Wc++11-narrowing]
# Ref: https://github.com/bbuchfink/diamond/commit/155e076d662b0e9268e2b00bef6d33d90aede7ff
patch("fix_narrowing_error.patch", when="@:0.9.25")
+
+ def cmake_args(self):
+ args = [
+ self.define_from_variant("WITH_ZSTD", "zstd"),
+ self.define_from_variant("EIGEN_BLAS", "eigen"),
+ ]
+ if self.spec.satisfies("+blast"):
+ args.extend(
+ [
+ self.define(
+ "BLAST_INCLUDE_DIR",
+ join_path(self.spec["blast-plus"].prefix.include, "ncbi-tools++"),
+ ),
+ self.define("BLAST_LIBRARY_DIR", self.spec["blast-plus"].prefix.lib),
+ ]
+ )
+ return args