summaryrefslogtreecommitdiff
path: root/libre/blender
diff options
context:
space:
mode:
Diffstat (limited to 'libre/blender')
-rw-r--r--libre/blender/PKGBUILD30
1 files changed, 25 insertions, 5 deletions
diff --git a/libre/blender/PKGBUILD b/libre/blender/PKGBUILD
index 252dd20be..6abd605b2 100644
--- a/libre/blender/PKGBUILD
+++ b/libre/blender/PKGBUILD
@@ -34,9 +34,13 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requ
'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2')
depends_x86_64=('embree' 'openimagedenoise')
depends_i686=('embree')
-[[ "${CARCH}" == 'i686' ]] && depends[21]='openimageio=2.1.16.0' # FIXME: special case dep - presently, 'openxr' is only in community-testing;
- # but 'community-testing/openimageio' is incompatible with 'openshadinglanguage'
makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'ninja')
+if [[ "${CARCH}" == 'i686' ]]
+then # FIXME: special case deps - presently, 'openxr' is only in [community-testing]
+ depends[21]='openimageio=2.1.16.0' # but 'community-testing/openimageio' is incompatible with 'openshadinglanguage', so we must specify the one in [community]
+ depends+=('jsoncpp=1.9.4') # also 'extra/jsoncpp' is incompatible with 'openxr', so we must specify the one in [testing]
+ makedepends[0]='cmake=3.18.1' # and 'extra/cmake' is incompatible with 'testing/jsoncpp', so we must specify the one in [testing]
+fi
options=(!strip)
source=("git://git.blender.org/blender.git#tag=v$pkgver"
"git://git.blender.org/blender-addons.git"
@@ -90,18 +94,34 @@ prepare() {
# set OS type string
sed -i 's|BUILD_PLATFORM;|"GNU/Linux-libre";|' 'source/creator/buildinfo.c'
+
+ # FIXME: error: implicit declaration of function ‘atomic_add_and_fetch_uint64’;
+ # did you mean ‘atomic_add_and_fetch_uint32’? [-Werror=implicit-function-declaration]
+ if [[ "${CARCH}" == 'armv7h' ]] || [[ "${CARCH}" == 'i686' ]]
+ then local sed_cmd='s| atomic_add_and_fetch_uint64(| atomic_add_and_fetch_uint32(|'
+ sed -i "${sed_cmd}" source/blender/blenlib/intern/session_uuid.c
+ fi
}
build() {
cd "$pkgname"
+ # libre changes
+ local _extra_opts=( -DWITH_CYCLES_CUDA_BINARIES=OFF \
+ -DWITH_CYCLES_DEVICE_CUDA=OFF \
+ -DWITH_CYCLES_DEVICE_OPTIX=OFF )
+ # arch-specific options
+ case "${CARCH}" in
+ 'i686' ) _extra_opts+=( -DWITH_RAYOPTIMIZATION=OFF \
+ -DWITH_CYCLES_EMBREE=ON ) ;;
+ 'x86_64') _extra_opts+=( -DWITH_CYCLES_EMBREE=ON ) ;;
+ esac
+
cmake . \
-Bbuild \
-GNinja \
-Cbuild_files/cmake/config/blender_release.cmake \
- -DWITH_CYCLES_DEVICE_OPTIX=OFF \
- -DWITH_CYCLES_CUDA_BINARIES='OFF' \
- -DWITH_CYCLES_DEVICE_CUDA='OFF' \
+ ${_extra_opts[@]} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_INSTALL_PORTABLE=OFF \