Compare commits
16 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 10777409b6 | |||
| c8128fc59b | |||
| 7ae5e5fbbb | |||
| 852907e9f3 | |||
| fc3b0059d4 | |||
| 153a9aae67 | |||
| 8dba4ae172 | |||
| b67fe0db58 | |||
| 61483ea899 | |||
| 3ba34b487f | |||
| 51d5fc1310 | |||
| 1bfe7335ea | |||
| 08c328542a | |||
| 22b3d25d0d | |||
| 28b67d2970 | |||
| 81ed3fffbb |
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -21,6 +21,3 @@
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
## Specific LFS patterns
|
||||
geeko.blend filter=lfs diff=lfs merge=lfs -text
|
||||
geeko_example_scene.blend filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
11
README.SUSE
Normal file
11
README.SUSE
Normal file
@@ -0,0 +1,11 @@
|
||||
Blender for (open)SUSE
|
||||
-------------------------
|
||||
|
||||
This is just a wrapper package to install any of the available blender versions for you.
|
||||
|
||||
Currently offered versions are
|
||||
|
||||
- 5.0.x
|
||||
- 4.5.x
|
||||
|
||||
Those are the current LTS versions of blender. By default 5.0.x will be preferred.
|
||||
@@ -1,162 +0,0 @@
|
||||
NVIDIA GPU rendering on openSUSE
|
||||
|
||||
Prerequisites
|
||||
|
||||
A CUDA-enabled GPU
|
||||
|
||||
If you are designated for this task, determine your exact GPU model with:
|
||||
|
||||
$ sudo hwinfo --gfxcard
|
||||
|
||||
Look up the model of your card (the part in square brackets of the Model: line
|
||||
at https://developer.nvidia.com/cuda-gpus.
|
||||
|
||||
If the "Compute Capability" level for your GPU is 3.0 at least, you're set.
|
||||
|
||||
Install the x11-video-nvidiaG0x driver.
|
||||
|
||||
Please follow https://en.opensuse.org/SDB:NVIDIA_drivers and come back, when
|
||||
you're ready.
|
||||
|
||||
Next, you need to install the cuda libraries from NVIDIA. This is documented
|
||||
here: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/
|
||||
|
||||
Short version (at the time of this writing):
|
||||
|
||||
$ sudo zypper addrepo http://developer.download.nvidia.com/compute/cuda/repos/opensuse15/x86_64/cuda-opensuse15.repo
|
||||
$ sudo zypper refresh
|
||||
$ sudo zypper install cuda-toolkit-10-2
|
||||
|
||||
Be careful, other cuda packages may want to deinstall the NVIDIA driver, which
|
||||
would be better avoided at this point.
|
||||
|
||||
Please add any user, that want to use NVIDIA GPU rendering, to the video group:
|
||||
|
||||
$ sudo usermod -a -G video <userid>
|
||||
|
||||
Now set up CUDA environment, e.g. in ~/.bashrc or in /etc/profile.local:
|
||||
|
||||
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
|
||||
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
||||
|
||||
Relogin or reboot to activate these changes.
|
||||
|
||||
Optional: verify the installation
|
||||
|
||||
As a prepared user (see above), run:
|
||||
|
||||
Check, if the correct driver if installed:
|
||||
|
||||
$ cat /proc/driver/nvidia/version
|
||||
|
||||
Check, if the nvidia compiler is installed correctly:
|
||||
|
||||
$ nvcc -V
|
||||
|
||||
Install the sample source code in <dir>
|
||||
|
||||
$ cuda-install-samples-10.2.sh <dir>
|
||||
|
||||
At the time of this writing, gcc9 or later is not supported from CUDA 10.2.
|
||||
For Tumbleweed, you may want to create compatibility symlinks:
|
||||
|
||||
$ ln -s /usr/bin/gcc-7 ~/bin/gcc
|
||||
$ ln -s /usr/bin/g++-7 ~/bin/g++
|
||||
|
||||
Compile the sample code:
|
||||
|
||||
$ cd <dir>/NVIDIA_CUDA-10.2_Samples
|
||||
$ make -k
|
||||
|
||||
We run make with the keep going option, because it is expected to fail to
|
||||
compile a few modules, e.g.:
|
||||
|
||||
In file included from cudaNvSci.cpp:12:0:
|
||||
cudaNvSci.h:14:10: fatal error: nvscibuf.h: No such file or directory
|
||||
#include <nvscibuf.h>
|
||||
|
||||
Don't bother.
|
||||
|
||||
Check the device from CUDA POV:
|
||||
|
||||
$ ./bin/x86_64/linux/release/deviceQuery
|
||||
./bin/x86_64/linux/release/deviceQuery Starting...
|
||||
|
||||
CUDA Device Query (Runtime API) version (CUDART static linking)
|
||||
|
||||
Detected 1 CUDA Capable device(s)
|
||||
|
||||
Device 0: "GeForce GTX 650"
|
||||
|
||||
[...]
|
||||
|
||||
You're set. Run blender, check Edit -> Preferences -> System -> CUDA
|
||||
Enable devices to your liking.
|
||||
|
||||
Troubleshooting
|
||||
|
||||
Check, that user is member of the video group:
|
||||
|
||||
$ id
|
||||
|
||||
Check driver:
|
||||
|
||||
$ cat /proc/driver/nvidia/version
|
||||
NVRM version: NVIDIA UNIX x86_64 Kernel Module 440.59 Thu Jan 30 01:00:41 UTC 2020
|
||||
GCC version: gcc version 9.2.1 20200128 [revision 83f65674e78d97d27537361de1a9d74067ff228d] (SUSE Linux)
|
||||
|
||||
$ nvidia-smi
|
||||
Sun Feb 23 16:54:48 2020
|
||||
+-----------------------------------------------------------------------------+
|
||||
| NVIDIA-SMI 440.59 Driver Version: 440.59 CUDA Version: 10.2 |
|
||||
|-------------------------------+----------------------+----------------------+
|
||||
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
|
||||
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|
||||
|===============================+======================+======================|
|
||||
| 0 GeForce GTX 650 Off | 00000000:01:00.0 N/A | N/A |
|
||||
| 16% 29C P8 N/A / N/A | 207MiB / 1991MiB | N/A Default |
|
||||
+-------------------------------+----------------------+----------------------+
|
||||
|
||||
+-----------------------------------------------------------------------------+
|
||||
| Processes: GPU Memory |
|
||||
| GPU PID Type Process name Usage |
|
||||
|=============================================================================|
|
||||
| 0 Not Supported |
|
||||
+-----------------------------------------------------------------------------+
|
||||
|
||||
Check devices and permissions:
|
||||
|
||||
$ ls -la /dev/nvidia*
|
||||
crw-rw----+ 1 root video 195, 0 21. Feb 13:51 /dev/nvidia0
|
||||
crw-rw----+ 1 root video 195, 255 21. Feb 13:51 /dev/nvidiactl
|
||||
crw-rw----+ 1 root video 195, 254 21. Feb 13:51 /dev/nvidia-modeset
|
||||
crw-rw----+ 1 root video 240, 0 21. Feb 13:51 /dev/nvidia-uvm
|
||||
|
||||
$ chacl -l /dev/nvidia*
|
||||
/dev/nvidia0 [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---]
|
||||
/dev/nvidiactl [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---]
|
||||
/dev/nvidia-modeset [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---]
|
||||
/dev/nvidia-uvm [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---]
|
||||
|
||||
Problem: gcc 12 unsupported
|
||||
|
||||
If blender shows an error during initial compilation of the cuda kernel similar to:
|
||||
#error -- unsupported GNU version! gcc versions later than 11 are not supported!
|
||||
The nvcc flag '-allow-unsupported-compiler' can be used to override this version check;
|
||||
however, using an unsupported host compiler may cause compilation failure or incorrect
|
||||
run time execution. Use at your own risk.
|
||||
|
||||
Solution:
|
||||
$ zypper in gcc11{,-c++}
|
||||
$ cd /usr/local/cuda/bin/
|
||||
$ ln -s ../../../bin/gcc-11 gcc
|
||||
$ ln -s ../../../bin/g++-11 g++
|
||||
|
||||
At this point, the CUDA kernel should build properly, and CUDA devices should be
|
||||
available.
|
||||
|
||||
Remember: Blender needs a CUDA "Compute Capability" of 3.0 at least.
|
||||
|
||||
As a final resort, create a bug report at https://bugzilla.opensuse.org.
|
||||
|
||||
Enjoy!
|
||||
@@ -1,38 +0,0 @@
|
||||
NVIDIA OptiX rendering on openSUSE
|
||||
|
||||
Prerequisites
|
||||
|
||||
Given, you mastered SUSE-NVIDIA-GPU-rendering.txt already, follow this guide
|
||||
in order to have OptiX rendering available from Blender.
|
||||
|
||||
Note, that you need an account on https://developer.nvidia.com for the next step
|
||||
to succeed.
|
||||
|
||||
Download the OptiX package for Linux from
|
||||
|
||||
https://developer.nvidia.com/designworks/optix/download
|
||||
|
||||
At the time of this writing, this was Version 7.4.0.
|
||||
The further description refers to this version.
|
||||
|
||||
You need to unpack it in a specific location (as root). Since we need to specify
|
||||
the path to OptiX at build time, /opt/nvidia/optix needs to point to your current
|
||||
OptiX environment:
|
||||
|
||||
$ su
|
||||
# mkdir -p /opt/nvidia
|
||||
# cd /opt/nvidia
|
||||
# sh ~user/Downloads/NVIDIA-OptiX-SDK-7.4.0-linux64-x86_64.sh
|
||||
# # Answer all questions with yes.
|
||||
|
||||
# # Note: adjust path accordingly
|
||||
# ln -s NVIDIA-OptiX-SDK-7.4.0-linux64-x86_64 optix
|
||||
|
||||
Now set up OptiX environment, e.g. in ~/.profile or in /etc/profile.local:
|
||||
|
||||
export OPTIX_ROOT_DIR=/opt/nvidia/optix
|
||||
export OPTIX_INCLUDE_DIR=$OPTIX_ROOT_DIR/include
|
||||
|
||||
Given, all prerequisites are fulfilled, you should find the OptiX rendering device
|
||||
in Edit -> Preferences -> System.
|
||||
|
||||
25
_constraints
25
_constraints
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">20</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="G">10</size>
|
||||
</memory>
|
||||
<memoryperjob>
|
||||
<size unit="M">1300</size>
|
||||
</memoryperjob>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>x86_64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<!-- have some additional features like embree ... -->
|
||||
<memory>
|
||||
<size unit="M">16000</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
||||
29
_service
29
_service
@@ -1,29 +0,0 @@
|
||||
<services>
|
||||
<!--
|
||||
<service name="tar_scm" mode="manual">
|
||||
<param name="revision">blender-v4.5-release</param>
|
||||
<param name="version">4.5.0</param>
|
||||
<param name="url">https://projects.blender.org/blender/blender.git</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="lfs">enable</param>
|
||||
<param name="exclude">lib/*</param>
|
||||
<param name="exclude">tests/data/*</param>
|
||||
</service>
|
||||
-->
|
||||
<service name="tar_scm" mode="manual">
|
||||
<param name="revision">v4.4.3</param>
|
||||
<param name="version">4.5.1</param>
|
||||
<param name="url">https://projects.blender.org/blender/blender-assets.git</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="lfs">enable</param>
|
||||
<param name="exclude">testing/*</param>
|
||||
<param name="exclude">working/*</param>
|
||||
<param name="exclude">icons/*</param>
|
||||
</service>
|
||||
<service name="recompress" mode="manual">
|
||||
<param name="compression">xz</param>
|
||||
<param name="file">*.tar</param>
|
||||
</service>
|
||||
</services>
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2c5aeb8e6ef80f2f387c1eabc15f1444922814e61867d8019d54fb2ff3461623
|
||||
size 85070464
|
||||
@@ -1 +0,0 @@
|
||||
5828c3005cbfe6603834d21be613aac8 blender-4.5.1.tar.xz
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:15571227e7164425b921dd071ea59a0d1218368faa2a913abdb2285478ad6dd3
|
||||
size 8783880
|
||||
@@ -1,4 +0,0 @@
|
||||
name: blender-assets
|
||||
version: 4.4.0
|
||||
mtime: 1738975706
|
||||
commit: 0418ad6b8e0d962bde30b2d4d828984b9f9c3299
|
||||
@@ -1,35 +0,0 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
if [ -s /usr/share/doc/packages/blender/geeko_example_scene.blend ]; then
|
||||
demo=/usr/share/doc/packages/blender/geeko_example_scene.blend
|
||||
else
|
||||
demo=/usr/share/doc/packages/blender/geeko.blend
|
||||
fi
|
||||
|
||||
usage() {
|
||||
cat >&2 <<EOF
|
||||
run blender with a geeko demo scene, depending on what is available
|
||||
|
||||
usage: $0 [-h] [-v1] [other.blend]
|
||||
-h this message
|
||||
-o force old geeko.blend
|
||||
|
||||
without arguments, it loads $demo
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
while getopts ho par ; do
|
||||
case $par in
|
||||
h) usage;;
|
||||
o) demo=/usr/share/doc/packages/blender/geeko.blend;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
if [ "$#" -ge 1 -a "${1: -6}" == ".blend" ]; then
|
||||
demo="$1"
|
||||
fi
|
||||
|
||||
exec /usr/bin/blender "$demo"
|
||||
302
blender.changes
302
blender.changes
@@ -1,8 +1,308 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 19 11:31:48 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- add wrapper packages for demo and lang
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 18 18:41:26 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Convert this package to a wrapper package
|
||||
- patches dropped here and migrated to the blender-x.y packages:
|
||||
audaspace_1_8_compat.patch
|
||||
cmake_manpage_fix.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 17 15:45:20 UTC 2025 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- Fix build with Audaspace 1.8.0, add audaspace_1_8_compat.patch
|
||||
- Remove no longer needed separate assets tarball, as it is
|
||||
included in the regular sources now.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 1 20:13:10 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Prepare AMD HIP/HIPrt support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 30 02:30:16 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Update to 4.5.4
|
||||
- Blender 4.5.3 fails to compile with OpenColorIO 2.5.0.
|
||||
[#147227]
|
||||
- OpenEXR: Support reading multipart files with full channel
|
||||
names. [138e8fbf1bd85a081682f6d44d8bd73e993560ff]
|
||||
- Render: Forward compatibility for Blender 5.0 pass renames.
|
||||
[738209b2bee5be0ac4946ab5511f1644f2ac3391]
|
||||
- Illegal address when rendering with a custom camera in 4.5.
|
||||
[#145544]
|
||||
- UV Editor: Lock Pinned Islands in UV packing not working with
|
||||
UDIMs. [#141293]
|
||||
- Armature Symmetrize not symmetrizing Display Type prop.
|
||||
[#145190]
|
||||
- Crash when Capture Screenshot Preview. [#145719]
|
||||
- Regression: 3D cursor misaligned with axes in certain viewport
|
||||
rotations. [#145028]
|
||||
- Crash when opening old file with undefined node. [#145675]
|
||||
- USD Import: Fails to respect path user preference. [#145856]
|
||||
- VSE: from 4.5 right click select doesn’t work with Blade Tool.
|
||||
[#145715]
|
||||
- Fix: VSE: Metastack channel preview with negative values.
|
||||
[f974c598f9a]
|
||||
- Crash on pasting VSE strip with driver. [#145629]
|
||||
- Fix: GPU: Avoid accessing GLContext after it is destroyed.
|
||||
[e8b7e144e04]
|
||||
- VRAM leak when Stereoscopy and motion blur are both enabled.
|
||||
[#145743]
|
||||
- Crash when switching view layer after undoing
|
||||
deleting/unlinking of certain object types. [#145848]
|
||||
- Fix #145932: Relax Face Set brush can corrupt mesh. [#145952]
|
||||
- Crash using playhead snapping in VSE in new scene. [#145890]
|
||||
- Blender 4.5 freezes with blank output colour management
|
||||
settings. [#146042]
|
||||
- Vulkan: Render Preview Error with Multiple 3D Viewports.
|
||||
[#145961]
|
||||
- Blender sometimes crashes when using resize detail button in
|
||||
dyntopo mode on a mesh with resolution higher than 500.
|
||||
[#146233]
|
||||
- Viewport Compositor: Render Layer input will not pass thru.
|
||||
[#146133]
|
||||
- 4.2.5 LTS – 5.0.0 alpha: Crashing after using UV Sculpt Tools
|
||||
in New Scene. [#145879]
|
||||
- Rigify: Actions Feature does not use Slotted Actions. [#144641]
|
||||
- .glb file import error on Blender 4.5. [#142867]
|
||||
- OpenGL: Curve control points are extremely small when first
|
||||
displayed. [#146501]
|
||||
- Possible Relax vertices in UV crash (wrong uv_sculpt size,
|
||||
missing defaults). [#132016]
|
||||
- User interface artifacting with Vulkan on Qualcomm. [#145315]
|
||||
- Fix #147340: EEVEE: Crash on failed world material compilation.
|
||||
[#147445]
|
||||
- Grease Pencil: Hardness property doesn’t affect Square line
|
||||
type. [#147147]
|
||||
- Fix: Cycles: MetalRT motion curves setup bug. [#146568]
|
||||
- Can’t select verts/edges/faces behind wire/bounds objects while
|
||||
retopology overlay is on. [#145993]
|
||||
- Crash when exporting alembic with Color Attributes. [#146822]
|
||||
- Moving a empty material after joining objects crashes Blender
|
||||
(backport request). [#146878]
|
||||
- Node Wrangler: Add Principled Setup plugs bump textures into
|
||||
filter width. [#146679]
|
||||
- Fix: VSE: Propagate split to connected strips by default.
|
||||
[22d9b4ff719]
|
||||
- Fix: USD: Camera FStop of 0 means no depth of field.
|
||||
[47368daebe0]
|
||||
- Animation is not deleting when Bake Simulation was used.
|
||||
[#146105]
|
||||
- bpy.ops.object.geometry_node_bake_pack_single failing on
|
||||
Windows. [#147175]
|
||||
- Blender crashes when using the Align Bones operator across two
|
||||
armatures with different mirror settings. [#146242]
|
||||
- VSE: “Swap Data” breaks strip alignment, then crashes.
|
||||
[#146682]
|
||||
- Some keymap user preferences do not get imported into Blender
|
||||
4.5 properly. [#146670]
|
||||
- Crash if Grab and Keep Moving Missing Linked Data Block.
|
||||
[#147283]
|
||||
- Weight painting can easily create NaN. [#146671]
|
||||
- Test for greying out linked images in texture painting is
|
||||
backwards. [#147568]
|
||||
- Crash after dragging any Asset Library Essential into the
|
||||
Compositor (Timings Overlay enabled, invokes the wrong
|
||||
tooltip). [#147752]
|
||||
- Fix #146724: Crash when deleting node group from outliner.
|
||||
[#147828]
|
||||
- Fix #147803: assert triggered on keyframe jump on NLA control
|
||||
curves. [#147957]
|
||||
- Crash deleting library from which the current scene is linked.
|
||||
[#147759]
|
||||
- Crash using Blade or Slip tool in VSE with new scene. [#145853]
|
||||
- Toggle Window Fullscreen, Timeline (4.5.0, 4.5.1, 4.5.2, 4.5.3,
|
||||
4.5.4). [#146812]
|
||||
- Fix (unreported) Collada: missing `finish` call on some
|
||||
modified attribute. [84418a8d16a6846afae0e80cde25027f53fded56]
|
||||
- Sequencer: crash with sequencer in sequencer. [#147477]
|
||||
- Crash when dragging outliner object into status bar. [#144921]
|
||||
- anim_transforms_to_deltas resets non-keyframed object
|
||||
transforms values. [#147796]
|
||||
- Collection input is missing the picker on new node group.
|
||||
[#147860]
|
||||
- Unnecessary write operations on blender_assets.cats.txt.
|
||||
[#111576]
|
||||
- Blender freezes on saving/loading of blend files with complex
|
||||
liboverride trees. [#145894]
|
||||
- install_linux_packages: Fix for Fedora ≥ 41 (DNF5).
|
||||
[e32a8ec884e]
|
||||
- Grease Pencil: Stroke not visible for specific post processing
|
||||
values. [#147174]
|
||||
- Blender Timeline animation, SHIFT vs CTRL selection difference.
|
||||
[#147996]
|
||||
- Rigify doesn’t check existence of collection properly.
|
||||
[#148454]
|
||||
- Opening old 2012 .blend file crashes blender. [#148170]
|
||||
- drop b49b026b8eb6b289c59ff9ecb741f52531c22170.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 10 09:50:36 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- We already forced ffmpeg-7 indirectly for older distros
|
||||
and now that ffmpeg-8 is there we need to also force it for
|
||||
Tumbleweed for now. So do it explicitely in the spec file.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 6 10:33:34 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- add b49b026b8eb6b289c59ff9ecb741f52531c22170.patch:
|
||||
Allow building with OCIO 2.5.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 18 23:03:41 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Update to 4.5.3
|
||||
- Fix #144096: Undo history unknown action on editing curve map
|
||||
- Fix: 3D text line end misses last character
|
||||
- Fix #145711: Packed images may fail to export with USD
|
||||
- Fix #144332: VSE solo preview does not work
|
||||
- Fix: MaterialX export can end up with duplicate node names
|
||||
- Fix #145691: Geometry Nodes: anonymous attributes not always
|
||||
propagated in Set Mesh Normal node
|
||||
- Fix #145449: Workaround wrongly generated Intel Linux driver
|
||||
version
|
||||
- Fix #145666: Crash separating all curves
|
||||
- Fix #145498: Cryptomatte assets are not selectable by name
|
||||
- Fix #145439: Artifacts in Movie Distortion with half precision
|
||||
- Fix #145244: FBX importer does not import textures from some
|
||||
files
|
||||
- Fix #145590: translations causing driver expressions to fail
|
||||
- Build: resolve linking error on *BSD systems
|
||||
- Fix #145560: Invalid curve flag set in legacy curve pen tool
|
||||
- Fix: GPU: Wrong default size for compute local group size
|
||||
- Fix #144980 - glTF - Fix importing empty glTF files, without
|
||||
nodes or scenes
|
||||
- Fix #145340: Object.to_mesh API change with subdivision and
|
||||
shape keys
|
||||
- Fix: viewer shortcut description mentions compositor only
|
||||
- Anim: fix crash when loading F-Curve with unknown modifier
|
||||
- Fix #112936: Asset shelf breaks when changing preview size
|
||||
- Fix #145116: new FBX importer does not handle geometry
|
||||
transform + instancing properly
|
||||
- Copy Global Transforms: SKIP_SAVE on paste
|
||||
- Fix #145403: Viewport Compositor error always persists
|
||||
- Nodes: further optimize socket usage inferencing for many group
|
||||
inputs
|
||||
- Nodes: optimize socket usage inferencing for many group inputs
|
||||
- Fix #145228: Wrong material when copying grease pencil strokes
|
||||
- Correct error updating the tests in last commit
|
||||
- Fix: incorrect handling of 3x3 matrices with RNA get/set
|
||||
callbacks
|
||||
- Fix #145375: Crash in Viewport Render Animation
|
||||
- Fix #145259: Grease Pencil: Bail when no frame is selected for
|
||||
SVG export
|
||||
- Fix #144414: Nodes: crash opening 5.0 closure nodes in 4.5
|
||||
- Fix #145297: Grease Pencil crash when joining objects
|
||||
- Fix #145287: Don't touch original mesh when converting to
|
||||
grease pencil
|
||||
- Fix #144751: NDOF, pan/zoom reversed in orthographic views, in
|
||||
fly mode
|
||||
- Fix #145070: Clay Strips 'Sculpt Plane' option doesn't work
|
||||
- Fix #145300: Value node displayed value has an offset to the
|
||||
right
|
||||
- Fix #144760: Some (Input) Nodes not changeable in Properties
|
||||
Editor
|
||||
- Fix #145108: Split selection removes edges
|
||||
- Fix #144700: Incorrect operator model draw example
|
||||
- Fix #144383: Limited dissolve creates duplicate faces
|
||||
- Fix #142381: EEVEE: Freeze playing back a certain animation
|
||||
- Fix #142738, #136688: Workbench: Inconsistent matcap rendering
|
||||
- Python: Improve `bpy.data.user_map()` argument documentation
|
||||
- Fix #144864: UI freezes with lots of Action slots (in the
|
||||
Outliner) part 2
|
||||
- Fix #143697: UI freezes with lots of Action slots (in the
|
||||
Outliner)
|
||||
- Fix #143635: Grease Pencil: Use only editable points in
|
||||
`use_connected_only`
|
||||
- Fix: ACES 2.0 studio config sets image files to ACES2065-1
|
||||
incorrectly
|
||||
- Fix #144982: Crash when scrubbing retimed strips
|
||||
- Fix #144701: Wrong falling fluid behaviour
|
||||
- Fix #86512: Fire simulation without smoke not affected by force
|
||||
field
|
||||
- Fix #104074: Cloth simulation presets missing internal springs
|
||||
and pressure
|
||||
- Fix: resolve memory leak in previous fix for #144958
|
||||
- Fix #144958: Crash changing screens with a menu open
|
||||
- Fix: EEVEE: Memory leak when drawing Volume objects
|
||||
- Fix #144916: Transform crash pressing tab disabling axis
|
||||
constraint
|
||||
- Fix #142137: Dynamic paint crashes when evaluating poses
|
||||
- Cleanup: various minor changes
|
||||
BKE_object_modifier_update_subframe
|
||||
- Fix #144840: Crash unlinking object from outliner unused data
|
||||
mode
|
||||
- Fix #144175: assert when adding texture paint slot
|
||||
- Fix #143983: crash when shader node from properties editor
|
||||
- Fix #144814: Cycles OSL crash accessing geom:name string
|
||||
attribute
|
||||
- Fix #143958: Dynamic paint crash due to thread-unsafe brush
|
||||
mesh writing
|
||||
- Fix #144910: Cycles missing AO temporarily when kernel features
|
||||
change
|
||||
- Fix #143841: Cycles OptiX error adding AO shader with viewport
|
||||
render
|
||||
- Fix #144858: Invalid text selection in the Python console
|
||||
- Fix #144599: Cycles OSL node with external script does not
|
||||
update
|
||||
- Fix #144441: EEVEE: Wrong projection matrix with Walk
|
||||
Navigation + Overscan
|
||||
- Fix #143857: View3D smooth interpolation produces invalid
|
||||
rv3d.dist values
|
||||
- Fix #144636: EEVEE Invalid hit during raytracing
|
||||
- Cycles: Add support for building with CUDA 13.0 and OptiX 9.0
|
||||
- Cycles: Add ROCm 7 runtime to hipew search list
|
||||
- Fix: Workbench: Broken render tests after AA fix
|
||||
- Fix #143662: Crash with Cycles persistent data and file
|
||||
thumbnail generation
|
||||
- Fix: support loading blend files with text from v1.70 (#2)
|
||||
- Fix: error displaying 3D text for v1.70 blend files
|
||||
- Fix #144970: Crash selecting the text on a linked duplicated
|
||||
text object
|
||||
- Refactor: move run-time flags from CharInfo::flag to CharTrans
|
||||
- Refactor: move font-curve initialization & validation out of
|
||||
evaluation
|
||||
- Refactor: move the evaluated font size into EditFont
|
||||
- Cleanup: pass a curve to BKE_vfont_select_* instead of an
|
||||
object
|
||||
- Cleanup: remove unused Curve::lines & disabled RNA definition
|
||||
- Fix #144281: Missing redraw for Unified Paint Setting toggles
|
||||
- Fix #142110: Vulkan: Only last planar probe is visible
|
||||
- Fix #144614: Vulkan: Disable optimization for large shaders
|
||||
- Fix #144625: Vulkan: Blacklist NVIDIA 580.76.05 on Linux
|
||||
- Fix: Vulkan: Submission runner crash on start
|
||||
- Fix #143802: Grease Pencil: Divide blend mode not working in
|
||||
viewport
|
||||
- Fix #145138: Preserve "thickness" RNA access for line art
|
||||
modifier
|
||||
- Fix: UVSculpt brush size not converted correctly for 5.0
|
||||
changes
|
||||
- [4.5 LTS] Fix: frozen mathutils Vector & Matrix types could be
|
||||
resized
|
||||
- [4.5 LTS] Fix #143838: hotkey customization's aren't saved for
|
||||
custom operator
|
||||
- Fix: Grease Pencil: Smooth sculpt brush not working with
|
||||
handles and mask
|
||||
- [4.5 LTS] Fix memory leak when loading libraries fails from
|
||||
Python
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 7 01:57:21 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Update to 4.5.2
|
||||
https://developer.blender.org/docs/release_notes/4.5/corrective_releases/#blender-452
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 4 16:18:24 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Update to 4.5.1
|
||||
https://developer.blender.org/docs/release_notes/4.5/corrective_releases/
|
||||
https://developer.blender.org/docs/release_notes/4.5/corrective_releases/#blender-451
|
||||
- Drop manifold-include-fix.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
name: blender
|
||||
version: 4.4.0
|
||||
mtime: 1740837384
|
||||
commit: 725617c7a007d2343f98a6c2e860a38617f6c427
|
||||
614
blender.spec
614
blender.spec
@@ -17,586 +17,70 @@
|
||||
#
|
||||
|
||||
|
||||
%define _dwz_low_mem_die_limit 40000000
|
||||
%define _dwz_max_die_limit 200000000
|
||||
|
||||
# use osc build --with=debugbuild to turn this on
|
||||
%bcond_with debugbuild
|
||||
|
||||
%bcond_with strict_dependencies
|
||||
|
||||
%bcond_with is_snapshot
|
||||
%bcond_without this_is_lts
|
||||
|
||||
%bcond_with blender_ua
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
%bcond_without embree
|
||||
%bcond_without manifold
|
||||
%bcond_without oidn
|
||||
%bcond_without oneapi_support
|
||||
%bcond_without oceansim
|
||||
%else
|
||||
%bcond_with embree
|
||||
%bcond_with oidn
|
||||
%bcond_with oneapi_support
|
||||
%bcond_with oceansim
|
||||
%endif
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
%bcond_without openpgl
|
||||
%else
|
||||
%bcond_with openpgl
|
||||
%endif
|
||||
|
||||
# TBD: contributions welcome
|
||||
%bcond_with usd
|
||||
%bcond_with openxr
|
||||
|
||||
%bcond_with optix
|
||||
%define optix_version 7.4
|
||||
|
||||
%if 0%{?suse_version} > 1550
|
||||
|
||||
%bcond_without pipewire
|
||||
|
||||
%global py3ver 3.13
|
||||
%global py3pkg python313
|
||||
|
||||
%else
|
||||
|
||||
%bcond_with pipewire
|
||||
|
||||
%global force_boost_version 1_75_0
|
||||
%global force_gcc_version 14
|
||||
|
||||
%global py3ver 3.11
|
||||
%global py3pkg python311
|
||||
%endif
|
||||
|
||||
%bcond_without system_audaspace
|
||||
|
||||
%if %{without system_audaspace}
|
||||
%define numpy_include_path %(%{_bindir}/python%{py3ver} -c "import numpy; print(numpy.get_include())")
|
||||
%endif
|
||||
|
||||
# Blender version: source/blender/blenkernel/BKE_blender_version.h
|
||||
# blender has versions like x.xxy which have x.xx (notice the missing
|
||||
# trailing y) in the directory path. This makes this additional variable
|
||||
# necessary.
|
||||
%define _version %(echo %{version} | cut -b 1-3)
|
||||
%define _suffix %(echo %{_version} | tr -d '.')
|
||||
|
||||
%global pkg_name blender
|
||||
|
||||
Name: blender
|
||||
Version: 4.5.1
|
||||
Version: 5.0.0
|
||||
Release: 0
|
||||
Summary: A 3D Modelling And Rendering Package
|
||||
Summary: Package to pull in the latest blender for you
|
||||
License: GPL-2.0-or-later
|
||||
Group: Productivity/Graphics/3D Editors
|
||||
URL: https://www.blender.org/
|
||||
# Please leave the source url intact
|
||||
%if %{with is_snapshot}
|
||||
Source0: %{pkg_name}-%{version}.tar.xz
|
||||
%else
|
||||
Source0: https://download.blender.org/source/%{pkg_name}-%{version}.tar.xz
|
||||
Source1: https://download.blender.org/source/%{pkg_name}-%{version}.tar.xz.md5sum
|
||||
%endif
|
||||
# Unfortunately, the "Essentials" library is only availabe using GIT LFS. https://projects.blender.org/blender/blender/issues/128359
|
||||
Source2: blender-assets-%{version}.tar.xz
|
||||
Source4: geeko.blend
|
||||
Source5: geeko.README
|
||||
Source6: geeko_example_scene.blend
|
||||
Source7: geeko_example_scene.README
|
||||
Source8: %{pkg_name}-sample
|
||||
Source9: SUSE-NVIDIA-GPU-rendering.txt
|
||||
Source10: SUSE-NVIDIA-OptiX-rendering.txt
|
||||
Source99: series
|
||||
# PATCH-FIX-UPSTREAM https://projects.blender.org/blender/blender/pulls/115320
|
||||
Patch1: cmake_manpage_fix.patch
|
||||
BuildRequires: %{py3pkg}-devel
|
||||
BuildRequires: %{py3pkg}-numpy-devel
|
||||
BuildRequires: %{py3pkg}-requests
|
||||
%if "%{?force_boost_version}" == ""
|
||||
BuildRequires: libboost_numpy3-devel
|
||||
BuildRequires: libboost_python3-devel
|
||||
%else
|
||||
BuildRequires: libboost_numpy-py3-%{?force_boost_version}-devel
|
||||
BuildRequires: libboost_python-py3-%{?force_boost_version}-devel
|
||||
%endif
|
||||
BuildRequires: cmake
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: fftw3-threads-devel
|
||||
BuildRequires: gcc%{?force_gcc_version}-c++
|
||||
BuildRequires: libharu-devel
|
||||
BuildRequires: ninja
|
||||
BuildRequires: potrace-devel
|
||||
BuildRequires: xz
|
||||
BuildRequires: (cmake(OpenAL) or pkgconfig(openal))
|
||||
BuildRequires: (cmake(SDL2) or pkgconfig(sdl2))
|
||||
BuildRequires: (cmake(SndFile) or pkgconfig(sndfile))
|
||||
BuildRequires: (pkgconfig(gmp) or gmp-devel)
|
||||
BuildRequires: cmake(Alembic)
|
||||
BuildRequires: cmake(Clang)
|
||||
BuildRequires: cmake(LLVM)
|
||||
BuildRequires: cmake(OpenColorIO) >= 2
|
||||
BuildRequires: cmake(OpenEXR)
|
||||
BuildRequires: cmake(OpenImageIO) >= 3
|
||||
%if %{with manifold}
|
||||
BuildRequires: cmake(manifold)
|
||||
%endif
|
||||
%if %{with oidn}
|
||||
BuildRequires: cmake(OpenImageDenoise)
|
||||
%endif
|
||||
BuildRequires: cmake(TBB)
|
||||
BuildRequires: cmake(Tiff)
|
||||
BuildRequires: cmake(pugixml)
|
||||
BuildRequires: pkgconfig(eigen3)
|
||||
BuildRequires: pkgconfig(epoxy)
|
||||
BuildRequires: pkgconfig(fftw3)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(fribidi)
|
||||
BuildRequires: pkgconfig(jack)
|
||||
BuildRequires: pkgconfig(jemalloc)
|
||||
BuildRequires: pkgconfig(level-zero)
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavdevice)
|
||||
BuildRequires: pkgconfig(libavfilter)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
BuildRequires: pkgconfig(libdecor-0)
|
||||
BuildRequires: pkgconfig(libjpeg)
|
||||
BuildRequires: pkgconfig(libopenjp2)
|
||||
BuildRequires: pkgconfig(libpng16)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libswresample)
|
||||
BuildRequires: pkgconfig(libswscale)
|
||||
BuildRequires: pkgconfig(libwebp)
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
BuildRequires: pkgconfig(lzo2)
|
||||
BuildRequires: pkgconfig(shaderc)
|
||||
BuildRequires: pkgconfig(spnav)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-cursor)
|
||||
BuildRequires: pkgconfig(wayland-egl)
|
||||
BuildRequires: pkgconfig(wayland-protocols)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(xi)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(xxf86vm)
|
||||
%if %{with embree}
|
||||
BuildRequires: cmake(embree) >= 4
|
||||
%endif
|
||||
%if %{with openpgl}
|
||||
BuildRequires: cmake(openpgl)
|
||||
%endif
|
||||
%if %{with oneapi_support}
|
||||
# oneVPL only available on x86_64 atm
|
||||
BuildRequires: pkgconfig(vpl)
|
||||
%endif
|
||||
# TODO: should this maybe also be a runtime requires
|
||||
BuildRequires: OpenShadingLanguage-common-headers
|
||||
BuildRequires: openvdb-devel >= 11
|
||||
BuildRequires: cmake(OSL) > 1.13
|
||||
BuildRequires: cmake(OpenSubdiv)
|
||||
BuildRequires: pkgconfig(blosc)
|
||||
%if %{with usd}
|
||||
BuildRequires: cmake(pxr)
|
||||
%endif
|
||||
%if %{with pipewire}
|
||||
BuildRequires: pkgconfig(libpipewire-0.3) >= 1.1.0
|
||||
%endif
|
||||
%if %{with system_audaspace}
|
||||
BuildRequires: pkgconfig(audaspace) >= 1.7.0
|
||||
Requires: audaspace-deviceplugin
|
||||
Requires: audaspace-fileplugin
|
||||
%endif
|
||||
%if %{with optix}
|
||||
BuildRequires: nvidia-optix-headers
|
||||
%endif
|
||||
%if %{with debugbuild}
|
||||
BuildRequires: pkgconfig(valgrind)
|
||||
%endif
|
||||
Requires: %{py3pkg}-base
|
||||
Requires: %{py3pkg}-numpy
|
||||
Requires: %{py3pkg}-requests
|
||||
Requires(post): hicolor-icon-theme
|
||||
Requires(postun): hicolor-icon-theme
|
||||
Recommends: %name-demo = %version
|
||||
# current locale handling doesn't create locale(..) provides correctly
|
||||
Recommends: %name-lang = %version
|
||||
Provides: %{pkg_name}-%{_suffix} = %{version}
|
||||
%ifarch x86_64
|
||||
Obsoletes: %{pkg_name}-cycles-devel <= %{version}
|
||||
Provides: %{pkg_name}-cycles-devel = %{version}
|
||||
%endif
|
||||
%if %{with this_is_lts}
|
||||
Provides: blender-lts = %{version}-%{release}
|
||||
Obsoletes: blender-lts <= %{version}-%{release}
|
||||
%endif
|
||||
ExcludeArch: %{ix86} %{arm}
|
||||
%if %{with blender_ua}
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
%endif
|
||||
|
||||
%description
|
||||
Blender is a 3D modelling and rendering package. It is the in-house
|
||||
software of a high quality animation studio, Blender has proven to
|
||||
be an extremely fast and versatile design instrument. The software
|
||||
has a personal touch, offering a unique approach to the world of
|
||||
Three Dimensions. Use Blender to create TV commercials, to make
|
||||
technical visualizations, business graphics, to do some morphing,
|
||||
or design user interfaces. You can easy build and manage complex
|
||||
environments. The renderer is versatile and extremely fast. All
|
||||
basic animation principles (curves & keys) are well implemented.It
|
||||
includes tools for modeling, sculpting, texturing (painting,
|
||||
node-based shader materials, or UV mapped), UV mapping, rigging and
|
||||
constraints, weight painting, particle systems, simulation (fluids,
|
||||
physics, and soft body dynamics and an external crowd simulator),
|
||||
rendering, node-based compositing, and non linear video editing,
|
||||
as well as an integrated game engine for real-time interactive 3D
|
||||
and game creation and playback with cross-platform compatibility.
|
||||
|
||||
%if %{with optix}
|
||||
This build has enabled support for OptiX Version %{optix_version}.
|
||||
Check %{_docdir}/SUSE-NVIDIA-OptiX-rendering.txt.
|
||||
%endif
|
||||
|
||||
%package demo
|
||||
Summary: Some Blender demo files
|
||||
License: CC-BY-4.0
|
||||
Group: Productivity/Graphics/3D Editors
|
||||
Source1: README.SUSE
|
||||
Requires: blender-implementation
|
||||
Recommends: blender-implementation >= %{version}
|
||||
Provides: blender-wrapper = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
This is a wrapper package to pull in the versioned packages of blender.
|
||||
|
||||
This package by defaults pulls in the latest version for you.
|
||||
|
||||
%package lang
|
||||
Summary: Package to pull in the latest blender for you
|
||||
Requires: (blender-4.5-lang if blender-4.5)
|
||||
Requires: (blender-5.0-lang if blender-5.0)
|
||||
Provides: blender-wrapper-lang = %{version}-%{release}
|
||||
|
||||
%description lang
|
||||
This is a wrapper package to pull in the versioned packages of blender.
|
||||
|
||||
This package by defaulang pulls in the latest lang version for you.
|
||||
|
||||
%package demo
|
||||
Summary: Package to pull in the latest blender for you
|
||||
Requires: (blender-4.5-demo if blender-4.5)
|
||||
Requires: (blender-5.0-demo if blender-5.0)
|
||||
Provides: blender-wrapper-demo = %{version}-%{release}
|
||||
|
||||
%description demo
|
||||
Some Blender demo scenes
|
||||
This is a wrapper package to pull in the versioned packages of blender.
|
||||
|
||||
geeko_example_scene: showing raytracing, rigging, animation, curves,
|
||||
shading, texturing, vertex groups and rendering.
|
||||
This package by defaudemo pulls in the latest demo version for you.
|
||||
|
||||
%lang_package
|
||||
%package lts
|
||||
Summary: Package to pull in the latest blender for you
|
||||
Requires: blender-implementation-lts
|
||||
Recommends: blender-implementation-lts >= %{version}
|
||||
Provides: blender-wrapper-lts = %{version}-%{release}
|
||||
|
||||
%description lts
|
||||
This is a wrapper package to pull in the versioned packages of blender.
|
||||
|
||||
This package by defaults pulls in the latest lts version for you.
|
||||
|
||||
%prep
|
||||
%if %{without is_snapshot}
|
||||
pushd "%{_sourcedir}"
|
||||
md5sum -c %{SOURCE1}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%autosetup -p1 -n %{pkg_name}-%{version}
|
||||
%setup -T -D -a 2 -q -n %{pkg_name}-%{version}
|
||||
mv blender-assets-%{version} release/datafiles/assets
|
||||
|
||||
rm -rf extern/libopenjpeg
|
||||
rm -rf extern/glew
|
||||
# silence warning about missing includedir
|
||||
mkdir -p extern/glew/include
|
||||
sed -i 's|NOT WITH_SYSTEM_GLEW|WITH_SYSTEM_GLEW|' source/blender/gpu/CMakeLists.txt
|
||||
|
||||
for i in $(grep -rl "%{_bindir}/env python"); do sed -i '1s@^#!.*@#!%{_bindir}/python%{py3ver}@' ${i}; done
|
||||
|
||||
%build
|
||||
%if 0%{?force_gcc_version}
|
||||
export CC="gcc-%{?force_gcc_version}"
|
||||
export CXX="g++-%{?force_gcc_version}"
|
||||
%endif
|
||||
|
||||
echo "optflags: " %{optflags}
|
||||
mkdir -p build && pushd build
|
||||
|
||||
# lean against build_files/cmake/config/blender_release.cmake
|
||||
%define __builder %__ninja
|
||||
cmake ../ \
|
||||
-GNinja \
|
||||
%if 0%{?debugbuild} == 1
|
||||
-DCMAKE_BUILD_TYPE:STRING=Debug \
|
||||
-DCMAKE_C_FLAGS_DEBUG:STRING="-fsanitize=address -ggdb" \
|
||||
-DCMAKE_CXX_FLAGS_DEBUG:STRING="-fsanitize=address -ggdb" \
|
||||
-DWITH_MEM_VALGRIND:BOOL=ON \
|
||||
-DWITH_ASSERT_ABORT:BOOL=ON \
|
||||
%else
|
||||
-DCMAKE_C_FLAGS:STRING="$CFLAGS %{optflags} -fPIC %{?numpy_include_path:-I%{numpy_include_path}}" \
|
||||
-DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS %{optflags} -fPIC %{?numpy_include_path:-I%{numpy_include_path}}" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \
|
||||
-DWITH_MEM_VALGRIND:BOOL=OFF \
|
||||
-DWITH_ASSERT_ABORT:BOOL=OFF \
|
||||
%endif
|
||||
-DWITH_LIBS_PRECOMPILED=OFF \
|
||||
-DCMAKE_CXX_STANDARD=17 \
|
||||
-DWITH_CLANG:BOOL=ON \
|
||||
-DWITH_LLVM:BOOL=ON \
|
||||
-DLLVM_LIBRARY:FILE=%{_libdir}/libLLVM.so \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
|
||||
-DCMAKE_EXE_LINKER_FLAGS:STRING="-pie" \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DWITH_INSTALL_PORTABLE:BOOL=OFF \
|
||||
-DWITH_MEM_JEMALLOC:BOOL=ON \
|
||||
-DWITH_ALEMBIC:BOOL=ON \
|
||||
-DWITH_AUDASPACE:BOOL=ON \
|
||||
%if %{with system_audaspace}
|
||||
-DWITH_SYSTEM_AUDASPACE:BOOL=ON \
|
||||
%else
|
||||
-DWITH_SYSTEM_AUDASPACE:BOOL=OFF \
|
||||
%endif
|
||||
-DWITH_BUILDINFO:BOOL=OFF \
|
||||
-DWITH_BULLET:BOOL=ON \
|
||||
-DWITH_CODEC_FFMPEG:BOOL=ON \
|
||||
-DFFMPEG_ROOT_DIR:PATH=%{_includedir}/ffmpeg \
|
||||
-DWITH_CODEC_SNDFILE:BOOL=ON \
|
||||
-DLIBSNDFILE_ROOT_DIR:FILE=%{_prefix} \
|
||||
-DWITH_CYCLES:BOOL=ON \
|
||||
-DWITH_CYCLES_OSL:BOOL=ON \
|
||||
-DOSL_SHADER_HINT:PATH=%{_datadir}/OpenShadingLanguage \
|
||||
%if %{with embree}
|
||||
-DWITH_CYCLES_EMBREE:BOOL=ON \
|
||||
%else
|
||||
-DWITH_CYCLES_EMBREE:BOOL=OFF \
|
||||
%endif
|
||||
-DWITH_DRACO:BOOL=ON \
|
||||
-DWITH_FFTW3:BOOL=ON \
|
||||
-DWITH_FREESTYLE:BOOL=ON \
|
||||
-DWITH_GMP:BOOL=ON \
|
||||
-DWITH_HARU:BOOL=ON \
|
||||
-DWITH_IK_ITASC:BOOL=ON \
|
||||
-DWITH_IK_SOLVER:BOOL=ON \
|
||||
-DWITH_IMAGE_CINEON:BOOL=ON \
|
||||
-DWITH_IMAGE_OPENEXR:BOOL=ON \
|
||||
-DWITH_IMAGE_OPENJPEG:BOOL=ON \
|
||||
-DWITH_INPUT_NDOF:BOOL=ON \
|
||||
-DWITH_INTERNATIONAL:BOOL=ON \
|
||||
-DWITH_LIBMV:BOOL=ON \
|
||||
-DWITH_LIBMV_SCHUR_SPECIALIZATIONS:BOOL=ON \
|
||||
-DWITH_LZMA:BOOL=ON \
|
||||
-DWITH_LZO:BOOL=ON \
|
||||
-DWITH_SYSTEM_EIGEN3:BOOL=ON \
|
||||
-DWITH_SYSTEM_LZO:BOOL=ON \
|
||||
-DWITH_SYSTEM_FREETYPE:BOOL=ON \
|
||||
%if %{with manifold}
|
||||
-DWITH_MANIFOLD:BOOL=ON \
|
||||
%endif
|
||||
-DWITH_MOD_FLUID:BOOL=ON \
|
||||
-DWITH_FRIBIDI:BOOL=ON \
|
||||
%if %{with oceansim}
|
||||
-DWITH_MOD_OCEANSIM:BOOL=ON \
|
||||
%else
|
||||
-DWITH_MOD_OCEANSIM:BOOL=OFF \
|
||||
%endif
|
||||
-DWITH_MOD_REMESH:BOOL=ON \
|
||||
-DWITH_NANOVDB:BOOL=ON \
|
||||
-DWITH_OPENAL:BOOL=ON \
|
||||
-DWITH_OPENCOLLADA:BOOL=OFF \
|
||||
-DWITH_OPENCOLORIO:BOOL=ON \
|
||||
%if %{with oidn}
|
||||
-DWITH_OPENIMAGEDENOISE:BOOL=ON \
|
||||
%endif
|
||||
-DWITH_OPENSUBDIV:BOOL=ON \
|
||||
-DOPENSUBDIV_OSDGPU_LIBRARY:FILE=%{_libdir}/libosdGPU.so \
|
||||
-DWITH_OPENVDB:BOOL=ON \
|
||||
-DWITH_OPENVDB_BLOSC:BOOL=ON \
|
||||
-DWITH_POTRACE:BOOL=ON \
|
||||
-DWITH_PUGIXML:BOOL=ON \
|
||||
-DWITH_PYTHON:BOOL=ON \
|
||||
-DWITH_PYTHON_INSTALL:BOOL=OFF \
|
||||
-DPYTHON_VERSION=%{py3ver} \
|
||||
-DPYTHON_LIBPATH=%{_libexecdir} \
|
||||
-DPYTHON_LIBRARY=python%{py3ver} \
|
||||
-DPYTHON_INCLUDE_DIRS=%{_includedir}/python%{py3ver} \
|
||||
-DWITH_PYTHON_INSTALL_NUMPY=OFF \
|
||||
-DPYTHON_NUMPY_PATH:PATH=%{_libdir}/python%{py3ver}/site-packages \
|
||||
-DWITH_QUADRIFLOW:BOOL=ON \
|
||||
-DWITH_SDL:BOOL=ON \
|
||||
-DWITH_TBB:BOOL=ON \
|
||||
-DWITH_USD:BOOL=ON \
|
||||
%if %{with usd}
|
||||
-DWITH_MATERIALX:BOOL=ON \
|
||||
%else
|
||||
-DWITH_MATERIALX:BOOL=OFF \
|
||||
%endif
|
||||
-DWITH_MEM_JEMALLOC:BOOL=ON \
|
||||
-DWITH_JACK:BOOL=ON \
|
||||
-DWITH_DOC_MANPAGE:BOOL=ON \
|
||||
-DWITH_GHOST_XDND:BOOL=ON \
|
||||
-DWITH_GHOST_SDL:BOOL=OFF \
|
||||
-DWITH_X11_XINPUT:BOOL=ON \
|
||||
-DWITH_INPUT_IME:BOOL=ON \
|
||||
%if %{with openxr}
|
||||
-DWITH_XR_OPENXR:BOOL=ON \
|
||||
%else
|
||||
-DWITH_XR_OPENXR:BOOL=OFF \
|
||||
%endif
|
||||
%if %{with optix}
|
||||
-DWITH_CYCLES_DEVICE_OPTIX:BOOL=ON \
|
||||
-DOPTIX_INCLUDE_DIR:PATH=%{_includedir}/optix/include \
|
||||
-DOPTIX_ROOT_DIR:PATH=/opt/nvidia/optix \
|
||||
%endif
|
||||
-DWITH_CYCLES_CUDA_BINARIES:BOOL=OFF \
|
||||
-DWITH_CYCLES_HIP_BINARIES:BOOL=ON \
|
||||
-DWITH_CYCLES_DEVICE_HIPRT:BOOL=ON \
|
||||
-DWITH_CYCLES_DEVICE_ONEAPI:BOOL=ON \
|
||||
-DWITH_CYCLES_ONEAPI_BINARIES:BOOL=ON \
|
||||
-DWITH_MANIFOLD:BOOL=ON \
|
||||
%if %{with strict_dependencies}
|
||||
-DWITH_STRICT_BUILD_OPTIONS:BOOL=ON \
|
||||
%endif
|
||||
%{nil}
|
||||
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
echo "release version = %{_version}"
|
||||
# make install
|
||||
%cmake_install
|
||||
|
||||
# tidy some .dot {files,dirs} installation
|
||||
# Fix any .py files with shebangs and wrong permissions.
|
||||
find %{buildroot} -name "*.py" -perm 0644 -print0 | \
|
||||
xargs -0r grep -l '^#!' | xargs -d'\n' chmod -f 0755;
|
||||
# Copy text files to correct place.
|
||||
mkdir -p %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}
|
||||
mv -v %{buildroot}%{_datadir}/doc/blender/* %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
rmdir %{buildroot}%{_datadir}/doc/blender
|
||||
# install blender sample.
|
||||
install -D -m 0644 %{SOURCE4} %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
install -D -m 0644 %{SOURCE5} %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
install -D -m 0644 %{SOURCE6} %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
install -D -m 0644 %{SOURCE7} %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
install -D -m 0755 %{SOURCE8} %{buildroot}%{_bindir}/
|
||||
# GPU and OptiX rendering texts
|
||||
install -D -m 0644 %{SOURCE9} %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
install -D -m 0644 %{SOURCE10} %{buildroot}%{_docdir}/%{pkg_name}-%{_suffix}/
|
||||
|
||||
chmod -f 0644 %{buildroot}%{_datadir}/%{pkg_name}/%{_version}/scripts/modules/console_python.py
|
||||
|
||||
%fdupes %{buildroot}%{_datadir}/%{pkg_name}/%{_version}/
|
||||
%find_lang %{pkg_name} %{?no_lang_C}
|
||||
rm -rf %{buildroot}%{_datadir}/locale/languages
|
||||
|
||||
%ifnarch x86_64
|
||||
find %{buildroot}%{_datadir}/%{pkg_name}/%{_version}/scripts/ -name "*.h" -print -delete
|
||||
%endif
|
||||
|
||||
# distinguishable menu entry
|
||||
perl -p -i -e 's/^Name=Blender$/Name=Blender %{_version}/g ; s/^((Exec|Icon)=blender)/$1-%{_version}/g' \
|
||||
%{buildroot}%{_datadir}/applications/%{pkg_name}.desktop
|
||||
|
||||
%if 0%{?sles_version}
|
||||
%suse_update_desktop_file -i -n %{pkg_name}
|
||||
%else
|
||||
# Validate blender.desktop
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/%{pkg_name}.desktop
|
||||
%endif
|
||||
|
||||
mv %{buildroot}%{_bindir}/blender{,-%{_version}}
|
||||
mv %{buildroot}%{_bindir}/blender-sample{,-%{_version}}
|
||||
mv %{buildroot}%{_bindir}/blender-thumbnailer{,-%{_version}}
|
||||
mv %{buildroot}%{_datadir}/applications/blender{,-%{_version}}.desktop
|
||||
mv %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/blender{,-%{_version}}.svg
|
||||
mv %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/blender-symbolic{,-%{_version}}.svg
|
||||
mv %{buildroot}%{_mandir}/man1/blender{,-%{_version}}.1
|
||||
mv %{buildroot}%{_datadir}/metainfo/org.blender.Blender{,-%{_version}}.metainfo.xml
|
||||
|
||||
%if "%{name}" == "blender" && %{without blender_ua}
|
||||
ln %{buildroot}%{_bindir}/blender{-%{_version},}
|
||||
ln %{buildroot}%{_bindir}/blender-sample{-%{_version},}
|
||||
ln %{buildroot}%{_bindir}/blender-thumbnailer{-%{_version},}
|
||||
ln %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/blender{-%{_version},}.svg
|
||||
ln %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/blender-symbolic{-%{_version},}.svg
|
||||
ln %{buildroot}%{_mandir}/man1/blender{-%{_version},}.1
|
||||
ln %{buildroot}%{_datadir}/metainfo/org.blender.Blender{-%{_version},}.metainfo.xml
|
||||
%endif
|
||||
|
||||
%if %{with blender_ua}
|
||||
mkdir -p %{buildroot}/etc/alternatives/
|
||||
|
||||
%if %{with self_ghosting}
|
||||
ln -s blender %{buildroot}/etc/alternatives/blender
|
||||
ln -s blender-sample %{buildroot}/etc/alternatives/blender-sample
|
||||
ln -s blender-thumbnailer %{buildroot}/etc/alternatives/blender-thumbnailer
|
||||
ln -s blender.desktop %{buildroot}/etc/alternatives/blender.desktop
|
||||
ln -s blender.svg %{buildroot}/etc/alternatives/blender.svg
|
||||
ln -s blender-symbolic.svg %{buildroot}/etc/alternatives/blender-symbolic.svg
|
||||
ln -s blender.1.gz %{buildroot}/etc/alternatives/blender.1.gz
|
||||
ln -s org.blender.Blender.metainfo.xml %{buildroot}/etc/alternatives/org.blender.Blender.metainfo.xml
|
||||
%endif
|
||||
|
||||
ln -s /etc/alternatives/blender %{buildroot}%{_bindir}/blender
|
||||
ln -s /etc/alternatives/blender-sample %{buildroot}%{_bindir}/blender-sample
|
||||
ln -s /etc/alternatives/blender-thumbnailer %{buildroot}%{_bindir}/blender-thumbnailer
|
||||
ln -s /etc/alternatives/blender.desktop %{buildroot}%{_datadir}/applications/blender.desktop
|
||||
ln -s /etc/alternatives/blender.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/blender.svg
|
||||
ln -s /etc/alternatives/blender-symbolic.svg %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/blender-symbolic.svg
|
||||
ln -s /etc/alternatives/blender.1.gz %{buildroot}%{_mandir}/man1/blender.1.gz
|
||||
ln -s /etc/alternatives/org.blender.Blender.metainfo.xml %{buildroot}%{_datadir}/metainfo/org.blender.Blender.metainfo.xml
|
||||
|
||||
%post
|
||||
/usr/sbin/update-alternatives --quiet --install \
|
||||
%{_bindir}/blender blender %{_bindir}/blender-%{_version} %{_suffix} \
|
||||
--slave %{_bindir}/blender-sample blender-sample %{_bindir}/blender-sample-%{_version} \
|
||||
--slave %{_bindir}/blender-thumbnailer blender-thumbnailer %{_bindir}/blender-thumbnailer-%{_version} \
|
||||
--slave %{_datadir}/applications/blender.desktop blender.desktop %{_datadir}/applications/blender-%{_version}.desktop \
|
||||
--slave %{_datadir}/icons/hicolor/scalable/apps/blender.svg blender.svg %{_datadir}/icons/hicolor/scalable/apps/blender-%{_version}.svg \
|
||||
--slave %{_datadir}/icons/hicolor/symbolic/apps/blender-symbolic.svg blender-symbolic.svg %{_datadir}/icons/hicolor/symbolic/apps/blender-symbolic-%{_version}.svg \
|
||||
--slave %{_mandir}/man1/blender.1.gz blender.1.gz %{_mandir}/man1/blender-%{_version}.1.gz \
|
||||
--slave %{_datadir}/metainfo/org.blender.Blender.metainfo.xml org.blender.Blender.metainfo.xml %{_datadir}/metainfo/org.blender.Blender-%{_version}.metainfo.xml
|
||||
|
||||
%postun
|
||||
if [ ! -f %{_bindir}/blender-%{_version} ] ; then
|
||||
/usr/sbin/update-alternatives --quiet --remove blender %{_bindir}/blender-%{_version}
|
||||
fi
|
||||
%endif
|
||||
|
||||
%files lang -f %{pkg_name}.lang
|
||||
%dir %{_datadir}/%{pkg_name}/%{_version}/datafiles/locale
|
||||
%dir %{_datadir}/%{pkg_name}/%{_version}/datafiles/locale/*
|
||||
%dir %{_datadir}/%{pkg_name}/%{_version}/datafiles/locale/*/LC_MESSAGES
|
||||
%{_datadir}/%{pkg_name}/%{_version}/datafiles/locale/languages
|
||||
cp %{SOURCE1} .
|
||||
|
||||
%files
|
||||
%{_bindir}/*-%{_version}
|
||||
%{_mandir}/man1/%{pkg_name}-%{_version}.1.gz
|
||||
%dir %{_datadir}/%{pkg_name}/
|
||||
%dir %{_datadir}/%{pkg_name}/%{_version}/
|
||||
%dir %{_datadir}/%{pkg_name}/%{_version}/datafiles/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/extensions/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/scripts/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/datafiles/assets/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/datafiles/colormanagement/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/datafiles/fonts/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/datafiles/icons/
|
||||
%{_datadir}/%{pkg_name}/%{_version}/datafiles/studiolights/
|
||||
%{_datadir}/applications/%{pkg_name}-%{_version}.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/%{pkg_name}*-%{_version}.svg
|
||||
%{_datadir}/metainfo/org.%{pkg_name}.Blender-%{_version}.metainfo.xml
|
||||
%doc %{_docdir}/%{pkg_name}-%{_suffix}
|
||||
%exclude %{_docdir}/%{pkg_name}-%{_suffix}/geeko_example_scene.*
|
||||
%if %{with blender_ua}
|
||||
%ghost /etc/alternatives/blender
|
||||
%ghost /etc/alternatives/blender-sample
|
||||
%ghost /etc/alternatives/blender-thumbnailer
|
||||
%ghost /etc/alternatives/blender.desktop
|
||||
%ghost /etc/alternatives/blender.svg
|
||||
%ghost /etc/alternatives/blender-symbolic.svg
|
||||
%ghost /etc/alternatives/blender.1.gz
|
||||
%ghost /etc/alternatives/org.blender.Blender.metainfo.xml
|
||||
%endif
|
||||
%if %{with blender_ua} || "%{name}" == "blender"
|
||||
%{_bindir}/blender
|
||||
%{_bindir}/blender-sample
|
||||
%{_bindir}/blender-thumbnailer
|
||||
%{_datadir}/icons/hicolor/scalable/apps/blender.svg
|
||||
%{_datadir}/icons/hicolor/symbolic/apps/blender-symbolic.svg
|
||||
%{_mandir}/man1/blender.1.gz
|
||||
%{_datadir}/metainfo/org.blender.Blender.metainfo.xml
|
||||
%endif
|
||||
%doc README.SUSE
|
||||
|
||||
%files lts
|
||||
%doc README.SUSE
|
||||
|
||||
%files demo
|
||||
%doc %{_docdir}/%{pkg_name}-%{_suffix}/geeko_example_scene.*
|
||||
%doc README.SUSE
|
||||
|
||||
%files lang
|
||||
%doc README.SUSE
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
Index: b/source/creator/CMakeLists.txt
|
||||
===================================================================
|
||||
--- a/source/creator/CMakeLists.txt
|
||||
+++ b/source/creator/CMakeLists.txt
|
||||
@@ -2081,7 +2081,7 @@ detect_leaks=0\"\n\
|
||||
execute_process(\n\
|
||||
COMMAND\n\
|
||||
$\{PYTHON_EXECUTABLE\} $\{MANPAGE_GEN\}\n\
|
||||
- --blender $\{BLENDER_BIN\}\n\
|
||||
+ --blender bin/blender\n\
|
||||
--output $\{MANPAGE_OUT\}\n\
|
||||
)\n\
|
||||
endif()\n\
|
||||
@@ -1 +0,0 @@
|
||||
Blender sample - SuSE Geeko by Florian Sailer <fsailer@suse.de>.
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69a717e8d7f39161c4cc55679f8acc6a3f66d814122eb273e6034df692aaf0b5
|
||||
size 138344
|
||||
@@ -1,3 +0,0 @@
|
||||
Blender openSUSE sample scene, (c)reated by Linus O. Linhof <linus@urpla.net>.
|
||||
|
||||
Licensed under "Creative Commons Attribution 4.0 International".
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:315578d6beff0d182da896e602d842402375c8b6ed527e708fbef45f91854fe7
|
||||
size 7732220
|
||||
Reference in New Issue
Block a user