commit:     3aaca40c1636ae63b4fbe4fa04108f22607ae261
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 21 17:18:12 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 21 18:21:40 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3aaca40c

media-libs/openimageio: Fix configure with openexr-2.3.0

Thanks-to: Alexander Miller <alex.miller <AT> gmx.de>
Closes: https://bugs.gentoo.org/683126
Package-Manager: Portage-2.3.64, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/openimageio-1.7.17-openexr-2.3.0.patch   | 51 ++++++++++++++++++++++
 media-libs/openimageio/openimageio-1.7.17.ebuild   |  1 +
 2 files changed, 52 insertions(+)

diff --git 
a/media-libs/openimageio/files/openimageio-1.7.17-openexr-2.3.0.patch 
b/media-libs/openimageio/files/openimageio-1.7.17-openexr-2.3.0.patch
new file mode 100644
index 00000000000..e4bd3562adc
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-1.7.17-openexr-2.3.0.patch
@@ -0,0 +1,51 @@
+Use PkgConfig to find OpenEXR. Otherwise, the code fails
+when OpenEXR/OpenEXRConfig.h is a multilib wrapper.
+Changes taken from openimageio-1.8.17.
+
+--- openimageio-1.7.17/src/cmake/modules/FindOpenEXR.cmake
++++ openimageio-1.7.17/src/cmake/modules/FindOpenEXR.cmake
+@@ -27,6 +27,13 @@
+     set (ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT})
+ endif ()
+ 
++# Attempt to find OpenEXR with pkgconfig
++find_package(PkgConfig)
++if (PKG_CONFIG_FOUND)
++    pkg_check_modules(_ILMBASE QUIET IlmBase)
++    pkg_check_modules(_OPENEXR QUIET OpenEXR>=2.0.0)
++endif (PKG_CONFIG_FOUND)
++
+ # List of likely places to find the headers -- note priority override of
+ # OPENEXR_CUSTOM_INCLUDE_DIR and ${OPENEXR_HOME}/include.
+ # ILMBASE is needed in case ilmbase an openexr are installed in separate
+@@ -35,6 +42,8 @@
+     ${OPENEXR_CUSTOM_INCLUDE_DIR}
+     ${OPENEXR_HOME}/include
+     ${ILMBASE_HOME}/include
++    ${_ILMBASE_INCLUDEDIR}
++    ${_OPENEXR_INCLUDEDIR}
+     /usr/local/include
+     /usr/include
+     /usr/include/${CMAKE_LIBRARY_ARCHITECTURE}
+@@ -53,7 +62,11 @@
+ find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h)
+ 
+ # Try to figure out version number
+-if (EXISTS "${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h")
++if (DEFINED _OPENEXR_VERSION AND NOT "${_OPENEXR_VERSION}" STREQUAL "")
++    set (OPENEXR_VERSION "${_OPENEXR_VERSION}")
++    string (REGEX REPLACE "([0-9]+)\\.[0-9]+" "\\1" OPENEXR_VERSION_MAJOR 
"${_OPENEXR_VERSION}")
++    string (REGEX REPLACE "[0-9]+\\.([0-9]+)" "\\1" OPENEXR_VERSION_MINOR 
"${_OPENEXR_VERSION}")
++elseif (EXISTS "${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h")
+     # Must be at least 2.0
+     file(STRINGS "${OPENEXR_INCLUDE_PATH}/OpenEXR/OpenEXRConfig.h" TMP REGEX 
"^#define OPENEXR_VERSION_STRING .*$")
+     string (REGEX MATCHALL "[0-9]+[.0-9]+" OPENEXR_VERSION ${TMP})
+@@ -90,6 +103,8 @@
+     ${GENERIC_LIBRARY_PATHS}
+     ${OPENEXR_INCLUDE_PATH}/../lib
+     ${ILMBASE_INCLUDE_PATH}/../lib
++    ${_ILMBASE_LIBDIR}
++    ${_OPENEXR_LIBDIR}
+     /usr/local/lib
+     /usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
+     /usr/lib

diff --git a/media-libs/openimageio/openimageio-1.7.17.ebuild 
b/media-libs/openimageio/openimageio-1.7.17.ebuild
index 0b3a2d7fe5f..2e5bb080fb5 100644
--- a/media-libs/openimageio/openimageio-1.7.17.ebuild
+++ b/media-libs/openimageio/openimageio-1.7.17.ebuild
@@ -61,6 +61,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
        "${FILESDIR}/${P}-use-gnuinstalldirs.patch"
        "${FILESDIR}/${P}-make-python-and-boost-detection-more-generic.patch"
+       "${FILESDIR}/${P}-openexr-2.3.0.patch" # bug 683126
 )
 
 DOCS=( CHANGES.md CREDITS.md README.md src/doc/${PN}.pdf )

Reply via email to