git: 76a4a5b4e392 - main - math/py-fenics-basix: New port: FEniCS finite element basis evaluation library

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

URL: https://cgit.FreeBSD.org/ports/commit/?id=76a4a5b4e392199c09ebf178b79153532461fb9e

commit 76a4a5b4e392199c09ebf178b79153532461fb9e
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-07-15 08:49:13 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-07-15 08:49:43 +0000

    math/py-fenics-basix: New port: FEniCS finite element basis evaluation library
---
 math/Makefile                  |  1 +
 math/py-fenics-basix/Makefile  | 33 +++++++++++++++++++++++++++++++++
 math/py-fenics-basix/distinfo  |  3 +++
 math/py-fenics-basix/pkg-descr | 20 ++++++++++++++++++++
 4 files changed, 57 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index f81a8ebb6b77..62c2297da23c 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -862,6 +862,7 @@
     SUBDIR += py-faiss
     SUBDIR += py-fastcluster
     SUBDIR += py-fastdtw
+    SUBDIR += py-fenics-basix
     SUBDIR += py-flax
     SUBDIR += py-fpylll
     SUBDIR += py-fraction
diff --git a/math/py-fenics-basix/Makefile b/math/py-fenics-basix/Makefile
new file mode 100644
index 000000000000..4649f4a1e2f9
--- /dev/null
+++ b/math/py-fenics-basix/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	fenics-basix
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.2.post1
+CATEGORIES=	math
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	FEniCS finite element basis evaluation library
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/../LICENSE
+
+BUILD_DEPENDS=	pybind11>=2.6.4:devel/pybind11 \
+		cmake>=3.16:devel/cmake \
+		xtensor>0:math/xtensor \
+		xtl-quant-stack>0:devel/xtl-quant-stack \
+		${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scikit-build>=0.12:devel/py-scikit-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS=	libbasix.so:math/fenics-basix
+RUN_DEPENDS=	${PYNUMPY}
+
+USES=		localbase python
+USE_PYTHON=	distutils autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	FEniCS
+GH_PROJECT=	basix
+
+WRKSRC_SUBDIR=	python
+
+.include <bsd.port.mk>
diff --git a/math/py-fenics-basix/distinfo b/math/py-fenics-basix/distinfo
new file mode 100644
index 000000000000..050873cd3b8d
--- /dev/null
+++ b/math/py-fenics-basix/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1657872258
+SHA256 (FEniCS-basix-v0.4.2.post1_GH0.tar.gz) = dcf13ae27f6d26a5e09be39d0fc25a0cc630ccbe5e02a703b0fee0a990ff424f
+SIZE (FEniCS-basix-v0.4.2.post1_GH0.tar.gz) = 584152
diff --git a/math/py-fenics-basix/pkg-descr b/math/py-fenics-basix/pkg-descr
new file mode 100644
index 000000000000..8c8e274098ee
--- /dev/null
+++ b/math/py-fenics-basix/pkg-descr
@@ -0,0 +1,20 @@
+Basix is a finite element definition and tabulation runtime library.
+
+Basix allows users to:
+* evaluate finite element basis functions and their derivatives at a
+  set of points
+* access geometric and topological information about reference cells
+* apply push forward and pull back operations to map data between a
+  reference cell and a physical cell
+* permute and transform DOFs to allow higher-order elements to be use
+  on arbitrary meshes
+* interpolate into a finite element space and between finite element
+  spaces
+
+Basix includes a range of built-in elements, and also allows the user
+to define their own custom elements.
+
+Basix is one of the components of FEniCSx, alongside UFL, FFCx, and
+DOLFINx.
+
+WWW: https://github.com/FEniCS/basix