[bug#33059,v2,6/9] gnu: Add python-fenics-fiat.

Message ID 1542038441-5738-7-git-send-email-pgarlick@tourbillion-technology.com
State New
Headers show
Series
  • Add the FEniCS Project, v2 patches
Related show

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Paul Garlick Nov. 12, 2018, 4 p.m. UTC
* gnu/packages/simulation.scm (python-fenics-fiat): New variable.
---
 gnu/packages/simulation.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

Comments

Ludovic Courtès Nov. 14, 2018, 9:11 p.m. UTC | #1
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:

> * gnu/packages/simulation.scm (python-fenics-fiat): New variable.

Apparently this one has a test failure on i686-linux:

  https://berlin.guixsd.org/build/623722/log/raw

It’s not uncommon for numerical software tests to break on 32-bit
platforms.  Perhaps you could ask upstream what they think about it?

Thanks,
Ludo’.

Patch

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 7165fb5..ecdb2b2 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -307,3 +307,45 @@  forms in a notation close to mathematical notation.
 
 UFL is part of the FEniCS Project.")
     (license license:lgpl3+)))
+
+(define-public python-fenics-fiat
+  (package
+    (name "python-fenics-fiat")
+    (version "2018.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "fenics-fiat" version))
+        (sha256
+          (base32
+            "0fmjd93r6bwf6xs8csw86qzphrnr66xwv7f372w59gmq8mg6rljc"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (propagated-inputs
+     `(("python-numpy" ,python-numpy)
+       ("python-sympy" ,python-sympy)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (setenv "PYTHONPATH"
+                     (string-append (getcwd) ":" (getenv "PYTHONPATH")))
+             (with-directory-excursion "test"
+               (invoke "py.test" "unit/"))
+             #t)))))
+    (home-page "https://bitbucket.org/fenics-project/fiat/")
+    (synopsis "Tabulation of finite element function spaces")
+    (description
+      "The FInite element Automatic Tabulator (FIAT) supports
+generation of arbitrary order instances of the Lagrange elements on
+lines, triangles, and tetrahedra.  It is also capable of generating
+arbitrary order instances of Jacobi-type quadrature rules on the same
+element shapes.  Further, H(div) and H(curl) conforming finite element
+spaces such as the families of Raviart-Thomas, Brezzi-Douglas-Marini
+and Nedelec are supported on triangles and tetrahedra.  Upcoming
+versions will also support Hermite and nonconforming elements.
+
+FIAT is part of the FEniCS Project.")
+    (license license:lgpl3+)))