blender-git
maintainer fbrennan
· 76 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The flagged URL is for the official Blender project repository on projects.blender.org, which is a legitimate and expected source for a development version of Blender; building from a non-whitelisted but project-owned Git host is normal for AUR packages and does not constitute a security risk.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The flagged URL is for the official Blender project repository on projects.blender.org, which is a legitimate and expected source for a development version of Blender; building from a non-whitelisted but project-owned Git host is normal for AUR packages and does not constitute a security risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:54
source=("blender::git-lfs+https://projects.blender.org/blender/blender${_fragment}"
PKGBUILD
1 offending line(s) highlighted
1
#!/bin/bash
2
# Maintainer: Fredrick Brennan <copypaste@kittens.ph>
3
# Submitter: Lukas Jirkovsky <l.jirkovsky@gmail.com>
4
# Co-maintainer: bartus <arch-user-repoᘓbartus.33mail.com>
5
# Contributor: Adrian Sausenthaler <aur@sausenthaler.de>
6
7
#Configuration:
8
#Use: makepkg VAR1=0 VAR2=1 to enable(1) disable(0) a feature
9
#Use: {yay,paru} --mflags=VAR1=0,VAR2=1
10
#Use: aurutils --margs=VAR1=0,VAR2=1
11
#Use: VAR1=0 VAR2=1 pamac
12
13
# Use FRAGMENT=#{commit,tag,brach}=xxx for bisect build
14
_fragment="${FRAGMENT:-#branch=main}"
15
# revert oneapi:2025.3 conflicts
16
_git_revert=(49414a72f607ccd15f8b71b81edc9aff040d581e) # v3.1 arch
17
18
# Use CUDA_ARCH to build for specific GPU architecture
19
# Supports: single arch (sm_52) and list of archs (sm_52;sm_60)
20
[[ -v CUDA_ARCH ]] && _CMAKE_FLAGS+=(-DCYCLES_CUDA_BINARIES_ARCH="${CUDA_ARCH}")
21
[[ -v HIP_ARCH ]] && _CMAKE_FLAGS+=(-DCYCLES_HIP_BINARIES_ARCH="${HIP_ARCH}")
22
23
pkgname=blender-git
24
pkgver=5.3.r163133.gc9dd766ce9c2
25
pkgrel=1
26
pkgdesc="A fully integrated 3D graphics creation suite (development)"
27
arch=('i686' 'x86_64')
28
url="https://blender.org/"
29
options=(!lto)
30
depends+=('alembic' 'ceres-solver' 'eigen' 'embree' 'libgl' 'python' 'python-numpy' 'openjpeg2' 'libharu' 'potrace' 'openxr'
31
'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'manifold' 'openimageio' 'opencolorio'
32
'openvdb' 'opensubdiv' 'openshadinglanguage' 'libtiff' 'libpng'
33
'python' 'python-zstandard' 'ccache')
34
depends+=('libdecor' 'libepoxy')
35
optdepends=('cuda: CUDA support in Cycles'
36
'optix8: OptiX support in Cycles >=8.0.0 <9.0.0'
37
'usd: USD export Scene'
38
'openpgl: Intel Path Guiding library in Cycles'
39
'openimagedenoise: Intel Open Image Denoise support in compositing'
40
'materialx: MaterialX materials'
41
'level-zero-headers: Intel OpenCL FPGA kernels (all four needed)'
42
'intel-compute-runtime: Intel OpenCL FPGA kernels (all four needed)'
43
'intel-oneapi-compiler-shared-runtime: Intel OpenCL FPGA kernels (all four needed)'
44
'intel-oneapi-dpcpp-cpp: Intel OpenCL FPGA kernels (all four needed)'
45
'makepkg-cg: Control resources during compilation')
46
makedepends+=('git' 'cmake' 'boost' 'mesa' 'llvm' 'clang' 'subversion' 'ninja' 'mold')
47
makedepends+=('wayland-protocols')
48
makedepends+=('cython')
49
makedepends+=('vulkan-headers')
50
makedepends+=('makepkg-git-lfs-proto') # provides /usr/share/makepkg/source/git-lfs.sh (download_git-lfs, extract_git-lfs)
51
provides=('blender')
52
conflicts=('blender')
53
license=('GPL')
54
source=("blender::git-lfs+https://projects.blender.org/blender/blender${_fragment}"
55
blender-fix-oneapi-2026.patch::https://raw.githubusercontent.com/intel/llvm/20a7095cba72ace59f7c8a64711ec4b51f01f030/devops/actions/blender/blender-build/patches/Fix-build.patch
56
)
57
sha256sums=('SKIP'
58
'154d89a0187476265f3d29fbc3ec696c0e293e27f75a4c633ea81393ab9a1ae2'
59
)
60
61
pkgver() {
62
blender_version=$(grep -Po "BLENDER_VERSION \K[0-9]{3}" "$srcdir"/blender/source/blender/blenkernel/BKE_blender_version.h)
63
printf "%d.%d.r%s.g%s" \
64
$((blender_version/100)) \
65
$((blender_version%100)) \
66
"$(git -C "$srcdir/blender" rev-list --count HEAD)" \
67
"$(git -C "$srcdir/blender" rev-parse --short HEAD)"
68
}
69
70
prepare() {
71
mapfile -t patches < <(grep -Po '^.*?(patch|diff)(?=::|$)' < <(printf "${srcdir}/%s\n" ${source[@]}))
72
for patch in "${patches[@]}"; do
73
msg2 "apply ${patch##*/}..."
74
git -C "${srcdir}"/blender apply -v "${patches[@]}"
75
done
76
if [ -v _git_revert ]; then
77
msg2 "revert ${_git_revert[@]}..."
78
[[ -v _git_revert ]] && git -C "${srcdir}"/blender revert --no-commit -Xours "${_git_revert[@]}" || git -C "${srcdir}"/blender revert --abort
79
fi
80
# remove deprecated headers in rocm:7
81
sed -e '/Geometry.h/d' -e '/Scene.h/d' -i "$srcdir"/blender/intern/cycles/kernel/CMakeLists.txt
82
}
83
84
build() {
85
_pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))")
86
msg "python version detected: ${_pyver}"
87
88
_CMAKE_FLAGS+=( -DPYTHON_VERSION=$_pyver
89
-DPYTHON_LIBRARY=/usr/lib/libpython${_pyver}.so
90
-DWITH_PYTHON_INSTALL=OFF
91
-DWITH_PYTHON_SAFETY=OFF )
92
93
94
# check for oneapi
95
export _ONEAPI_CLANG=/opt/intel/oneapi/compiler/latest/bin/compiler/clang
96
export _ONEAPI_CLANGXX=/opt/intel/oneapi/compiler/latest/bin/compiler/clang++
97
if [ -f "$_ONEAPI_CLANG" ]; then
98
_CMAKE_FLAGS+=( -DWITH_CYCLES_DEVICE_ONEAPI=ON
99
-DWITH_CYCLES_ONEAPI_BINARIES=ON
100
-DWITH_CLANG=ON
101
-DSYCL_CPP_FLAGS="--verbose" # for debugging
102
-DOCLOC_INSTALL_DIR=/usr
103
-DSYCL_ROOT_DIR=/opt/intel/oneapi/compiler/latest/
104
-DSYCL_OFFLINE_COMPILER_PARALLEL_JOBS=$(nproc)
105
)
106
else
107
# Because some defaults are ON.
108
_CMAKE_FLAGS+=( -DWITH_CYCLES_DEVICE_ONEAPI=OFF
109
-DWITH_CYCLES_ONEAPI_BINARIES=OFF )
110
fi
111
112
# determine whether we can precompile CUDA kernels
113
_CUDA_PKG=$(pacman -Qq cuda 2>/dev/null) || true
114
if [ "$_CUDA_PKG" != "" ]; then
115
export CUDAHOSTCXX="$NVCC_CCBIN" # defined in /etc/profile.d/cuda.sh
116
# https://wiki.blender.org/wiki/Building_Blender/GPU_Binaries
117
_CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON
118
-DWITH_COMPILER_ASAN=OFF
119
-DCMAKE_CUDA_HOST_COMPILER=${NVCC_CCBIN} ) # defined in /etc/profile.d/cuda.sh
120
fi
121
122
# check for materialx
123
_MX_PKG=$(pacman -Qq materialx 2>/dev/null) || true
124
if [ "$_MX_PKG" != "" ]; then
125
_CMAKE_FLAGS+=( -DWITH_MATERIALX=ON )
126
fi
127
128
_USD_PKG=$(pacman -Qq usd 2>/dev/null) || true
129
if [ "$_USD_PKG" != "" ]; then
130
_CMAKE_FLAGS+=( -DWITH_USD=ON )
131
fi
132
133
# check for optix
134
_OPTIX_PKG=$(pacman -Qq optix8 2>/dev/null) || true
135
if [ "$_OPTIX_PKG" != "" ]; then
136
_CMAKE_FLAGS+=( -DWITH_CYCLES_DEVICE_OPTIX=ON
137
-DOPTIX_ROOT_DIR=/opt/optix )
138
fi
139
140
# check for open image denoise
141
_OIDN_PKG=$(pacman -Qq openimagedenoise 2>/dev/null) || true
142
if [ "$_OIDN_PKG" != "" ]; then
143
_CMAKE_FLAGS+=( -DWITH_OPENIMAGEDENOISE=ON )
144
fi
145
146
if [ -d /opt/rocm/bin ]; then
147
_CMAKE_FLAGS+=( -DWITH_CYCLES_HIP_BINARIES=ON
148
-DWITH_CYCLES_DEVICE_HIP=ON
149
-DWITH_CYCLES_DEVICE_HIPRT=ON
150
-DHIP_ROOT_DIR=/opt/rocm
151
-DHIPRT_INCLUDE_DIR=/opt/rocm/include
152
-DHIPRT_COMPILER_PARALLEL_JOBS=$(nproc)
153
-DWITH_CYCLES_HYDRA_RENDER_DELEGATE=OFF
154
)
155
else
156
# Because some defaults are ON.
157
_CMAKE_FLAGS+=( -DWITH_CYCLES_HIP_BINARIES=OFF
158
-DWITH_CYCLES_DEVICE_HIP=OFF
159
-DWITH_CYCLES_DEVICE_HIPRT=OFF
160
)
161
fi
162
163
#default cmake flags
164
_CMAKE_FLAGS+=(
165
-C "${srcdir}/blender/build_files/cmake/config/blender_release.cmake"
166
-G Ninja
167
-DCMAKE_INSTALL_PREFIX=/usr
168
-DCMAKE_INSTALL_PREFIX_WITH_CONFIG="${pkgdir}/usr"
169
-DWITH_LINKER_MOLD=ON
170
-DCMAKE_SKIP_INSTALL_RPATH=ON
171
-DCMAKE_SKIP_BUILD_RPATH=ON
172
-DCMAKE_BUILD_TYPE=Release
173
-DWITH_INSTALL_PORTABLE=OFF
174
-DWITH_LIBS_PRECOMPILED=OFF
175
-DWITH_STATIC_LIBS=OFF
176
-DXR_OPENXR_SDK_ROOT_DIR=/usr
177
-DPYTHON_VERSION="${_pyver}"
178
)
179
180
181
USING_MAKEPKG_CG="$(systemctl --user -t slice | grep -o makepkg-cg-`id -u`-'[[:digit:]]\+'.slice'[[:space:]]\+'loaded'[[:space:]]\+'active)" || true
182
MAKEPKG_CG_WARNING=\
183
'If you use systemd, consider trying `makepkg-cg`.
184
This build is otherwise very likely to use more RAM than
185
the system has, especially with a high `-j`!'
186
[[ -z "$USING_MAKEPKG_CG" ]] && warning "$MAKEPKG_CG_WARNING"
187
cmake -S blender -B build -G Ninja "${_CMAKE_FLAGS[@]}"
188
cmake --build build ${MAKEFLAGS:--j1}
189
}
190
191
package() {
192
_suffix=${pkgver%%.r*}
193
sed -e 's/\(file(INSTALL\)\(.*blender\.1"\))/#\1\2)/' \
194
-e 's|/usr/lib/python/|/usr/lib64/python3.13/|g' \
195
-i "$srcdir"/build/source/creator/cmake_install.cmake
196
BLENDER_SYSTEM_RESOURCES="${pkgdir}/usr/share/blender/${_suffix}" DESTDIR="${pkgdir}" cmake --install build
197
198
cd blender
199
install -Dm755 release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl" || true
200
install -Dm644 release/freedesktop/org.blender.Blender.metainfo.xml "${pkgdir}/usr/share/metainfo/org.blender.Blender.metainfo.xml"
201
install -vDm 644 doc/license/{BSD-{2,3}-Clause,MIT,Zlib}-license.txt -t "$pkgdir/usr/share/licenses/blender/"
202
203
python -m compileall "${pkgdir}/usr/share/blender"
204
python -O -m compileall "${pkgdir}/usr/share/blender"
205
206
# Move OneAPI AOT lib to proper place
207
mkdir "${pkgdir}"/usr/lib/
208
mv "${pkgdir}"/usr/share/blender/lib/libcycles_kernel_oneapi_aot.so "${pkgdir}"/usr/lib/ || warning "OneAPI missing from the build!"
209
210
if [[ -e "$pkgdir/usr/share/blender/${_suffix}/scripts/addons/cycles/lib/" ]] ; then
211
# make sure the cuda kernels are not stripped
212
chmod 444 "$pkgdir"/usr/share/blender/${_suffix}/scripts/addons/cycles/lib/*
213
fi
214
}
215
216
# vim: syntax=bash:et:ts=2:sw=2
217
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |