summaryrefslogtreecommitdiff
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
parent4b83f820dded9ef15bb341fd7c3ecfc2a2a38933 (diff)
gnu: Add boost-mpi.
* gnu/packages/boost.scm (boost-mpi): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-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")