graphics/Blender: Adapt for -current

Signed-off-by: Christoph Willing <chris.willing@linux.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Christoph Willing 2023-03-27 23:36:15 +10:00 committed by Willy Sudiarto Raharjo
parent d9bb21effa
commit 9ce819cce1
No known key found for this signature in database
GPG key ID: 3F617144D7238786
3 changed files with 2 additions and 1207 deletions

View file

@ -31,7 +31,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=Blender
VERSION=${VERSION:-3.3.5}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -102,8 +102,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
if pkg-config --atleast-version=3 OpenEXR ; then patch -p1 < $CWD/blender-3.0.1-openexr.patch ; fi
if pkg-config --atleast-version=59.37.100 libavcodec ; then patch -p1 < $CWD/blender-3.0.1-ffmpeg5.patch ; fi
sed -i -e '/#include <stdio.h>/a #include <iostream>' intern/locale/boost_locale_wrapper.cpp
# 20220322 bkw: 32-bit needs this
[ -z "$LIBDIRSUFFIX" ] && patch -p1 < $CWD/overloaded_min.diff
@ -114,7 +113,6 @@ cd build
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DPYTHON_VERSION=3.9 \
-DWITH_INSTALL_PORTABLE:BOOL=OFF \
-DWITH_BUILDINFO:BOOL=ON \
-DWITH_OPENCOLLADA:BOOL=ON \

File diff suppressed because it is too large Load diff

View file

@ -1,190 +0,0 @@
https://src.fedoraproject.org/rpms/blender/blob/rawhide/f/blender-openexr.patch
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -32,30 +32,31 @@
#include <stdexcept>
#include <string>
-#include <Iex.h>
+#include <OpenEXR/Iex.h>
#include <ImathBox.h>
-#include <ImfArray.h>
-#include <ImfChannelList.h>
-#include <ImfCompression.h>
-#include <ImfCompressionAttribute.h>
-#include <ImfIO.h>
-#include <ImfInputFile.h>
-#include <ImfOutputFile.h>
-#include <ImfPixelType.h>
-#include <ImfStandardAttributes.h>
-#include <ImfStringAttribute.h>
-#include <ImfVersion.h>
-#include <half.h>
+#include <OpenEXR/ImfArray.h>
+#include <OpenEXR/ImfFrameBuffer.h>
+#include <OpenEXR/ImfChannelList.h>
+#include <OpenEXR/ImfCompression.h>
+#include <OpenEXR/ImfCompressionAttribute.h>
+#include <OpenEXR/ImfIO.h>
+#include <OpenEXR/ImfInputFile.h>
+#include <OpenEXR/ImfOutputFile.h>
+#include <OpenEXR/ImfPixelType.h>
+#include <OpenEXR/ImfStandardAttributes.h>
+#include <OpenEXR/ImfStringAttribute.h>
+#include <OpenEXR/ImfVersion.h>
+#include <Imath/half.h>
/* multiview/multipart */
-#include <ImfInputPart.h>
-#include <ImfMultiPartInputFile.h>
-#include <ImfMultiPartOutputFile.h>
-#include <ImfMultiView.h>
-#include <ImfOutputPart.h>
-#include <ImfPartHelper.h>
-#include <ImfPartType.h>
-#include <ImfTiledOutputPart.h>
+#include <OpenEXR/ImfInputPart.h>
+#include <OpenEXR/ImfMultiPartInputFile.h>
+#include <OpenEXR/ImfMultiPartOutputFile.h>
+#include <OpenEXR/ImfMultiView.h>
+#include <OpenEXR/ImfOutputPart.h>
+#include <OpenEXR/ImfPartHelper.h>
+#include <OpenEXR/ImfPartType.h>
+#include <OpenEXR/ImfTiledOutputPart.h>
#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();
--- a/build_files/cmake/Modules/FindOpenEXR.cmake
+++ b/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 <OpenEXR/foo.h> and #include <foo.h> :(
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(