aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-07-11 00:29:58 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-07-11 00:29:58 +0000
commitd6fe15e0ee7a1d4f6f0b48ac7098ef764cb1cb5f (patch)
tree27decdff050d04e4f51e53be11c96faca486b172
parentaa7b878f6c1f4312bc2034ddc5c20fabdc2406c2 (diff)
downloadports-d6fe15e0ee7a1d4f6f0b48ac7098ef764cb1cb5f.tar.gz
ports-d6fe15e0ee7a1d4f6f0b48ac7098ef764cb1cb5f.zip
math/hyperdeal: Finite-element library for partial differential equations
-rw-r--r--math/Makefile1
-rw-r--r--math/hyperdeal/Makefile35
-rw-r--r--math/hyperdeal/distinfo5
-rw-r--r--math/hyperdeal/files/patch-CMakeLists.txt30
-rw-r--r--math/hyperdeal/pkg-descr7
-rw-r--r--math/hyperdeal/pkg-plist36
6 files changed, 114 insertions, 0 deletions
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