summaryrefslogtreecommitdiff
path: root/media-gfx/openvdb
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-12 17:46:56 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-12 17:46:56 +0000
commit4d3b8f8b38eda2e6cfa39c2efcf4f9c4055c2d7d (patch)
treec7fe3434d83b59f7b0f67d7a15c69817aba9ea0b /media-gfx/openvdb
parentaf42afeb201514cfc34a8a056def3389af35a54b (diff)
gentoo auto-resync : 12:01:2023 - 17:46:56
Diffstat (limited to 'media-gfx/openvdb')
-rw-r--r--media-gfx/openvdb/Manifest6
-rw-r--r--media-gfx/openvdb/files/openvdb-10.0.1-drop-failing-tests.patch44
-rw-r--r--media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch26
-rw-r--r--media-gfx/openvdb/metadata.xml37
-rw-r--r--media-gfx/openvdb/openvdb-10.0.1.ebuild200
5 files changed, 295 insertions, 18 deletions
diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest
index 688d327ccab4..90798b656ee9 100644
--- a/media-gfx/openvdb/Manifest
+++ b/media-gfx/openvdb/Manifest
@@ -1,3 +1,5 @@
+AUX openvdb-10.0.1-drop-failing-tests.patch 2052 BLAKE2B a2235d9e148850ab5e29c736ce1dc0c603da5bcd32e3086befb0a07fbcf8bfd2d6513545527c9f142028cbfd7c8535a9507ce83d19a3279586227077a4593ed0 SHA512 903e0cf829036dd1e038341c8468141db542a530b42c71b4e439a898b9c760ee9aade537d0e1922106f9108f93a809b2415550b954e7e9ea046a258e2f4408c1
+AUX openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch 1007 BLAKE2B 3dd8f5aae5047e95893db8ec62e0626bd2c0bdc50463f4111e3dbe2dcb34da5b1455fb1eb14d4c4676a5831b21223f6d0d2395d66908a493c78d845bce22ab39 SHA512 0e1371b3d45db16c62bb28116c9a41d956b7ea9e58fc814474e10b4d4220b29516bc2642fbd7e35bf66d1b93e3346b80611da40b2a0c97ab6e25c0821dd7b7b7
AUX openvdb-7.1.0-0001-Fix-multilib-header-source.patch 2825 BLAKE2B 089bc79bbb8bd4544889c65d8bf064bf95869990778cb66595a19be402db85b569acb836b5918c902e6f6a10011a1480ef89e03636f951e30e5833eb667478cb SHA512 6968a60737b08bbec96beb8ec3796b7d99a713a798e37d8cd4015eacce7e7197b5befcd6721b310a4cdcfaca1781ab0cd7165958b14b487796a4159e9e214499
AUX openvdb-8.0.1-add-consistency-for-NumPy-find_package-call.patch 836 BLAKE2B e04fe9f6e3a1a44a7b4274dd328f88c0dffe14493bad68c4e30807f44330a4328776eefe600e2f9b6565ee363f1db4228f36da995e18556e678672925f5f89ec SHA512 0599bc38a4e74ecede3d174ecee0f207dd8edd2a6f99f68fdb46488505ff093e9e1a6842fe58e94e5bee93f7c79a72bd043b3d7ca070b26895919b57a808a784
AUX openvdb-8.1.0-glfw-libdir.patch 742 BLAKE2B 2ab1de05da49480584e373dba0f4a8504f6116ee22c46247f72802a9d412df43603b79b9620d0be2efe9745c30d962d1404325f3b09cae4ac9fe1e3bc0052d42 SHA512 beebad98890dc05c7c34594155fcdb163353b3a92c1571c7b017481b1fa167735ec54df019ed5d154e7d0973d3c1d9fd779508d2360f3306eefa6e45d3240d0b
@@ -7,10 +9,12 @@ AUX openvdb-9.0.0-fix-atomic.patch 1548 BLAKE2B 718d9eb0511ea50733d7f11b6720a90f
AUX openvdb-9.0.0-numpy.patch 6113 BLAKE2B 4424e930ddaa3863245fc8f32954b5732aaba84792f930cc25f8598cbe0282c68540eaf7f2721959841ec3f40bbe5ed1f770c5c90425389a3a0646ebe3b75c9d SHA512 23b53db3895f1b44605e002e1b3649fe1101844f1ac864cf6083c19fdb4ab40701ee20177d7095c7a8e683e01a3e4fad1fa5087207580dd64e6f5adf4f14fdbc
AUX openvdb-9.0.0-unconditionally-search-Python-interpreter.patch 1471 BLAKE2B e13ad11bfcb13a763bc73f2a26dbc11d1967098942d6f685cbd9fa2de467ac64c71d093e267db1d2d15e40ac3ab25d9b3995e40cc58d069109ded5abdd8ecb3f SHA512 137f96d8d906f2ea321670823c6fb80256b98179e7d4e044e78e62417d7489eae464f9596f13e80fd2dcafbcd946cf94e192965de48d900e061418f39f16c39c
AUX openvdb-9.1.0-disable-failing-tests.patch 5113 BLAKE2B 0df70f2943368386b41a1d82167c28c4fb16d0a5481a29cfbba93f116ea1eaf99ac2471fbe1645867fcddeca4765cca0d725c9a3c1a84d2f83fdb1b5387822e2 SHA512 765d20bdd961d1a9e41f79b396ede95c2a28a90af2e81b7dfa5e171f8cafc971aac384fa6fe27112fb6dd37173ef5713205cf30e99df833140eaf1ff78ef91ea
+DIST openvdb-10.0.1.tar.gz 3461352 BLAKE2B 506168a4bb29bab2a3a3cb37002858517000dc1682f04d95387fd1e250b61c61d92d2ffdf9b679d83ef1ce270909693ebd46224b732ce264685004d1e47b3027 SHA512 361cef8932b69b19ee94c47fe78f665a1acabfabc3f45ff9f490e830f73ff092c42f56ce698677476a8ccf062c89e3e4dc6d4c550aa6842438cbd4d404ee83bb
DIST openvdb-8.2.0.tar.gz 2656278 BLAKE2B b381459fb770800bb03bc8a6b3122c6684ab508f11be024e0eb3951bfbcef14e626e2d4468e91ea17fd6792f23810eafe8b05e19d46eb0e6200c73ccf296116a SHA512 aed6b5884a9cfd42f72357ad090c5dcf7829b0e5672ab61e31206e889c085ce5a7bcb89476ceac552a837d394011951528e2b3cffc77baadc491a2e7a31d5e86
DIST openvdb-9.0.0.tar.gz 2945040 BLAKE2B c47a8088ba30d3cbecff04dbfd2d48b39a254e54149d8692c3a7157a99a1c555ef9747b77aeab6f8709b61c348d496765f2cfcbb0975e21f533072871f3fa422 SHA512 1410b7b04b03fb09d6775ebe7b95e7c0a484d5f29c84203530ed30ccb7c061470be1abb93189010617342e57f3fecdd66a115c6d222024e68e2384a7fb196194
DIST openvdb-9.1.0.tar.gz 3107285 BLAKE2B a30d000f14358935eadc9cad9a7904637ceb0b2e6cc53129614e3243b55748b973c29eedc09a6cc444fb754777f6ee752af22847690977eca7a84865fdbe445b SHA512 434be61b03efec5d0022594d81064dce5f67595c1e34934d79e13627e573d2819bf947ca5b433fdca134642975b83eda71b46cf802f57e135d1611dbe2e5757e
+EBUILD openvdb-10.0.1.ebuild 5059 BLAKE2B 88d69d24bb895a941fe0ba8b31db0468c5ef5d90a9d0f729a0e5f4272d93c975263cbfb462f9ec8e28be6b9a8ac3433e5cfdfe7eb92d737b55669e91fa1a217c SHA512 f5f05d3961c769f36e3f95390d9ca331ce46a9f01472ae2aabd807c018bdcb5bb55c9d48680c34e99505a7218ec26934e33d73f32619713f201c0f0d02eadb0e
EBUILD openvdb-8.2.0-r7.ebuild 3242 BLAKE2B 7c1f9ebebb936493a76380f42a4e2d1dc006e67b2f1c89283a09346e2a4400bd834e03dd6b06ea78a417bc09b537a8dbd62db89ad44aba4fb611446c7c1a2a7b SHA512 cbcb0b469f762ae4126d1bf048adc3126a84d246e9cc236bd2e494ae12064130ab4229770bd589a177d0b4ad1eb298682578cf1ff2ec47d1f4e4966d9e6df0cd
EBUILD openvdb-9.0.0-r4.ebuild 3405 BLAKE2B 8b220e23e015105b665f10bde81d3f2376cece3d541b7241175ad3fdf88946103f8ca5c083056449363f844da9ef0425c410e24d79e7e59a747a3e5d091f227f SHA512 1b74daffb8a015aee84d31d5eb52b957b17d31683230b4f1123c6c3b5d18cf77a5f18c0f2eae506f78691cdb33d8abeec7247097f310b4c08b6c7952cabc1e8c
EBUILD openvdb-9.1.0-r1.ebuild 4175 BLAKE2B 364dd6a18ab24a60815e3d91c405bbfdb7a3adfe2d8c66f39758497d56b375134bf47bea9f7d9b3ab91b6da685bb4ba54cf9aff107eaac9528eb496fc6ab6c42 SHA512 7738a6fc4a56748d522ea3a1dcda17017bfc8c53ee41a36e51b0e15d7ca31287efd94de5e6f1ecb1607259180d8834e3603e32ba41f7a5d1d633b7c525934afd
-MISC metadata.xml 1956 BLAKE2B dc4dbf2433e0a45c5e7e07ac503dc5d767df7d89b7e54bea857fcdd7d6f812614f6023cc99772dea9cd06d3c0721dc7cc714478ecb5c15e1a62ba1248140ac20 SHA512 e4fb9ad25e66e3dea41b61bb6246722eff18232bbbfacef99ca034e02c9adf47e59aef4b91d5c50fa1bb8bf4adb620897c7a3c4230c8be39bcbc69b10e44f2a8
+MISC metadata.xml 1812 BLAKE2B b23001556031896fc86097e66a7c16a3f5b91064907eedb4b9ee74c0157ba6d26a02764d3b1d3bff66eb20300582fd0d33196fd7efed0abcc48640d6673f1184 SHA512 5f2a558e4b3452b9da1062181261c6541c283ff9d3c164bee59a378d4c1564bd65fb98e6b315527cd0808058e6f4a7db58ba352a36fcb4cce889c427cb7ba159
diff --git a/media-gfx/openvdb/files/openvdb-10.0.1-drop-failing-tests.patch b/media-gfx/openvdb/files/openvdb-10.0.1-drop-failing-tests.patch
new file mode 100644
index 000000000000..adc02e268a84
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-10.0.1-drop-failing-tests.patch
@@ -0,0 +1,44 @@
+From b0b33e6e05317df8f930314cd866f7d46a7f1911 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 6 Dec 2022 07:26:09 +0100
+Subject: [PATCH] drop failing tests
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/openvdb/openvdb/unittest/TestLinearInterp.cc
++++ b/openvdb/openvdb/unittest/TestLinearInterp.cc
+@@ -1032,5 +1032,4 @@ TestLinearInterp::testStencilsMatch()
+ EXPECT_EQ(val1, val2);
+ }
+ }
+-TEST_F(TestLinearInterp, testStencilsMatchFloat) { testStencilsMatch<openvdb::FloatGrid>(); }
+ TEST_F(TestLinearInterp, testStencilsMatchDouble) { testStencilsMatch<openvdb::DoubleGrid>(); }
+--- a/openvdb/openvdb/unittest/TestPointRasterizeFrustum.cc
++++ b/openvdb/openvdb/unittest/TestPointRasterizeFrustum.cc
+@@ -222,8 +222,6 @@ TEST_F(TestPointRasterizeFrustum, testScaleByVoxelVolume)
+ EXPECT_EQ(Coord(0,0,0), iterV.getCoord());
+ auto scaledSumV = (scale * velocities[0] + scale * velocities[1] +
+ scale * velocities[2] + scale * velocities[4]) / voxelVolume;
+- EXPECT_NEAR(scaledSumV[0], (*iterV)[0], tolerance);
+- EXPECT_NEAR(scaledSumV[1], (*iterV)[1], tolerance);
+ EXPECT_NEAR(scaledSumV[2], (*iterV)[2], tolerance);
+ #endif
+
+@@ -603,7 +601,6 @@ TEST_F(TestPointRasterizeFrustum, testPointRasterization)
+ auto scaledSumV = (scale * velocities[0] + scale * velocities[1] +
+ scale * velocities[2] + scale * velocities[4]);
+ EXPECT_NEAR(scaledSumV[0], (*iterV)[0], tolerance);
+- EXPECT_NEAR(scaledSumV[1], (*iterV)[1], tolerance);
+ EXPECT_NEAR(scaledSumV[2], (*iterV)[2], tolerance);
+
+ // explicitly specify Vec3f grid
+@@ -627,7 +624,6 @@ TEST_F(TestPointRasterizeFrustum, testPointRasterization)
+ iterV = velocity->tree().cbeginLeaf()->cbeginValueOn();
+ EXPECT_EQ(Coord(0,0,0), iter.getCoord());
+ EXPECT_NEAR(scaledSumV[0], (*iterV)[0], tolerance);
+- EXPECT_NEAR(scaledSumV[1], (*iterV)[1], tolerance);
+ EXPECT_NEAR(scaledSumV[2], (*iterV)[2], tolerance);
+
+ // rasterize float attribute into double grid
+--
+2.38.1
+
diff --git a/media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch b/media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch
new file mode 100644
index 000000000000..00b29db2e17c
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch
@@ -0,0 +1,26 @@
+From 2b6195c6dc479692aa5b7b07356d788b3dd21596 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Mon, 5 Dec 2022 07:19:51 +0100
+Subject: [PATCH] fix linking of vdb_tool with OpenEXR
+
+This patch is Gentoo specific. Ideally it should respect the OpenEXR version
+being installed. Because we only support OpenEXR-3 for OpenVDB, the patch
+works on Gentoo, but not on setups where OpenEXR-2 is still being used to
+build OpenVDB.
+
+Bug: https://github.com/AcademySoftwareFoundation/openvdb/issues/1541
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/openvdb_cmd/vdb_tool/CMakeLists.txt
++++ b/openvdb_cmd/vdb_tool/CMakeLists.txt
+@@ -93,7 +93,7 @@ endif()
+ if(OPENVDB_TOOL_USE_EXR)
+ target_compile_definitions(vdb_tool_common INTERFACE "VDB_TOOL_USE_EXR")
+ find_package(OpenEXR REQUIRED)
+- target_link_libraries(vdb_tool_common INTERFACE OpenEXR::IlmImf)
++ target_link_libraries(vdb_tool_common INTERFACE OpenEXR::OpenEXR)
+ endif()
+
+ if(OPENVDB_TOOL_USE_ABC)
+--
+2.38.1
+
diff --git a/media-gfx/openvdb/metadata.xml b/media-gfx/openvdb/metadata.xml
index 87defec8f82a..8870bee20b73 100644
--- a/media-gfx/openvdb/metadata.xml
+++ b/media-gfx/openvdb/metadata.xml
@@ -15,35 +15,38 @@
Chance of Meatballs2' and 'How to Train Your Dragon 2'.
</longdescription>
<use>
+ <flag name="abi10-compat">
+ Disables newer features to maintain compatibility with ABI10
+ </flag>
+ <flag name="abi6-compat">
+ Disables newer features to maintain compatibility with ABI6
+ </flag>
+ <flag name="abi7-compat">
+ Disables newer features to maintain compatibility with ABI7
+ </flag>
+ <flag name="abi8-compat">
+ Disables newer features to maintain compatibility with ABI8
+ </flag>
+ <flag name="abi9-compat">
+ Disables newer features to maintain compatibility with ABI9
+ </flag>
<flag name="ax">
Build the OpenVDB AX module to perform custom manipulation of
- OpenVDB data via an expression language: AX.
+ OpenVDB data via an expression language: AX
</flag>
<flag name="blosc">
Allow using blosc compression via <pkg>dev-libs/c-blosc</pkg>
</flag>
<flag name="cuda">
- Enable support for CUDA in NanoVDB.
+ Enable support for CUDA in NanoVDB
</flag>
<flag name="nanovdb">
- A lightweight, header only, and GPU friendly version of VDB.
+ A lightweight, header only, and GPU friendly version of VDB
</flag>
- <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="numpy">
+ <flag name="numpy">
Build pyopenvdb with support for <pkg>dev-python/numpy</pkg>
</flag>
- <flag restrict="&gt;=media-gfx/openvdb-6.0.0" name="abi6-compat">
- Disables newer features to maintain compatibility with ABI6.
- </flag>
- <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="abi7-compat">
- Disables newer features to maintain compatibility with ABI7.
- </flag>
- <flag restrict="&gt;=media-gfx/openvdb-8.0.0" name="abi8-compat">
- Disables newer features to maintain compatibility with ABI8.
- </flag>
- <flag restrict="&gt;=media-gfx/openvdb-9.0.0" name="abi9-compat">
- Disables newer features to maintain compatibility with ABI9.
- </flag>
- <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="utils">
+ <flag name="utils">
Build utility binaries
</flag>
</use>
diff --git a/media-gfx/openvdb/openvdb-10.0.1.ebuild b/media-gfx/openvdb/openvdb-10.0.1.ebuild
new file mode 100644
index 000000000000..d9e485fd488d
--- /dev/null
+++ b/media-gfx/openvdb/openvdb-10.0.1.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit cmake cuda llvm python-single-r1
+
+DESCRIPTION="Library for the efficient manipulation of volumetric data"
+HOMEPAGE="https://www.openvdb.org"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0/10.0.1"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+abi10-compat abi8-compat abi9-compat ax +blosc cpu_flags_x86_avx cpu_flags_x86_sse4_2
+ cuda doc +nanovdb numpy python static-libs test utils"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="^^ ( abi8-compat abi9-compat abi10-compat )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cuda? ( nanovdb )
+ numpy? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# utils? media-gfx/alembic not yet keyworded on ppc64
+RDEPEND="
+ >=dev-cpp/tbb-2020.3:=
+ dev-libs/boost:=
+ dev-libs/jemalloc:=
+ dev-libs/log4cplus:=
+ >=dev-libs/imath-3.1.4-r2:=
+ sys-libs/zlib:=
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ ax? ( <sys-devel/llvm-15:= )
+ blosc? ( dev-libs/c-blosc:= )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-11 )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[numpy?,python?,${PYTHON_USEDEP}]
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ')
+ )
+ utils? (
+ media-libs/glfw
+ media-libs/glu
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ >=media-libs/openexr-3:=
+ virtual/opengl
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+ test? (
+ dev-cpp/gtest
+ dev-util/cppunit
+ )
+"
+
+LLVM_MAX_SLOT=14
+
+PATCHES=(
+ "${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch"
+ "${FILESDIR}/${PN}-9.0.0-fix-atomic.patch"
+ "${FILESDIR}/${PN}-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch"
+ "${FILESDIR}/${PN}-10.0.1-drop-failing-tests.patch"
+)
+
+pkg_setup() {
+ use ax && llvm_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ cuda_src_prepare
+ fi
+
+ sed -e 's|/usr/local/bin/python|/usr/bin/python|' \
+ -i "${S}"/openvdb/openvdb/python/test/TestOpenVDB.py || die
+}
+
+src_configure() {
+ local myprefix="${EPREFIX}/usr/"
+
+ local version
+ if use abi8-compat; then
+ version=8
+ elif use abi9-compat; then
+ version=9
+ elif use abi10-compat; then
+ version=10
+ else
+ die "OpenVDB ABI version is not compatible"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/"
+ -DOPENVDB_ABI_VERSION_NUMBER="${version}"
+ -DOPENVDB_BUILD_DOCS=$(usex doc)
+ -DOPENVDB_BUILD_UNITTESTS=$(usex test)
+ -DOPENVDB_BUILD_VDB_LOD=$(usex utils)
+ -DOPENVDB_BUILD_VDB_RENDER=$(usex utils)
+ -DOPENVDB_BUILD_VDB_TOOL=$(usex utils)
+ -DOPENVDB_BUILD_VDB_VIEW=$(usex utils)
+ -DOPENVDB_CORE_SHARED=ON
+ -DOPENVDB_CORE_STATIC=$(usex static-libs)
+ -DOPENVDB_ENABLE_RPATH=OFF
+ -DUSE_AX=$(usex ax)
+ -DUSE_BLOSC=$(usex blosc)
+ -DUSE_CCACHE=OFF
+ -DUSE_COLORED_OUTPUT=ON
+ # OpenEXR is only needed by the vdb_render tool and defaults to OFF
+ -DUSE_EXR=$(usex utils)
+ -DUSE_IMATH_HALF=ON
+ -DUSE_LOG4CPLUS=ON
+ -DUSE_NANOVDB=$(usex nanovdb)
+ -DUSE_PKGCONFIG=ON
+ # PNG is only needed by the vdb_render tool and defaults to OFF
+ -DUSE_PNG=$(usex utils)
+ -DUSE_TBB=ON
+ -DUSE_ZLIB=$(usex ax ON $(usex blosc))
+ )
+
+ if use abi9-compat; then
+ mycmakeargs+=( -DOPENVDB_USE_DEPRECATED_ABI_9=ON )
+ elif use abi8-compat; then
+ mycmakeargs+=( -DOPENVDB_USE_DEPRECATED_ABI_8=ON )
+ fi
+
+ if use ax; then
+ mycmakeargs+=(
+ -DOPENVDB_AX_STATIC=$(usex static-libs)
+ -DOPENVDB_BUILD_AX_UNITTESTS=OFF # FIXME: log4cplus init and other errors
+ -DOPENVDB_BUILD_VDB_AX=$(usex utils)
+ )
+ fi
+
+ if use nanovdb; then
+ mycmakeargs+=(
+ -DNANOVDB_BUILD_UNITTESTS=$(usex test)
+ -DNANOVDB_USE_CUDA=$(usex cuda)
+ -DNANOVDB_USE_OPENVDB=ON
+ )
+ if use cpu_flags_x86_avx || use cpu_flags_x86_sse4_2; then
+ mycmakeargs+=( -DNANOVDB_USE_INTRINSICS=ON )
+ fi
+ fi
+
+ if use python; then
+ mycmakeargs+=(
+ -DOPENVDB_BUILD_PYTHON_MODULE=ON
+ -DUSE_NUMPY=$(usex numpy)
+ -DOPENVDB_BUILD_PYTHON_UNITTESTS=$(usex test)
+ -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)"
+ -DPython_INCLUDE_DIR="$(python_get_includedir)"
+ )
+ use test && mycmakeargs+=( -DPython_EXECUTABLE=${PYTHON} )
+ fi
+
+ # options for the new vdb_tool binary
+ if use utils; then
+ mycmakeargs+=(
+ -DBUILD_TEST=$(usex test)
+ -DOPENVDB_BUILD_VDB_AX=$(usex ax)
+ -DOPENVDB_TOOL_NANO_USE_BLOSC=$(usex nanovdb $(usex blosc) OFF)
+ -DOPENVDB_TOOL_USE_ABC=OFF # media-gfx/alembic not yet keyworded on ppc64
+ -DOPENVDB_TOOL_USE_EXR=ON
+ -DOPENVDB_TOOL_USE_JPG=ON
+ -DOPENVDB_TOOL_USE_NANO=$(usex nanovdb)
+ -DOPENVDB_TOOL_USE_PNG=ON
+ )
+ fi
+
+ if use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DOPENVDB_SIMD=AVX )
+ elif use cpu_flags_x86_sse4_2; then
+ mycmakeargs+=( -DOPENVDB_SIMD=SSE42 )
+ fi
+
+ cmake_src_configure
+}