summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2014-05-19 00:09:15 -0500
committerEric Bavier <bavier@member.fsf.org>2014-05-19 00:15:11 -0500
commit6acb4adb34a1b76744c024c945cca5cfdbdfffc5 (patch)
tree39222e1ee13c8ad56bf5fec883e685f53ada2b57
parentf8ed036a317ee87ced2422d61c84a821b15fb5e1 (diff)
gnu: Add pt-scotch package.
* gnu/packages/maths.scm (pt-scotch): New variable.
-rw-r--r--gnu/packages/maths.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 2fe06a3956..9288ba91f4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -666,3 +666,33 @@ domains ranging from structural mechanics to operating systems or
bio-chemistry.")
;; See LICENSE_en.txt
(license license:cecill-c)))
+
+(define-public pt-scotch
+ (package (inherit scotch)
+ (name "pt-scotch")
+ (propagated-inputs
+ `(("openmpi" ,openmpi))) ;Headers include MPI headers
+ (arguments
+ (substitute-keyword-arguments (package-arguments scotch)
+ ((#:phases scotch-phases)
+ `(alist-replace
+ 'build
+ ;; TODO: Would like to add parallelism here
+ (lambda _
+ (and
+ (zero? (system* "make" "ptscotch"))
+ ;; Install the serial metis compatibility library
+ (zero? (system* "make" "-C" "libscotchmetis" "install"))))
+ (alist-replace
+ 'check
+ (lambda _ (zero? (system* "make" "ptcheck")))
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir out)
+ (zero? (system* "make"
+ (string-append "prefix=" out)
+ "install"))))
+ ,scotch-phases))))))
+ (synopsis "Programs and libraries for graph algorithms (with MPI)")))