git: 454ff23696c8 - main - math/fenics-basix: New port: FEniCS finite element basis evaluation library

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

URL: https://cgit.FreeBSD.org/ports/commit/?id=454ff23696c861b09a629b2024a92bd4aa5c9a76

commit 454ff23696c861b09a629b2024a92bd4aa5c9a76
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-07-15 08:19:34 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-07-15 08:49:43 +0000

    math/fenics-basix: New port: FEniCS finite element basis evaluation library
---
 math/Makefile               |  1 +
 math/fenics-basix/Makefile  | 24 ++++++++++++++++++++++++
 math/fenics-basix/distinfo  |  3 +++
 math/fenics-basix/pkg-descr | 20 ++++++++++++++++++++
 math/fenics-basix/pkg-plist | 32 ++++++++++++++++++++++++++++++++
 5 files changed, 80 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 62c454686a0b..f81a8ebb6b77 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -309,6 +309,7 @@
     SUBDIR += fastops
     SUBDIR += fcl
     SUBDIR += fcl05
+    SUBDIR += fenics-basix
     SUBDIR += fflas-ffpack
     SUBDIR += fftw
     SUBDIR += fftw-float
diff --git a/math/fenics-basix/Makefile b/math/fenics-basix/Makefile
new file mode 100644
index 000000000000..05a236fff8fa
--- /dev/null
+++ b/math/fenics-basix/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	fenics-basix
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.2
+CATEGORIES=	math
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	FEniCS finite element basis evaluation library
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/../LICENSE
+
+BUILD_DEPENDS=	xtensor>0:math/xtensor \
+		xtl-quant-stack>0:devel/xtl-quant-stack
+LIB_DEPENDS=	libopenblas.so:math/openblas
+
+USES=		cmake compiler:c++17-lang
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	FEniCS
+GH_PROJECT=	basix
+
+WRKSRC_SUBDIR=	cpp
+
+.include <bsd.port.mk>
diff --git a/math/fenics-basix/distinfo b/math/fenics-basix/distinfo
new file mode 100644
index 000000000000..c00c10a1d822
--- /dev/null
+++ b/math/fenics-basix/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1657870780
+SHA256 (FEniCS-basix-v0.4.2_GH0.tar.gz) = a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f
+SIZE (FEniCS-basix-v0.4.2_GH0.tar.gz) = 583621
diff --git a/math/fenics-basix/pkg-descr b/math/fenics-basix/pkg-descr
new file mode 100644
index 000000000000..8c8e274098ee
--- /dev/null
+++ b/math/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
diff --git a/math/fenics-basix/pkg-plist b/math/fenics-basix/pkg-plist
new file mode 100644
index 000000000000..72b5ffc4502d
--- /dev/null
+++ b/math/fenics-basix/pkg-plist
@@ -0,0 +1,32 @@
+include/basix/cell.h
+include/basix/dof-transformations.h
+include/basix/e-brezzi-douglas-marini.h
+include/basix/e-bubble.h
+include/basix/e-crouzeix-raviart.h
+include/basix/e-hhj.h
+include/basix/e-lagrange.h
+include/basix/e-nce-rtc.h
+include/basix/e-nedelec.h
+include/basix/e-raviart-thomas.h
+include/basix/e-regge.h
+include/basix/e-serendipity.h
+include/basix/element-families.h
+include/basix/finite-element.h
+include/basix/indexing.h
+include/basix/interpolation.h
+include/basix/lattice.h
+include/basix/log.h
+include/basix/maps.h
+include/basix/math.h
+include/basix/moments.h
+include/basix/polynomials.h
+include/basix/polyset.h
+include/basix/precompute.h
+include/basix/quadrature.h
+include/basix/version.h
+include/finite-element.h
+lib/cmake/basix/BasixConfig.cmake
+lib/cmake/basix/BasixConfigVersion.cmake
+lib/cmake/basix/BasixTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/basix/BasixTargets.cmake
+lib/libbasix.so