[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Add gmsh
From: |
Eric Bavier |
Subject: |
[PATCH] Add gmsh |
Date: |
Thu, 24 Apr 2014 15:19:43 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
This patch adds the gmsh package. Comments welcome.
>From c5377db5fa9919b4a40d4995969ad3e00954cf95 Mon Sep 17 00:00:00 2001
From: Eric Bavier <address@hidden>
Date: Thu, 24 Apr 2014 15:13:59 -0500
Subject: [PATCH] gnu: Add gmsh
* gnu/packages/maths.scm (gmsh): New variable
---
gnu/packages/maths.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 68c3267..de7da78 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -26,9 +26,13 @@
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages algebra)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@@ -349,3 +353,72 @@ applications and it provides great support for visualizing
results. Work may
be performed both at the interactive command-line as well as via script
files.")
(license license:gpl3+)))
+
+(define-public gmsh
+ (package
+ (name "gmsh")
+ (version "2.8.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.geuz.org/gmsh/src/gmsh-"
+ version "-source.tgz"))
+ (sha256
+ (base32 "0jv2yvk28w86rx5mvjkb0w12ff2jxih7axnpvznpd295lg5jg7hr"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove non-free METIS code
+ '(delete-file-recursively "contrib/Metis"))))
+ (build-system cmake-build-system)
+ (native-inputs `(("patchelf" ,patchelf))) ;for augment-rpath
+ (propagated-inputs
+ `(("fltk" ,fltk)
+ ("gfortran" ,gfortran-4.8)
+ ("gmp" ,gmp)
+ ("hdf5-lib" ,hdf5 "lib")
+ ("hdf5-include" ,hdf5 "include")
+ ("lapack" ,lapack)
+ ("mesa" ,mesa)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)))
+ (arguments
+ `(#:modules ((guix build cmake-build-system)
+ (guix build utils)
+ (guix build rpath))
+ #:imported-modules ((guix build cmake-build-system)
+ (guix build gnu-build-system)
+ (guix build utils)
+ (guix build rpath))
+ #:configure-flags '("-DENABLE_METIS:BOOL=OFF"
+ "-DENABLE_BUILD_SHARED:BOOL=ON"
+ "-DENABLE_BUILD_DYNAMIC:BOOL=ON")
+ #:phases (alist-cons-after
+ 'strip 'add-libs-to-runpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libc (assoc-ref inputs "libc"))
+ (fltk (assoc-ref inputs "fltk"))
+ (fortran (assoc-ref inputs "gfortran"))
+ (gmp (assoc-ref inputs "gmp"))
+ (lapack (assoc-ref inputs "lapack"))
+ (mesa (assoc-ref inputs "mesa"))
+ (libx11 (assoc-ref inputs "libx11"))
+ (libxext (assoc-ref inputs "libxext"))
+ (prog (string-append out "/bin/gmsh")))
+ (with-directory-excursion out
+ (for-each
+ (lambda (dir)
+ (augment-rpath prog (string-append dir "/lib")))
+ (list out fltk fortran gmp lapack
+ libc mesa libx11 libxext)))))
+ %standard-phases)))
+ (home-page "http://www.geuz.org/gmsh/")
+ (synopsis "3D finite element grid generator")
+ (description "Gmsh is a 3D finite element grid generator with a build-in
+CAD engine and post-processor. Its design goal is to provide a fast, light and
+user-friendly meshing tool with parametric input and advanced visualization
+capabilities. Gmsh is built around four modules: geometry, mesh, solver and
+post-processing. The specification of any input to these modules is done
+either interactively using the graphical user interface or in ASCII text files
+using Gmsh's own scripting language.")
+ (license license:gpl2+)))
--
1.8.4
--
`~Eric
- [PATCH] Add gmsh,
Eric Bavier <=