diff options
Diffstat (limited to 'media-gfx/openvdb/openvdb-9.0.0-r4.ebuild')
-rw-r--r-- | media-gfx/openvdb/openvdb-9.0.0-r4.ebuild | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/media-gfx/openvdb/openvdb-9.0.0-r4.ebuild b/media-gfx/openvdb/openvdb-9.0.0-r4.ebuild new file mode 100644 index 000000000000..8ec379c61a6d --- /dev/null +++ b/media-gfx/openvdb/openvdb-9.0.0-r4.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8,9,10} ) + +inherit cmake 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/9" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 +blosc cuda doc +nanovdb numpy python static-libs test utils +zlib abi6-compat abi7-compat abi8-compat +abi9-compat" +RESTRICT="!test? ( test )" + +REQUIRED_USE="blosc? ( zlib ) + numpy? ( python ) + cuda? ( nanovdb ) + ^^ ( abi6-compat abi7-compat abi8-compat abi9-compat ) + python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + >=dev-cpp/tbb-2020.3:= + dev-libs/boost:= + dev-libs/jemalloc:= + dev-libs/log4cplus:= + >=dev-libs/imath-3.1.4-r2:= + media-libs/glfw + media-libs/glu + >=media-libs/openexr-3:= + sys-libs/zlib:= + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + 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}] ) + ') + ) + zlib? ( sys-libs/zlib ) +" + +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-util/cppunit dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch" + "${FILESDIR}/${PN}-9.0.0-fix-atomic.patch" + "${FILESDIR}/${PN}-9.0.0-numpy.patch" + "${FILESDIR}/${PN}-9.0.0-unconditionally-search-Python-interpreter.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local myprefix="${EPREFIX}/usr/" + + local version + if use abi6-compat; then + version=6 + elif use abi7-compat; then + version=7 + elif use abi8-compat; then + version=8 + elif use abi9-compat; then + version=9 + 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_VIEW=$(usex utils) + -DOPENVDB_CORE_SHARED=ON + -DOPENVDB_CORE_STATIC=$(usex static-libs) + -DOPENVDB_ENABLE_RPATH=OFF + -DUSE_BLOSC=$(usex blosc) + -DUSE_ZLIB=$(usex zlib) + -DUSE_CCACHE=OFF + -DUSE_COLORED_OUTPUT=ON + -DUSE_IMATH_HALF=ON + -DUSE_LOG4CPLUS=ON + -DUSE_NANOVDB=$(usex nanovdb) + ) + + if use nanovdb; then + mycmakeargs+=( + -DNANOVDB_BUILD_UNITTESTS=$(usex test) + -DNANOVDB_USE_CUDA=$(usex cuda) + ) + 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)" + ) + 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 +} |