Date: Monday, April 17, 2023 @ 10:46:50
Author: svenstaro
Revision: 1446688
archrelease: copy trunk to community-staging-x86_64
Added:
blender/repos/community-staging-x86_64/
blender/repos/community-staging-x86_64/PKGBUILD
(from rev 1446687, blender/trunk/PKGBUILD)
blender/repos/community-staging-x86_64/blender-sycl-path.patch
(from rev 1446687, blender/trunk/blender-sycl-path.patch)
blender/repos/community-staging-x86_64/force-draco1.patch
(from rev 1446687, blender/trunk/force-draco1.patch)
blender/repos/community-staging-x86_64/force-draco2.patch
(from rev 1446687, blender/trunk/force-draco2.patch)
-------------------------+
PKGBUILD | 113 ++++++++++++++++++++++++++++++++++++++++++++++
blender-sycl-path.patch | 13 +++++
force-draco1.patch | 15 ++++++
force-draco2.patch | 21 ++++++++
4 files changed, 162 insertions(+)
Copied: blender/repos/community-staging-x86_64/PKGBUILD (from rev 1446687,
blender/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2023-04-17 10:46:50 UTC (rev 1446688)
@@ -0,0 +1,113 @@
+# Maintainer: Sven-Hendrik Haase <[email protected]>
+# Contributor: John Sowiak <[email protected]>
+# Contributor: tobias <[email protected]>
+
+# For legal reasons, we can't separately package the Optix headers so we'll
+# just build the package against them. I checked with NVIDIA and this way is
+# fine with them.
+
+pkgname=blender
+pkgver=3.5.0
+pkgrel=6
+epoch=17
+pkgdesc="A fully integrated 3D graphics creation suite"
+arch=('x86_64')
+license=('GPL')
+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' 'openshadinglanguage'
'openimagedenoise'
+ 'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus'
'sdl2' 'embree3' 'libharu'
+ 'draco' 'openpgl' 'level-zero-loader'
+ 'intel-oneapi-compiler-shared-runtime-libs'
'intel-oneapi-compiler-dpcpp-cpp-runtime-libs')
+makedepends=('cmake' 'boost' 'mesa' 'git' 'svn' 'llvm' 'cuda' 'ninja'
'wayland-protocols' 'libxkbcommon'
+ 'libdecor' 'hip-runtime-amd' 'level-zero-headers'
'intel-oneapi-dpcpp-cpp'
+ 'intel-oneapi-compiler-shared-runtime' 'intel-compute-runtime')
+optdepends=('cuda: Cycles renderer CUDA support'
+ 'intel-compute-runtime: Cycles renderer Intel OneAPI support'
+ '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.
+options=('!buildflags')
+source=("git+https://projects.blender.org/blender/blender.git#tag=v$pkgver"
+ https://projects.blender.org/blender/blender/pulls/106861.patch
+
https://developer.download.nvidia.com/redist/optix/v7.6/OptiX-7.6-Include.zip
+ blender-sycl-path.patch
+ force-draco1.patch
+ force-draco2.patch)
+sha512sums=('SKIP'
+
'324508ac73058620863b781ea9da0c60f9c079d1db43358092d02b436176ca32ea94ff4cc799fe04df6550fb9e8c073151a3c2f55d83c0ac14660dbff2939170'
+
'dfe86de395dd298fb9feae73bff06a26742efa06a25bb5a4f78ffb1ba4c78f555d1af927efea98af281715cce01db219aa2adfd6bd323bf0d766c1c70ce03532'
+
'bc9a80941a18aaddc3e8f2d9963e4f6b7eb1cf9f098418adb236771c3bedcab7b7a06121178f7498caba1af67116cd0ea549382e14a707163cdd5d8fbf3ee824'
+
'e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0'
+
'c162646eba42ea7112cfb615466c2cbaddac8d254d4a9e91cf887c5bffef1325a983701163223a1fdee091310ac5574a400347aab7f52321825b5fa3d5a9036f')
+
+prepare() {
+ cd "$pkgname"
+
+ make update
+
+ # fix openpgl 0.5
+ patch -p1 -i "$srcdir"/106861.patch
+
+ # fix draco
+ patch -p1 -i "$srcdir"/force-draco1.patch
+ patch -p1 -d scripts/addons -i "$srcdir"/force-draco2.patch
+
+ # fix SYCL include dir
+ patch -p1 -i "$srcdir"/blender-sycl-path.patch
+}
+
+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)"
+
+ # 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 \
+ -DPYTHON_VERSION=$PYTHON_VER \
+ -DHIP_ROOT_DIR=/opt/rocm \
+ -DOPTIX_ROOT_DIR="$srcdir" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DWITH_INSTALL_PORTABLE=OFF \
+ -DWITH_PYTHON_INSTALL=OFF \
+ -DOCLOC_INSTALL_DIR=/usr \
+ -DSYCL_CPP_FLAGS=--verbose \
+ -DSYCL_OFFLINE_COMPILER_PARALLEL_JOBS=8
+ cmake --build build
+}
+
+package() {
+ 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"
+
+ install -Dm644 release/freedesktop/org.blender.Blender.appdata.xml
"${pkgdir}/usr/share/metainfo/org.blender.Blender.appdata.xml"
+
+ # Manually install additional scripts (See FS#69351)
+ cp -r scripts/addons_contrib/*
"${pkgdir}"/usr/share/blender/3*/scripts/addons_contrib/
+
+ # Manually install draco bindings (See FS#73415)
+ mkdir -p "${pkgdir}/usr/lib/python$(get_pyver)"/
+ mv "${pkgdir}"/usr/share/blender/3*/python/lib/* "${pkgdir}"/usr/lib/
+ rm -r "${pkgdir}"/usr/share/blender/3*/python
+
+ # Move OneAPI AOT lib to proper place
+ mv "${pkgdir}"/usr/share/blender/lib/libcycles_kernel_oneapi_aot.so
"${pkgdir}"/usr/lib/
+}
Copied: blender/repos/community-staging-x86_64/blender-sycl-path.patch (from
rev 1446687, blender/trunk/blender-sycl-path.patch)
===================================================================
--- community-staging-x86_64/blender-sycl-path.patch
(rev 0)
+++ community-staging-x86_64/blender-sycl-path.patch 2023-04-17 10:46:50 UTC
(rev 1446688)
@@ -0,0 +1,13 @@
+diff --git a/build_files/cmake/Modules/FindSYCL.cmake
b/build_files/cmake/Modules/FindSYCL.cmake
+index 1ccbee179fb..e72b035def6 100644
+--- a/build_files/cmake/Modules/FindSYCL.cmake
++++ b/build_files/cmake/Modules/FindSYCL.cmake
+@@ -81,7 +81,7 @@ endif()
+
+ FIND_PATH(SYCL_INCLUDE_DIR
+ NAMES
+- sycl/sycl.hpp
++ sycl/CL/sycl.hpp
+ HINTS
+ ${_sycl_search_dirs}
+ PATH_SUFFIXES
Copied: blender/repos/community-staging-x86_64/force-draco1.patch (from rev
1446687, blender/trunk/force-draco1.patch)
===================================================================
--- community-staging-x86_64/force-draco1.patch (rev 0)
+++ community-staging-x86_64/force-draco1.patch 2023-04-17 10:46:50 UTC (rev
1446688)
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 75f5795db68..d50686adfb0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -754,10 +754,6 @@ endif()
+ set_and_warn_dependency(WITH_PYTHON WITH_CYCLES OFF)
+ set_and_warn_dependency(WITH_PYTHON WITH_DRACO OFF)
+
+-if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL)
+- message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling
WITH_DRACO for now")
+- set(WITH_DRACO OFF)
+-endif()
+
+ # enable boost for cycles, audaspace or i18n
+ # otherwise if the user disabled
Copied: blender/repos/community-staging-x86_64/force-draco2.patch (from rev
1446687, blender/trunk/force-draco2.patch)
===================================================================
--- community-staging-x86_64/force-draco2.patch (rev 0)
+++ community-staging-x86_64/force-draco2.patch 2023-04-17 10:46:50 UTC (rev
1446688)
@@ -0,0 +1,21 @@
+diff --git a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
+index e7518ac4..c0d78564 100644
+--- a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
++++ b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
+@@ -13,6 +13,7 @@
+ # limitations under the License.
+
+ import os
++import site
+ import sys
+ from pathlib import Path
+ import bpy
+@@ -30,7 +31,7 @@ def dll_path() -> Path:
+ python_lib = Path('{v[0]}.{v[1]}/python/lib'.format(v=bpy.app.version))
+ python_version = 'python{v[0]}.{v[1]}'.format(v=sys.version_info)
+
+- path = os.environ.get('BLENDER_EXTERN_DRACO_LIBRARY_PATH')
++ path = f"{site.getsitepackages()[0]}/libextern_draco.so"
+ if path is None:
+ path = {
+ 'win32': blender_root / python_lib / 'site-packages',