aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTheodoros Foradis <theodoros@foradis.org>2017-09-09 20:57:49 +0300
committerLudovic Courtès <ludo@gnu.org>2017-10-11 11:12:33 +0200
commit91cabd3e58db8ff53f8f566f3c4cd614ea691223 (patch)
tree18abebf19c60680631870d4e28d580d60310abda /gnu
parent1da02b6a49dde86c8a4029a19ab26b8a5a66d743 (diff)
downloadguix-91cabd3e58db8ff53f8f566f3c4cd614ea691223.tar
guix-91cabd3e58db8ff53f8f566f3c4cd614ea691223.tar.gz
gnu: Add xyce-parallel.
* gnu/packages/engineering.scm (trilinos-parallel-xyce) (xyce-parallel): New variables. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/engineering.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index feff757c61..110c63f052 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -30,6 +30,7 @@
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (guix utils)
+ #:use-module ((srfi srfi-1) #:hide (zip))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -1377,3 +1378,40 @@ unique design feature of Trilinos is its focus on packages.")
capable of solving extremely large circuit problems by supporting large-scale
parallel computing platforms. It also supports serial execution.")
(license license:gpl3+)))
+
+(define trilinos-parallel-xyce
+ (package (inherit trilinos-serial-xyce)
+ (name "trilinos-parallel-xyce")
+ (arguments
+ `(,@(substitute-keyword-arguments (package-arguments trilinos-serial-xyce)
+ ((#:configure-flags flags)
+ `(append (list "-DTrilinos_ENABLE_ShyLU=ON"
+ "-DTrilinos_ENABLE_Zoltan=ON"
+ "-DTPL_ENABLE_MPI=ON")
+ ,flags)))))
+ (inputs
+ `(("mpi" ,openmpi)
+ ,@(package-inputs trilinos-serial-xyce)))))
+
+(define-public xyce-parallel
+ (package (inherit xyce-serial)
+ (name "xyce-parallel")
+ (arguments
+ `(,@(substitute-keyword-arguments (package-arguments xyce-serial)
+ ((#:configure-flags flags)
+ `(list "CXXFLAGS=-O3 -std=c++11"
+ "CXX=mpiCC"
+ "CC=mpicc"
+ "F77=mpif77"
+ "--enable-mpi"
+ "--enable-isorropia=no"
+ "--enable-zoltan=no"
+ (string-append
+ "ARCHDIR="
+ (assoc-ref %build-inputs "trilinos")))))))
+ (propagated-inputs
+ `(("mpi" ,openmpi)))
+ (inputs
+ `(("trilinos" ,trilinos-parallel-xyce)
+ ,@(alist-delete "trilinos"
+ (package-inputs xyce-serial))))))