suite-sparse: add versions up to v5.13.0 (#33550)
This commit is contained in:
parent
590c4e35ca
commit
b19549ce9d
@ -15,6 +15,9 @@ class SuiteSparse(Package):
|
|||||||
url = "https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v4.5.3.tar.gz"
|
url = "https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v4.5.3.tar.gz"
|
||||||
git = "https://github.com/DrTimothyAldenDavis/SuiteSparse.git"
|
git = "https://github.com/DrTimothyAldenDavis/SuiteSparse.git"
|
||||||
|
|
||||||
|
version("5.13.0", sha256="59c6ca2959623f0c69226cf9afb9a018d12a37fab3a8869db5f6d7f83b6b147d")
|
||||||
|
version("5.12.0", sha256="5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de")
|
||||||
|
version("5.11.0", sha256="fdd957ed06019465f7de73ce931afaf5d40e96e14ae57d91f60868b8c123c4c8")
|
||||||
version("5.10.1", sha256="acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee")
|
version("5.10.1", sha256="acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee")
|
||||||
version("5.10.0", sha256="4bcc974901c0173acf80c41ee0fd779eb7dce2871d4afa24a5d15b1a468f93e5")
|
version("5.10.0", sha256="4bcc974901c0173acf80c41ee0fd779eb7dce2871d4afa24a5d15b1a468f93e5")
|
||||||
version("5.9.0", sha256="7bdd4811f1cf0767c5fdb5e435817fdadee50b0acdb598f4882ae7b8291a7f24")
|
version("5.9.0", sha256="7bdd4811f1cf0767c5fdb5e435817fdadee50b0acdb598f4882ae7b8291a7f24")
|
||||||
@ -34,7 +37,6 @@ class SuiteSparse(Package):
|
|||||||
version("4.5.5", sha256="80d1d9960a6ec70031fecfe9adfe5b1ccd8001a7420efb50d6fa7326ef14af91")
|
version("4.5.5", sha256="80d1d9960a6ec70031fecfe9adfe5b1ccd8001a7420efb50d6fa7326ef14af91")
|
||||||
version("4.5.3", sha256="b6965f9198446a502cde48fb0e02236e75fa5700b94c7306fc36599d57b563f4")
|
version("4.5.3", sha256="b6965f9198446a502cde48fb0e02236e75fa5700b94c7306fc36599d57b563f4")
|
||||||
|
|
||||||
variant("tbb", default=False, description="Build with Intel TBB")
|
|
||||||
variant(
|
variant(
|
||||||
"pic",
|
"pic",
|
||||||
default=True,
|
default=True,
|
||||||
@ -48,21 +50,33 @@ class SuiteSparse(Package):
|
|||||||
description="Build with GraphBLAS (takes a long time to compile)",
|
description="Build with GraphBLAS (takes a long time to compile)",
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_on("mpfr@4.0.0:", type=("build", "link"), when="@5.8.0:")
|
# In @4.5.1. TBB support in SPQR seems to be broken as TBB-related linking
|
||||||
depends_on("gmp", type=("build", "link"), when="@5.8.0:")
|
# flags does not seem to be used, which leads to linking errors on Linux.
|
||||||
|
# Support for TBB has been removed in version 5.11
|
||||||
|
variant("tbb", default=False, description="Build with Intel TBB", when="@4.5.3:5.10")
|
||||||
|
|
||||||
depends_on("blas")
|
depends_on("blas")
|
||||||
depends_on("lapack")
|
depends_on("lapack")
|
||||||
depends_on("m4", type="build", when="@5.0.0:")
|
|
||||||
depends_on("cmake", when="+graphblas @5.2.0:", type="build")
|
|
||||||
|
|
||||||
depends_on("metis@5.1.0", when="@4.5.1:")
|
|
||||||
# in @4.5.1. TBB support in SPQR seems to be broken as TBB-related linkng
|
|
||||||
# flags does not seem to be used, which leads to linking errors on Linux.
|
|
||||||
depends_on("tbb", when="@4.5.3:+tbb")
|
|
||||||
|
|
||||||
depends_on("cuda", when="+cuda")
|
depends_on("cuda", when="+cuda")
|
||||||
|
|
||||||
patch("tbb_453.patch", when="@4.5.3:4.5.5+tbb")
|
depends_on("mpfr@4.0.0:", when="@5.8.0:")
|
||||||
|
depends_on("gmp", when="@5.8.0:")
|
||||||
|
depends_on("m4", type="build", when="@5.0.0:")
|
||||||
|
depends_on("cmake", when="+graphblas @5.2.0:", type="build")
|
||||||
|
depends_on("metis@5.1.0", when="@4.5.1:")
|
||||||
|
|
||||||
|
with when("+tbb"):
|
||||||
|
depends_on("tbb")
|
||||||
|
patch("tbb_453.patch", when="@4.5.3:4.5.5")
|
||||||
|
# The @2021.x versions of tbb dropped the task_scheduler_init.h header and
|
||||||
|
# related stuff (which have long been deprecated). This appears to be
|
||||||
|
# rather problematic for suite-sparse (see e.g.
|
||||||
|
# https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/SPQR/Source/spqr_parallel.cpp)
|
||||||
|
depends_on("intel-tbb@:2020 build_system=makefile", when="^intel-tbb")
|
||||||
|
conflicts(
|
||||||
|
"^intel-oneapi-tbb@2021:",
|
||||||
|
msg="suite-sparse needs task_scheduler_init.h dropped in recent tbb libs",
|
||||||
|
)
|
||||||
|
|
||||||
# This patch removes unsupported flags for pgi compiler
|
# This patch removes unsupported flags for pgi compiler
|
||||||
patch("pgi.patch", when="%pgi")
|
patch("pgi.patch", when="%pgi")
|
||||||
@ -81,22 +95,6 @@ class SuiteSparse(Package):
|
|||||||
"%gcc@:4.8", when="@5.2.0:", msg="gcc version must be at least 4.9 for suite-sparse@5.2.0:"
|
"%gcc@:4.8", when="@5.2.0:", msg="gcc version must be at least 4.9 for suite-sparse@5.2.0:"
|
||||||
)
|
)
|
||||||
|
|
||||||
# The @2021.x versions of tbb dropped the task_scheduler_init.h header and
|
|
||||||
# related stuff (which have long been deprecated). This appears to be
|
|
||||||
# rather problematic for suite-sparse (see e.g.
|
|
||||||
# https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/SPQR/Source/spqr_parallel.cpp)
|
|
||||||
# Have Spack complain if +tbb and trying to use a 2021.x version of tbb
|
|
||||||
conflicts(
|
|
||||||
"+tbb",
|
|
||||||
when="^intel-oneapi-tbb@2021:",
|
|
||||||
msg="suite-sparse needs task_scheduler_init.h dropped in " "recent tbb libs",
|
|
||||||
)
|
|
||||||
conflicts(
|
|
||||||
"+tbb",
|
|
||||||
when="^intel-tbb@2021:",
|
|
||||||
msg="suite-sparse needs task_scheduler_init.h dropped in " "recent tbb libs",
|
|
||||||
)
|
|
||||||
|
|
||||||
def symbol_suffix_blas(self, spec, args):
|
def symbol_suffix_blas(self, spec, args):
|
||||||
"""When using BLAS with a special symbol suffix we use defines to
|
"""When using BLAS with a special symbol suffix we use defines to
|
||||||
replace blas symbols, e.g. dgemm_ becomes dgemm_64_ when
|
replace blas symbols, e.g. dgemm_ becomes dgemm_64_ when
|
||||||
|
Loading…
Reference in New Issue
Block a user