diff options
author | Stefanos Carlström | 2021-07-30 12:13:04 +0200 |
---|---|---|
committer | Stefanos Carlström | 2021-07-30 14:37:50 +0200 |
commit | 6d69da9e904a62b9504cbf33e332d0b29a7c5058 (patch) | |
tree | 565afad76799d65bb8047b01fd6d1deb840b2ae2 | |
parent | a9a98749c784e6c36a2f740272b2f2aa43e506bf (diff) | |
download | aur-6d69da9e904a62b9504cbf33e332d0b29a7c5058.tar.gz |
Updated to 2.93.1
-rw-r--r-- | PKGBUILD | 87 | ||||
-rw-r--r-- | blender-openexr3.patch | 42 | ||||
-rw-r--r-- | cuda11.patch | 91 |
3 files changed, 81 insertions, 139 deletions
@@ -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 |