From 971d3ca74cf6b51c83ad5d924222fc0568bfae6c Mon Sep 17 00:00:00 2001 From: bill-auger Date: Wed, 25 Jan 2023 00:57:41 -0500 Subject: [blender]: upgrade to v3.4.1 --- libre/blender/PKGBUILD | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'libre/blender') diff --git a/libre/blender/PKGBUILD b/libre/blender/PKGBUILD index 4b8ad05d4..8bd31ffd8 100644 --- a/libre/blender/PKGBUILD +++ b/libre/blender/PKGBUILD @@ -30,8 +30,8 @@ pkgname=blender pkgver=3.4.1 [[ "${CARCH}" == 'i686' ]] && pkgver=3.1.2 -pkgrel=6 -pkgrel+=.parabola2 +pkgrel=12 +pkgrel+=.parabola1 epoch=17 pkgdesc="A fully integrated 3D graphics creation suite" arch=('x86_64') @@ -43,16 +43,16 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requ 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic' 'openxr' 'openimageio' 'libsndfile' 'jack' 'opencolorio' 'openshadinglanguage' 'openimagedenoise' 'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2' 'embree' 'libharu' - 'draco') -[[ "${CARCH}" != 'x86_64' ]] && depends=( ${depends[*]/openimagedenoise/} ) # unavailable for armv7h and i686 -[[ "${CARCH}" == 'armv7h' ]] && depends=( ${depends[*]/embree/} ) # unavailable for armv7h -[[ "${CARCH}" == 'i686' ]] && depends=( ${depends[*]/jack/pipewire-jack} ) # FS32#297: unable to satisfy dependency 'libcelt0.so=2-32' required by jack2 -[[ "${CARCH}" == 'i686' ]] && depends=( ${depends[*]/opensubdiv/} ) # FS32#182: fails to rebuild upstream -[[ "${CARCH}" == 'i686' ]] && depends=( ${depends[*]/openexr/} ) # FS32#182: fails to rebuild upstream -[[ "${CARCH}" == 'i686' ]] && depends=( ${depends[*]/openvdb/} ) # FS32#182: fails to rebuild upstream -makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja') + 'draco' 'openpgl') +[[ "${CARCH}" != x86_64 ]] && depends=( ${depends[*]/openimagedenoise/} ) # unavailable for armv7h and i686 +[[ "${CARCH}" == armv7h ]] && depends=( ${depends[*]/embree/} ) # unavailable for armv7h +[[ "${CARCH}" == i686 ]] && depends=( ${depends[*]/jack/pipewire-jack} ) # (arch32) FS32#297: unable to satisfy dependency 'libcelt0.so=2-32' required by jack2 +makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja' 'wayland-protocols' 'libxkbcommon' + 'libdecor') makedepends=( ${makedepends[*]/cuda/} ) # non-free -[[ "${CARCH}" == 'i686' ]] && makedepends+=( boost178-libs clang13 ) +[[ "${CARCH}" == i686 ]] && makedepends+=( boost178-libs clang13 ) +makedepends+=( libepoxy ) # FIXME: Could NOT find Epoxy (missing: Epoxy_LIBRARY Epoxy_INCLUDE_DIR) +optdepends=('libdecor: wayland support') options=(!strip) source=("git+https://git.blender.org/blender.git#tag=v$pkgver" "git+https://git.blender.org/blender-addons.git" @@ -127,9 +127,13 @@ prepare() { ## technical patching ## + # fix build with boost 1.81.0 + git format-patch -1 --stdout 79837c5ed4b5 | patch -Np1 + patch -p1 -i "$srcdir"/force-draco1.patch patch -p1 -d release/scripts/addons -i "$srcdir"/force-draco2.patch + # arch-specific technical patching case "${CARCH}" in armv7h) ;; @@ -145,13 +149,18 @@ prepare() { # did you mean ‘atomic_add_and_fetch_uint32’? [-Werror=implicit-function-declaration] # this is known upstream 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 ; ! grep ' atomic_add_and_fetch_uint64(|' source/blender/blenlib/intern/session_uuid.c ; + local target_file=source/blender/blenlib/intern/session_uuid.c + sed -i "${sed_cmd}" ${target_file} ; ! grep ' atomic_add_and_fetch_uint64(|' ${target_file} ; # FIXME: intern/cycles/kernel/../util/transform_inverse.h:15:9: error: ‘ssef’ does not name a type # -- SSE2 SIMD instructions enabled - sed -i 's|if(NOT DEFINED SUPPORT_SSE2_BUILD|& AND FALSE|' build_files/cmake/macros.cmake ; grep 'if(NOT DEFINED SUPPORT_SSE2_BUILD AND FALSE' build_files/cmake/macros.cmake ; + sed_cmd='s|if(NOT DEFINED SUPPORT_SSE2_BUILD|& AND FALSE|' + target_file=build_files/cmake/macros.cmake + sed -i "${sed_cmd}" ${target_file} ; grep 'if(NOT DEFINED SUPPORT_SSE2_BUILD AND FALSE' ${target_file} ; # the above change corrects 'SSE2 SIMD instructions enabled'; but the original 'ssef' error persists - sed -i 's|# set(COMPILER_SSE2_FLAG)| unset(COMPILER_SSE2_FLAG)|' CMakeLists.txt ; ! grep '# set(COMPILER_SSE2_FLAG)' CMakeLists.txt ; + sed_cmd='s|# set(COMPILER_SSE2_FLAG)| unset(COMPILER_SSE2_FLAG)|' + target_file=CMakeLists.txt + sed -i "${sed_cmd}" ${target_file} ; ! grep '# set(COMPILER_SSE2_FLAG)' ${target_file} ; # the original 'ssef' error persists - fixed by adding pkgver=3.1.2 and makedepends+=( boost178-libs clang13 ) # but then fails with: /usr/lib/gcc/i686-pc-linux-gnu/12.2.0/include/emmintrin.h:1586:1: error: inlining failed in call to ‘always_inline’ ‘__m128 _mm_castsi128_ps(__m128i)’: target specific option mismatch # that is the same error as the recent mozilla - the option --disable-webrtc fix that; but that does not apply to blender @@ -168,7 +177,7 @@ prepare() { } get_pyver() { - case "${CARCH}" in armv7h) echo 3.10 ;; i686) echo 3.10 ;; *) echo 3.10 ;; esac + python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' } build() { -- cgit v1.2.2