diff options
author | Bernd Waibel <waebbl-gentoo@posteo.net> | 2021-12-04 21:37:39 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-12-04 21:52:42 +0000 |
commit | b62193bab0b3de371047ddb0aacce74591cabcb8 (patch) | |
tree | a08dc2b90fab719b50ace68c902211b16016c778 /media-gfx/openvdb | |
parent | app-emulation/wine-staging: Drop old (diff) | |
download | gentoo-b62193bab0b3de371047ddb0aacce74591cabcb8.tar.gz gentoo-b62193bab0b3de371047ddb0aacce74591cabcb8.tar.bz2 gentoo-b62193bab0b3de371047ddb0aacce74591cabcb8.zip |
media-gfx/openvdb: fix issue if imath and ilmbase are both installed
The patch fixes an issue when OPENVDB_BUILD_BINARIES and OPENVDB_BUILD_RENDER
are set and both, dev-libs/imath and media-libs/ilmbase are being installed
and allows the package to configure properly in this case.
Additionally it fixes the installation location of the python module.
Bug: https://bugs.gentoo.org/790350
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
Closes: https://github.com/gentoo/gentoo/pull/23185
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx/openvdb')
-rw-r--r-- | media-gfx/openvdb/files/openvdb-8.2.0-fix-finding-ilmbase-if-imath-and-ilmbase-are-installed.patch | 37 | ||||
-rw-r--r-- | media-gfx/openvdb/files/openvdb-8.2.0-unconditionally-search-Python-interpreter.patch | 34 | ||||
-rw-r--r-- | media-gfx/openvdb/openvdb-8.2.0-r1.ebuild (renamed from media-gfx/openvdb/openvdb-8.2.0.ebuild) | 24 |
3 files changed, 88 insertions, 7 deletions
diff --git a/media-gfx/openvdb/files/openvdb-8.2.0-fix-finding-ilmbase-if-imath-and-ilmbase-are-installed.patch b/media-gfx/openvdb/files/openvdb-8.2.0-fix-finding-ilmbase-if-imath-and-ilmbase-are-installed.patch new file mode 100644 index 000000000000..88752e9fa0eb --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-8.2.0-fix-finding-ilmbase-if-imath-and-ilmbase-are-installed.patch @@ -0,0 +1,37 @@ +From: Bernd Waibel <waebbl-gentoo@posteo.net> +Date: Sat, 4 Dec 2021 20:16:42 +0100 +Subject: [PATCH] fix finding ilmbase if imath and ilmbase are installed + +If both, ilmbase-2.5 and imath-3 are installed, the configuration fails +if OPENVDB_BUILD_BINARIES and OPENVDB_BUILD_RENDER are set. +The patch adds an additional guard based on the USE_IMATH_HALF option +being set and thus decide whether to search for and use imath or ilmbase. + +Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> +--- a/openvdb/openvdb/cmd/CMakeLists.txt ++++ b/openvdb/openvdb/cmd/CMakeLists.txt +@@ -81,12 +81,17 @@ endif() + #### vdb_render + + if(OPENVDB_BUILD_VDB_RENDER) +- find_package(Imath CONFIG) +- if (NOT TARGET Imath::Imath) ++ if(USE_IMATH_HALF) ++ find_package(Imath CONFIG) ++ if (NOT TARGET Imath::Imath) ++ find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half Iex IlmThread Imath) ++ find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED COMPONENTS IlmImf) ++ else() ++ find_package(OpenEXR CONFIG) ++ endif() ++ else() + find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half Iex IlmThread Imath) + find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED COMPONENTS IlmImf) +- else() +- find_package(OpenEXR CONFIG) + endif() + + set(VDB_RENDER_SOURCE_FILES openvdb_render.cc) +-- +2.34.1 + diff --git a/media-gfx/openvdb/files/openvdb-8.2.0-unconditionally-search-Python-interpreter.patch b/media-gfx/openvdb/files/openvdb-8.2.0-unconditionally-search-Python-interpreter.patch new file mode 100644 index 000000000000..933d2965b2bc --- /dev/null +++ b/media-gfx/openvdb/files/openvdb-8.2.0-unconditionally-search-Python-interpreter.patch @@ -0,0 +1,34 @@ +From: Bernd Waibel <waebbl-gentoo@posteo.net> +Date: Sat, 4 Dec 2021 20:45:49 +0100 +Subject: [PATCH] unconditionally search Python interpreter + +When setting PYOPENVDB_INSTALL_DIRECTORY, CMake would fail with: +``` +-- Could NOT find Python (missing: Python_LIBRARIES Development Development.Module Development.Embed) (found version "3.9.9") +CMake Error at openvdb/openvdb/python/CMakeLists.txt:65 (message): + Could NOT find Python::Module (Required is at least version "2.7") +Call Stack (most recent call first): + openvdb/openvdb/python/CMakeLists.txt:112 (openvdb_check_python_version) + ``` + +It seems like we always need to search for the interpreter. + +Bug: https://bugs.gentoo.org/790350 +Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> +--- a/openvdb/openvdb/python/CMakeLists.txt ++++ b/openvdb/openvdb/python/CMakeLists.txt +@@ -73,10 +73,7 @@ endfunction() + # target but this was only added in CMake 3.15. See: + # https://github.com/AcademySoftwareFoundation/openvdb/issues/886 + set(OPENVDB_PYTHON_DEPS) +-set(OPENVDB_PYTHON_REQUIRED_COMPONENTS Development) +-if(NOT DEFINED PYOPENVDB_INSTALL_DIRECTORY) +- list(APPEND OPENVDB_PYTHON_REQUIRED_COMPONENTS Interpreter) +-endif() ++set(OPENVDB_PYTHON_REQUIRED_COMPONENTS Development Interpreter) + + if(${CMAKE_VERSION} VERSION_LESS 3.14) + find_package(Python QUIET COMPONENTS ${OPENVDB_PYTHON_REQUIRED_COMPONENTS}) +-- +2.34.1 + diff --git a/media-gfx/openvdb/openvdb-8.2.0.ebuild b/media-gfx/openvdb/openvdb-8.2.0-r1.ebuild index 9b71b3a635df..1a4d9c0e36e9 100644 --- a/media-gfx/openvdb/openvdb-8.2.0.ebuild +++ b/media-gfx/openvdb/openvdb-8.2.0-r1.ebuild @@ -31,8 +31,6 @@ RDEPEND=" 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 @@ -46,6 +44,10 @@ RDEPEND=" numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) ') ) + utils? ( + media-libs/ilmbase:= + media-libs/openexr:0= + ) zlib? ( sys-libs/zlib ) " @@ -69,7 +71,8 @@ PATCHES=( "${FILESDIR}/${PN}-7.1.0-0001-Fix-multilib-header-source.patch" "${FILESDIR}/${PN}-8.0.1-add-consistency-for-NumPy-find_package-call.patch" "${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch" - #"${FILESDIR}/${PN}-9.0.0-unconditionally-search-Python-interpreter.patch" + "${FILESDIR}/${PN}-8.2.0-fix-finding-ilmbase-if-imath-and-ilmbase-are-installed.patch" + "${FILESDIR}/${PN}-8.2.0-unconditionally-search-Python-interpreter.patch" ) pkg_setup() { @@ -93,11 +96,9 @@ src_configure() { local mycmakeargs=( -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/" -DOPENVDB_ABI_VERSION_NUMBER="${version}" + -DOPENVDB_BUILD_BINARIES=$(usex utils) -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 @@ -113,10 +114,19 @@ src_configure() { 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_EXECUTABLE="${PYTHON}" -DPython_INCLUDE_DIR="$(python_get_includedir)" + -DUSE_NUMPY=$(usex numpy) + ) + fi + + if use utils; then + mycmakeargs+=( + -DOPENVDB_BUILD_VDB_LOD=ON + -DOPENVDB_BUILD_VDB_RENDER=ON + -DOPENVDB_BUILD_VDB_VIEW=ON ) fi |