X-Git-Url: http://git.pld-linux.org/?p=packages%2Fblender.git;a=blobdiff_plain;f=openexr3.patch;fp=openexr3.patch;h=56aef7e289b295ccd34205141ae6629c7a5776ac;hp=0000000000000000000000000000000000000000;hb=4ec3633de16fbd3b7e271b386468e33e01cf3775;hpb=c12d53ac1e843e5e873040e889103520668c6d12 diff --git a/openexr3.patch b/openexr3.patch new file mode 100644 index 0000000..56aef7e --- /dev/null +++ b/openexr3.patch @@ -0,0 +1,192 @@ +Index: blender-2.93.3/source/blender/imbuf/intern/openexr/openexr_api.cpp +=================================================================== +--- blender-2.93.3.orig/source/blender/imbuf/intern/openexr/openexr_api.cpp ++++ blender-2.93.3/source/blender/imbuf/intern/openexr/openexr_api.cpp +@@ -32,30 +32,31 @@ + #include + #include + +-#include ++#include + #include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + + /* multiview/multipart */ +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + + #include "DNA_scene_types.h" /* For OpenEXR compression constants */ + +@@ -131,12 +132,12 @@ class IMemStream : public Imf::IStream { + return false; + } + +- Int64 tellg() override ++ uint64_t tellg() override + { + return _exrpos; + } + +- void seekg(Int64 pos) override ++ void seekg(uint64_t pos) override + { + _exrpos = pos; + } +@@ -146,8 +147,8 @@ class IMemStream : public Imf::IStream { + } + + private: +- Int64 _exrpos; +- Int64 _exrsize; ++ uint64_t _exrpos; ++ uint64_t _exrsize; + unsigned char *_exrbuf; + }; + +@@ -182,12 +183,12 @@ class IFileStream : public Imf::IStream + return check_error(); + } + +- Int64 tellg() override ++ uint64_t tellg() override + { + return std::streamoff(ifs.tellg()); + } + +- void seekg(Int64 pos) override ++ void seekg(uint64_t pos) override + { + ifs.seekg(pos); + check_error(); +@@ -231,19 +232,19 @@ class OMemStream : public OStream { + ibuf->encodedsize += n; + } + +- Int64 tellp() override ++ uint64_t tellp() override + { + return offset; + } + +- void seekp(Int64 pos) override ++ void seekp(uint64_t pos) override + { + offset = pos; + ensure_size(offset); + } + + private: +- void ensure_size(Int64 size) ++ void ensure_size(uint64_t size) + { + /* if buffer is too small increase it. */ + while (size > ibuf->encodedbuffersize) { +@@ -254,7 +255,7 @@ class OMemStream : public OStream { + } + + ImBuf *ibuf; +- Int64 offset; ++ uint64_t offset; + }; + + /* File Output Stream */ +@@ -284,12 +285,12 @@ class OFileStream : public OStream { + check_error(); + } + +- Int64 tellp() override ++ uint64_t tellp() override + { + return std::streamoff(ofs.tellp()); + } + +- void seekp(Int64 pos) override ++ void seekp(uint64_t pos) override + { + ofs.seekp(pos); + check_error(); +Index: blender-2.93.3/build_files/cmake/Modules/FindOpenEXR.cmake +=================================================================== +--- blender-2.93.3.orig/build_files/cmake/Modules/FindOpenEXR.cmake ++++ blender-2.93.3/build_files/cmake/Modules/FindOpenEXR.cmake +@@ -25,6 +25,7 @@ + # see accompanying file BSD-3-Clause-license.txt for details. + #============================================================================= + ++ + # If OPENEXR_ROOT_DIR was defined in the environment, use it. + IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "") + SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR}) +@@ -33,6 +34,16 @@ ENDIF() + # Old versions (before 2.0?) do not have any version string, just assuming this should be fine though. + SET(_openexr_libs_ver_init "2.0") + ++find_package(Imath CONFIG QUIET) ++if(TARGET Imath::Imath) ++SET(_openexr_FIND_COMPONENTS ++ Imath ++ Iex ++ OpenEXR ++ IlmThread ++) ++ ++else() + SET(_openexr_FIND_COMPONENTS + Half + Iex +@@ -40,6 +51,7 @@ SET(_openexr_FIND_COMPONENTS + IlmThread + Imath + ) ++endif() + + SET(_openexr_SEARCH_DIRS + ${OPENEXR_ROOT_DIR} +@@ -121,6 +133,9 @@ IF(OPENEXR_FOUND) + SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES}) + # Both include paths are needed because of dummy OSL headers mixing #include and #include :( + SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR) ++ if(TARGET Imath::Imath) ++ list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/Imath) ++ endif() + ENDIF() + + MARK_AS_ADVANCED(