3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

gnu: Add python-fenics-ffc.

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

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Paul Garlick 2018-11-12 16:00:39 +00:00 committed by Ludovic Courtès
parent 0fc499834f
commit 6b7f1f8afa
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -349,3 +349,55 @@ versions will also support Hermite and nonconforming elements.
FIAT is part of the FEniCS Project.")
(license license:lgpl3+)))
(define-public python-fenics-ffc
(package
(name "python-fenics-ffc")
(version "2018.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fenics-ffc" version))
(sha256
(base32
"1b2ia5vlkw298x7rf0k2p3ihlpwkwgc98p3s6sbpds3hqmfrzdz9"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-fenics-dijitso" ,python-fenics-dijitso)
("python-fenics-fiat" ,python-fenics-fiat)
("python-fenics-ufl" ,python-fenics-ufl)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(setenv "HOME" (getcwd))
(setenv "PYTHONPATH"
(string-append (getcwd) ":" (getenv "PYTHONPATH")))
(with-directory-excursion "test"
;; FIXME: the tests in subdirectory
;; 'unit/ufc/finite_element' require the ffc_factory
;; extension module. This module, located in the 'libs'
;; subdirectory, needs to be built and made accessible
;; prior to running the tests.
(invoke "py.test" "unit/" "--ignore=unit/ufc/")
(with-directory-excursion "uflacs"
(invoke "py.test" "unit/")))
#t)))))
(home-page "https://bitbucket.org/fenics-project/ffc/")
(synopsis "Compiler for finite element variational forms")
(description "The FEniCS Form Compiler (FFC) is a compiler for
finite element variational forms. From a high-level description of
the form, it generates efficient low-level C++ code that can be used
to assemble the corresponding discrete operator (tensor). In
particular, a bilinear form may be assembled into a matrix and a
linear form may be assembled into a vector. FFC may be used either
from the command line (by invoking the @code{ffc} command) or as a
Python module (@code{import ffc}).
FFC is part of the FEniCS Project.")
;; There are two files released with a public domain licence;
;; ufc.h and ufc_geometry.h, in subdirectory 'ffc/backends/ufc'.
(license (list license:public-domain license:lgpl3+))))