summary refs log tree commit diff
path: root/gnu/packages/boost.scm
diff options
context:
space:
mode:
authorFranck Pérignon <Franck.Perignon@univ-grenoble-alpes.fr>2021-04-08 13:42:27 +0000
committerLudovic Courtès <ludo@gnu.org>2021-04-09 17:46:38 +0200
commitccff3380867b588f0c68e9daedd5728392a91a3f (patch)
tree0cff81c0f709f8b37e59e6562c06b3ffd870457d /gnu/packages/boost.scm
parent4b83f820dded9ef15bb341fd7c3ecfc2a2a38933 (diff)
downloadguix-ccff3380867b588f0c68e9daedd5728392a91a3f.tar.gz
gnu: Add boost-mpi.
* gnu/packages/boost.scm (boost-mpi): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/boost.scm')
-rw-r--r--gnu/packages/boost.scm26
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 1323e28278..a59bb01f3d 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -45,6 +46,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages shells)
+  #:use-module (gnu packages mpi)
   #:use-module (srfi srfi-1))
 
 (define (version-with-underscores version)
@@ -347,6 +349,30 @@ Boost.Thread.")
 signals and slots system.")
     (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))
 
+
+(define-public boost-mpi
+  (package
+    (inherit boost)
+    (name "boost-mpi")
+    (native-inputs
+     `(("perl" ,perl)
+       ,@(if (%current-target-system)
+             '()
+             `(("python" ,python-wrapper)))
+       ("openmpi" , openmpi)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments boost)
+      ((#:phases phases)
+       `(modify-phases ,phases
+          (add-after 'configure 'update-jam
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((output-port (open-file "project-config.jam" "a")))
+                (display "using mpi ;" output-port)
+                (newline output-port)
+                (close output-port))))))))
+    (home-page "https://www.boost.org")
+    (synopsis "Message Passing Interface (MPI) library for C++")))
+
 (define-public mdds
   (package
     (name "mdds")