From a827495c22e6809c44c2b0a9c2211d89d9274686 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Mon, 4 Jul 2022 18:32:22 -0400 Subject: [blender]: upgrade to v3.2.0 --- libre/blender/PKGBUILD | 61 ++++++++++++++++++++++-------------- libre/blender/blender-openexr3.patch | 42 ------------------------- libre/blender/dummy-source | 0 libre/blender/force-draco1.patch | 15 +++++++++ libre/blender/force-draco2.patch | 21 +++++++++++++ 5 files changed, 74 insertions(+), 65 deletions(-) delete mode 100644 libre/blender/blender-openexr3.patch create mode 100644 libre/blender/dummy-source create mode 100644 libre/blender/force-draco1.patch create mode 100644 libre/blender/force-draco2.patch diff --git a/libre/blender/PKGBUILD b/libre/blender/PKGBUILD index 01eba1c3c..76274cfc0 100644 --- a/libre/blender/PKGBUILD +++ b/libre/blender/PKGBUILD @@ -13,16 +13,15 @@ pkgname=blender -pkgver=2.93.5 -pkgrel=7 +pkgver=3.2.0 +pkgrel=4 pkgrel+=.parabola1 epoch=17 -_pythonver_x86_64=3.9 -_pythonver_i686=3.9 -_pythonver_armv7h=3.9 +_pythonver_x86_64=3.10 +_pythonver_i686=3.10 +_pythonver_armv7h=3.10 eval "_python_ver=\$_pythonver_${CARCH}" pkgdesc="A fully integrated 3D graphics creation suite" -pkgdesc+=", without non-free CUDA or optix support" arch=('x86_64') arch+=('i686' 'armv7h') license=('GPL') @@ -31,25 +30,31 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requ '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' 'libharu') + 'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2' 'embree' 'libharu' + 'draco') [[ "${CARCH}" != 'x86_64' ]] && depends=( ${depends[*]/openimagedenoise/} ) [[ "${CARCH}" != 'x86_64' ]] && depends=( ${depends[*]/libharu/} ) [[ "${CARCH}" == 'armv7h' ]] && depends=( ${depends[*]/embree/} ) makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja') -makedepends=( ${makedepends[*]/cuda/} ) +makedepends=( ${makedepends[*]/cuda/} ) # non-free options=(!strip) source=("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" - blender-openexr3.patch) + https://developer.download.nvidia.com/redist/optix/v7.3/OptiX-7.3.0-Include.zip + force-draco1.patch + force-draco2.patch) +source=( ${source[*]/*optix*/dummy-source} ) # non-free sha512sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' - 'e2dd7210d26b70445e9ae8e33dea35111ad0b0aca9d3b4ded3df560d0fcc8dc044868f729e0f090a04b6f316f083b5505a7056ce088e8702065add87b9b457e5') + 'SKIP' # dummy-source + 'e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0' + '527ab66e5eace777de0043c1ca5787a488f6471450ce67fd6d08137ad0ef56177bc0c17696f30a5fca23fa55d8ca9c3f30cb7b17550dba2dbd8e89ca0b361990') _version_constraint() # (dep_pkgname [precision]) @@ -90,7 +95,11 @@ prepare() { git submodule update git submodule foreach git checkout v${pkgver} - patch -p1 < "$srcdir"/blender-openexr3.patch # Fix build with OpenEXR 3 + patch -p1 -i "$srcdir"/force-draco1.patch + patch -p1 -d release/scripts/addons -i "$srcdir"/force-draco2.patch + + + ## parabola patching ## # set OS type string sed -i 's|BUILD_PLATFORM;|"GNU/Linux-libre";|' 'source/creator/buildinfo.c' @@ -106,24 +115,24 @@ prepare() { build() { cd "$pkgname" - # libre changes - local _extra_opts=( -DWITH_CYCLES_CUDA_BINARIES=OFF \ - -DWITH_CYCLES_DEVICE_CUDA=OFF \ - -DWITH_CYCLES_DEVICE_OPTIX=OFF ) + local PYTHON_VER=${_python_ver} + + # libre options + local _parabola_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 ) ;; + 'i686' ) _parabola_opts+=( -DWITH_RAYOPTIMIZATION=OFF \ + -DWITH_CYCLES_EMBREE=ON ) ;; + 'x86_64') _parabola_opts+=( -DWITH_CYCLES_EMBREE=ON ) ;; esac - local PYTHON_VER=${_python_ver} - - cmake . \ + cmake \ -Bbuild \ -GNinja \ -Cbuild_files/cmake/config/blender_release.cmake \ - ${_extra_opts[@]} \ + ${_parabola_opts[@]} \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_INSTALL_PORTABLE=OFF \ @@ -145,6 +154,7 @@ package() { # libboost_thread.so <- openshadinglanguage, # libboost_iostreams.so <- openvdb depends+=( libboost_locale.so + $(_version_constraint opencolorio 2) # eg: libOpenColorIO.so.2.1 $(_version_constraint openexr 2) # eg: libHalf.so.12 $(_version_constraint openimageio 2) # eg: libOpenImageIO.so.2.0 $(_version_constraint openshadinglanguage 2) # eg: liboslcomp.so.1.10 @@ -160,5 +170,10 @@ package() { install -Dm644 release/freedesktop/org.blender.Blender.appdata.xml "${pkgdir}/usr/share/metainfo/org.blender.Blender.appdata.xml" # Manually install additional scripts (See FS#69351) - cp -r release/scripts/addons_contrib/* "${pkgdir}"/usr/share/blender/2*/scripts/addons_contrib/ + cp -r release/scripts/addons_contrib/* "${pkgdir}"/usr/share/blender/3*/scripts/addons_contrib/ + + # Manually install draco bindings (See FS#73415) + mkdir -p "${pkgdir}"/usr/lib/python3.10/ + mv "${pkgdir}"/usr/share/blender/3*/python/lib/* "${pkgdir}"/usr/lib/ + rm -r "${pkgdir}"/usr/share/blender/3*/python } diff --git a/libre/blender/blender-openexr3.patch b/libre/blender/blender-openexr3.patch deleted file mode 100644 index 73a727a3d..000000000 --- a/libre/blender/blender-openexr3.patch +++ /dev/null @@ -1,42 +0,0 @@ -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 and #include :( -- 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 - #include - #include -+#include - #include - #include -+#include - #include - #include - #include diff --git a/libre/blender/dummy-source b/libre/blender/dummy-source new file mode 100644 index 000000000..e69de29bb diff --git a/libre/blender/force-draco1.patch b/libre/blender/force-draco1.patch new file mode 100644 index 000000000..4a8b63878 --- /dev/null +++ b/libre/blender/force-draco1.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75f5795db68..d50686adfb0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -754,10 +754,6 @@ endif() + set_and_warn_dependency(WITH_PYTHON WITH_CYCLES OFF) + set_and_warn_dependency(WITH_PYTHON WITH_DRACO OFF) + +-if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL) +- message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now") +- set(WITH_DRACO OFF) +-endif() + + # enable boost for cycles, audaspace or i18n + # otherwise if the user disabled diff --git a/libre/blender/force-draco2.patch b/libre/blender/force-draco2.patch new file mode 100644 index 000000000..379e447b3 --- /dev/null +++ b/libre/blender/force-draco2.patch @@ -0,0 +1,21 @@ +diff --git a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py +index e7518ac4..c0d78564 100644 +--- a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py ++++ b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py +@@ -13,6 +13,7 @@ + # limitations under the License. + + import os ++import site + import sys + from pathlib import Path + import bpy +@@ -30,7 +31,7 @@ def dll_path() -> Path: + python_lib = Path('{v[0]}.{v[1]}/python/lib'.format(v=bpy.app.version)) + python_version = 'python{v[0]}.{v[1]}'.format(v=sys.version_info) + +- path = os.environ.get('BLENDER_EXTERN_DRACO_LIBRARY_PATH') ++ path = site.getsitepackages()[0] + if path is None: + path = { + 'win32': blender_root / python_lib / 'site-packages', -- cgit v1.2.2