git: 2af21ff7e12a - main - misc/py-openvdb: New port: Tools for storage and manipulation of sparse volumetric data

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 01 Nov 2022 10:36:16 UTC
The branch main has been updated by yuri:

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

commit 2af21ff7e12a018287e9ddfe92dbb7c6f5000135
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-01 10:35:25 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-01 10:36:08 +0000

    misc/py-openvdb: New port: Tools for storage and manipulation of sparse volumetric data
---
 misc/Makefile                              |  1 +
 misc/py-openvdb/Makefile                   | 37 ++++++++++++++++++++++++++++++
 misc/py-openvdb/distinfo                   |  3 +++
 misc/py-openvdb/files/patch-CMakeLists.txt | 12 ++++++++++
 misc/py-openvdb/pkg-descr                  |  6 +++++
 5 files changed, 59 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index a0f68a1e07d3..62f5ac79115a 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -402,6 +402,7 @@
     SUBDIR += py-onnx-tf
     SUBDIR += py-openpaperwork-core
     SUBDIR += py-openpaperwork-gtk
+    SUBDIR += py-openvdb
     SUBDIR += py-orange3-associate
     SUBDIR += py-orange3-datafusion
     SUBDIR += py-orange3-educational
diff --git a/misc/py-openvdb/Makefile b/misc/py-openvdb/Makefile
new file mode 100644
index 000000000000..f6cbff6ca4cd
--- /dev/null
+++ b/misc/py-openvdb/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	openvdb
+DISTVERSIONPREFIX=	v
+DISTVERSION=	10.0.0
+CATEGORIES=	misc
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Tools for storage and manipulation of sparse volumetric data
+WWW=		https://www.openvdb.org/
+
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/../../../LICENSE
+
+BUILD_DEPENDS=	${PYNUMPY}
+LIB_DEPENDS=	${PY_BOOST} \
+		libboost_iostreams.so:devel/boost-libs \
+		libopenvdb.so:misc/openvdb \
+		libtbb.so:devel/onetbb
+RUN_DEPENDS=	${PYNUMPY}
+
+USES=		cmake compiler:c++17-lang localbase:ldflags python
+USE_LDCONFIG=	yes
+USE_PYTHON=	flavors
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	AcademySoftwareFoundation
+
+CMAKE_ON=	USE_NUMPY OPENVDB_PYTHON_WRAP_ALL_GRID_TYPES
+CMAKE_OFF=	OPENVDB_BUILD_PYTHON_UNITTESTS
+CMAKE_ARGS=	-DPython_EXECUTABLE=${PYTHON_CMD}
+
+WRKSRC_SUBDIR=	openvdb/openvdb/python
+
+PLIST_FILES=	include/openvdb/python/pyopenvdb.h \
+		${PYTHON_SITELIBDIR}/pyopenvdb.so
+
+.include <bsd.port.mk>
diff --git a/misc/py-openvdb/distinfo b/misc/py-openvdb/distinfo
new file mode 100644
index 000000000000..0d1ca035a1c2
--- /dev/null
+++ b/misc/py-openvdb/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1666976969
+SHA256 (AcademySoftwareFoundation-openvdb-v10.0.0_GH0.tar.gz) = 6d4f6b5ccd0f9d35a4886d9a51a98c97fa314f75bf9737c5121e91b706e2db70
+SIZE (AcademySoftwareFoundation-openvdb-v10.0.0_GH0.tar.gz) = 3462431
diff --git a/misc/py-openvdb/files/patch-CMakeLists.txt b/misc/py-openvdb/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..89826f5b5501
--- /dev/null
+++ b/misc/py-openvdb/files/patch-CMakeLists.txt
@@ -0,0 +1,12 @@
+--- CMakeLists.txt.orig	2022-10-27 23:35:20 UTC
++++ CMakeLists.txt
+@@ -12,6 +12,9 @@ project(OpenVDBPython LANGUAGES CXX)
+ 
+ include(GNUInstallDirs)
+ 
++set(CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake/OpenVDB" ${CMAKE_MODULE_PATH})
++find_package(OpenVDB REQUIRED)
++
+ ###### OpenVDB Python Options
+ 
+ option(USE_NUMPY "Build the python library with numpy support." OFF)
diff --git a/misc/py-openvdb/pkg-descr b/misc/py-openvdb/pkg-descr
new file mode 100644
index 000000000000..0cbdcff06bbf
--- /dev/null
+++ b/misc/py-openvdb/pkg-descr
@@ -0,0 +1,6 @@
+OpenVDB is an Academy Award-winning open-source C++ library comprising a novel
+hierarchical data structure and a suite of tools for the efficient storage and
+manipulation of sparse volumetric data discretized on three-dimensional grids.
+It was developed by DreamWorks Animation for use in volumetric applications
+typically encountered in feature film production and is now maintained by the
+Academy Software Foundation (ASWF).