gnu: Add %suitesparse-package-versions.

* gnu/packages/maths.scm (%suitesparse-package-versions): New variable.
(suitesparse-version): Update to 7.10.2.
(suitesparse-source)[origin]: Update deletion list.
(suitesparse-amd, suitesparse-btf, suitesparse-camd, suitesparse-colamd,
suitesparse-ccolamd, suitesparse-cholmod, suitesparse-cxsparse,
suitesparse-klu, suitesparse-ldl, suitesparse-rbio,
suitesparse-mongoose, suitesparse-spex, suitesparse-spqr,
suitesparse-umfpack)[version]: Use %suitesparse-package-versions.
[arguments]<#:configure-flags>: Preserve include path.
(suitesparse-cholmod)[arguments]<#:phases>('install-license-files):
Update paths.
(suitesparse-cholmod)[arguments]<#:phases>('build-doc): Update paths.
(suitesparse-spex)[native-inputs]: Add texlive-fncychap.
(suitesparse-spqr)[native-inputs]: Add texlive-etoolbox.
* gnu/packages/patches/gklib-suitesparse.patch: Update version.

Change-Id: I14a9bfeddb37330c88a2e94b0992c2f1afbc5310
This commit is contained in:
Greg Hogan 2025-04-18 14:06:25 +00:00
parent 9a41a54da2
commit c6aaffba1c
No known key found for this signature in database
GPG key ID: EF6EB27413CFEEF3
2 changed files with 55 additions and 26 deletions

View file

@ -6155,9 +6155,25 @@ Fresnel integrals, and similar related functions as well.")
;; public domain software.
(license (list license:expat license:public-domain))))
(define %suitesparse-package-versions
'(("AMD" . "3.3.3")
("BTF" . "2.3.2")
("CAMD" . "3.3.3")
("CCOLAMD" . "3.3.4")
("CHOLMOD" . "5.3.2")
("COLAMD" . "3.3.4")
("CXSparse" . "4.4.1")
("KLU" . "2.3.5")
("LDL" . "3.3.2")
("SuiteSparse_Mongoose" . "3.3.4")
("RBio" . "4.3.4")
("SPEX" . "3.2.3")
("SPQR" . "4.3.4")
("UMFPACK" . "6.3.5")))
;; Source for the modular SuiteSparse packages. When updating, also update the
;; (different) versions of the subpackages.
(define suitesparse-version "7.2.0")
(define suitesparse-version "7.10.2")
(define suitesparse-source
(origin
(method git-fetch)
@ -6167,10 +6183,12 @@ Fresnel integrals, and similar related functions as well.")
(file-name (git-file-name "suitesparse" suitesparse-version))
(sha256
(base32
"1draljn8i46862drc6008cnb2zjpklf74j8c34jirjazzpf53kaa"))
"1ndwx2cp5zxrikq4xdrzjrxk1b5ps7lyi6qw34m8jpfpa0ba01ln"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Empty except for a .gitignore.
(delete-file-recursively "build")
;; Delete autogenerated and bundled files
(for-each delete-file (find-files "." "\\.pdf$"))
;; ssget
@ -6181,19 +6199,13 @@ Fresnel integrals, and similar related functions as well.")
(delete-file-recursively "CHOLMOD/SuiteSparse_metis")
; GraphBLAS
(delete-file "GraphBLAS/README.md")
(delete-file "GraphBLAS/Config/GB_config.h")
(delete-file "GraphBLAS/Config/GB_prejit.c")
(delete-file-recursively "GraphBLAS/cpu_features")
(delete-file "GraphBLAS/CUDA/GB_cuda_common_jitFactory.hpp")
(delete-file "GraphBLAS/JITpackage/GB_JITpackage.c")
(delete-file-recursively "GraphBLAS/lz4/lz4.c")
(delete-file-recursively "GraphBLAS/lz4/lz4.h")
(delete-file-recursively "GraphBLAS/lz4/lz4hc.c")
(delete-file-recursively "GraphBLAS/lz4/lz4hc.h")
(delete-file "GraphBLAS/GraphBLAS/Config/GB_config.h")
(delete-file "GraphBLAS/Tcov/PreJIT/GB_prejit.c")
(delete-file-recursively "GraphBLAS/Source/FactoryKernels")
(delete-file "GraphBLAS/Source/GB_AxB__include1.h")
(delete-file "GraphBLAS/xxHash/xxhash.h")
(delete-file-recursively "GraphBLAS/zstd/zstd_subset")
;; KLU
@ -6223,6 +6235,7 @@ Fresnel integrals, and similar related functions as well.")
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6239,12 +6252,13 @@ package contains a library with common configuration options.")
(define-public suitesparse-amd
(package
(name "suitesparse-amd")
(version "3.2.0")
(version (assoc-ref %suitesparse-package-versions "AMD"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6289,12 +6303,13 @@ to Cholesky factorization (or for LU factorization with diagonal pivoting).")
(define-public suitesparse-btf
(package
(name "suitesparse-btf")
(version "2.2.0")
(version (assoc-ref %suitesparse-package-versions "BTF"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6322,12 +6337,13 @@ matrix into block upper triangular form.")
(define-public suitesparse-camd
(package
(name "suitesparse-camd")
(version "3.2.0")
(version (assoc-ref %suitesparse-package-versions "CAMD"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6369,12 +6385,13 @@ ordering.")
(define-public suitesparse-colamd
(package
(name "suitesparse-colamd")
(version "3.2.0")
(version (assoc-ref %suitesparse-package-versions "COLAMD"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6402,12 +6419,13 @@ matrix with which the LU factorization becomes sparser.")
(define-public suitesparse-ccolamd
(package
(name "suitesparse-ccolamd")
(version "3.2.0")
(version (assoc-ref %suitesparse-package-versions "CCOLAMD"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6485,12 +6503,13 @@ COLAMD which has the the option to apply constraints to the ordering.")
(define-public suitesparse-cholmod
(package
(name "suitesparse-cholmod")
(version "4.2.0")
(version (assoc-ref %suitesparse-package-versions "CHOLMOD"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6548,7 +6567,7 @@ target_link_libraries(CHOLMOD_static PRIVATE ${METIS_LIBRARY} ${GKLIB_LIBRARY})"
(let ((out (string-append #$output
"/share/doc/" #$name "-" #$version)))
(install-file "../CHOLMOD/Doc/License.txt" out)
(install-file "../CHOLMOD/Core/lesser.txt" out)
(install-file "../CHOLMOD/Check/lesser.txt" out)
(install-file "../CHOLMOD/MatrixOps/gpl.txt" out)))))))
(inputs
(list gklib-suitesparse
@ -6571,12 +6590,13 @@ and other related operations.")
(define-public suitesparse-cxsparse
(package
(name "suitesparse-cxsparse")
(version "4.2.0")
(version (assoc-ref %suitesparse-package-versions "CXSparse"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6605,12 +6625,13 @@ direct methods on both real and complex matrices.")
(define-public suitesparse-klu
(package
(name "suitesparse-klu")
(version "2.2.0")
(version (assoc-ref %suitesparse-package-versions "KLU"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6670,12 +6691,13 @@ for real and complex matrices.")
(define-public suitesparse-ldl
(package
(name "suitesparse-ldl")
(version "3.2.0")
(version (assoc-ref %suitesparse-package-versions "LDL"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6724,12 +6746,13 @@ code.")
(define-public suitesparse-rbio
(package
(name "suitesparse-rbio")
(version "4.2.0")
(version (assoc-ref %suitesparse-package-versions "RBio"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6762,12 +6785,13 @@ for reading and writing sparse matrices in the Rutherford/Boeing format.")
(define-public suitesparse-mongoose
(package
(name "suitesparse-mongoose")
(version "3.2.0")
(version (assoc-ref %suitesparse-package-versions "SuiteSparse_Mongoose"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6839,12 +6863,13 @@ edge cuts using a coarsening and refinement framework.")
(define-public suitesparse-spex
(package
(name "suitesparse-spex")
(version "2.2.0")
(version (assoc-ref %suitesparse-package-versions "SPEX"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6883,6 +6908,7 @@ edge cuts using a coarsening and refinement framework.")
texlive-soul
texlive-multirow
texlive-algorithms
texlive-fncychap
texlive-float
texlive-algorithmicx
texlive-cprotect
@ -6906,12 +6932,13 @@ LU factorization for solving unsymmetric sparse linear systems.")
(define-public suitesparse-spqr
(package
(name "suitesparse-spqr")
(version "4.2.0")
(version (assoc-ref %suitesparse-package-versions "SPQR"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@ -6957,7 +6984,8 @@ LU factorization for solving unsymmetric sparse linear systems.")
(propagated-inputs (list suitesparse-cholmod))
(native-inputs
(list (texlive-local-tree
(list texlive-epsf))))
(list texlive-epsf
texlive-etoolbox))))
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
(synopsis "Sparse QR factorization method")
(description "The SPQR (SuiteSparseQR) package provides sparse QR
@ -6968,12 +6996,13 @@ matrices.")
(define-public suitesparse-umfpack
(package
(name "suitesparse-umfpack")
(version "6.2.0")
(version (assoc-ref %suitesparse-package-versions "UMFPACK"))
(source suitesparse-source)
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags #~(list "-DSUITESPARSE_INCLUDEDIR_POSTFIX=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir