The package rpms/blender.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/blender.git/commit/?id=89f56b2670....
Change:
+%ifarch ppc64 ppc64le
Thanks.
Full change:
============
commit c0b595537f935a6f923315d8c04a4ee9d2ed2185
Author: Richard Shaw <hobbes1069(a)gmail.com>
Date: Tue Aug 24 12:13:32 2021 -0500
Spec file tweaks
* touch RPM macro file to prevent packaging problem until it can be
fixed properly.
* %%exclude language file directory included via find_lang so they
don't get included twice.
diff --git a/blender.spec b/blender.spec
index c9eee5e..a39012b 100644
--- a/blender.spec
+++ b/blender.spec
@@ -41,9 +41,9 @@ Source0:
http://download.%{name}.org/source/%{name}-%{version}.tar.xz
Source1: macros.%{name}
# One-way minimal patch for OpenEXR/Imath 3.
-#if 0%{?fedora} > 34
+%if 0%{?fedora} > 34
Patch0: blender-openexr.patch
-#endif
+%endif
# Include missing pyconfig header for 3.10
Patch1: %{name}-usd-pythonlibs-fix.diff
@@ -295,7 +295,8 @@ sed -i "s/date_time/date_time
python%{python3_version_nodots}/" \
rm -rf %{buildroot}%{_docdir}/%{name}/*
# rpm macros
-#mkdir -p %{buildroot}%{macrosdir}
+mkdir -p %{buildroot}%{macrosdir}
+touch %{buildroot}%{macrosdir}/macros.%{name}
#sed -e 's/@VERSION@/%{blender_api}/g' %{SOURCE3} >
%{buildroot}%{macrosdir}/macros.%{name}
# AppData
@@ -321,6 +322,7 @@ appstream-util validate-relax --nonet
%{buildroot}%{_metainfodir}/%{name}.appdat
%{_bindir}/%{name}
%{_bindir}/%{name}-thumbnailer.py
%{_datadir}/applications/%{name}.desktop
+%exclude %{_datadir}/%{name}/%{version}/datafiles/locale/
%{_datadir}/%{name}/
%{_datadir}/icons/hicolor/*/apps/%{name}*.*
#{_datadir}/mime/packages/%{name}.xml
commit a718f47057828ed292e4f408dbe78e6103ea3184
Author: Richard Shaw <hobbes1069(a)gmail.com>
Date: Tue Aug 24 11:28:20 2021 -0500
Forgot git commit -a...
diff --git a/blender-openexr.patch b/blender-openexr.patch
index 953cd03..56aef7e 100644
--- a/blender-openexr.patch
+++ b/blender-openexr.patch
@@ -1,8 +1,8 @@
-Index: blender-2.93.1/source/blender/imbuf/intern/openexr/openexr_api.cpp
+Index: blender-2.93.3/source/blender/imbuf/intern/openexr/openexr_api.cpp
===================================================================
---- blender-2.93.1.orig/source/blender/imbuf/intern/openexr/openexr_api.cpp
-+++ blender-2.93.1/source/blender/imbuf/intern/openexr/openexr_api.cpp
-@@ -32,30 +32,30 @@
+--- 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 <stdexcept>
#include <string>
@@ -22,6 +22,7 @@ Index:
blender-2.93.1/source/blender/imbuf/intern/openexr/openexr_api.cpp
-#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>
@@ -54,10 +55,98 @@ Index:
blender-2.93.1/source/blender/imbuf/intern/openexr/openexr_api.cpp
#include "DNA_scene_types.h" /* For OpenEXR compression constants */
-Index: blender-2.93.1/build_files/cmake/Modules/FindOpenEXR.cmake
+@@ -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.1.orig/build_files/cmake/Modules/FindOpenEXR.cmake
-+++ blender-2.93.1/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.
#=============================================================================
diff --git a/blender.spec b/blender.spec
index bb83dc2..c9eee5e 100644
--- a/blender.spec
+++ b/blender.spec
@@ -41,9 +41,9 @@ Source0:
http://download.%{name}.org/source/%{name}-%{version}.tar.xz
Source1: macros.%{name}
# One-way minimal patch for OpenEXR/Imath 3.
-%if 0%{?fedora} > 34
+#if 0%{?fedora} > 34
Patch0: blender-openexr.patch
-%endif
+#endif
# Include missing pyconfig header for 3.10
Patch1: %{name}-usd-pythonlibs-fix.diff
@@ -52,6 +52,11 @@ Patch1: %{name}-usd-pythonlibs-fix.diff
#
https://developer.blender.org/T90842
Patch2: %{name}-usd-writer-abstract-fix.diff
+# Fix borrowed from:
+#
https://github.com/numpy/numpy/commit/ad2a73c18dcff95d844c382c94ab7f73b55...
+Patch3: blender-python310.patch
+
+
# Development stuff
BuildRequires: boost-devel
%if %{with clang}
@@ -226,11 +231,16 @@ rm -f build_files/cmake/Modules/FindOpenJPEG.cmake
%py3_shebang_fix .
# Workaround for eigen3 trying to enforce power10 when fedora only supports power8.
+#
https://bugzilla.redhat.com/show_bug.cgi?id=1996330
%ifarch ppc64 ppc64le
%global optflags_orig %optflags
%global optflags %optflags_orig -DEIGEN_ALTIVEC_DISABLE_MMA
%endif
+# Work around CMake boost module needing the python version to find the library
+sed -i "s/date_time/date_time python%{python3_version_nodots}/" \
+ build_files/cmake/platform/platform_unix.cmake
+
%build
%cmake \
@@ -285,8 +295,8 @@ rm -f build_files/cmake/Modules/FindOpenJPEG.cmake
rm -rf %{buildroot}%{_docdir}/%{name}/*
# rpm macros
-mkdir -p %{buildroot}%{macrosdir}
-sed -e 's/@VERSION@/%{blender_api}/g' %{SOURCE3} >
%{buildroot}%{macrosdir}/macros.%{name}
+#mkdir -p %{buildroot}%{macrosdir}
+#sed -e 's/@VERSION@/%{blender_api}/g' %{SOURCE3} >
%{buildroot}%{macrosdir}/macros.%{name}
# AppData
install -p -m 644 -D release/freedesktop/org.%{name}.Blender.appdata.xml \
@@ -313,8 +323,8 @@ appstream-util validate-relax --nonet
%{buildroot}%{_metainfodir}/%{name}.appdat
%{_datadir}/applications/%{name}.desktop
%{_datadir}/%{name}/
%{_datadir}/icons/hicolor/*/apps/%{name}*.*
-%{_datadir}/mime/packages/%{name}.xml
-%{_datadir}/thumbnailers/%{name}.thumbnailer
+#{_datadir}/mime/packages/%{name}.xml
+#{_datadir}/thumbnailers/%{name}.thumbnailer
%{_mandir}/man1/%{name}.*
%{_metainfodir}/%{name}.appdata.xml
commit d183f29dc4da1f62e9bf36baf05fd198e7f0bc22
Author: Richard Shaw <hobbes1069(a)gmail.com>
Date: Tue Aug 24 11:25:44 2021 -0500
Multiple build problem fixes:
* Add python 3.10 patch fix.
* Link with boost_python library.
* Comment out RPM macro install as SOURCE3 doesn't exist.
* Comment out blender.xml and blender.thumbnailer as they are not
currently being installed.
diff --git a/blender-python310.patch b/blender-python310.patch
new file mode 100644
index 0000000..7cd6662
--- /dev/null
+++ b/blender-python310.patch
@@ -0,0 +1,16 @@
+Index: blender-2.93.3/source/blender/python/mathutils/mathutils.c
+===================================================================
+--- blender-2.93.3.orig/source/blender/python/mathutils/mathutils.c
++++ blender-2.93.3/source/blender/python/mathutils/mathutils.c
+@@ -95,7 +95,11 @@ Py_hash_t mathutils_array_hash(const flo
+ x = 0x345678UL;
+ i = 0;
+ while (--len >= 0) {
++#if PY_VERSION_HEX >= 0x30a0000 /* Version: 3.10. */
++ y = _Py_HashDouble(NULL, (double)(array[i++]));
++#else
+ y = _Py_HashDouble((double)(array[i++]));
++#endif
+ if (y == -1) {
+ return -1;
+ }
commit 89f56b26705f1b2fd9a01cc71c31012ee0c60934
Author: Richard Shaw <hobbes1069(a)gmail.com>
Date: Mon Aug 23 21:28:46 2021 -0500
Try workaround for Eigen3 power10 vs Fedora power8 issue.
diff --git a/blender.spec b/blender.spec
index 13086af..bb83dc2 100644
--- a/blender.spec
+++ b/blender.spec
@@ -225,6 +225,13 @@ rm -f build_files/cmake/Modules/FindOpenJPEG.cmake
# Fix all Python shebangs recursively in .
%py3_shebang_fix .
+# Workaround for eigen3 trying to enforce power10 when fedora only supports power8.
+%ifarch ppc64 ppc64le
+%global optflags_orig %optflags
+%global optflags %optflags_orig -DEIGEN_ALTIVEC_DISABLE_MMA
+%endif
+
+
%build
%cmake \
%if %{with ffmpeg}
commit f169b3195805ac9c3f076e63b4e5c0ddc1483df4
Author: Richard Shaw <hobbes1069(a)gmail.com>
Date: Mon Aug 23 21:14:28 2021 -0500
Rebuild for OpenColorIO 2.