~ruther/guix-local

a85a0828cc40f9e5a9d0a605b827535701f7b986 — Reza Housseini 2 months ago 07adc47
gnu: Add trilinos-zoltan.

* gnu/packages/maths.scm (trilinos-zoltan): New variable.

Change-Id: I6aac3a2eb3a333720a9e23bc0af4edf1d931944d
Signed-off-by: Andreas Enge <andreas@enge.fr>
1 files changed, 65 insertions(+), 0 deletions(-)

M gnu/packages/maths.scm
M gnu/packages/maths.scm => gnu/packages/maths.scm +65 -0
@@ 71,6 71,7 @@
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Sören Tempel <soeren@soeren-tempel.net>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 11554,3 11555,67 @@ expression parsing and evaluation.")
linear programming (LP), mixed-integer programming (MIP), and quadratic
programming (QP) models")
    (license license:expat)))

(define-public trilinos-zoltan
  (package
    (name "trilinos-zoltan")
    (version "16.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference (url "https://github.com/trilinos/Trilinos")
                           (commit (string-append "trilinos-release-"
                                                  (string-replace-substring
                                                   version "." "-")))))
       (file-name (git-file-name "trilinos" version))
       (sha256 (base32 "1snn8vzxwrk9qsvv9wsv4zf99cvcja4shgjpsavp893v9gvgp2gm"))))
    (build-system cmake-build-system)
    (inputs (list openmpi
                  perl
                  python
                  python-wrapper
                  tcsh
                  pt-scotch
                  zlib))
    (arguments
     (list
      #:configure-flags
      #~(list "-DTrilinos_ENABLE_Zoltan=ON"
              "-DBUILD_SHARED_LIBS=ON"
              "-DTPL_ENABLE_MPI=ON"
              "-DTPL_ENABLE_METIS=OFF"
              "-DTPL_ENABLE_Scotch=ON"
              "-DTPL_ENABLE_Zlib=ON"
              "-DTrilinos_ENABLE_Fortran=OFF"
              "-DZoltan_ENABLE_TESTS=ON"
              ;; disable failing tests
              "-DZoltan_ch_brack2_3_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_grid20x19_zoltan_parallel_DISABLE=ON"
              "-DZoltan_hg_felix_zoltan_parallel_DISABLE=ON"
              "-DZoltan_hg_ibm03_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_degenerate_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_degenerateAA_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_ewgt_scotch_parallel_DISABLE=ON"
              "-DZoltan_ch_hammond_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_hammond_scotch_parallel_DISABLE=ON"
              "-DZoltan_ch_hammond2_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_hughes_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_simple_scotch_parallel_DISABLE=ON"
              "-DZoltan_hg_cage10_zoltan_parallel_DISABLE=ON"
              "-DZoltan_ch_vwgt_scotch_parallel_DISABLE=ON")))
    (home-page "https://trilinos.github.io/")
    (synopsis
     "Parallel partitioning, load balancing and data-management services")
    (description
     "The Zoltan library is a collection of data management services for parallel,
unstructured, adaptive, and dynamic applications. It simplifies the
load-balancing, data movement, unstructured communication, and memory usage
difficulties that arise in dynamic applications such as adaptive
finite-element methods, particle methods, and crash simulations. Zoltan's
data-structure neutral design also lets a wide range of applications use it
without imposing restrictions on application data structures. Its object-based
interface provides a simple and inexpensive way for application developers to
use the library and researchers to make new capabilities available under a
common interface.
")
    (license license:bsd-3)))