git: e0fc1b7caff7 - main - graphics/openpgl: add new port of Intel Open Path Guiding Library (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Sat, 31 Dec 2022 15:00:13 UTC
The branch main has been updated by fluffy:

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

commit e0fc1b7caff7fc3b81b0fee2d4c084fc79fcccbf
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2022-12-31 14:53:11 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2022-12-31 15:00:04 +0000

    graphics/openpgl: add new port of Intel Open Path Guiding Library (+)
    
    The Intel Open Path Guiding Library (Intel Open PGL) implements
    a set of representations and training algorithms needed to
    integrate path guiding into a renderer.
    
    PR:     268658
---
 graphics/Makefile          |  1 +
 graphics/openpgl/Makefile  | 35 +++++++++++++++++++++++++++++++++++
 graphics/openpgl/distinfo  |  3 +++
 graphics/openpgl/pkg-descr |  3 +++
 graphics/openpgl/pkg-plist | 35 +++++++++++++++++++++++++++++++++++
 5 files changed, 77 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 720cea76078f..e237374bc836 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -615,6 +615,7 @@
     SUBDIR += openmvs
     SUBDIR += opennurbs
     SUBDIR += openorienteering-mapper
+    SUBDIR += openpgl
     SUBDIR += openrm
     SUBDIR += openshadinglanguage
     SUBDIR += openslide
diff --git a/graphics/openpgl/Makefile b/graphics/openpgl/Makefile
new file mode 100644
index 000000000000..3349e2cb6aed
--- /dev/null
+++ b/graphics/openpgl/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	openpgl
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.1
+DISTVERSIONSUFFIX=	-beta
+CATEGORIES=	graphics devel
+
+MAINTAINER=	FreeBSD@Shaneware.biz
+COMMENT=	Intel Open Path Guiding Library
+WWW=		http://www.openpgl.org
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+# supported processors -
+# arm with NEON/NEON2X and x86_64 with SSE4/AVX2/AVX512
+ONLY_FOR_ARCHS=		amd64 armv6 armv7
+ONLY_FOR_ARCHS_REASON=	requires supported SIMD ISA
+
+LIB_DEPENDS=	libembree3.so:graphics/embree
+
+USES=		cmake compiler:c++11-lib
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	OpenPathGuidingLibrary
+
+OPTIONS_DEFINE=		TBB
+OPTIONS_DEFAULT=	TBB
+
+TBB_DESC=		Use Intels TBB instead of openMP
+# we disable TBB by enabling use of OpenMP
+TBB_CMAKE_BOOL_OFF=	OPENPGL_USE_OMP_THREADING
+TBB_LIB_DEPENDS=	libtbb.so:devel/onetbb
+
+.include <bsd.port.mk>
diff --git a/graphics/openpgl/distinfo b/graphics/openpgl/distinfo
new file mode 100644
index 000000000000..61fbe58a319a
--- /dev/null
+++ b/graphics/openpgl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1672364440
+SHA256 (OpenPathGuidingLibrary-openpgl-v0.4.1-beta_GH0.tar.gz) = db63f5dac5cfa8c110ede241f0c413f00db0c4748697381c4fa23e0f9e82a754
+SIZE (OpenPathGuidingLibrary-openpgl-v0.4.1-beta_GH0.tar.gz) = 10766930
diff --git a/graphics/openpgl/pkg-descr b/graphics/openpgl/pkg-descr
new file mode 100644
index 000000000000..3b4bc2fe174f
--- /dev/null
+++ b/graphics/openpgl/pkg-descr
@@ -0,0 +1,3 @@
+The Intel Open Path Guiding Library (Intel Open PGL) implements
+a set of representations and training algorithms needed to
+integrate path guiding into a renderer.
diff --git a/graphics/openpgl/pkg-plist b/graphics/openpgl/pkg-plist
new file mode 100644
index 000000000000..5a89b2afdfa9
--- /dev/null
+++ b/graphics/openpgl/pkg-plist
@@ -0,0 +1,35 @@
+include/openpgl/common.h
+include/openpgl/config.h
+include/openpgl/cpp/Common.h
+include/openpgl/cpp/Device.h
+include/openpgl/cpp/Distribution.h
+include/openpgl/cpp/Field.h
+include/openpgl/cpp/OpenPGL.h
+include/openpgl/cpp/PathSegment.h
+include/openpgl/cpp/PathSegmentStorage.h
+include/openpgl/cpp/Region.h
+include/openpgl/cpp/SampleData.h
+include/openpgl/cpp/SampleStorage.h
+include/openpgl/cpp/Sampler.h
+include/openpgl/cpp/SurfaceSamplingDistribution.h
+include/openpgl/cpp/VolumeSamplingDistribution.h
+include/openpgl/data.h
+include/openpgl/device.h
+include/openpgl/distribution.h
+include/openpgl/field.h
+include/openpgl/openpgl.h
+include/openpgl/pathsegmentstorage.h
+include/openpgl/region.h
+include/openpgl/sampler.h
+include/openpgl/samplestorage.h
+include/openpgl/surfacesamplingdistribution.h
+include/openpgl/types.h
+include/openpgl/version.h
+include/openpgl/volumesamplingdistribution.h
+lib/cmake/openpgl-0.4.1/openpglConfig.cmake
+lib/cmake/openpgl-0.4.1/openpglConfigVersion.cmake
+lib/cmake/openpgl-0.4.1/openpgl_Exports-release.cmake
+lib/cmake/openpgl-0.4.1/openpgl_Exports.cmake
+lib/libopenpgl.so
+lib/libopenpgl.so.0
+lib/libopenpgl.so.0.4.1