aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2025-04-29 17:34:50 +0000
committerThierry Thomas <thierry@FreeBSD.org>2025-04-29 17:54:36 +0000
commit67fa97ee86537de2777ae6b26b2dfe4b3d7d6dbf (patch)
treeec8def627408a32d60da26c8cb45b5a7ad55b7bd
parent710369b3adc0c87806426844e74844fa2369f90f (diff)
math/manifold: new port, Geometry library for topological robustness
-rw-r--r--math/Makefile1
-rw-r--r--math/manifold/Makefile40
-rw-r--r--math/manifold/distinfo3
-rw-r--r--math/manifold/pkg-descr6
-rw-r--r--math/manifold/pkg-plist17
5 files changed, 67 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 9a06b9741f75..ae6a1efdb269 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -491,6 +491,7 @@
SUBDIR += ltl2ba
SUBDIR += m4ri
SUBDIR += m4rie
+ SUBDIR += manifold
SUBDIR += mate-calc
SUBDIR += math77
SUBDIR += mathex
diff --git a/math/manifold/Makefile b/math/manifold/Makefile
new file mode 100644
index 000000000000..b0a58d18e12e
--- /dev/null
+++ b/math/manifold/Makefile
@@ -0,0 +1,40 @@
+PORTNAME= manifold
+DISTVERSIONPREFIX=v
+DISTVERSION= 3.0.1
+CATEGORIES= math cad
+
+MAINTAINER= thierry@FreeBSD.org
+COMMENT= Geometry library for topological robustness
+WWW= https://github.com/elalish/manifold
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= glm>0:math/glm \
+ googletest>0:devel/googletest
+LIB_DEPENDS= libtbb.so:devel/onetbb \
+ libClipper2.so:cad/Clipper2 \
+ libassimp.so:multimedia/assimp
+
+USES= cmake compiler:c++17-lang pathfix
+
+USE_GITHUB= yes
+GH_ACCOUNT= elalish
+
+CMAKE_ARGS= -DMANIFOLD_FLAGS="${CFLAGS}" \
+ -DMANIFOLD_PAR:STRING="NONE"
+CMAKE_ON= BUILD_SHARED_LIBS \
+ MANIFOLD_EXPORT \
+ MANIFOLD_TEST
+CMAKE_OFF= MANIFOLD_DOWNLOADS \
+ MANIFOLD_JSBIND \
+ MANIFOLD_CBIND \
+ MANIFOLD_PYBIND \
+ MANIFOLD_FUZZ \
+ TRACY_ENABLE
+
+USE_LDCONFIG= yes
+
+do-test:
+ (cd ${BUILD_WRKSRC}/test && ./manifold_test)
+
+.include <bsd.port.mk>
diff --git a/math/manifold/distinfo b/math/manifold/distinfo
new file mode 100644
index 000000000000..a4cd858e490e
--- /dev/null
+++ b/math/manifold/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1745870160
+SHA256 (elalish-manifold-v3.0.1_GH0.tar.gz) = 5e84fdaab7933a00fb4279a9bbe2885e94db3adfc45a2ef56ae35abfe5e6ea43
+SIZE (elalish-manifold-v3.0.1_GH0.tar.gz) = 29248289
diff --git a/math/manifold/pkg-descr b/math/manifold/pkg-descr
new file mode 100644
index 000000000000..d6f869216234
--- /dev/null
+++ b/math/manifold/pkg-descr
@@ -0,0 +1,6 @@
+Manifold is a geometry library dedicated to creating and operating on manifold
+triangle meshes. A manifold mesh is a mesh that represents a solid object, and
+so is very important in manufacturing, CAD, structural analysis, etc.
+
+Further information can be found urther information can be found:
+see https://github.com/elalish/manifold/wiki/Manifold-Library .
diff --git a/math/manifold/pkg-plist b/math/manifold/pkg-plist
new file mode 100644
index 000000000000..9849cdeaa722
--- /dev/null
+++ b/math/manifold/pkg-plist
@@ -0,0 +1,17 @@
+include/manifold/common.h
+include/manifold/cross_section.h
+include/manifold/linalg.h
+include/manifold/manifold.h
+include/manifold/meshIO.h
+include/manifold/optional_assert.h
+include/manifold/polygon.h
+include/manifold/vec_view.h
+include/manifold/version.h
+lib/cmake/manifold/manifoldConfig.cmake
+lib/cmake/manifold/manifoldConfigVersion.cmake
+lib/cmake/manifold/manifoldTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/manifold/manifoldTargets.cmake
+lib/libmanifold.so
+lib/libmanifold.so.3
+lib/libmanifold.so.3.0.1
+libdata/pkgconfig/manifold.pc