gnu: sundials, sundials-openmpi: Use gexps.

* gnu/packages/maths.scm (sundials)[arguments]: Use gexps and use
‘search-input-file’ rather than ‘assoc-ref’.
(sundials-openmpi)[arguments]: Likewise.

Change-Id: Ife0c2ae3604cf66c90ec4a13fe9242f7fe7d550f
This commit is contained in:
Ludovic Courtès 2024-08-29 16:48:55 +02:00
parent 0fcd05b044
commit 7e87b95c40
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -8066,7 +8066,8 @@ and comparisons are supported.")
(inputs (inputs
(list openblas suitesparse)) (list openblas suitesparse))
(arguments (arguments
'(#:configure-flags `("-DCMAKE_C_FLAGS=-O2 -g -fcommon" (list #:configure-flags
#~(list "-DCMAKE_C_FLAGS=-O2 -g -fcommon"
"-DSUNDIALS_INDEX_SIZE=32" "-DSUNDIALS_INDEX_SIZE=32"
;; Incompatible with 32-bit indices. ;; Incompatible with 32-bit indices.
@ -8079,12 +8080,14 @@ and comparisons are supported.")
"-DEXAMPLES_INSTALL:BOOL=OFF" "-DEXAMPLES_INSTALL:BOOL=OFF"
"-DENABLE_KLU:BOOL=ON" "-DENABLE_KLU:BOOL=ON"
,(string-append "-DKLU_INCLUDE_DIR=" (string-append "-DKLU_INCLUDE_DIR="
(assoc-ref %build-inputs "suitesparse") (dirname
"/include") (search-input-file %build-inputs
,(string-append "-DKLU_LIBRARY_DIR=" "include/klu.h")))
(assoc-ref %build-inputs "suitesparse") (string-append "-DKLU_LIBRARY_DIR="
"/lib")))) (dirname
(search-input-file %build-inputs
"lib/libklu.so"))))))
(home-page "https://computation.llnl.gov/projects/sundials") (home-page "https://computation.llnl.gov/projects/sundials")
(synopsis "Suite of nonlinear and differential/algebraic equation solvers") (synopsis "Suite of nonlinear and differential/algebraic equation solvers")
(description "SUNDIALS is a family of software packages implemented with (description "SUNDIALS is a family of software packages implemented with
@ -8105,24 +8108,27 @@ easily be incorporated into existing simulation codes.")
petsc-openmpi)) petsc-openmpi))
(arguments (arguments
(substitute-keyword-arguments (package-arguments sundials) (substitute-keyword-arguments (package-arguments sundials)
((#:configure-flags flags '()) ((#:configure-flags flags #~())
`(cons* "-DENABLE_MPI:BOOL=ON" #~(cons* "-DENABLE_MPI:BOOL=ON"
"-DENABLE_HYPRE:BOOL=ON" "-DENABLE_HYPRE:BOOL=ON"
(string-append "-DHYPRE_INCLUDE_DIR=" (string-append "-DHYPRE_INCLUDE_DIR="
(assoc-ref %build-inputs "hypre-openmpi") (dirname
"/include") (search-input-file %build-inputs
"include/HYPRE.h")))
(string-append "-DHYPRE_LIBRARY_DIR=" (string-append "-DHYPRE_LIBRARY_DIR="
(assoc-ref %build-inputs "hypre-openmpi") (dirname
"/lib") (search-input-file %build-inputs
"lib/libHYPRE.so")))
"-DENABLE_PETSC:BOOL=ON" "-DENABLE_PETSC:BOOL=ON"
(string-append "-DPETSC_INCLUDE_DIRS=" (string-append "-DPETSC_INCLUDE_DIRS="
(assoc-ref %build-inputs "petsc-openmpi") (dirname
"/include") (search-input-file %build-inputs
,flags)) "include/petsc.h")))
((#:phases phases '%standard-phases) #$flags))
`(modify-phases ,phases ((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-before 'check 'mpi-setup (add-before 'check 'mpi-setup
,%openmpi-setup))))) #$%openmpi-setup)))))
(synopsis "SUNDIALS with MPI support"))) (synopsis "SUNDIALS with MPI support")))
(define-public sundials-5 (define-public sundials-5