git: 97d8da685190 - main - math/py-fenics-ffcx: New port: FEniCS Form Compiler for finite element forms

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 15 Jul 2022 16:27:38 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=97d8da68519022038a9860dfcb44d8176eecce76

commit 97d8da68519022038a9860dfcb44d8176eecce76
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-07-15 16:18:54 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-07-15 16:27:35 +0000

    math/py-fenics-ffcx: New port: FEniCS Form Compiler for finite element forms
---
 math/Makefile                             |  1 +
 math/py-fenics-ffcx/Makefile              | 25 +++++++++++++++++++++++++
 math/py-fenics-ffcx/distinfo              |  3 +++
 math/py-fenics-ffcx/files/patch-setup.cfg | 11 +++++++++++
 math/py-fenics-ffcx/pkg-descr             | 12 ++++++++++++
 5 files changed, 52 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 70d1eb434ff2..c5dad53e8a57 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -863,6 +863,7 @@
     SUBDIR += py-fastcluster
     SUBDIR += py-fastdtw
     SUBDIR += py-fenics-basix
+    SUBDIR += py-fenics-ffcx
     SUBDIR += py-fenics-ufl
     SUBDIR += py-flax
     SUBDIR += py-fpylll
diff --git a/math/py-fenics-ffcx/Makefile b/math/py-fenics-ffcx/Makefile
new file mode 100644
index 000000000000..dfb77b8c0bb3
--- /dev/null
+++ b/math/py-fenics-ffcx/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	fenics-ffcx
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.2
+CATEGORIES=	math
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	FEniCS Form Compiler for finite element forms
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+USES=		localbase python
+USE_PYTHON=	distutils autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	FEniCS
+GH_PROJECT=	ffcx
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/math/py-fenics-ffcx/distinfo b/math/py-fenics-ffcx/distinfo
new file mode 100644
index 000000000000..322d93149110
--- /dev/null
+++ b/math/py-fenics-ffcx/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1657901414
+SHA256 (FEniCS-ffcx-v0.4.2_GH0.tar.gz) = 3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4
+SIZE (FEniCS-ffcx-v0.4.2_GH0.tar.gz) = 132826
diff --git a/math/py-fenics-ffcx/files/patch-setup.cfg b/math/py-fenics-ffcx/files/patch-setup.cfg
new file mode 100644
index 000000000000..e47ea78d5aa4
--- /dev/null
+++ b/math/py-fenics-ffcx/files/patch-setup.cfg
@@ -0,0 +1,11 @@
+--- setup.cfg.orig	2022-07-15 16:16:32 UTC
++++ setup.cfg
+@@ -40,7 +40,7 @@ include_package_data = True
+ zip_safe = False
+ python_requires = >= 3.7
+ setup_requires =
+-    setuptools >= 58, < 61
++    setuptools >= 58
+     wheel
+ install_requires =
+     numpy
diff --git a/math/py-fenics-ffcx/pkg-descr b/math/py-fenics-ffcx/pkg-descr
new file mode 100644
index 000000000000..3153e59c3398
--- /dev/null
+++ b/math/py-fenics-ffcx/pkg-descr
@@ -0,0 +1,12 @@
+FFCx is a new version of the FEniCS Form Compiler. It is being
+actively developed and is compatible with DOLFINx.
+
+FFCx is a compiler for finite element variational forms. From a
+high-level description of the form in the Unified Form Language
+(UFL), 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. FFCx may be used either from the command
+line (by invoking the ffcx command) or as a Python module.
+
+WWW: https://github.com/FEniCS/ffcx