summary refs log tree commit diff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorPaul Garlick <pgarlick@tourbillion-technology.com>2017-08-24 15:56:45 +0100
committerLudovic Courtès <ludo@gnu.org>2017-08-31 12:34:50 +0200
commit1c25a52c4ab14338948a2e91108afc87859a1781 (patch)
tree0d32a9be8b0b2161f5f405bf30b2acc093eaf07b /gnu/packages/maths.scm
parent1c39f3b87719b4ab12f118ab5947f64be15e3b3d (diff)
downloadguix-1c25a52c4ab14338948a2e91108afc87859a1781.tar.gz
gnu: Add pt-scotch32.
* gnu/packages/maths.scm (pt-scotch32): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 79cceec763..7481636faa 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2018,6 +2018,29 @@ YACC = bison -pscotchyy -y -b y
             (lambda _ (zero? (system* "make" "ptcheck"))))))))
     (synopsis "Programs and libraries for graph algorithms (with MPI)")))
 
+(define-public pt-scotch32
+  (package (inherit scotch32)
+    (name "pt-scotch32")
+    (propagated-inputs
+     `(("openmpi" ,openmpi)))                     ;headers include MPI headers
+    (arguments
+     (substitute-keyword-arguments (package-arguments scotch)
+       ((#:phases scotch-phases)
+        `(modify-phases ,scotch-phases
+           (replace 'build
+             (lambda _
+               (and
+                (zero? (system* "make"
+                                (format #f "-j~a" (parallel-job-count))
+                                "ptscotch" "ptesmumps"))
+                ;; Install the serial metis compatibility library
+                (zero? (system* "make" "-C" "libscotchmetis" "install")))))
+           (replace 'check
+             (lambda _
+               (zero? (system* "make" "ptcheck"))))))))
+    (synopsis
+     "Programs and libraries for graph algorithms (with MPI and 32-bit integers)")))
+
 (define-public metis
   (package
     (name "metis")