summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl-gentoo@posteo.net>2021-12-04 21:37:39 +0100
committerSam James <sam@gentoo.org>2021-12-04 21:52:42 +0000
commitb62193bab0b3de371047ddb0aacce74591cabcb8 (patch)
treea08dc2b90fab719b50ace68c902211b16016c778 /media-gfx/openvdb
parentapp-emulation/wine-staging: Drop old (diff)
downloadgentoo-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.patch37
-rw-r--r--media-gfx/openvdb/files/openvdb-8.2.0-unconditionally-search-Python-interpreter.patch34
-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