summaryrefslogtreecommitdiff
path: root/math/polyclipper
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-12-03 13:55:34 -0800
committerYuri Victorovich <yuri@FreeBSD.org>2022-12-03 13:56:55 -0800
commit0dce9995e60532c01b84c3fc0b008ce017811f36 (patch)
tree9fe7b84154fea83090b7d899e43ba4c1eb36f74e /math/polyclipper
parentgames/acm: Deprecate. (diff)
math/polyclipper: New port: Library to clip polygons (in 2D) and polyhedra (in 3D) by planes
Diffstat (limited to 'math/polyclipper')
-rw-r--r--math/polyclipper/Makefile36
-rw-r--r--math/polyclipper/distinfo7
-rw-r--r--math/polyclipper/files/patch-CMakeLists.txt32
-rw-r--r--math/polyclipper/pkg-descr8
-rw-r--r--math/polyclipper/pkg-plist11
5 files changed, 94 insertions, 0 deletions
diff --git a/math/polyclipper/Makefile b/math/polyclipper/Makefile
new file mode 100644
index 000000000000..c18d8c3713b0
--- /dev/null
+++ b/math/polyclipper/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= polyclipper
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.2.3-2
+DISTVERSIONSUFFIX= -g2a727eb
+CATEGORIES= math
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Library to clip polygons (in 2D) and polyhedra (in 3D) by planes
+WWW= https://github.com/LLNL/PolyClipper
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake
+
+USE_GITHUB= yes
+GH_ACCOUNT= LLNL
+GH_PROJECT= PolyClipper
+GH_TUPLE= llnl:blt:0ae6bd2:blt/cmake/blt \
+ jmikeowen:PYB11Generator:f351df2:cmake/PYB11Generator
+
+CMAKE_ON= ENABLE_CXXONLY # otherwise it looks for python2
+CMAKE_OFF= BUILD_TESTING
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+do-test:
+.for f in test_array_vector_2d.cc test_array_vector_3d.cc
+ @${ECHO} "==> testing $f"
+ @cd ${WRKSRC}/test/test_array_vector && \
+ ${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${f}.bin ${f} -I${STAGEDIR}${PREFIX}/include && \
+ ./${f}.bin
+.endfor
+
+.include <bsd.port.mk>
diff --git a/math/polyclipper/distinfo b/math/polyclipper/distinfo
new file mode 100644
index 000000000000..7faa1e547491
--- /dev/null
+++ b/math/polyclipper/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1670066215
+SHA256 (LLNL-PolyClipper-v1.2.3-2-g2a727eb_GH0.tar.gz) = 6a0d2734a9cdc88e575134a7a4f0603456aa80d90fd316ace20f85d1526e7e98
+SIZE (LLNL-PolyClipper-v1.2.3-2-g2a727eb_GH0.tar.gz) = 275308
+SHA256 (llnl-blt-0ae6bd2_GH0.tar.gz) = a881609c8b3048487a230b696e38a48cb3f11c2a00bbb03034d0700fa18cf2d7
+SIZE (llnl-blt-0ae6bd2_GH0.tar.gz) = 1178467
+SHA256 (jmikeowen-PYB11Generator-f351df2_GH0.tar.gz) = 036462d577b08ac6e6c45eac4b691cda9314364ebb931dfd93d677a71c3b3e3d
+SIZE (jmikeowen-PYB11Generator-f351df2_GH0.tar.gz) = 64833
diff --git a/math/polyclipper/files/patch-CMakeLists.txt b/math/polyclipper/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..24c560204f66
--- /dev/null
+++ b/math/polyclipper/files/patch-CMakeLists.txt
@@ -0,0 +1,32 @@
+--- CMakeLists.txt.orig 2021-12-29 18:25:59 UTC
++++ CMakeLists.txt
+@@ -22,18 +22,18 @@ option(ENABLE_DOCS "enable the sphinx documentation" O
+ #-------------------------------------------------------------------------------
+ set(ENABLE_OPENMP ON CACHE BOOL "")
+
+-if (NOT POLYCLIPPER_BLT_DIR)
++if (FALSE AND NOT POLYCLIPPER_BLT_DIR)
+ set (POLYCLIPPER_BLT_REL_DIR "${PROJECT_SOURCE_DIR}/cmake/blt" CACHE PATH "")
+ get_filename_component(POLYCLIPPER_BLT_DIR "${POLYCLIPPER_BLT_REL_DIR}" ABSOLUTE)
+ endif()
+
+-if (NOT EXISTS "${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake")
++if (FALSE AND NOT EXISTS "${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake")
+ message(FATAL_ERROR
+ "${POLYCLIPPER_BLT_DIR} is not present.\n"
+ "call cmake with -DPOLYCLIPPER_BLT_DIR=/your/installation/of/blt\n")
+ endif()
+
+-include(${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake)
++#include(${POLYCLIPPER_BLT_DIR}/SetupBLT.cmake)
+
+ #-------------------------------------------------------------------------------
+ # Install
+@@ -118,4 +118,6 @@ endif()
+ #-------------------------------------------------------------------------------
+ # Add any tests
+ #-------------------------------------------------------------------------------
+-add_subdirectory(test/test_array_vector)
++if (BUILD_TESTING)
++ add_subdirectory(test/test_array_vector)
++endif()
diff --git a/math/polyclipper/pkg-descr b/math/polyclipper/pkg-descr
new file mode 100644
index 000000000000..fbeefbde9e46
--- /dev/null
+++ b/math/polyclipper/pkg-descr
@@ -0,0 +1,8 @@
+Polytope is a C++ library for generating polygonal and polyhedral meshes.
+It makes use of various 2D and 3D tessellation techniques, but provides
+a single representation for these tessellations, and a simple interface
+for generating them.
+
+Polytope has a simple C interface for use with other languages. It also
+includes bindings for Python. These bindings allow you to easily incorporate
+Polytope into your own mesh generation tools.
diff --git a/math/polyclipper/pkg-plist b/math/polyclipper/pkg-plist
new file mode 100644
index 000000000000..43c53739800a
--- /dev/null
+++ b/math/polyclipper/pkg-plist
@@ -0,0 +1,11 @@
+include/polyclipper2d.hh
+include/polyclipper2dImpl.hh
+include/polyclipper3d.hh
+include/polyclipper3dImpl.hh
+include/polyclipper_adapter.hh
+include/polyclipper_plane.hh
+include/polyclipper_serialize.hh
+include/polyclipper_serializeImpl.hh
+include/polyclipper_utilities.hh
+include/polyclipper_vector2d.hh
+include/polyclipper_vector3d.hh