gnu: Add suitesparse-umfpack.

* gnu/packages/maths.scm (suitesparse-umfpack): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
David Elsing 2023-10-05 21:35:03 +00:00 committed by Ludovic Courtès
parent 383d54282e
commit 1b5067c0d0
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -5929,6 +5929,77 @@ (define-public suitesparse-spqr
matrices.")
(license license:gpl2+)))
(define-public suitesparse-umfpack
(package
(name "suitesparse-umfpack")
(version "6.2.0")
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "UMFPACK")))
(add-after 'chdir 'set-cmake-module-path
(lambda _
(substitute* "CMakeLists.txt"
(("set.*CMAKE_MODULE_PATH.*")
(string-append
"set(CMAKE_MODULE_PATH "
(string-join
(map (lambda (path)
(string-append path "/lib/cmake/SuiteSparse"))
(list #$suitesparse-amd
#$suitesparse-camd
#$suitesparse-ccolamd
#$suitesparse-cholmod
#$suitesparse-colamd
#$suitesparse-config)))
")\nset(DUMMY\n")))))
(add-after 'build 'build-doc
(lambda _
(with-directory-excursion "../UMFPACK/Doc"
(invoke "make"))))
(add-after 'install 'install-doc
(lambda _
(let ((outdir
(string-append #$output "/share/doc/"
#$name "-" #$version)))
(install-file "../UMFPACK/Doc/UMFPACK_UserGuide.pdf" outdir)
(install-file "../UMFPACK/Doc/UMFPACK_QuickStart.pdf" outdir))))
(replace 'install-license-files
(lambda _
(let ((outdir
(string-append #$output "/share/doc/"
#$name "-" #$version)))
(install-file "../UMFPACK/Doc/License.txt" outdir)
(install-file "../UMFPACK/Doc/gpl.txt" outdir)))))))
(inputs
(list openblas
suitesparse-amd
suitesparse-camd
suitesparse-ccolamd
suitesparse-cholmod
suitesparse-colamd
suitesparse-config))
(native-inputs
(list (texlive-updmap.cfg
(list texlive-etoolbox
texlive-framed
texlive-mdframed
texlive-needspace
texlive-xcolor
texlive-zref))))
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
(synopsis "Routines for solving sparse linear problems via LU factorization")
(description "UMFPACK is a set of routines for solving unsymmetric sparse
linear systems using the Unsymmetric MultiFrontal method and direct sparse LU
factorization.")
(license license:gpl2+)))
(define-public suitesparse
(package
(name "suitesparse")