diff options
author | Sam James <sam@gentoo.org> | 2021-10-31 02:17:45 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-10-31 02:18:30 +0000 |
commit | 122f336e8396913975105beced5f602b6a5162f0 (patch) | |
tree | becefaf88c9edb0d23782523baf0380fbcba7c1f /media-gfx/openvdb/openvdb-7.1.0-r5.ebuild | |
parent | media-gfx/openvdb: revbump for build configuration changes; rebase 8.1/9.0 (diff) | |
download | gentoo-122f336e8396913975105beced5f602b6a5162f0.tar.gz gentoo-122f336e8396913975105beced5f602b6a5162f0.tar.bz2 gentoo-122f336e8396913975105beced5f602b6a5162f0.zip |
media-gfx/openvdb: define subslots
We have USE=abi* but we shouldn't rely on them.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx/openvdb/openvdb-7.1.0-r5.ebuild')
-rw-r--r-- | media-gfx/openvdb/openvdb-7.1.0-r5.ebuild | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/media-gfx/openvdb/openvdb-7.1.0-r5.ebuild b/media-gfx/openvdb/openvdb-7.1.0-r5.ebuild new file mode 100644 index 000000000000..7ee1ca2bae47 --- /dev/null +++ b/media-gfx/openvdb/openvdb-7.1.0-r5.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) + +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/7" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 doc numpy python static-libs test utils abi6-compat +abi7-compat" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + numpy? ( python ) + ^^ ( abi6-compat abi7-compat ) + python? ( ${PYTHON_REQUIRED_USE} ) +" +# Check if newer releases work with newer TBB, bug #820788 +RDEPEND=" + <dev-cpp/tbb-2021.4.0:= + dev-libs/boost:= + dev-libs/c-blosc:= + dev-libs/jemalloc:= + dev-libs/log4cplus:= + media-libs/glfw + media-libs/glu + media-libs/ilmbase:= + media-libs/openexr:0= + sys-libs/zlib:= + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-libs/boost:=[numpy?,python?,${PYTHON_USEDEP}] + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) + ') + ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-util/cmake-3.16.2-r1 + 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 ) +" + +PATCHES=( + "${FILESDIR}/${P}-0001-Fix-multilib-header-source.patch" + "${FILESDIR}/${P}-0002-Fix-doc-install-dir.patch" + "${FILESDIR}/${PN}-8.0.1-glfw-libdir.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 + else + die "Openvdb abi version is not compatible" + fi + + local mycmakeargs=( + -DCHOST="${CHOST}" + -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_CCACHE=OFF + -DUSE_COLORED_OUTPUT=ON + -DUSE_EXR=ON + -DUSE_LOG4CPLUS=ON + ) + + if use python; then + mycmakeargs+=( + -DOPENVDB_BUILD_PYTHON_MODULE=ON + -DUSE_NUMPY=$(usex numpy) + -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)" + -DPython_EXECUTABLE="${PYTHON}" + -DPython_INCLUDE_DIR="$(python_get_includedir)" + -DPython_LIBRARY="$(python_get_library_path)" + ) + 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 +} |