suite-sparse: Add version 7.3.1 (#43328)

This commit is contained in:
Davide 2024-03-23 10:00:28 -06:00 committed by GitHub
parent 99bb288db7
commit 159e9a20d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -17,6 +17,12 @@ class SuiteSparse(Package):
license("Apache-2.0") license("Apache-2.0")
# version("7.6.1", sha256="ab1992802723b09aca3cbb0f4dc9b2415a781b9ad984ed934c7d8a0dcc31bc42")
# version("7.5.1", sha256="dccfb5f75aa83fe2edb4eb2462fc984a086c82bad8433f63c31048d84b565d74")
# version("7.4.0", sha256="f9a5cc2316a967198463198f7bf10fb8c4332de6189b0e405419a7092bc921b7")
# these fail with hundreds of libcholmod.so.5.2.0: undefined reference to xxxx when builing
# the various cholmod_yyy_demo's or creating the static archive
version("7.3.1", sha256="b512484396a80750acf3082adc1807ba0aabb103c2e09be5691f46f14d0a9718")
version("5.13.0", sha256="59c6ca2959623f0c69226cf9afb9a018d12a37fab3a8869db5f6d7f83b6b147d") version("5.13.0", sha256="59c6ca2959623f0c69226cf9afb9a018d12a37fab3a8869db5f6d7f83b6b147d")
version("5.12.0", sha256="5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de") version("5.12.0", sha256="5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de")
version("5.11.0", sha256="fdd957ed06019465f7de73ce931afaf5d40e96e14ae57d91f60868b8c123c4c8") version("5.11.0", sha256="fdd957ed06019465f7de73ce931afaf5d40e96e14ae57d91f60868b8c123c4c8")
@ -65,6 +71,7 @@ class SuiteSparse(Package):
depends_on("gmp", when="@5.8.0:") depends_on("gmp", when="@5.8.0:")
depends_on("m4", type="build", when="@5.0.0:") depends_on("m4", type="build", when="@5.0.0:")
depends_on("cmake", when="+graphblas @5.2.0:", type="build") depends_on("cmake", when="+graphblas @5.2.0:", type="build")
depends_on("cmake@3.22:", when="@7.3.1:", type="build")
depends_on("metis@5.1.0", when="@4.5.1:") depends_on("metis@5.1.0", when="@4.5.1:")
with when("+tbb"): with when("+tbb"):
@ -228,6 +235,11 @@ def install(self, spec, prefix):
make_args += [ make_args += [
"CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=%s" % prefix "CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=%s" % prefix
+ " -DCMAKE_LIBRARY_PATH=%s" % prefix.lib + " -DCMAKE_LIBRARY_PATH=%s" % prefix.lib
+ " -DBLA_VENDOR=OpenBLAS"
+ " -DBLAS_INCLUDE_DIRS=%s" % (spec["blas"].prefix.include) # for >= v7.4.0
+ " -DLAPACK_INCLUDE_DIRS=%s" % (spec["lapack"].prefix.include) # for >= v7.4.0
+ " -DBLAS_LIBRARIES=%s" % (spec["blas"].prefix.include) # for <= v7.3.1
+ " -DLAPACK_LIBRARIES=%s" % (spec["lapack"].prefix.include) # for <= v7.3.1
] ]
if spec.satisfies("%gcc platform=darwin"): if spec.satisfies("%gcc platform=darwin"):
@ -255,11 +267,13 @@ def install(self, spec, prefix):
targets.extend(["SPQR"]) targets.extend(["SPQR"])
if spec.satisfies("+graphblas"): if spec.satisfies("+graphblas"):
targets.append("GraphBLAS") targets.append("GraphBLAS")
if spec.satisfies("@5.8.0:"): # if spec.satisfies("@5.8.0:"):
targets.append("SLIP_LU") # targets.append("SLIP_LU")
# fails with make: *** SLIP_LU: No such file or directory. Stop.
# Finally make and install # Finally make and install
make("-C", "SuiteSparse_config", "config", *make_args) make("-C", "SuiteSparse_config", *make_args)
# make("-C", "SuiteSparse_config", "config", *make_args)
for target in targets: for target in targets:
make("-C", target, "library", *make_args) make("-C", target, "library", *make_args)
make("-C", target, "install", *make_args) make("-C", target, "install", *make_args)