Date: Sunday, March 5, 2023 @ 02:55:21
Author: svenstaro
Revision: 1412595
archrelease: copy trunk to community-testing-x86_64
Added:
blender/repos/community-testing-x86_64/
blender/repos/community-testing-x86_64/PKGBUILD
(from rev 1412594, blender/trunk/PKGBUILD)
blender/repos/community-testing-x86_64/blender-numpy.patch
(from rev 1412594, blender/trunk/blender-numpy.patch)
blender/repos/community-testing-x86_64/blender-sycl-path.patch
(from rev 1412594, blender/trunk/blender-sycl-path.patch)
blender/repos/community-testing-x86_64/force-draco1.patch
(from rev 1412594, blender/trunk/force-draco1.patch)
blender/repos/community-testing-x86_64/force-draco2.patch
(from rev 1412594, blender/trunk/force-draco2.patch)
-------------------------+
PKGBUILD | 129 ++++++++++++++++++++++++++++++++++++++++++++++
blender-numpy.patch | 13 ++++
blender-sycl-path.patch | 13 ++++
force-draco1.patch | 15 +++++
force-draco2.patch | 21 +++++++
5 files changed, 191 insertions(+)
Copied: blender/repos/community-testing-x86_64/PKGBUILD (from rev 1412594,
blender/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2023-03-05 02:55:21 UTC (rev 1412595)
@@ -0,0 +1,129 @@
+# 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.4.1
+pkgrel=15
+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' 'embree' 'libharu'
+ 'draco' 'openpgl' 'level-zero-loader'
'intel-oneapi-compiler-shared-runtime'
+ 'level-zero-loader')
+makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja'
'wayland-protocols' 'libxkbcommon'
+ 'libdecor' 'hip-runtime-amd' 'level-zero-headers'
'intel-oneapi-dpcpp-cpp'
+ 'intel-compute-runtime')
+optdepends=('cuda: cycles renderer cuda support'
+ 'libdecor: wayland support')
+source=("git+https://git.blender.org/blender.git#tag=v$pkgver"
+ "git+https://git.blender.org/blender-addons.git"
+ "git+https://git.blender.org/blender-addons-contrib.git"
+ "git+https://git.blender.org/blender-translations.git"
+ "git+https://git.blender.org/blender-dev-tools.git"
+
https://developer.download.nvidia.com/redist/optix/v7.5/OptiX-7.5-Include.zip
+ blender-sycl-path.patch
+ blender-numpy.patch
+ force-draco1.patch
+ force-draco2.patch)
+sha512sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+
'32a77c7a64c5d38f2af76b2c0d09c6b53b7adcc7d85a0b271ba09647858b21fb8f534da5dc4143079359cbedc8074a58715ff2cea0b85019596531a7dca8dbf7'
+
'bc9a80941a18aaddc3e8f2d9963e4f6b7eb1cf9f098418adb236771c3bedcab7b7a06121178f7498caba1af67116cd0ea549382e14a707163cdd5d8fbf3ee824'
+
'a39d9a13515b71d3b686d8f011b3eb9ee45de04f716627d711c5119317cb130c587da1b806f276f97064f814cfce3790b201731f047e5ec01e7d6f65acd04b3b'
+
'e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0'
+
'527ab66e5eace777de0043c1ca5787a488f6471450ce67fd6d08137ad0ef56177bc0c17696f30a5fca23fa55d8ca9c3f30cb7b17550dba2dbd8e89ca0b361990')
+
+prepare() {
+ cd "$pkgname"
+
+ git submodule init
+ git config submodule."release/scripts/addons".url "${srcdir}/blender-addons"
+ git config submodule."release/scripts/addons_contrib".url
"${srcdir}/blender-addons-contrib"
+ git config submodule."release/datafiles/locale".url
"${srcdir}/blender-translations"
+ git config submodule."source/tools".url "${srcdir}/blender-dev-tools"
+ git -c protocol.file.allow=always submodule update
+ git submodule foreach git checkout v${pkgver}
+
+ # fix build with boost 1.81.0
+ git format-patch -1 --stdout 79837c5ed4b5 | patch -Np1
+
+ patch -p1 -i "$srcdir"/force-draco1.patch
+ patch -p1 -d release/scripts/addons -i "$srcdir"/force-draco2.patch
+
+ # fix for FS#77376
+ patch -p1 -d release/scripts/addons -i "$srcdir"/blender-numpy.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
+
+ # If we enable the following flag, Blender will try to build prebuilt Intel
+ # OneAPI binaries using ocloc during the build process. However, this
+ # currently fails as the flags for ocloc are weird and it will crash when
+ # trying to build it. I asked Intel and Blender about it and am waiting on a
+ # response.
+ # -DOCLOC_INSTALL_DIR=/usr/ \
+ cmake \
+ -Bbuild \
+ -GNinja \
+ -Cbuild_files/cmake/config/blender_release.cmake \
+ -C precache \
+ -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 \
+ -DSYCL_CPP_FLAGS=--verbose \
+ -DCYCLES_ONEAPI_SYCL_OPTIONS_spir64="-options
'-ze-opt-large-register-file\ -ze-intel-enable-auto-large-GRF-mode'"
+ 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 release/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 JIT lib to proper place. No idea why it's not just statically
linked into Blender.
+ mv "${pkgdir}"/usr/share/blender/lib/libcycles_kernel_oneapi_jit.so
"${pkgdir}"/usr/lib/
+}
Copied: blender/repos/community-testing-x86_64/blender-numpy.patch (from rev
1412594, blender/trunk/blender-numpy.patch)
===================================================================
--- community-testing-x86_64/blender-numpy.patch
(rev 0)
+++ community-testing-x86_64/blender-numpy.patch 2023-03-05 02:55:21 UTC
(rev 1412595)
@@ -0,0 +1,13 @@
+diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
b/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
+index 41dd4d03..a97f9d38 100755
+--- a/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
++++ b/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
+@@ -572,7 +572,7 @@ def set_poly_smoothing(gltf, pymesh, mesh, vert_normals,
loop_vidxs):
+ # Try to guess which polys should be flat based on the fact that all the
+ # loop normals for a flat poly are = the poly's normal.
+
+- poly_smooths = np.empty(num_polys, dtype=np.bool)
++ poly_smooths = np.empty(num_polys, dtype=np.bool_)
+
+ poly_normals = np.empty(num_polys * 3, dtype=np.float32)
+ mesh.polygons.foreach_get('normal', poly_normals)
Copied: blender/repos/community-testing-x86_64/blender-sycl-path.patch (from
rev 1412594, blender/trunk/blender-sycl-path.patch)
===================================================================
--- community-testing-x86_64/blender-sycl-path.patch
(rev 0)
+++ community-testing-x86_64/blender-sycl-path.patch 2023-03-05 02:55:21 UTC
(rev 1412595)
@@ -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-testing-x86_64/force-draco1.patch (from rev
1412594, blender/trunk/force-draco1.patch)
===================================================================
--- community-testing-x86_64/force-draco1.patch (rev 0)
+++ community-testing-x86_64/force-draco1.patch 2023-03-05 02:55:21 UTC (rev
1412595)
@@ -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-testing-x86_64/force-draco2.patch (from rev
1412594, blender/trunk/force-draco2.patch)
===================================================================
--- community-testing-x86_64/force-draco2.patch (rev 0)
+++ community-testing-x86_64/force-draco2.patch 2023-03-05 02:55:21 UTC (rev
1412595)
@@ -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 = site.getsitepackages()[0]
+ if path is None:
+ path = {
+ 'win32': blender_root / python_lib / 'site-packages',