~ruther/guix-local

d8c7eeb996c433b1744a1404e1fc1e5f987589a1 — Eric Bavier 12 years ago 10b1196
gnu: Add petsc-openmpi.

* gnu/packages/maths.scm (petsc-openmpi): New variable.
  (petsc-complex-openmpi): New variable.
1 files changed, 35 insertions(+), 0 deletions(-)

M gnu/packages/maths.scm
M gnu/packages/maths.scm => gnu/packages/maths.scm +35 -0
@@ 45,6 45,7 @@
  #:use-module (gnu packages less)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages gl)
  #:use-module (gnu packages mpi)
  #:use-module (gnu packages multiprecision)
  #:use-module (gnu packages pcre)
  #:use-module (gnu packages perl)


@@ 473,6 474,40 @@ scientific applications modeled by partial differential equations.")
     (string-append (package-description petsc)
                    "  Complex scalar type version."))))

(define-public petsc-openmpi
  (package (inherit petsc)
    (name "petsc-openmpi")
    (inputs
     `(("openmpi" ,openmpi)
       ,@(package-inputs petsc)))
    (arguments
     (substitute-keyword-arguments (package-arguments petsc)
       ((#:configure-flags cf)
        ``("--with-mpiexec=mpirun"
           ,(string-append "--with-mpi-dir="
                           (assoc-ref %build-inputs "openmpi"))
           ,@(delete "--with-mpi=0" ,cf)))))
    (description
     (string-append (package-description petsc)
                    "  With OpenMPI parallelism support."))))

(define-public petsc-complex-openmpi
  (package (inherit petsc-complex)
    (name "petsc-complex-openmpi")
    (inputs
     `(("openmpi" ,openmpi)
       ,@(package-inputs petsc-complex)))
    (arguments
     (substitute-keyword-arguments (package-arguments petsc-complex)
       ((#:configure-flags cf)
        ``("--with-mpiexec=mpirun"
           ,(string-append "--with-mpi-dir="
                           (assoc-ref %build-inputs "openmpi"))
           ,@(delete "--with-mpi=0" ,cf)))))
    (description
     (string-append (package-description petsc-complex)
                    "  With OpenMPI parallelism support."))))

(define-public superlu
  (package
    (name "superlu")