16 Commits

Author SHA256 Message Date
10777409b6 Accepting request 1318913 from graphics
- add wrapper packages for demo and lang

- 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

- Prepare AMD HIP/HIPrt support

OBS-URL: https://build.opensuse.org/request/show/1318913
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=199
2025-11-21 15:59:39 +00:00
c8128fc59b - patches dropped here and migrated to the blender-x.y packages:
audaspace_1_8_compat.patch
  cmake_manpage_fix.patch

OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=516
2025-11-20 17:12:43 +00:00
7ae5e5fbbb - add wrapper packages for demo and lang
- Convert this package to a wrapper package

- Prepare AMD HIP/HIPrt support

OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=515
2025-11-20 16:05:23 +00:00
852907e9f3 Accepting request 1318422 from graphics
OBS-URL: https://build.opensuse.org/request/show/1318422
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=198
2025-11-18 14:40:57 +00:00
fc3b0059d4 - 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.

OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=513
2025-11-18 09:34:09 +00:00
153a9aae67 Accepting request 1314925 from graphics
- Update to 4.5.4

OBS-URL: https://build.opensuse.org/request/show/1314925
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=197
2025-11-01 22:34:49 +00:00
8dba4ae172 - drop b49b026b8eb6b289c59ff9ecb741f52531c22170.patch
OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=511
2025-10-31 15:36:21 +00:00
b67fe0db58 - Update to 4.5.4
OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=510
2025-10-31 14:54:25 +00:00
61483ea899 Accepting request 1310524 from graphics
OBS-URL: https://build.opensuse.org/request/show/1310524
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=196
2025-10-10 15:11:27 +00:00
3ba34b487f - 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.

OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=508
2025-10-10 09:53:50 +00:00
51d5fc1310 Accepting request 1309291 from graphics
- add b49b026b8eb6b289c59ff9ecb741f52531c22170.patch:
  Allow building with OCIO 2.5.0

OBS-URL: https://build.opensuse.org/request/show/1309291
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=195
2025-10-08 16:13:50 +00:00
1bfe7335ea - add b49b026b8eb6b289c59ff9ecb741f52531c22170.patch:
Allow building with OCIO 2.5.0

OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=506
2025-10-06 10:45:35 +00:00
08c328542a Accepting request 1305990 from graphics
OBS-URL: https://build.opensuse.org/request/show/1305990
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=194
2025-09-19 15:10:50 +00:00
22b3d25d0d - Update to 4.5.3
OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=504
2025-09-19 11:50:36 +00:00
28b67d2970 Accepting request 1303210 from graphics
OBS-URL: https://build.opensuse.org/request/show/1303210
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/blender?expand=0&rev=193
2025-09-09 18:30:08 +00:00
81ed3fffbb - Update to 4.5.2
https://developer.blender.org/docs/release_notes/4.5/corrective_releases/#blender-452

  https://developer.blender.org/docs/release_notes/4.5/corrective_releases/#blender-451

OBS-URL: https://build.opensuse.org/package/show/graphics/blender?expand=0&rev=502
2025-09-08 13:22:30 +00:00
20 changed files with 361 additions and 898 deletions

3
.gitattributes vendored
View File

@@ -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
View 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.

View File

@@ -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!

View File

@@ -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.

View File

@@ -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>

View File

@@ -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>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c5aeb8e6ef80f2f387c1eabc15f1444922814e61867d8019d54fb2ff3461623
size 85070464

View File

@@ -1 +0,0 @@
5828c3005cbfe6603834d21be613aac8 blender-4.5.1.tar.xz

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15571227e7164425b921dd071ea59a0d1218368faa2a913abdb2285478ad6dd3
size 8783880

View File

@@ -1,4 +0,0 @@
name: blender-assets
version: 4.4.0
mtime: 1738975706
commit: 0418ad6b8e0d962bde30b2d4d828984b9f9c3299

View File

@@ -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"

View File

@@ -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 doesnt 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 doesnt affect Square line
type. [#147147]
- Fix: Cycles: MetalRT motion curves setup bug. [#146568]
- Cant 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 doesnt 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
-------------------------------------------------------------------

View File

@@ -1,4 +0,0 @@
name: blender
version: 4.4.0
mtime: 1740837384
commit: 725617c7a007d2343f98a6c2e860a38617f6c427

View File

@@ -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

View File

@@ -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\

View File

@@ -1 +0,0 @@
Blender sample - SuSE Geeko by Florian Sailer <fsailer@suse.de>.

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69a717e8d7f39161c4cc55679f8acc6a3f66d814122eb273e6034df692aaf0b5
size 138344

View File

@@ -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".

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:315578d6beff0d182da896e602d842402375c8b6ed527e708fbef45f91854fe7
size 7732220

2
series
View File

@@ -1,2 +0,0 @@
# PATCH-FIX-UPSTREAM https://projects.blender.org/blender/blender/pulls/115320
cmake_manpage_fix.patch