summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefanos Carlström2021-07-30 12:13:04 +0200
committerStefanos Carlström2021-07-30 14:37:50 +0200
commit6d69da9e904a62b9504cbf33e332d0b29a7c5058 (patch)
tree565afad76799d65bb8047b01fd6d1deb840b2ae2
parenta9a98749c784e6c36a2f740272b2f2aa43e506bf (diff)
downloadaur-6d69da9e904a62b9504cbf33e332d0b29a7c5058.tar.gz
Updated to 2.93.1
-rw-r--r--PKGBUILD87
-rw-r--r--blender-openexr3.patch42
-rw-r--r--cuda11.patch91
3 files changed, 81 insertions, 139 deletions
diff --git a/PKGBUILD b/PKGBUILD
index e364f2b776b2..3bb9d1b7dbfc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,87 +4,78 @@
# main package repo, but customized to compile a standalone Python
# module.
-_gittag=v2.90.0
-# _gitcommit=rB5b416ffb848e66238d9646a239840499f98121a9
-
pkgname=blender-as-py-module
-pkgver=2.90.0
-[[ -n $_gitcommit ]] && pkgver=${pkgver}.git1.${_gitcommit:0:8}
+pkgver=2.93.1
pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite, to be used as Python module. Useful for programmatic/batch rendering."
arch=('x86_64')
license=('GPL')
-url="http://www.blender.org"
-depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils'
- 'python-requests' 'shared-mime-info' 'hicolor-icon-theme'
- 'xdg-utils' 'glew' 'openjpeg2' 'python-numpy' 'freetype2'
- 'boost-libs' 'openimageio' 'opencolorio'
- 'openshadinglanguage' 'libspnav' 'ptex' 'opensubdiv'
- 'log4cplus' 'embree')
+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')
makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja')
optdepends=('cuda: cycles renderer cuda support')
options=(!strip)
-source=("git://git.blender.org/blender-addons.git"
- "git://git.blender.org/blender-addons-contrib.git"
- "git://git.blender.org/blender-translations.git"
- "git://git.blender.org/blender-dev-tools.git"
- https://git.blender.org/gitweb/gitweb.cgi/blender.git/patch/91aeb452ab251b307311fe869e8e14df945ec6bc
- cuda11.patch
- https://developer.download.nvidia.com/redist/optix/v7.0/OptiX-7.0.0-include.zip)
-if [[ -n $_gittag ]]; then
- source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}")
-elif [[ -n $_gitcommit ]]; then
- source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#commit=${_gitcommit}")
-fi
+source=("${pkgname}-${pkgver}::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.0/OptiX-7.0.0-include.zip
+ blender-openexr3.patch)
sha512sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
- '46358fe7dab620eb9a7414baa851e7d28818b7c2845f723f7dd0f4b0f721902583a6b57c9c2d5e153c5057cc958727489d301c5195dfd3befee96cde539d813a'
- '76d55f49cf0475d3050a3ff534da47345aae862fd5ee0e336143c041ef58c5d4ebd6e922eb8a23c01cc35d19537c46698910b0b52a090cdcea4e5f67e4fb5650'
+ 'SKIP'
'b2cff73def3757d4259f4b4d318a8ccfe166bf7c215cbb2124f1c81bd6e742f96207285b24eb4d99b527b7b97dc6d5e8fdf2f16d78d5d1e2684c26d681328491'
- 'SKIP')
+ 'e2dd7210d26b70445e9ae8e33dea35111ad0b0aca9d3b4ded3df560d0fcc8dc044868f729e0f090a04b6f316f083b5505a7056ce088e8702065add87b9b457e5')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
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 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 submodule update
+ git submodule foreach git checkout v${pkgver}
- if [[ -n $_gittag ]]; then
- git submodule foreach git checkout v${pkgver}
- fi
-
- patch -Np1 -i "$srcdir"/91aeb452ab251b307311fe869e8e14df945ec6bc
- patch -Np1 -i "$srcdir"/cuda11.patch
-
- mkdir -p build
+ patch -p1 < "$srcdir"/blender-openexr3.patch # Fix build with OpenEXR 3
}
build() {
- cd "$srcdir/$pkgname-$pkgver"/build
+ cd "$srcdir/$pkgname-$pkgver"
+
+ local PYTHON_VER=3.9
+ export PYTHONHASHSEED=0
- cmake -GNinja -C../build_files/cmake/config/bpy_module.cmake .. \
+ cmake . \
+ -Bbuild \
+ -GNinja \
+ -Cbuild_files/cmake/config/bpy_module.cmake .. \
-DOPTIX_ROOT_DIR="$srcdir"/include \
-DWITH_CYCLES_EMBREE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
- -DPYTHON_VERSION=3.8 \
- -DWITH_MEM_JEMALLOC=OFF \
+ -DWITH_INSTALL_PORTABLE=OFF \
+ -DWITH_PYTHON_INSTALL=OFF \
+ -DPYTHON_VERSION=$PYTHON_VER \
-DPYTHON_LIBPATH=/usr/lib \
- -DPYTHON_LIBRARY=python3.8 \
- -DPYTHON_INCLUDE_DIRS=/usr/include/python3.8
- ninja -j2
+ -DPYTHON_LIBRARY=python$PYTHON_VER \
+ -DPYTHON_INCLUDE_DIRS=/usr/include/python$PYTHON_VER \
+ -DCMAKE_CXX_FLAGS="-I /usr/include/python$PYTHON_VER"
+ ninja -C build
}
package() {
- cd "$srcdir/$pkgname-$pkgver/build"
+ cd "$srcdir/$pkgname-$pkgver"
- DESTDIR="${pkgdir}" ninja install
+ DESTDIR="${pkgdir}" ninja -C build install
python -m compileall "${pkgdir}/usr/share/blender"
python -O -m compileall "${pkgdir}/usr/share/blender"
}
diff --git a/blender-openexr3.patch b/blender-openexr3.patch
new file mode 100644
index 000000000000..73a727a3dbc9
--- /dev/null
+++ b/blender-openexr3.patch
@@ -0,0 +1,42 @@
+diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
+index 090f80b8df7..a2f7b4c622b 100644
+--- a/build_files/cmake/Modules/FindOpenEXR.cmake
++++ b/build_files/cmake/Modules/FindOpenEXR.cmake
+@@ -34,11 +34,10 @@ ENDIF()
+ SET(_openexr_libs_ver_init "2.0")
+
+ SET(_openexr_FIND_COMPONENTS
+- Half
+ Iex
+- IlmImf
+- IlmThread
+ Imath
++ OpenEXR
++ IlmThread
+ )
+
+ SET(_openexr_SEARCH_DIRS
+@@ -120,7 +119,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
+ IF(OPENEXR_FOUND)
+ SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
+ # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :(
+- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR)
++ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath)
+ ENDIF()
+
+ MARK_AS_ADVANCED(
+diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
+index 382d86f2645..eff50b19c31 100644
+--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
++++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
+@@ -38,8 +38,10 @@
+ #include <ImfChannelList.h>
+ #include <ImfCompression.h>
+ #include <ImfCompressionAttribute.h>
++#include <ImfFrameBuffer.h>
+ #include <ImfIO.h>
+ #include <ImfInputFile.h>
++#include <ImfInt64.h>
+ #include <ImfOutputFile.h>
+ #include <ImfPixelType.h>
+ #include <ImfStandardAttributes.h>
diff --git a/cuda11.patch b/cuda11.patch
deleted file mode 100644
index 390dead1c26a..000000000000
--- a/cuda11.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 76d2d578dc3..e0c83cb5e18 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -375,7 +375,7 @@ option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF)
- option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
- option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
- mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
--set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 compute_75 CACHE STRING "CUDA architectures to build binaries for")
-+set(CYCLES_CUDA_BINARIES_ARCH sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 compute_75 sm_80 compute_80 CACHE STRING "CUDA architectures to build binaries for")
- mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
- unset(PLATFORM_DEFAULT)
- option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON)
-diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake
-index c6aa359c82c..8d8bf109958 100644
---- a/build_files/cmake/config/blender_release.cmake
-+++ b/build_files/cmake/config/blender_release.cmake
-@@ -55,7 +55,7 @@ set(WITH_USD ON CACHE BOOL "" FORCE)
- set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
- set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
- set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
--set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm_75;compute_75 CACHE STRING "" FORCE)
-+set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm_75;compute_75;sm_80;compute_80 CACHE STRING "" FORCE)
- set(WITH_CYCLES_DEVICE_OPTIX ON CACHE BOOL "" FORCE)
-
- # platform dependent options
-diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt
-index e5a5e9773d3..1bc11953db2 100644
---- a/intern/cycles/CMakeLists.txt
-+++ b/intern/cycles/CMakeLists.txt
-@@ -314,7 +314,7 @@ if(WITH_CYCLES_CUDA_BINARIES AND (NOT WITH_CYCLES_CUBIN_COMPILER))
- set(MAX_MSVC 1910)
- elseif(${CUDA_VERSION} EQUAL "9.1")
- set(MAX_MSVC 1911)
-- elseif(${CUDA_VERSION} LESS "11.0")
-+ elseif(${CUDA_VERSION} LESS "12.0")
- set(MAX_MSVC 1999)
- endif()
- if(NOT MSVC_VERSION LESS ${MAX_MSVC} OR CMAKE_C_COMPILER_ID MATCHES "Clang")
-diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
-index db146226dc7..7993fb8c263 100644
---- a/intern/cycles/kernel/CMakeLists.txt
-+++ b/intern/cycles/kernel/CMakeLists.txt
-@@ -473,8 +473,12 @@ if(WITH_CYCLES_CUDA_BINARIES)
- foreach(arch ${CYCLES_CUDA_BINARIES_ARCH})
- if(${arch} MATCHES "sm_2.")
- message(STATUS "CUDA binaries for ${arch} are no longer supported, skipped.")
-+ elseif(${arch} MATCHES "sm_30" AND ${CUDA_VERSION} GREATER 109)
-+ message(STATUS "CUDA binaries for ${arch} are no longer supported, skipped.")
- elseif(${arch} MATCHES "sm_7." AND ${CUDA_VERSION} LESS 100)
- message(STATUS "CUDA binaries for ${arch} require CUDA 10.0+, skipped.")
-+ elseif(${arch} MATCHES "sm_8." AND ${CUDA_VERSION} LESS 110)
-+ message(STATUS "CUDA binaries for ${arch} require CUDA 11.0+, skipped.")
- else()
- # Compile regular kernel
- CYCLES_CUDA_KERNEL_ADD(${arch} ${prev_arch} filter "" "${cuda_filter_sources}" FALSE)
-@@ -513,6 +517,11 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
- set(cuda_flags ${cuda_flags}
- -D __KERNEL_DEBUG__)
- endif()
-+ set(OPTIX_TARGET 30)
-+ if(${CUDA_VERSION} GREATER 109) #cuda 11
-+ set(OPTIX_TARGET 52)
-+ endif()
-+
- if(WITH_CYCLES_CUBIN_COMPILER)
-
- # Needed to find libnvrtc-builtins.so. Can't do it from inside
-@@ -524,7 +533,6 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
- set(CUBIN_CC_ENV ${CMAKE_COMMAND}
- -E env LD_LIBRARY_PATH="${CUDA_TOOLKIT_ROOT_DIR}/lib64")
- endif()
--
- add_custom_command(
- OUTPUT ${output}
- DEPENDS
-diff --git a/intern/cycles/kernel/kernels/cuda/kernel_config.h b/intern/cycles/kernel/kernels/cuda/kernel_config.h
-index 3ec00762e72..8e650129d8b 100644
---- a/intern/cycles/kernel/kernels/cuda/kernel_config.h
-+++ b/intern/cycles/kernel/kernels/cuda/kernel_config.h
-@@ -70,8 +70,8 @@
- # endif
- # define CUDA_KERNEL_BRANCHED_MAX_REGISTERS 63
-
--/* 7.x */
--#elif __CUDA_ARCH__ <= 799
-+/* 7.x / 8.x */
-+#elif __CUDA_ARCH__ <= 899
- # define CUDA_MULTIPRESSOR_MAX_REGISTERS 65536
- # define CUDA_MULTIPROCESSOR_MAX_BLOCKS 32
- # define CUDA_BLOCK_MAX_THREADS 1024