From 98d4c1daebba7abc46a931d570c0bf8501a1ae3a Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 22 Nov 2025 22:57:18 +0100 Subject: [PATCH] gnu: python-fenics-ffc: Switch to pyproject. * gnu/packages/simulation.scm (python-fenics-ffc): [source, arguments, description]: Improve style. [build-system]: Switch to pyproject-build-system. [native-inputs]: Add python-setuptools. Change-Id: I311ee58857bb796e6cacece5408a2eb62c754a04 Signed-off-by: Sharlatan Hellseher --- gnu/packages/simulation.scm | 64 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index ff8c2ed974e1c76b75b958d19fea4dce09c62e86..f667c4d1d7f4abf2bbf9c7462c466dc86e29b9fe 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -697,42 +697,40 @@ FIAT is part of the FEniCS Project.") (name "python-fenics-ffc") (version "2019.1.0.post0") (source - (origin - (method url-fetch) - (uri (pypi-uri "fenics-ffc" version)) - (sha256 - (base32 - "1f2a44ha65fg3a1prrbrsz4dgvibsv0j5c3pi2m52zi93bhwwgg9")))) - (build-system python-build-system) - (native-inputs - (list python-pytest)) - (propagated-inputs - (list python-fenics-dijitso python-fenics-fiat python-fenics-ufl)) + (origin + (method url-fetch) + (uri (pypi-uri "fenics-ffc" version)) + (sha256 + (base32 "1f2a44ha65fg3a1prrbrsz4dgvibsv0j5c3pi2m52zi93bhwwgg9")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (setenv "HOME" (getcwd)) - (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))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "HOME" (getcwd)) + (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 "pytest" "unit/" "--ignore=unit/ufc/") + (with-directory-excursion "uflacs" + (invoke "pytest" "unit/")))))))) + (native-inputs (list python-pytest python-setuptools)) + (propagated-inputs (list python-fenics-dijitso python-fenics-fiat + python-fenics-ufl-2019)) (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 + (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.")