~ruther/guix-local

9b5dbc46e6945fbb03cdf5918d93ba06de3deb2b — David Elsing 2 years ago 998a793
gnu: Add metis-5.2.

* gnu/packages/maths.scm (metis-5.2): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 48 insertions(+), 0 deletions(-)

M gnu/packages/maths.scm
M gnu/packages/maths.scm => gnu/packages/maths.scm +48 -0
@@ 4381,6 4381,7 @@ bio-chemistry.")
software from KarypisLab, such as METIS.")
      (license license:asl2.0))))

;; XXX: Remove once the full SuiteSparse package is replaced.
(define-public metis
  (package
    (name "metis")


@@ 4414,6 4415,53 @@ recursive-bisection, multilevel k-way, and multi-constraint partitioning
schemes.")
    (license license:asl2.0)))          ;As of version 5.0.3

(define-public metis-5.2
  (package
    (name "metis")
    (version "5.2.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/KarypisLab/METIS")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "19vi1wsi2gp2m5vb715yfnzd2g7brm4r40qxg65ysrzgl13lpmvr"))
       (snippet
        #~(delete-file "manual/manual.pdf"))))
    (build-system cmake-build-system)
    (inputs (list gklib openblas))
    (arguments
     (list
      #:tests? #f ; Tests are not automatic
      #:configure-flags
      #~(list "-DSHARED=ON"
              (string-append "-DGKLIB_PATH=" #$gklib))
      #:phases
      #~(modify-phases %standard-phases
          ;; The original Makefile copies some files and invokes CMake.
          (add-before 'configure 'prepare-cmake
              (lambda _
                (substitute* "Makefile"
                  (("config: distclean") "config:")
                  (("BUILDDIR =.*")
                   "BUILDDIR = .\n")
                  ((".*cmake.*") ""))
                (substitute* "CMakeLists.txt"
                  (("build/") "../source/"))
                (invoke "make" "config"))))))
    (home-page "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview")
    (synopsis "Graph partitioning and fill-reducing matrix ordering library")
    (description
     "METIS is a set of serial programs for partitioning graphs, partitioning
finite element meshes, and producing fill-reducing orderings for sparse
matrices.  The algorithms implemented in METIS are based on the multilevel
recursive-bisection, multilevel k-way, and multi-constraint partitioning
schemes.")
    (license license:asl2.0)))

(define-public p4est
  (package
    (name "p4est")