diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 65 |
1 files changed, 44 insertions, 21 deletions
@@ -3,14 +3,14 @@ # shellcheck disable=SC2034,SC2154 # allow unused/unset variables # shellcheck disable=SC2191 # preserve current _CMAKE_FLAGS initialization. -# To force cuda compute arch uncomment this line and update value of sm_xx model accordingly -#_cuda_capability+=(sm_30 sm_35 sm_37) -#_cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) -((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) # Travis memory limit is not enough to build for arch 3.x. - # Configuration. -_fragment="#branch=blender-v2.82-release" +_blenver="2.82" +_branch="blender-v${_blenver}-release" +_fragment=${FRAGMENT:-#branch=${_branch}} +[[ -v CUDA_ARCH ]] && _cuda_capability=${CUDA_ARCH} + #some extra, unofficially supported stuff goes here: +((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) # Travis memory limit is not enough to build for arch 3.x. _CMAKE_FLAGS+=( -DWITH_ALEMBIC_HDF5=ON ) ((DISABLE_EMBREE)) || { _CMAKE_FLAGS+=( -DWITH_CYCLES_EMBREE=ON ) @@ -23,12 +23,12 @@ _CMAKE_FLAGS+=( -DWITH_ALEMBIC_HDF5=ON ) } ((DISABLE_NINJA)) || makedepends+=('ninja') #shellcheck disable=SC2015 -((DISABLE_CUDA)) && optdepends+=('cuda: CUDA support in Cycles') || { makedepends+=('cuda') ; ((DISABLE_OPTIX)) || makedepends+=('optix>=7.0'); } +((DISABLE_CUDA)) && optdepends+=('cuda: CUDA support in Cycles') || { makedepends+=('cuda') ; ((DISABLE_OPTIX)) || makedepends+=('optix=7.0'); } -pkgname=blender-2.82-git -pkgver=2.82.r92824.g375c7dc4caf -pkgrel=1 -pkgdesc="Development version of Blender 2.8 branch" +pkgname=blender-${_blenver}-git +pkgver=2.82.r92825.g53b66eced01 +pkgrel=2 +pkgdesc="Maintenance version of Blenders ${_branch} branch" changelog=blender.changelog arch=('i686' 'x86_64') url="https://blender.org/" @@ -37,8 +37,8 @@ depends+=('alembic' 'libgl' 'python' 'python-numpy' 'openjpeg2' 'openvdb' 'opencollada' 'opensubdiv' 'openshadinglanguage' 'libtiff' 'libpng') depends+=('openimagedenoise') makedepends+=('git' 'cmake' 'boost' 'mesa' 'llvm') -provides=("blender-${pkgver%%.r*}") -conflicts=("blender-${pkgver%%.r*}") +provides=("blender-${_blenver}") +conflicts=("blender-${_blenver}") license=('GPL') # NOTE: the source array has to be kept in sync with .gitmodules # the submodules has to be stored in path ending with git to match @@ -52,8 +52,12 @@ source=("git://git.blender.org/blender.git${_fragment}" 'blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git' SelectCudaComputeArch.patch usd_python.patch #add missing python headers when building against python enabled usd. - embree.patch #add missing embree link. addon_path.patch + embree.patch #add missing embree link. + 'cuda11.patch' + 'cpp14.patch::https://git.blender.org/gitweb/gitweb.cgi/blender.git/patch/171c4fb238a2a65291540ac5406187bc69f3a6bc' + 'python39.patch::https://git.blender.org/gitweb/gitweb.cgi/blender.git/patch/56d0df51a36fdce7ec2d1fbb7b47b1d95b591b5f' + 'osl111.patch::https://git.blender.org/gitweb/gitweb.cgi/blender.git/patch/7d85b6431fc331d9869f945bf7c9f3353b7b8c95' ) sha256sums=('SKIP' 'SKIP' @@ -61,9 +65,26 @@ sha256sums=('SKIP' 'SKIP' 'SKIP' '66b9bf3db441f35119ef0eb5f855142f2e773e8002ac0216e056bcc6f8ac409c' - '12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a' + '893b127c9e0ea1a67905434f729b45a993c58a7ea954f9f89480ad1cc0578849' + '350063cd4f234565bd928a356b4e5f65cf37fc1377904a08bf60f7010c88740b' '42afe119529a5350034a489225958112bf4b84bdee38757a932e5caaa9bd5ed4' - '81e0047ba48662ee0ec1da1ffd427641305a0edc68c7913da9460ae4c1fefe72') + '0316d92f180f2fa428a206074bd5adfd30968f9ae5d308efea05e42741dd53fd' + '41e745b8fb37464a83dfedc09ff2158369cec09b96fdc855b71001e16b6cbe75' + '7ae5ac4d636934cd46213e3f29ea67013d17316e122d8f312daec288e4f90cd9' + '99b96f4f6d02cd3e226d814175f7915a85a43966216d5a522265c68091a3b73a') +b2sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '0024f04fd0061313010a61b88634a0b86ed69695a7c072ff40f50ebab6a274ccf8ed7ed3381e501b218503f08c82b23f3f743208eb0feb81d4735c2a0c93989f' + '221413e5f4fc4194e091310a2adde9d864c092684e028fd979213b2be9180da912a240483aa45ee49c557a964167cd7e86e0224372c9de49958e8da5fcee14cd' + '3920bd3c479aa1c25427ea822c6d888ccfaf404f7b709eec78e42bb4ca79739723240178ed23524dd36a0a07c94eb69f1fc28d8875858b04b6d32cccf52af1f7' + '62567f79f86684e7fd99b8879b692e862c7ea85317cfacae4539d3035fe3ffc71fd39b0aa385be1efc8c31c8fe9ccac86e4b20275905150540349ba5fe3f8cbb' + '6f7958fbea799f5ecdf556112e3adc497686c00df8d460a094a818b007292dd6894ff6d280de8f88bc81cea3c52a7e003f44ea1048af52ccf11b5514e75b89ea' + '33f4b7e71153b272f0ae3b16c9eabdb65fb275c2344a6454866c660ac9bdf6da1207e75c6f9198c64c52cebeab71f816d2852425596c0cfbcfed0835e64403ff' + '4b11df6d494644e740cfda654fbebb2988c430d18c093739724f331738099100925fd0399b94cf0a1188c4ae804081c8380424b64f35355f7cbfde6c7ee91b44' + 'ab990d0771b593ec9e8637e330ba2721fe9d6c82c72eb2296f1580129da0e4de525e58921869fabd36c3b92ec4fc1754b7dc4cb2da1674b5baa5d26332eebdc8') pkgver() { blender_version=$(grep -Po "BLENDER_VERSION \K[0-9]{3}" "$srcdir"/blender/source/blender/blenkernel/BKE_blender_version.h) @@ -80,11 +101,12 @@ prepare() { if [ ! -v _cuda_capability ] && grep -q nvidia <(lsmod); then git -C "$srcdir/blender" apply -v "${srcdir}"/SelectCudaComputeArch.patch fi + if [[ -v _suffix ]]; then + git -C "$srcdir/blender" apply -v <(sed "s/@@_suffix@@/${_suffix}/g" "${srcdir}/addon_path.patch") + fi ((DISABLE_USD)) || git -C "$srcdir/blender" apply -v "${srcdir}"/usd_python.patch ((DISABLE_EMBREE)) || git -C "$srcdir/blender" apply -v "${srcdir}"/embree.patch - if [[ -v _sufix ]]; then - git apply -v <(sed "s/@@_sufix@@/${_sufix}/g" "${srcdir}/addon_path.patch") - fi + git -C "$srcdir/blender" apply -v "$srcdir"/{cpp14,cuda11,python39,osl111}.patch } build() { @@ -92,7 +114,8 @@ build() { msg "python version detected: ${_pyver}" # determine whether we can precompile CUDA kernels - if pacman -Qq cuda 2>&- ; then + _CUDA_PKG=$(pacman -Qq cuda 2>/dev/null) || true + if [ "$_CUDA_PKG" != "" ] && ! ((DISABLE_CUDA)) ; then _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda ) ((DISABLE_OPTIX)) || _CMAKE_FLAGS+=( -DOPTIX_ROOT_DIR=/opt/optix ) @@ -121,7 +144,7 @@ build() { } package() { - _suffix=${pkgver%%.r*} + local _suffix=${_blenver}${_suffix:+_$_suffix} export DESTDIR="$pkgdir" if ((DISABLE_NINJA)); then make -C "$srcdir/build" install; else ninja -C "$srcdir/build" install; fi |