extra/blender to 4.0.2-17

This commit is contained in:
Kevin Mihelich 2024-03-06 03:16:43 +00:00
parent beb6c9fee5
commit 01ee282583
2 changed files with 190 additions and 86 deletions

View file

@ -1,71 +1,98 @@
pkgbase = blender
pkgdesc = A fully integrated 3D graphics creation suite
pkgver = 4.0.2
pkgrel = 15
pkgrel = 17
epoch = 17
url = https://www.blender.org
arch = x86_64
license = GPL
makedepends = cmake
license = Apache-2.0
license = BSD-2-Clause
license = BSD-3-Clause
license = GPL-2.0-or-later
license = GPL-3.0-or-later
license = LGPL-2.1-or-later
license = MIT
license = MPL-2.0
license = Zlib
makedepends = boost
makedepends = mesa
makedepends = git
makedepends = subversion
makedepends = llvm
makedepends = cmake
makedepends = cuda
makedepends = ninja
makedepends = wayland-protocols
makedepends = libxkbcommon
makedepends = libdecor
makedepends = git
makedepends = hip-runtime-amd
makedepends = level-zero-headers
makedepends = intel-oneapi-dpcpp-cpp
makedepends = intel-oneapi-compiler-shared-runtime
makedepends = intel-oneapi-dpcpp-cpp
makedepends = intel-compute-runtime
depends = libpng
depends = libtiff
depends = openexr
depends = python
depends = desktop-file-utils
depends = python-requests
depends = potrace
depends = shared-mime-info
depends = hicolor-icon-theme
depends = xdg-utils
depends = glew
depends = openjpeg2
depends = python-numpy
depends = freetype2
depends = openal
makedepends = level-zero-headers
makedepends = libdecor
makedepends = llvm
makedepends = mesa
makedepends = ninja
makedepends = subversion
makedepends = wayland-protocols
depends = alembic
depends = bash
depends = boost-libs
depends = draco
depends = embree
depends = expat
depends = ffmpeg
depends = fftw
depends = boost-libs
depends = opencollada
depends = alembic
depends = openxr
depends = openimageio
depends = libsndfile
depends = freetype2
depends = gcc-libs
depends = glew
depends = glibc
depends = gmp
depends = hicolor-icon-theme
depends = imath
depends = intel-oneapi-compiler-dpcpp-cpp-runtime-libs
depends = intel-oneapi-compiler-shared-runtime-libs
depends = jack
depends = opencolorio
depends = openimagedenoise
depends = materialx
depends = jemalloc
depends = level-zero-loader
depends = libepoxy
depends = libharu
depends = libjpeg-turbo
depends = libpng
depends = libsndfile
depends = libspnav
depends = ptex
depends = libtiff
depends = libwebp
depends = libx11
depends = libxfixes
depends = libxi
depends = libxkbcommon
depends = libxml2
depends = libxrender
depends = libxxf86vm
depends = llvm-libs
depends = materialx
depends = onetbb
depends = openal
depends = opencollada
depends = opencolorio
depends = openexr
depends = openimagedenoise
depends = openimageio
depends = openjpeg2
depends = openpgl
depends = openshadinglanguage
depends = opensubdiv
depends = openvdb
depends = openxr
depends = pcre
depends = potrace
depends = pugixml
depends = pystring
depends = python
depends = python-numpy
depends = python-requests
depends = sdl2
depends = embree
depends = libharu
depends = draco
depends = openpgl
depends = level-zero-loader
depends = libxkbcommon
depends = libepoxy
depends = shared-mime-info
depends = usd
depends = openshadinglanguage
depends = intel-oneapi-compiler-shared-runtime-libs
depends = intel-oneapi-compiler-dpcpp-cpp-runtime-libs
depends = xdg-utils
depends = yaml-cpp
depends = zlib
depends = zstd
optdepends = cuda: Cycles renderer CUDA support
optdepends = intel-compute-runtime: Cycles renderer Intel OneAPI support
optdepends = libdecor: wayland support
@ -76,7 +103,7 @@ pkgbase = blender
source = svn+https://svn.blender.org/svnroot/bf-blender/tags/blender-4.0-release/lib/assets
source = https://developer.download.nvidia.com/redist/optix/v7.7/OptiX-7.7-Include.zip
source = https://projects.blender.org/blender/blender/commit/5486c70aae94196d715c07364292fc108ebf59a8.patch
source = blender-openpgl6.patch::https://projects.blender.org/blender/blender/pulls/118328.patch
source = blender-openpgl6-r1.patch::https://projects.blender.org/blender/blender/commit/5d06b7b906b3.patch
source = force-draco1.patch
source = force-draco2.patch
source = blender-rocm-6.patch
@ -86,7 +113,7 @@ pkgbase = blender
sha512sums = SKIP
sha512sums = 55caea5beccdc0adebdba8a825f3cfee083015311de5602cfcf215139ccbf9fed62f10ee1dcdf7e31a3557aabbc1fa872eeed67bc46f59fb4e5abd18331c0aca
sha512sums = 375508d1d010b4b043b293cb0c192cb2096aef7ddb0dd1be4a738b20aa720523494cf3054161f1ad116fddc6a9ce03159d6da0a3b3fdb1b57002a477c7c5920a
sha512sums = e95eef1d63ee15b7b6f78a70c85b58699e0ef22454f5f2614cb5911837a7c684e2b2d6a005039215cac923cffb037b9f4d6995857b6014106d56bdeac3f0aab4
sha512sums = 016a8da844396ba1912a556fc1ff763c781ba6ce17375c9ef778352aa91e9f8af3cd66d552339eb2d65dce84c0e871ab167944ddbf75619aebc0dd82cec4ca58
sha512sums = e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0
sha512sums = c162646eba42ea7112cfb615466c2cbaddac8d254d4a9e91cf887c5bffef1325a983701163223a1fdee091310ac5574a400347aab7f52321825b5fa3d5a9036f
sha512sums = dc694c655690913701dba92281724671c14f7305cc8f4de6071056f4608837532194178fdddcbcf500d330a0b804d26cd9599b88ff71f9c799664e941809813a

View file

@ -18,20 +18,96 @@ buildarch=8
pkgname=blender
pkgver=4.0.2
pkgrel=15
pkgrel=17
epoch=17
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('x86_64')
license=('GPL')
license=(
Apache-2.0
BSD-2-Clause
BSD-3-Clause
GPL-2.0-or-later
GPL-3.0-or-later
LGPL-2.1-or-later
MIT
MPL-2.0
Zlib
)
url="https://www.blender.org"
depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requests' 'potrace'
'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'openjpeg2' 'python-numpy'
'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic' 'openxr'
'openimageio' 'libsndfile' 'jack' 'opencolorio' 'materialx'
'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'sdl2' 'libharu'
'draco' 'libxkbcommon' 'libepoxy' 'usd' 'openshadinglanguage')
makedepends=('cmake' 'boost' 'mesa' 'git' 'subversion' 'llvm' 'ninja' 'wayland-protocols'
'libxkbcommon' 'libdecor')
depends=(
'alembic'
'bash'
'boost-libs'
'draco' # seems to use static lib and should probably only be makedepends
'expat'
'ffmpeg'
'fftw'
'freetype2'
'gcc-libs'
'glew'
'glibc'
'gmp'
'hicolor-icon-theme'
'imath'
'jack' # dlopen'ed
'jemalloc'
'level-zero-loader' # dlopen'ed
'libepoxy'
'libharu'
'libjpeg-turbo'
'libpng'
'libsndfile'
'libspnav'
'libtiff'
'libwebp'
'libx11'
'libxfixes'
'libxi'
'libxkbcommon'
'libxml2'
'libxrender'
'libxxf86vm'
'llvm-libs'
'materialx'
'onetbb'
'openal'
'opencollada'
'opencolorio'
'openexr'
'openimageio'
'openjpeg2'
'openshadinglanguage'
'opensubdiv'
'openvdb'
'openxr'
'pcre'
'potrace'
# 'ptex'
'pugixml'
'pystring'
'python'
'python-numpy'
'python-requests'
'sdl2' # dlopen'ed
'shared-mime-info'
'usd'
'xdg-utils'
'yaml-cpp'
'zlib'
'zstd'
)
makedepends=(
'boost'
'cmake'
'git'
'level-zero-headers'
'libdecor'
'llvm'
'mesa'
'ninja'
'subversion'
'wayland-protocols'
)
optdepends=('libdecor: wayland support')
# We're using !buildflags here as otherwise we get stuff such as FS#77557
# It'd be better to figure out exactly which of the flags is the culprit which I attempted but without any success.
@ -42,7 +118,7 @@ source=("git+https://projects.blender.org/blender/blender.git#tag=v$pkgver"
"svn+https://svn.blender.org/svnroot/bf-blender/tags/blender-${pkgver%%.[^.]}-release/lib/assets"
https://developer.download.nvidia.com/redist/optix/v7.7/OptiX-7.7-Include.zip
https://projects.blender.org/blender/blender/commit/5486c70aae94196d715c07364292fc108ebf59a8.patch
blender-openpgl6.patch::https://projects.blender.org/blender/blender/pulls/118328.patch
blender-openpgl6-r1.patch::https://projects.blender.org/blender/blender/commit/5d06b7b906b3.patch
force-draco1.patch
force-draco2.patch
blender-rocm-6.patch)
@ -52,7 +128,7 @@ sha512sums=('SKIP'
'SKIP'
'55caea5beccdc0adebdba8a825f3cfee083015311de5602cfcf215139ccbf9fed62f10ee1dcdf7e31a3557aabbc1fa872eeed67bc46f59fb4e5abd18331c0aca'
'375508d1d010b4b043b293cb0c192cb2096aef7ddb0dd1be4a738b20aa720523494cf3054161f1ad116fddc6a9ce03159d6da0a3b3fdb1b57002a477c7c5920a'
'e95eef1d63ee15b7b6f78a70c85b58699e0ef22454f5f2614cb5911837a7c684e2b2d6a005039215cac923cffb037b9f4d6995857b6014106d56bdeac3f0aab4'
'016a8da844396ba1912a556fc1ff763c781ba6ce17375c9ef778352aa91e9f8af3cd66d552339eb2d65dce84c0e871ab167944ddbf75619aebc0dd82cec4ca58'
'e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0'
'c162646eba42ea7112cfb615466c2cbaddac8d254d4a9e91cf887c5bffef1325a983701163223a1fdee091310ac5574a400347aab7f52321825b5fa3d5a9036f'
'dc694c655690913701dba92281724671c14f7305cc8f4de6071056f4608837532194178fdddcbcf500d330a0b804d26cd9599b88ff71f9c799664e941809813a')
@ -79,7 +155,7 @@ prepare() {
# https://projects.blender.org/blender/blender/issues/113157
git cherry-pick -n 798a0b301e640e73ae12e6f8a36a66746893bff1
patch -Np1 -i "$srcdir"/blender-openpgl6.patch
patch -Np1 -i "$srcdir"/blender-openpgl6-r1.patch
# fix draco
patch -p1 -i "$srcdir"/force-draco1.patch
@ -98,43 +174,42 @@ prepare() {
patch -Np1 -i "$srcdir/blender-rocm-6.patch"
}
get_pyver() {
_get_pyver() {
python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
}
build() {
cd "$pkgname"
local PYTHON_VER="$(get_pyver)"
local cmake_options=(
-B build
-C "$pkgname/build_files/cmake/config/blender_release.cmake"
-C "$srcdir/precache"
-D CMAKE_BUILD_TYPE=Release
-D CMAKE_INSTALL_PREFIX=/usr
-D OPTIX_ROOT_DIR="$srcdir"
-D PYTHON_VERSION="$(_get_pyver)"
# -D SYCL_CPP_FLAGS=--verbose # for debugging
-D SYCL_OFFLINE_COMPILER_PARALLEL_JOBS=8
-D USD_ROOT_DIR=/usr
-D WITH_CYCLES_EMBREE=OFF
-D WITH_INSTALL_PORTABLE=OFF
-D WITH_PYTHON_INSTALL=OFF
-G Ninja
-S "$pkgname"
-W no-dev
)
# CUDA arch 90 is unsupported
echo 'set(CYCLES_CUDA_BINARIES_ARCH sm_52 sm_53 sm_60 sm_61 sm_62 sm_70 sm_72 sm_75 sm_80 sm_86 sm_87 sm_89 compute_89 CACHE STRING "CUDA architectures to build binaries for" FORCE)' > precache
echo 'mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)' >> precache
cmake \
-Bbuild \
-GNinja \
-Cbuild_files/cmake/config/blender_release.cmake \
-C precache \
-DLLVM_VERSION=16 \
-DPYTHON_VERSION=$PYTHON_VER \
-DOPTIX_ROOT_DIR="$srcdir" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_INSTALL_PORTABLE=OFF \
-DWITH_PYTHON_INSTALL=OFF \
-DUSD_ROOT_DIR=/usr \
-DSYCL_OFFLINE_COMPILER_PARALLEL_JOBS=8 \
-DWITH_CYCLES_EMBREE=OFF
cmake "${cmake_options[@]}"
cmake --build build
# For debug:
# -DSYCL_CPP_FLAGS=--verbose
}
package() {
DESTDIR="${pkgdir}" cmake --install build
cd "$pkgname"
DESTDIR="${pkgdir}" cmake --install build
install -Dm755 release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl"
python -m compileall "${pkgdir}/usr/share/blender"
python -O -m compileall "${pkgdir}/usr/share/blender"
@ -145,7 +220,9 @@ package() {
cp -r scripts/addons_contrib/* "${pkgdir}"/usr/share/blender/4*/scripts/addons_contrib/
# Manually install draco bindings (See FS#73415)
mkdir -p "${pkgdir}/usr/lib/python$(get_pyver)"/
mkdir -p "${pkgdir}/usr/lib/python$(_get_pyver)"/
mv "${pkgdir}"/usr/share/blender/4*/python/lib/* "${pkgdir}"/usr/lib/
rm -r "${pkgdir}"/usr/share/blender/4*/python
install -vDm 644 doc/license/{BSD-{2,3}-Clause,MIT,Zlib}-license.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}