diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | embree.patch | 2 | ||||
-rw-r--r-- | openexr3.patch | 42 | ||||
-rw-r--r-- | usd_python.patch | 2 |
5 files changed, 81 insertions, 28 deletions
@@ -1,6 +1,6 @@ pkgbase = blender-wayland-git pkgdesc = A fully integrated 3D graphics creation suite (development) - pkgver = 2.93.r103725.g80a8df72be9 + pkgver = 3.1.r111319.g5457b663011 pkgrel = 1 url = https://blender.org/ arch = i686 @@ -18,6 +18,9 @@ pkgbase = blender-wayland-git depends = python depends = python-numpy depends = openjpeg2 + depends = libharu + depends = potrace + depends = openxr depends = ffmpeg depends = fftw depends = openal @@ -33,7 +36,7 @@ pkgbase = blender-wayland-git depends = libpng optdepends = cuda: CUDA support in Cycles optdepends = optix=7.1.0: OptiX support in Cycles - optdepends = usd=20.05: USD export Scene + optdepends = usd=21.05: USD export Scene optdepends = openimagedenoise: Intel Open Image Denoise support in compositing provides = blender conflicts = blender @@ -44,13 +47,14 @@ pkgbase = blender-wayland-git source = blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git source = usd_python.patch source = embree.patch + source = openexr3.patch sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = 12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a - sha256sums = 6249892f99ffd960e36f43fb893c14e2f8e4dd1d901b9581d25882e865f2603f + sha256sums = 333b6fd864d55da2077bc85c55af1a27d4aee9764a1a839df26873a9f19b8703 + sha256sums = ab353b7a9fdb5e9a87fefdade6915f44660299b67446735a9720833aa45f6be8 + sha256sums = 5297dc61cc4edcc1d5bad3474ab882264b69d68036cebbd0f2600d9fe21d5a1b pkgname = blender-wayland-git - @@ -1,29 +1,35 @@ +#!/bin/hint/bash # Maintainer: Jeremy Attali <contact@jtheoof.me> -# Contributor: Fredrick Brennan <copypaste@kittens.ph> -# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com> # Based on blender-git with wayland build flags -# Configuration. -_fragment=${FRAGMENT:-#branch=master} -[[ -v CUDA_ARCH ]] && _CUDA_ARCH=(${CUDA_ARCH}) -((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) +#Configuration: +#Use: makepkg VAR1=0 VAR2=1 to enable(1) disable(0) a feature +#Use: {yay,paru} --mflags=VAR1=0,VAR2=1 +#Use: aurutils --margs=VAR1=0,VAR2=1 +#Use: VAR1=0 VAR2=1 pamac + +# Use FRAGMENT=#{commit,tag,brach}=xxx for bisect build +_fragment="${FRAGMENT:-#branch=master}" + +# Use CUDA_ARCH to build for specific GPU architecture +# Supports: single arch (sm_52) and list of archs (sm_52;sm_60) +[[ -v CUDA_ARCH ]] && _CMAKE_FLAGS+=(-DCYCLES_CUDA_BINARIES_ARCH="${CUDA_ARCH}") #some extra, unofficially supported stuff goes here: -_CMAKE_FLAGS+=( -DWITH_ALEMBIC_HDF5=ON ) _CMAKE_FLAGS+=( -DWITH_CYCLES_NETWORK=OFF ) pkgname=blender-wayland-git -pkgver=2.93.r103725.g80a8df72be9 +pkgver=3.1.r111319.g5457b663011 pkgrel=1 pkgdesc="A fully integrated 3D graphics creation suite (development)" arch=('i686' 'x86_64') url="https://blender.org/" -depends+=('alembic' 'embree' 'libgl' 'python' 'python-numpy' 'openjpeg2' +depends+=('alembic' 'embree' 'libgl' 'python' 'python-numpy' 'openjpeg2' 'libharu' 'potrace' 'openxr' 'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'openimageio' 'opencolorio' 'openvdb' 'opencollada' 'opensubdiv' 'openshadinglanguage' 'libtiff' 'libpng') optdepends=('cuda: CUDA support in Cycles' 'optix=7.1.0: OptiX support in Cycles' - 'usd=20.05: USD export Scene' + 'usd=21.05: USD export Scene' 'openimagedenoise: Intel Open Image Denoise support in compositing') makedepends=('git' 'cmake' 'boost' 'mesa' 'ninja' 'llvm') provides=('blender') @@ -41,14 +47,16 @@ source=("git://git.blender.org/blender.git${_fragment}" 'blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git' usd_python.patch #add missing python headers when building against python enabled usd. embree.patch #add missing embree link. + openexr3.patch #fix build against openexr:3 ) sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' - '12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a' - '6249892f99ffd960e36f43fb893c14e2f8e4dd1d901b9581d25882e865f2603f') + '333b6fd864d55da2077bc85c55af1a27d4aee9764a1a839df26873a9f19b8703' + 'ab353b7a9fdb5e9a87fefdade6915f44660299b67446735a9720833aa45f6be8' + '5297dc61cc4edcc1d5bad3474ab882264b69d68036cebbd0f2600d9fe21d5a1b') pkgver() { blender_version=$(grep -Po "BLENDER_VERSION \K[0-9]{3}" "$srcdir"/blender/source/blender/blenkernel/BKE_blender_version.h) @@ -63,37 +71,35 @@ prepare() { cd "$srcdir/blender" # update the submodules git submodule update --init --recursive --remote - git apply -v "${srcdir}"/{embree,usd_python}.patch + git apply -v "${srcdir}"/{embree,usd_python,openexr3}.patch } build() { _pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))") + msg "python version detected: ${_pyver}" # determine whether we can precompile CUDA kernels - _CUDA_PKG=`pacman -Qq cuda 2>/dev/null` || true + _CUDA_PKG=$(pacman -Qq cuda 2>/dev/null) || true if [ "$_CUDA_PKG" != "" ]; then _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON - -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda ) - if [[ -v _CUDA_ARCH ]]; then - _CMAKE_FLAGS+=( -DCYCLES_CUDA_BINARIES_ARCH="$(IFS=';'; echo "${_CUDA_ARCH[*]}";)" ) - fi + -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda ) fi # check for optix - _OPTIX_PKG=`pacman -Qq optix 2>/dev/null` || true + _OPTIX_PKG=$(pacman -Qq optix 2>/dev/null) || true if [ "$_OPTIX_PKG" != "" ]; then _CMAKE_FLAGS+=( -DWITH_CYCLES_DEVICE_OPTIX=ON -DOPTIX_ROOT_DIR=/opt/optix ) fi # check for open image denoise - _OIDN_PKG=`pacman -Qq openimagedenoise 2>/dev/null` || true + _OIDN_PKG=$(pacman -Qq openimagedenoise 2>/dev/null) || true if [ "$_OIDN_PKG" != "" ]; then _CMAKE_FLAGS+=( -DWITH_OPENIMAGEDENOISE=ON ) fi # check for universal scene descriptor - _USD_PKG=`pacman -Qq usd=20.05 2>/dev/null` || true + _USD_PKG=$(pacman -Qq usd=21.02 2>/dev/null) || true if [ "$_USD_PKG" != "" ]; then _CMAKE_FLAGS+=( -DWITH_USD=ON -DUSD_ROOT=/usr ) @@ -107,6 +113,7 @@ build() { -DWITH_SYSTEM_GLEW=OFF \ -DWITH_PYTHON_INSTALL=OFF \ -DWITH_GHOST_WAYLAND=ON \ + -DXR_OPENXR_SDK_ROOT_DIR=/usr \ -DPYTHON_VERSION="${_pyver}" \ "${_CMAKE_FLAGS[@]}" ninja -C "$srcdir/build" ${MAKEFLAGS:--j1} diff --git a/embree.patch b/embree.patch index e638b434d75f..4790c4ea873a 100644 --- a/embree.patch +++ b/embree.patch @@ -54,4 +54,4 @@ index 2316800e21e..591841152e2 100644 + set(ADDON_FILES addon/__init__.py - addon/engine.py + addon/camera.py diff --git a/openexr3.patch b/openexr3.patch new file mode 100644 index 000000000000..73a727a3dbc9 --- /dev/null +++ b/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/usd_python.patch b/usd_python.patch index a72d75cd6f0e..8cf7e8fcbbd4 100644 --- a/usd_python.patch +++ b/usd_python.patch @@ -7,7 +7,7 @@ index ac570f17e47..505aa97934c 100644 list(APPEND __boost_packages iostreams) endif() + if(WITH_USD) -+ list(APPEND __boost_packages python27) ++ list(APPEND __boost_packages python) + endif() list(APPEND __boost_packages system) find_package(Boost 1.48 COMPONENTS ${__boost_packages}) |