summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl-gentoo@posteo.net>2021-08-04 20:54:18 +0200
committerJoonas Niilola <juippis@gentoo.org>2021-08-12 09:45:09 +0300
commit0a334f4d89111d8b4e1f4ee7ee72ebcfc97f6cf8 (patch)
tree0ef6dd41125830a61543c70be74b817b21e8dc5b /media-libs
parentmedia-video/shotcut: remove old (diff)
downloadgentoo-0a334f4d89111d8b4e1f4ee7ee72ebcfc97f6cf8.tar.gz
gentoo-0a334f4d89111d8b4e1f4ee7ee72ebcfc97f6cf8.tar.bz2
gentoo-0a334f4d89111d8b4e1f4ee7ee72ebcfc97f6cf8.zip
media-libs/openexr: bump to 3.1.1
Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Closes: https://github.com/gentoo/gentoo/pull/21884 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/openexr/Manifest1
-rw-r--r--media-libs/openexr/files/openexr-3.1.1-0001-changes-needed-for-proper-slotting.patch119
-rw-r--r--media-libs/openexr/files/openexr-3.1.1-0002-add-version-to-binaries-for-slotting.patch252
-rw-r--r--media-libs/openexr/files/openexr-3.1.1-0003-disable-failing-test.patch37
-rw-r--r--media-libs/openexr/openexr-3.1.1.ebuild78
5 files changed, 487 insertions, 0 deletions
diff --git a/media-libs/openexr/Manifest b/media-libs/openexr/Manifest
index f629276e8aa4..741a982337e6 100644
--- a/media-libs/openexr/Manifest
+++ b/media-libs/openexr/Manifest
@@ -1,3 +1,4 @@
DIST openexr-2.5.6.tar.gz 27540385 BLAKE2B eea64c6ae4500de31673f3127da6ac98272e85a2c93e2aed96494cc24c397edbce508f0721387be5bbabc4dde596dccf61212709173b7cebd4212dbfbd1e4b65 SHA512 8d4582a5f2adcd5eb1486cabe033f9ecaa0292000bf7fa484a94e1d9ec908678a5a903fc6a1beba22bcd9c7f06ac51236834f448ea8aaf4462a338de886f0412
DIST openexr-2.5.7.tar.gz 27539574 BLAKE2B 58fd81be52e13d2815b6aa8cea6793359379f5ebf866fd45b31ce30cf5f72aa4699625e7cec51189d62fe76f53418c3e0938f9b827d54ad18342e7aa67c8a3d2 SHA512 e44edfa2dcfff2fe372ed2ba07b39a472e549025978de178eff26be641767d22d1a3b543fb7672d9b7b2e9f4c308667f785829ed6d9032a2b42f2ffa0163de40
DIST openexr-3.0.5.tar.gz 25060148 BLAKE2B 24b5601e27342eeff831219f75416797c30afb1ca28ae0a0692d97169297584da503d016c6dda80f63bd5bb9c9a31dc7f91d7713e6fc217a2760af2c662406f0 SHA512 7a0f83320ad5e1d8f8414b5175a64eef3c6b06a7ccd7d66d0aa21472ea22146e2617ff10c20e04203fc2a3326d8bac2d95023bec315badb03e6a006596b64595
+DIST openexr-3.1.1.tar.gz 25588029 BLAKE2B c2ce9622ad7b8a328ce556b6120a868cddb86e908917e001f543e70501b6d31ce549fc10d65806dd9d63e63872b273ad3a1d4f6813b5d23ea238c238f5815304 SHA512 430becbb214cedec5a57e9ff2363badd8a2d94e8a00edffbc75fbcf30d26d887a6eb3f4ff96e371cb26f9d44e63bf0fe2dc511493a0951171ddc64bba7aed735
diff --git a/media-libs/openexr/files/openexr-3.1.1-0001-changes-needed-for-proper-slotting.patch b/media-libs/openexr/files/openexr-3.1.1-0001-changes-needed-for-proper-slotting.patch
new file mode 100644
index 000000000000..29aef05acf5a
--- /dev/null
+++ b/media-libs/openexr/files/openexr-3.1.1-0001-changes-needed-for-proper-slotting.patch
@@ -0,0 +1,119 @@
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 3 Aug 2021 19:50:40 +0200
+Subject: [PATCH 1/2] changes needed for proper slotting
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ cmake/CMakeLists.txt | 8 ++++----
+ cmake/LibraryDefine.cmake | 8 ++++----
+ cmake/OpenEXR.pc.in | 4 ++--
+ cmake/OpenEXRLibraryDefine.cmake | 8 ++++----
+ 4 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
+index 79497d9..a22afd1 100644
+--- a/cmake/CMakeLists.txt
++++ b/cmake/CMakeLists.txt
+@@ -205,7 +205,7 @@ if(OPENEXR_INSTALL_PKG_CONFIG)
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ )
+ endfunction()
+- openexr_pkg_config_help(OpenEXR.pc.in)
++ openexr_pkg_config_help(OpenEXR-${OpenEXR_VERSION_MAJOR}.pc.in)
+ else()
+ message(STATUS "-- pkg-config generation disabled")
+ endif()
+@@ -225,7 +225,7 @@ include(CMakePackageConfigHelpers)
+ if(OPENEXR_INSTALL)
+ configure_package_config_file(${PROJECT_NAME}Config.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${OpenEXR_VERSION_MAJOR}
+ )
+ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
+ VERSION ${PROJECT_VERSION}
+@@ -234,11 +234,11 @@ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake"
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${OpenEXR_VERSION_MAJOR}
+ )
+
+ install(EXPORT ${PROJECT_NAME}
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${OpenEXR_VERSION_MAJOR}
+ FILE ${PROJECT_NAME}Targets.cmake
+ NAMESPACE ${PROJECT_NAME}::
+ EXPORT_LINK_INTERFACE_LIBRARIES
+diff --git a/cmake/LibraryDefine.cmake b/cmake/LibraryDefine.cmake
+index 5696f3f..b4787b1 100644
+--- a/cmake/LibraryDefine.cmake
++++ b/cmake/LibraryDefine.cmake
+@@ -79,8 +79,8 @@ function(OPENEXR_DEFINE_LIBRARY libname)
+ install(TARGETS ${libname}
+ EXPORT ${PROJECT_NAME}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ PUBLIC_HEADER
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${OPENEXR_OUTPUT_SUBDIR}
+@@ -90,8 +90,8 @@ function(OPENEXR_DEFINE_LIBRARY libname)
+ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
+ set(verlibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${OPENEXR_LIB_SUFFIX}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ set(baselibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX})
+- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
+- install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_LIBDIR}/${baselibname} -> ${verlibname}\")")
++ install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
++ install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}/${baselibname} -> ${verlibname}\")")
+ set(verlibname)
+ set(baselibname)
+ endif()
+diff --git a/cmake/OpenEXR.pc.in b/cmake/OpenEXR.pc.in
+index a74979b..e124b8f 100644
+--- a/cmake/OpenEXR.pc.in
++++ b/cmake/OpenEXR.pc.in
+@@ -5,9 +5,9 @@
+
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+-libdir=@libdir@
++libdir=@libdir@/@OPENEXR_OUTPUT_SUBDIR@
+ includedir=@includedir@
+-OpenEXR_includedir=@includedir@/OpenEXR
++OpenEXR_includedir=@includedir@/@OPENEXR_OUTPUT_SUBDIR@
+ libsuffix=@LIB_SUFFIX_DASH@
+
+ Name: OpenEXR
+diff --git a/cmake/OpenEXRLibraryDefine.cmake b/cmake/OpenEXRLibraryDefine.cmake
+index c6ddd2e..0dc3663 100644
+--- a/cmake/OpenEXRLibraryDefine.cmake
++++ b/cmake/OpenEXRLibraryDefine.cmake
+@@ -54,8 +54,8 @@ function(OPENEXR_DEFINE_LIBRARY libname)
+ install(TARGETS ${libname}
+ EXPORT ${PROJECT_NAME}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ PUBLIC_HEADER
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${OPENEXR_OUTPUT_SUBDIR}
+@@ -65,8 +65,8 @@ function(OPENEXR_DEFINE_LIBRARY libname)
+ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
+ set(verlibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${OPENEXR_LIB_SUFFIX}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ set(baselibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX})
+- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
+- install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_DIR}/${baselibname} -> ${verlibname}\")")
++ install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}/${OPENEXR_OUTPUT_SUBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})")
++ install(CODE "message(STATUS \"Creating symlink ${CMAKE_INSTALL_FULL_DIR}/${OPENEXR_OUTPUT_SUBDIR}/${baselibname} -> ${verlibname}\")")
+ set(verlibname)
+ set(baselibname)
+ endif()
+--
+2.32.0
+
diff --git a/media-libs/openexr/files/openexr-3.1.1-0002-add-version-to-binaries-for-slotting.patch b/media-libs/openexr/files/openexr-3.1.1-0002-add-version-to-binaries-for-slotting.patch
new file mode 100644
index 000000000000..d2f6dcd4bc33
--- /dev/null
+++ b/media-libs/openexr/files/openexr-3.1.1-0002-add-version-to-binaries-for-slotting.patch
@@ -0,0 +1,252 @@
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 3 Aug 2021 20:00:34 +0200
+Subject: [PATCH 2/2] add version to binaries for slotting
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ src/bin/exr2aces/CMakeLists.txt | 10 +++++-----
+ src/bin/exrenvmap/CMakeLists.txt | 10 +++++-----
+ src/bin/exrheader/CMakeLists.txt | 10 +++++-----
+ src/bin/exrinfo/CMakeLists.txt | 10 +++++-----
+ src/bin/exrmakepreview/CMakeLists.txt | 10 +++++-----
+ src/bin/exrmaketiled/CMakeLists.txt | 10 +++++-----
+ src/bin/exrmultipart/CMakeLists.txt | 10 +++++-----
+ src/bin/exrmultiview/CMakeLists.txt | 10 +++++-----
+ src/bin/exrstdattr/CMakeLists.txt | 10 +++++-----
+ 9 files changed, 45 insertions(+), 45 deletions(-)
+
+diff --git a/src/bin/exr2aces/CMakeLists.txt b/src/bin/exr2aces/CMakeLists.txt
+index 72c4e1c..01b806f 100644
+--- a/src/bin/exr2aces/CMakeLists.txt
++++ b/src/bin/exr2aces/CMakeLists.txt
+@@ -1,14 +1,14 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable(exr2aces main.cpp)
+-target_link_libraries(exr2aces OpenEXR::OpenEXR)
+-set_target_properties(exr2aces PROPERTIES
++add_executable(exr2aces-${OpenEXR_VERSION_MAJOR} main.cpp)
++target_link_libraries(exr2aces-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exr2aces-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exr2aces DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exr2aces-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exr2aces PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exr2aces-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrenvmap/CMakeLists.txt b/src/bin/exrenvmap/CMakeLists.txt
+index c798a65..3d35a19 100644
+--- a/src/bin/exrenvmap/CMakeLists.txt
++++ b/src/bin/exrenvmap/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable( exrenvmap
++add_executable( exrenvmap-${OpenEXR_VERSION_MAJOR}
+ blurImage.cpp
+ EnvmapImage.cpp
+ main.cpp
+@@ -11,13 +11,13 @@ add_executable( exrenvmap
+ resizeImage.cpp
+ )
+
+-target_link_libraries(exrenvmap OpenEXR::OpenEXR)
+-set_target_properties(exrenvmap PROPERTIES
++target_link_libraries(exrenvmap-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrenvmap-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrenvmap DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrenvmap-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrenvmap PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrenvmap-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrheader/CMakeLists.txt b/src/bin/exrheader/CMakeLists.txt
+index c427445..8cdbb8e 100644
+--- a/src/bin/exrheader/CMakeLists.txt
++++ b/src/bin/exrheader/CMakeLists.txt
+@@ -1,14 +1,14 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable(exrheader main.cpp)
+-target_link_libraries(exrheader OpenEXR::OpenEXR)
+-set_target_properties(exrheader PROPERTIES
++add_executable(exrheader-${OpenEXR_VERSION_MAJOR} main.cpp)
++target_link_libraries(exrheader-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrheader-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrheader DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrheader-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrheader PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrheader-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrinfo/CMakeLists.txt b/src/bin/exrinfo/CMakeLists.txt
+index 19ace5f..07aee1a 100644
+--- a/src/bin/exrinfo/CMakeLists.txt
++++ b/src/bin/exrinfo/CMakeLists.txt
+@@ -1,12 +1,12 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright Contributors to the OpenEXR Project.
+
+-add_executable(exrinfo main.c)
+-target_link_libraries(exrinfo OpenEXR::OpenEXRCore)
+-set_target_properties(exrinfo PROPERTIES
++add_executable(exrinfo-${OpenEXR_VERSION_MAJOR} main.c)
++target_link_libraries(exrinfo-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXRCore)
++set_target_properties(exrinfo-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+-install(TARGETS exrinfo DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(TARGETS exrinfo-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ if(WIN32 AND (BUILD_SHARED_LIBS OR OPENEXR_BUILD_BOTH_STATIC_SHARED))
+- target_compile_definitions(exrinfo PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrinfo-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrmakepreview/CMakeLists.txt b/src/bin/exrmakepreview/CMakeLists.txt
+index bb8b548..8b5e441 100644
+--- a/src/bin/exrmakepreview/CMakeLists.txt
++++ b/src/bin/exrmakepreview/CMakeLists.txt
+@@ -1,17 +1,17 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable(exrmakepreview
++add_executable(exrmakepreview-${OpenEXR_VERSION_MAJOR}
+ main.cpp
+ makePreview.cpp
+ )
+-target_link_libraries(exrmakepreview OpenEXR::OpenEXR)
+-set_target_properties(exrmakepreview PROPERTIES
++target_link_libraries(exrmakepreview-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrmakepreview-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrmakepreview DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrmakepreview-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrmakepreview PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrmakepreview-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrmaketiled/CMakeLists.txt b/src/bin/exrmaketiled/CMakeLists.txt
+index 1bc6cf4..6e70cf6 100644
+--- a/src/bin/exrmaketiled/CMakeLists.txt
++++ b/src/bin/exrmaketiled/CMakeLists.txt
+@@ -1,18 +1,18 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors (c) to the OpenEXR Project.
+
+-add_executable(exrmaketiled
++add_executable(exrmaketiled-${OpenEXR_VERSION_MAJOR}
+ Image.cpp
+ main.cpp
+ makeTiled.cpp
+ )
+-target_link_libraries(exrmaketiled OpenEXR::OpenEXR)
+-set_target_properties(exrmaketiled PROPERTIES
++target_link_libraries(exrmaketiled-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrmaketiled-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrmaketiled DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrmaketiled-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrmaketiled PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrmaketiled-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrmultipart/CMakeLists.txt b/src/bin/exrmultipart/CMakeLists.txt
+index 7f8fc1b..3770506 100644
+--- a/src/bin/exrmultipart/CMakeLists.txt
++++ b/src/bin/exrmultipart/CMakeLists.txt
+@@ -1,14 +1,14 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable(exrmultipart exrmultipart.cpp)
+-target_link_libraries(exrmultipart OpenEXR::OpenEXR)
+-set_target_properties(exrmultipart PROPERTIES
++add_executable(exrmultipart-${OpenEXR_VERSION_MAJOR} exrmultipart.cpp)
++target_link_libraries(exrmultipart-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrmultipart-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrmultipart DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrmultipart-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrmultipart PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrmultipart-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrmultiview/CMakeLists.txt b/src/bin/exrmultiview/CMakeLists.txt
+index 05ad081..9e535ad 100644
+--- a/src/bin/exrmultiview/CMakeLists.txt
++++ b/src/bin/exrmultiview/CMakeLists.txt
+@@ -1,18 +1,18 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable(exrmultiview
++add_executable(exrmultiview-${OpenEXR_VERSION_MAJOR}
+ Image.cpp
+ main.cpp
+ makeMultiView.cpp
+ )
+-target_link_libraries(exrmultiview OpenEXR::OpenEXR)
+-set_target_properties(exrmultiview PROPERTIES
++target_link_libraries(exrmultiview-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrmultiview-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrmultiview DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrmultiview-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrmultiview PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrmultiview-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+diff --git a/src/bin/exrstdattr/CMakeLists.txt b/src/bin/exrstdattr/CMakeLists.txt
+index 79205fc..3ad0ffe 100644
+--- a/src/bin/exrstdattr/CMakeLists.txt
++++ b/src/bin/exrstdattr/CMakeLists.txt
+@@ -1,14 +1,14 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ # Copyright (c) Contributors to the OpenEXR Project.
+
+-add_executable(exrstdattr main.cpp)
+-target_link_libraries(exrstdattr OpenEXR::OpenEXR)
+-set_target_properties(exrstdattr PROPERTIES
++add_executable(exrstdattr-${OpenEXR_VERSION_MAJOR} main.cpp)
++target_link_libraries(exrstdattr-${OpenEXR_VERSION_MAJOR} OpenEXR::OpenEXR)
++set_target_properties(exrstdattr-${OpenEXR_VERSION_MAJOR} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ )
+ if(OPENEXR_INSTALL_TOOLS)
+- install(TARGETS exrstdattr DESTINATION ${CMAKE_INSTALL_BINDIR})
++ install(TARGETS exrstdattr-${OpenEXR_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ if(WIN32 AND BUILD_SHARED_LIBS)
+- target_compile_definitions(exrstdattr PRIVATE OPENEXR_DLL)
++ target_compile_definitions(exrstdattr-${OpenEXR_VERSION_MAJOR} PRIVATE OPENEXR_DLL)
+ endif()
+--
+2.32.0
+
diff --git a/media-libs/openexr/files/openexr-3.1.1-0003-disable-failing-test.patch b/media-libs/openexr/files/openexr-3.1.1-0003-disable-failing-test.patch
new file mode 100644
index 000000000000..e2f0d6e59621
--- /dev/null
+++ b/media-libs/openexr/files/openexr-3.1.1-0003-disable-failing-test.patch
@@ -0,0 +1,37 @@
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 4 Aug 2021 08:33:52 +0200
+Subject: [PATCH] disable failing test
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ src/test/OpenEXRTest/CMakeLists.txt | 1 -
+ src/test/OpenEXRTest/main.cpp | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/src/test/OpenEXRTest/CMakeLists.txt b/src/test/OpenEXRTest/CMakeLists.txt
+index 9dd74d1..2a1a2bd 100644
+--- a/src/test/OpenEXRTest/CMakeLists.txt
++++ b/src/test/OpenEXRTest/CMakeLists.txt
+@@ -118,7 +118,6 @@ define_openexr_tests(
+ testMultiView
+ testNativeFormat
+ testOptimized
+- testOptimizedInterleavePatterns
+ testPartHelper
+ testPreviewImage
+ testRgba
+diff --git a/src/test/OpenEXRTest/main.cpp b/src/test/OpenEXRTest/main.cpp
+index 4eaecc9..0c0caed 100644
+--- a/src/test/OpenEXRTest/main.cpp
++++ b/src/test/OpenEXRTest/main.cpp
+@@ -202,7 +202,6 @@ main (int argc, char *argv[])
+ TEST (testExistingStreams, "core");
+ TEST (testStandardAttributes, "core");
+ TEST (testOptimized, "basic");
+- TEST (testOptimizedInterleavePatterns, "basic");
+ TEST (testYca, "basic");
+ TEST (testTiledYa, "basic");
+ TEST (testNativeFormat, "basic");
+--
+2.32.0
+
diff --git a/media-libs/openexr/openexr-3.1.1.ebuild b/media-libs/openexr/openexr-3.1.1.ebuild
new file mode 100644
index 000000000000..41ba22b004d6
--- /dev/null
+++ b/media-libs/openexr/openexr-3.1.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic toolchain-funcs
+
+MY_PN=OpenEXR
+MY_PV=$(ver_cut 1)
+MY_P=${MY_PN}-${MY_PV}
+
+DESCRIPTION="ILM's OpenEXR high dynamic-range image file format libraries"
+HOMEPAGE="https://www.openexr.com/"
+SRC_URI="https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="3/30" # based on SONAME
+# imath needs keywording: x64-macos, x86-solaris
+KEYWORDS="~amd64 ~ia64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
+IUSE="cpu_flags_x86_avx doc examples large-stack static-libs utils test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/imath-3.1.0:=
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-0001-changes-needed-for-proper-slotting.patch
+ "${FILESDIR}"/${P}-0002-add-version-to-binaries-for-slotting.patch
+ "${FILESDIR}"/${P}-0003-disable-failing-test.patch
+)
+
+DOCS=( CHANGES.md GOVERNANCE.md PATENTS README.md SECURITY.md docs/SymbolVisibility.md )
+
+src_prepare() {
+ # Fix path for testsuite
+ sed -e "s:/var/tmp/:${T}:" \
+ -i "${S}"/src/test/${MY_PN}{,Fuzz,Util}Test/tmpDir.h || die "failed to set temp path for tests"
+
+ cmake_src_prepare
+
+ mv "${S}"/cmake/${MY_PN}.pc.in "${S}"/cmake/${MY_P}.pc.in || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ -DOPENEXR_BUILD_TOOLS=$(usex utils)
+ -DOPENEXR_ENABLE_LARGE_STACK=$(usex large-stack)
+ -DOPENEXR_ENABLE_THREADING=$(usex threads)
+ -DOPENEXR_INSTALL_EXAMPLES=$(usex examples)
+ -DOPENEXR_INSTALL_PKG_CONFIG=ON
+ -DOPENEXR_INSTALL_TOOLS=$(usex utils)
+ -DOPENEXR_OUTPUT_SUBDIR="${MY_P}"
+ -DOPENEXR_USE_CLANG_TIDY=OFF # don't look for clang-tidy
+ )
+
+ use test && mycmakeargs+=( -DOPENEXR_RUN_FUZZ_TESTS=ON )
+
+ cmake_src_configure
+}
+
+src_install() {
+ if use doc; then
+ DOCS+=( docs/*.pdf )
+ fi
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+ cmake_src_install
+
+ cat > "${T}"/99${PN}3 <<-EOF || die
+ LDPATH=/usr/$(get_libdir)/${MY_P}
+ EOF
+ doenvd "${T}"/99${PN}3
+}