git: d6fe15e0ee7a - main - math/hyperdeal: Finite-element library for partial differential equations

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 11 Jul 2023 00:30:30 UTC
The branch main has been updated by yuri:

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

commit d6fe15e0ee7a1d4f6f0b48ac7098ef764cb1cb5f
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-07-11 00:29:58 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-07-11 00:29:58 +0000

    math/hyperdeal: Finite-element library for partial differential equations
---
 math/Makefile                             |  1 +
 math/hyperdeal/Makefile                   | 35 ++++++++++++++++++++++++++++++
 math/hyperdeal/distinfo                   |  5 +++++
 math/hyperdeal/files/patch-CMakeLists.txt | 30 ++++++++++++++++++++++++++
 math/hyperdeal/pkg-descr                  |  7 ++++++
 math/hyperdeal/pkg-plist                  | 36 +++++++++++++++++++++++++++++++
 6 files changed, 114 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 55af21bdbc42..56b9de4c691b 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -393,6 +393,7 @@
     SUBDIR += hs-syfco
     SUBDIR += hsl
     SUBDIR += hydrogen
+    SUBDIR += hyperdeal
     SUBDIR += ideep
     SUBDIR += ignition-math
     SUBDIR += igraph
diff --git a/math/hyperdeal/Makefile b/math/hyperdeal/Makefile
new file mode 100644
index 000000000000..994fbccec520
--- /dev/null
+++ b/math/hyperdeal/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	hyperdeal
+DISTVERSION=	g20230706
+CATEGORIES=	math
+
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES=	6552f1e745f2fa03573b005e93104b0663a44c23.patch:-p1 # https://github.com/hyperdeal/hyperdeal/pull/117/commits
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Finite-element library for partial differential equations
+WWW=		https://github.com/hyperdeal/hyperdeal
+
+LICENSE=	LGPL3
+LICENSE_FILE=	${WRKSRC}/LICENSE.MD
+
+LIB_DEPENDS=	libdeal_II.so:math/deal.ii # many other dependencies are erroneously induced by deal.ii, see https://github.com/dealii/dealii/issues/15714
+
+USES=		cmake
+USE_LDCONFIG=	yes
+USE_CXXSTD=	c++17 # workaround for https://github.com/hyperdeal/hyperdeal/issues/115
+
+CXXFLAGS+=	-fPIC
+CMAKE_ON=	BUILD_SHARED_LIBS
+
+USE_GITHUB=	yes
+GH_TAGNAME=	b73a216
+
+do-install:
+	# headers
+	cd ${WRKSRC}/include && ${COPYTREE_SHARE} hyper.deal  ${STAGEDIR}${PREFIX}/include
+	${RM} ${STAGEDIR}${PREFIX}/include/hyper.deal/base/revision.h.in
+	${INSTALL_DATA} ${BUILD_WRKSRC}/include/hyper.deal/base/revision.h ${STAGEDIR}${PREFIX}/include/hyper.deal/base
+	# lib
+	${INSTALL_LIB} ${BUILD_WRKSRC}/libhyperdeal.so ${STAGEDIR}${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/math/hyperdeal/distinfo b/math/hyperdeal/distinfo
new file mode 100644
index 000000000000..58cdd3290c8c
--- /dev/null
+++ b/math/hyperdeal/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1689003424
+SHA256 (hyperdeal-hyperdeal-g20230706-b73a216_GH0.tar.gz) = d69e55b56e5bdd66b558852aabb01d898fa33b8d2c1520edbf154954b6b0171b
+SIZE (hyperdeal-hyperdeal-g20230706-b73a216_GH0.tar.gz) = 274431
+SHA256 (6552f1e745f2fa03573b005e93104b0663a44c23.patch) = ba2826980b64f868fef4c1da451c80ae20901e6a6b61732b97698ac97665022b
+SIZE (6552f1e745f2fa03573b005e93104b0663a44c23.patch) = 1350
diff --git a/math/hyperdeal/files/patch-CMakeLists.txt b/math/hyperdeal/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..52899de62711
--- /dev/null
+++ b/math/hyperdeal/files/patch-CMakeLists.txt
@@ -0,0 +1,30 @@
+--- CMakeLists.txt.orig	2023-07-06 19:59:29 UTC
++++ CMakeLists.txt
+@@ -91,7 +91,7 @@ ADD_SUBDIRECTORY(source)
+ # target the source files
+ TARGET_LINK_LIBRARIES(hyperdeal obj_base obj_grid)
+ 
+-ADD_SUBDIRECTORY(examples)
++#ADD_SUBDIRECTORY(examples)
+ 
+ 
+ IF(EXISTS ${CMAKE_SOURCE_DIR}/tests/CMakeLists.txt)
+@@ -99,13 +99,13 @@ IF(EXISTS ${CMAKE_SOURCE_DIR}/tests/CMakeLists.txt)
+ ENDIF()
+ 
+ # documentation
+-ADD_SUBDIRECTORY(doc/doxygen)
++#ADD_SUBDIRECTORY(doc/doxygen)
+ 
+ # performance tests
+-ADD_SUBDIRECTORY(performance)
++#ADD_SUBDIRECTORY(performance)
+ 
+ # tests
+ enable_testing()
+ ADD_SUBDIRECTORY(tests)
+-ADD_SUBDIRECTORY(examples/advection/tests)
+-ADD_SUBDIRECTORY(examples/vlasov_poisson/tests)
+\ No newline at end of file
++#ADD_SUBDIRECTORY(examples/advection/tests)
++#ADD_SUBDIRECTORY(examples/vlasov_poisson/tests)
diff --git a/math/hyperdeal/pkg-descr b/math/hyperdeal/pkg-descr
new file mode 100644
index 000000000000..77562b5d9d44
--- /dev/null
+++ b/math/hyperdeal/pkg-descr
@@ -0,0 +1,7 @@
+hyper.deal is an efficient, matrix-free finite-element library for solving
+partial differential equations in two to six dimensions with high-order
+discontinuous Galerkin methods. It builds upon the low-dimensional
+finite-element library deal.II to create low-dimensional meshes and to
+operate on them individually. We combine these meshes via a tensor product
+on the fly and provide new special-purpose highly optimized matrix-free
+functions.
diff --git a/math/hyperdeal/pkg-plist b/math/hyperdeal/pkg-plist
new file mode 100644
index 000000000000..e68a2ad2c153
--- /dev/null
+++ b/math/hyperdeal/pkg-plist
@@ -0,0 +1,36 @@
+include/hyper.deal/base/config.h
+include/hyper.deal/base/dynamic_convergence_table.h
+include/hyper.deal/base/memory_consumption.h
+include/hyper.deal/base/mpi.h
+include/hyper.deal/base/mpi_tags.h
+include/hyper.deal/base/revision.h
+include/hyper.deal/base/time_integrators.h
+include/hyper.deal/base/time_integrators.templates.h
+include/hyper.deal/base/time_integrators_parameters.h
+include/hyper.deal/base/time_loop.h
+include/hyper.deal/base/time_loop_parameters.h
+include/hyper.deal/base/timers.h
+include/hyper.deal/base/utilities.h
+include/hyper.deal/grid/grid_generator.h
+include/hyper.deal/matrix_free/dof_info.h
+include/hyper.deal/matrix_free/evaluation_kernels.h
+include/hyper.deal/matrix_free/face_info.h
+include/hyper.deal/matrix_free/fe_evaluation_base.h
+include/hyper.deal/matrix_free/fe_evaluation_cell.h
+include/hyper.deal/matrix_free/fe_evaluation_cell_inverse.h
+include/hyper.deal/matrix_free/fe_evaluation_face.h
+include/hyper.deal/matrix_free/id.h
+include/hyper.deal/matrix_free/matrix_free.h
+include/hyper.deal/matrix_free/matrix_free.templates.h
+include/hyper.deal/matrix_free/read_write_operation.h
+include/hyper.deal/matrix_free/shape_info.h
+include/hyper.deal/matrix_free/tools.h
+include/hyper.deal/matrix_free/vector_access_internal.h
+include/hyper.deal/matrix_free/vector_partitioner.h
+include/hyper.deal/numerics/vector_tools.h
+include/hyper.deal/operators/advection/advection_operation.h
+include/hyper.deal/operators/advection/advection_operation_parameters.h
+include/hyper.deal/operators/advection/boundary_descriptor.h
+include/hyper.deal/operators/advection/cfl.h
+include/hyper.deal/operators/advection/velocity_field_view.h
+lib/libhyperdeal.so