summaryrefslogtreecommitdiff
path: root/media-libs/openexr
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/openexr')
-rw-r--r--media-libs/openexr/Manifest5
-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.ebuild77
5 files changed, 490 insertions, 0 deletions
diff --git a/media-libs/openexr/Manifest b/media-libs/openexr/Manifest
index 8d4ceb855b6f..b9eb7d0c444c 100644
--- a/media-libs/openexr/Manifest
+++ b/media-libs/openexr/Manifest
@@ -3,10 +3,15 @@ AUX openexr-2.5.7-0001-disable-testRgba-on-sparc.patch 937 BLAKE2B e2e4326491004
AUX openexr-2.5.7-0002-increase-IlmImfTest-timeout.patch 687 BLAKE2B 49aaf9d5282ad878ec415413106540d4a92aecceebbc9a03e30a4289377ec1d8ec4e1bacf49e0cec80a44e75f7f345c885c4746092c4dc3d57b03b317631d4d5 SHA512 9bcb62eec3bdf05ba54dff037ccd71e5e1dcd37831246f95d7803f1710b7335d930292dd27b5a6ddd927c45e7734d61d3a42a637fdf7e83724830f21b3d3db9e
AUX openexr-3.0.5-0001-changes-needed-for-proper-slotting.patch 6235 BLAKE2B bbde922a018390d11685ef76c3202419c639f8075adfbe5952bed585055376375fb2bd31463c140500feee1867245d6a6f7c59888d1d0f06979834dc181dc45c SHA512 ab3a405f119ce1f6e478923e99203a8ee6122d9a585f5d667555aefa6402e85def2df8410c88a20eb3e4b1c298f9f90f7a2ddd9377f75b57d40485a2ac9890c8
AUX openexr-3.0.5-0002-add-version-to-binaries-for-slotting.patch 9741 BLAKE2B f92fd894f339bce71fa1b63437fafa033c0f4d3bc164534b824ed44e00d1c23de2191b44168952d89969d4a36b7635476740543b0b093c048680fffb6a2e54aa SHA512 a5ba9b29cd63d6bd65adf3a181dbada23720a98ff683262f08be88aaff4cbfce6286e5067e666db08978b9617a61a1d05503cbac25aa86b26f632b384bd63a43
+AUX openexr-3.1.1-0001-changes-needed-for-proper-slotting.patch 6243 BLAKE2B 7c2d2f23153c098027f9edf2671dfa86d7b5924c3e1256db1dc9d3925e4e1f2b354e5524da25d90ef9f7123103947856820f426e51dd6e977fd098e6f35311ee SHA512 3a79c3eb66ff63b92fe45d51b2fbf25c2b4c863e12b4f59a8ea2e8275e3647d23af66d8133dc49dd935e5b5c4383455ce02bac767a4b84c8999285d57573b3a0
+AUX openexr-3.1.1-0002-add-version-to-binaries-for-slotting.patch 10834 BLAKE2B e789a55f14968089b27648e7989bfcb29e4fe634417348dffa8c24a6faafb85bdd9f9f523dc31a2ed26ec2e9d0ff2a2a3f5869317a20014b142085a6720c92f9 SHA512 b187ab8a4c25ffb865293eabb489232d151bfb9260cf2fd4700011e240029b91faa1d072e2f3c5865f79de7d5facfb5bb32fd53ece9f7338f9164c63d5d442f9
+AUX openexr-3.1.1-0003-disable-failing-test.patch 1193 BLAKE2B d4a40151e2c0b2278bfbec06b88d1a2b1a0caccb651a53aa4d54945524e3c79fb03d9031540ed0f423be4503fff0881b2185cc33b614a2508135cec3113f9384 SHA512 e07602d78d15ab0f1076d7b5d3f3d16912e9d0ad792703af1b1d3d8fcf472eef2e410efc2abed2da70e39a97f4dd9194a47c6de50484da799d49cf44e62c9167
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
EBUILD openexr-2.5.6.ebuild 1690 BLAKE2B eab42b0f5ce389e642e80fc4a53a3721d883d22332f5e773a86aa19ae85cf0f0002b38e9cc0266f2dc00c1b8aac722957a987e266efbdb304dda674fcc958e9a SHA512 100e7b271952985f3e576aca1965345a7ed5dfbbef070cb22ba1d8907a22de436a57b2eeb2500707c11db1ed2e1179778e75820b651309557ef5d20cc73da87c
EBUILD openexr-2.5.7.ebuild 2119 BLAKE2B 2859ee7c6f2e23540602129626218829275be14f45104f4bc3e1c712303cc1d1d1c79e109712a49406a890024bbd346355901e5b0654e75d2fee96c05275437f SHA512 c62b232f81eab0d2ace75e0616f91a04ac926e4e0d83c49b1aa87b489860b5060bd0f61dcf8dfc0e4c5792fcc4a570d8bf720caf0657f9aa234a34cb9cbf34a4
EBUILD openexr-3.0.5.ebuild 2147 BLAKE2B 4620226043268d73a1e290003849584d46604e42b04e18cf67ed918a41cb376b5951387a485cef227295ee4630d3e137a829081baf7c16ab53d701ec96bac88c SHA512 198c920c8457c94148a9880c7ab4c843bb3cedad6c60b6d42305962e251885ef2ea81c3ef0f584d42f663584832e448e65d6c971bfd2184fc27e77e10683d6dd
+EBUILD openexr-3.1.1.ebuild 2128 BLAKE2B 6b26c0ca2acc299e2371857fbcc6580d795deef5cb04a0283fb7a31079c600862f03e8273ca5b4fab7eb0119d467db6bbb138e19eceb6ee3dfcebf2a92f1066f SHA512 184c8520b6c523c0af0421f4d9b4ed03add57d9d1d749387e18cea5d1efb0d40f146e98401255e7fc7b12acb618f796181822bb74073884e826440a435b6e344
MISC metadata.xml 796 BLAKE2B dacf5230d89550bae31517f5babc9cf7ea99ef94ab223e4acf1abb39d1042d146e71352f4b55a6bebff88689f32efc3d098f5d7ac04a207211f784a9b5e2ed30 SHA512 3deb6a5e83a03fabbbfce2845529a7c2f1aacdc6038ffb4a35ed16bd3f93521ea490ff0fc1576291b5e1d84d19dc4d4123aecf228e270e6b55b01c09ea2a6b56
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..572fb41e9506
--- /dev/null
+++ b/media-libs/openexr/openexr-3.1.1.ebuild
@@ -0,0 +1,77 @@
+# 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
+
+ newenvd - 99${PN}3 <<-EOF
+ LDPATH=/usr/$(get_libdir)/${MY_P}
+ EOF
+}