diff --git a/extra/blender/.SRCINFO b/extra/blender/.SRCINFO index 28f6d9026..814b139b1 100644 --- a/extra/blender/.SRCINFO +++ b/extra/blender/.SRCINFO @@ -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 diff --git a/extra/blender/PKGBUILD b/extra/blender/PKGBUILD index 29c911721..35d1ebafe 100644 --- a/extra/blender/PKGBUILD +++ b/extra/blender/PKGBUILD @@ -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/" }