From 8a8d7ad1c3c508bc7107c9c08523a2d7ffad7862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Sun, 1 Dec 2019 15:25:05 +0100 Subject: [PATCH] openimageio: revbump for openexr-2.4.0 [ci skip] --- .../patches/find-openexr-cmake.patch | 197 ++++++++++++++++++ srcpkgs/openimageio/template | 2 +- 2 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/openimageio/patches/find-openexr-cmake.patch diff --git a/srcpkgs/openimageio/patches/find-openexr-cmake.patch b/srcpkgs/openimageio/patches/find-openexr-cmake.patch new file mode 100644 index 00000000000..c17c383371f --- /dev/null +++ b/srcpkgs/openimageio/patches/find-openexr-cmake.patch @@ -0,0 +1,197 @@ +--- src/cmake/modules/FindOpenEXR.cmake 2018-12-01 17:42:08.000000000 +0100 ++++ src/cmake/modules/FindOpenEXR.cmake 2019-12-02 21:37:56.477945777 +0100 +@@ -2,17 +2,12 @@ + # + # This module will set + # OPENEXR_FOUND true, if found +-# OPENEXR_INCLUDE_DIR directory where headers are found ++# OPENEXR_INCLUDES directory where headers are found + # OPENEXR_LIBRARIES libraries for OpenEXR + IlmBase + # ILMBASE_LIBRARIES libraries just IlmBase + # OPENEXR_VERSION OpenEXR version (accurate for >= 2.0.0, + # otherwise will just guess 1.6.1) + # +-# Special inputs: +-# OPENEXR_CUSTOM_INCLUDE_DIR - custom location of headers +-# OPENEXR_CUSTOM_LIB_DIR - custom location of libraries +-# OPENEXR_CUSTOM_LIB_PREFIX - special snowflake library prefix +-# OPENEXR_CUSTOM_LIB_SUFFIX - special snowflake library suffix + # + + # Other standard issue macros +@@ -30,18 +25,25 @@ + # 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) ++ if (NOT Ilmbase_ROOT AND NOT ILMBASE_ROOT ++ AND NOT DEFINED ENV{Ilmbase_ROOT} AND NOT DEFINED ENV{ILMBASE_ROOT}) ++ pkg_check_modules(_ILMBASE QUIET IlmBase>=2.0.0) ++ endif () ++ if (NOT OpenEXR_ROOT AND NOT OPENEXR_ROOT ++ AND NOT DEFINED ENV{OpenEXR_ROOT} AND NOT DEFINED ENV{OPENEXR_ROOT}) ++ pkg_check_modules(_OPENEXR QUIET OpenEXR>=2.0.0) ++ endif () + endif (PKG_CONFIG_FOUND) + + # List of likely places to find the headers -- note priority override of +-# OPENEXR_CUSTOM_INCLUDE_DIR and ${OPENEXR_HOME}/include. ++# ${OPENEXR_ROOT}/include. + # ILMBASE is needed in case ilmbase an openexr are installed in separate + # directories, like NixOS does + set (GENERIC_INCLUDE_PATHS +- ${OPENEXR_CUSTOM_INCLUDE_DIR} +- ${OPENEXR_HOME}/include +- ${ILMBASE_HOME}/include ++ ${OPENEXR_ROOT}/include ++ $ENV{OPENEXR_ROOT}/include ++ ${ILMBASE_ROOT}/include ++ $ENV{ILMBASE_ROOT}/include + ${_ILMBASE_INCLUDEDIR} + ${_OPENEXR_INCLUDEDIR} + /usr/local/include +@@ -50,22 +52,19 @@ + /sw/include + /opt/local/include ) + +-# Find the include file locations. We call find_path twice -- first using +-# only the custom paths, then if that fails, try the default paths only. +-# This seems to be the most robust way I can find to not get confused when +-# both system and custom libraries are present. ++# Find the include file locations. + find_path (ILMBASE_INCLUDE_PATH OpenEXR/IlmBaseConfig.h +- PATHS ${GENERIC_INCLUDE_PATHS} NO_DEFAULT_PATH) +-find_path (ILMBASE_INCLUDE_PATH OpenEXR/IlmBaseConfig.h) ++ HINTS ${ILMBASE_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR} ++ ${GENERIC_INCLUDE_PATHS} ) + find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h +- PATHS ${GENERIC_INCLUDE_PATHS} NO_DEFAULT_PATH) +-find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h) ++ HINTS ${OPENEXR_INCLUDE_DIR} ++ ${GENERIC_INCLUDE_PATHS} ) + + # Try to figure out version number + 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}") ++ string (REGEX REPLACE "([0-9]+)\\.[0-9\\.]+" "\\1" OPENEXR_VERSION_MAJOR "${_OPENEXR_VERSION}") ++ string (REGEX REPLACE "[0-9]+\\.([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 .*$") +@@ -83,24 +82,10 @@ + + + # List of likely places to find the libraries -- note priority override of +-# OPENEXR_CUSTOM_LIB_DIR and ${OPENEXR_HOME}/lib. +- +-# If there's no OPENEXR_HOME or ILMBASE_HOME, then the path will point to +-# "/lib", which may not always be wanted/expected. +-if (OPENEXR_CUSTOM_LIB_DIR) +- set (GENERIC_LIBRARY_PATHS ${GENERIC_LIBRARY_PATHS} ${OPENEXR_CUSTOM_LIB_DIR}) +-endif() +- +-if (OPENEXR_HOME) +- set (GENERIC_LIBRARY_PATHS ${GENERIC_LIBRARY_PATHS} ${OPENEXR_HOME}) +-endif() +- +-if (ILMBASE_HOME) +- set (GENERIC_LIBRARY_PATHS ${GENERIC_LIBRARY_PATHS} ${ILMBASE_HOME}) +-endif() +- ++# ${OPENEXR_ROOT}/lib. + set (GENERIC_LIBRARY_PATHS +- ${GENERIC_LIBRARY_PATHS} ++ ${OPENEXR_ROOT}/lib ++ ${ILMBASE_ROOT}/lib + ${OPENEXR_INCLUDE_PATH}/../lib + ${ILMBASE_INCLUDE_PATH}/../lib + ${_ILMBASE_LIBDIR} +@@ -113,6 +98,8 @@ + /opt/local/lib + $ENV{PROGRAM_FILES}/OpenEXR/lib/static ) + ++# message (STATUS "Generic lib paths: ${GENERIC_LIBRARY_PATHS}") ++ + # Handle request for static libs by altering CMAKE_FIND_LIBRARY_SUFFIXES. + # We will restore it at the end of this file. + set (_openexr_orig_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES}) +@@ -124,42 +111,19 @@ + endif () + endif () + +-# Look for the libraries themselves, for all the components. Like with the +-# headers, we do two finds -- first for custom locations, then for default. ++# Look for the libraries themselves, for all the components. + # This is complicated because the OpenEXR libraries may or may not be + # built with version numbers embedded. + set (_openexr_components IlmThread IlmImf Imath Iex Half) + foreach (COMPONENT ${_openexr_components}) + string (TOUPPER ${COMPONENT} UPPERCOMPONENT) + # First try with the version embedded +- set (FULL_COMPONENT_NAME ${OPENEXR_CUSTOM_LIB_PREFIX}${COMPONENT}-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_CUSTOM_LIB_SUFFIX}) +- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME} +- PATHS ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH) +- # Again, with no directory restrictions +- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}) +- # Try again without the version +- set (FULL_COMPONENT_NAME ${OPENEXR_CUSTOM_LIB_PREFIX}${COMPONENT}${OPENEXR_CUSTOM_LIB_SUFFIX}) +- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME} +- PATHS ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH) +- # One more time, with no restrictions +- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}) ++ find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ++ NAMES ${COMPONENT}-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR} ++ ${COMPONENT} ++ HINTS ${OPENEXR_LIBRARY_DIR} $ENV{OPENEXR_LIBRARY_DIR} ++ ${GENERIC_LIBRARY_PATHS} ) + endforeach () +-#Half usually has no suffix +-find_library (OPENEXR_HALF_LIBRARY ${OPENEXR_CUSTOM_LIB_PREFIX}Half +- PATHS ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH) +-find_library (OPENEXR_HALF_LIBRARY ${OPENEXR_CUSTOM_LIB_PREFIX}Half) +- +-# Set the FOUND, INCLUDE_DIR, and LIBRARIES variables. +-if (ILMBASE_INCLUDE_PATH AND OPENEXR_INCLUDE_PATH AND +- OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND +- OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) +- set (OPENEXR_FOUND TRUE) +- set (ILMBASE_FOUND TRUE) +- set (ILMBASE_INCLUDE_DIR ${ILMBASE_INCLUDE_PATH} CACHE STRING "The include paths needed to use IlmBase") +- set (OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_PATH} CACHE STRING "The include paths needed to use OpenEXR") +- set (ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ILMBASE_PTHREADS} CACHE STRING "The libraries needed to use IlmBase") +- set (OPENEXR_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${ILMBASE_LIBRARIES} ${ZLIB_LIBRARIES} CACHE STRING "The libraries needed to use OpenEXR") +-endif () + + find_package_handle_standard_args (OpenEXR + REQUIRED_VARS ILMBASE_INCLUDE_PATH OPENEXR_INCLUDE_PATH +@@ -168,11 +132,17 @@ + VERSION_VAR OPENEXR_VERSION + ) + +-MARK_AS_ADVANCED( +- ILMBASE_INCLUDE_DIR +- OPENEXR_INCLUDE_DIR +- ILMBASE_LIBRARIES +- OPENEXR_LIBRARIES ++if (OPENEXR_FOUND) ++ set (ILMBASE_FOUND TRUE) ++ set (ILMBASE_INCLUDES ${ILMBASE_INCLUDE_PATH}) ++ set (OPENEXR_INCLUDES ${OPENEXR_INCLUDE_PATH}) ++ set (ILMBASE_INCLUDE_DIR ${ILMBASE_INCLUDE_PATH}) ++ set (OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_PATH}) ++ set (ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ILMBASE_PTHREADS} CACHE STRING "The libraries needed to use IlmBase") ++ set (OPENEXR_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${ILMBASE_LIBRARIES} ${ZLIB_LIBRARIES} CACHE STRING "The libraries needed to use OpenEXR") ++endif () ++ ++mark_as_advanced( + OPENEXR_ILMIMF_LIBRARY + OPENEXR_IMATH_LIBRARY + OPENEXR_IEX_LIBRARY +@@ -181,3 +151,4 @@ + + # Restore the original CMAKE_FIND_LIBRARY_SUFFIXES + set (CMAKE_FIND_LIBRARY_SUFFIXES ${_openexr_orig_suffixes}) ++ diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template index 9362e49a0aa..5c1fa8906d2 100644 --- a/srcpkgs/openimageio/template +++ b/srcpkgs/openimageio/template @@ -1,7 +1,7 @@ # Template file for 'openimageio' pkgname=openimageio version=1.8.17 -revision=1 +revision=2 wrksrc="oiio-Release-${version}" build_style=cmake configure_args="-DUSE_OPENGL=0 -DUSE_QT=0 -DUSE_PYTHON=0 -DOIIO_BUILD_TESTS=0