summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-11-08 11:57:44 +0100
committerMichał Górny <mgorny@gentoo.org>2021-11-08 12:25:20 +0100
commit4a316631991487a4e893b22db1942a296bbda87d (patch)
tree6a43935327e1bee47bb8029f7560731be54cc806 /media-gfx
parentmedia-gfx/plantuml: removed obsolete 1.2021.5 (diff)
downloadgentoo-4a316631991487a4e893b22db1942a296bbda87d.tar.gz
gentoo-4a316631991487a4e893b22db1942a296bbda87d.tar.bz2
gentoo-4a316631991487a4e893b22db1942a296bbda87d.zip
media-gfx/blender: Remove versions requiring LLVM 10
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/blender/Manifest4
-rw-r--r--media-gfx/blender/blender-2.83.15-r1.ebuild380
-rw-r--r--media-gfx/blender/blender-2.83.16-r1.ebuild380
-rw-r--r--media-gfx/blender/blender-2.83.17-r1.ebuild377
-rw-r--r--media-gfx/blender/files/blender-2.83.13-ffmpeg-4_4.patch27
-rw-r--r--media-gfx/blender/files/blender-2.83.6-constraints_test.patch13
-rw-r--r--media-gfx/blender/files/blender-2.83.6-fix_opevdb_abi.patch21
-rw-r--r--media-gfx/blender/files/blender-2.83.6-libmv_eigen_alignment.patch219
8 files changed, 0 insertions, 1421 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 142447598c2d..24a6d396c78c 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,7 +1,3 @@
-DIST blender-2.83.1-tests.tar.bz2 266633785 BLAKE2B 8d8102c3107480de95dfd9ef9dabba1cd82893aad553af2ff5ef1afadc831dc5ccf5553c41466511ecb2a1435bc79c936ad64a78bdd4375e3e30af85b69807c6 SHA512 3ffba6fa8401bba3e2bdbccf7067761114d516371c7778a2f6604a243fd8610e26a30b88a32728c26f7e6274182d298752f32b5e76abf8216be0ec4b3ce38cd9
-DIST blender-2.83.15.tar.xz 39125740 BLAKE2B 687097b45b76b474b1c172c9b8ccf5da1bfc24539d0db894d04c7837572b16c1f552757fd1482219d58afa56c573229878fb43bbecd95e3d61314f2ab05efafa SHA512 2836533691bae0a7942197e67232b396b892cd95c0f07ab561f7de8458b354fe4045453855585484dd533ae76588ea3888f880763b042a264fb813a43933fc25
-DIST blender-2.83.16.tar.xz 39135184 BLAKE2B 2515822373f6a9343c760ad656de732094ee58a9354423e0f3d7bf1042220fc54af7e1d9f5b59a170a23e8b1b57a4b7f09867a000a57a6e4e820ff5c6cdd47b6 SHA512 ef78278387ae981972942ee4724abcb11ca19da2b88a3c8bbe1e9aafb93f28d84d4c79d01542e11218bd58bfec80fcfdbffdfd28896d146edd34181a7439dbd5
-DIST blender-2.83.17.tar.xz 39128468 BLAKE2B 3a20f6125f94e0d6de4d78e7a784c5a37faf23603e055a28ee67e48a41d09d3715222b2ac4f04ed38619dca686e7e0985ad60c983ee3a15c96042e419f152e69 SHA512 1e4c9a1f604802fb94c8e844f3878756e2ba0a6c29a6fb8863bc21ada1c8e14e775b203ab21bc4d53e85eb4e909e889204bb9f5befcff56cec3d56c2e987c2a0
DIST blender-2.93.0-tests.tar.bz2 286918586 BLAKE2B a2c2c2e900e401a470208e8e5d0082d45e2f8db13b45213f31808d50ae5ea330360702b8e775bdb3307eb753aa7c3264803e9e470b3fb778f8bd87272cd72513 SHA512 0e5e4c67944c4f76df62cdbaf26ba284c415675074e66685c01ec9584a544c47f616bae8fb2ff2b7e03290620d54dc1033b4b0fc617acb1232a90439e96325fe
DIST blender-2.93.0.tar.xz 42967016 BLAKE2B 1e7b54f08415de8a8908a285ae35c1e18558bf7cab42c5c135323d10ac9a73ec69aa0addd536355a4d19262438a615e03f09dc123b697cbab484e33350bb5ee3 SHA512 660962e5368c8ff52ed095aba97d63c22aa8e2fdcb2042b1299b6d6edeb7eb1f702a9ee95ee7e47824681f9f48b971d2e32ec32cc6264165a4196b5f36c4a66d
DIST blender-2.93.1.tar.xz 42960100 BLAKE2B eda0a8c0414d1f7c89d21e34ba238b0cbe337ea755d6f10792e7c3bd5e15934184d3bd853ed636764776095ce1e3f081d63386b7c13fb7ac666580bf9eeb43c8 SHA512 b14e8cca248c53e4a93976d7fa1cd1ab92a7d18a3809b2a535881731aad2f68d8d155ad175b27aa1890714b81aa6648604a614cacc90e95b7269569661e393b1
diff --git a/media-gfx/blender/blender-2.83.15-r1.ebuild b/media-gfx/blender/blender-2.83.15-r1.ebuild
deleted file mode 100644
index 6175ce975261..000000000000
--- a/media-gfx/blender/blender-2.83.15-r1.ebuild
+++ /dev/null
@@ -1,380 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://git.blender.org/blender.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- TEST_TARBALL_VERSION=2.83.1
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )"
- KEYWORDS="amd64 ~x86"
-fi
-
-SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +dds +fluid +openexr +system-python +system-numpy +tbb \
- alembic collada +color-management cuda cycles \
- debug doc ffmpeg fftw headless jack jemalloc jpeg2k \
- man ndof nls openal opencl openimageio openmp opensubdiv \
- openvdb osl sdl sndfile standalone test tiff valgrind"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
- fluid? ( tbb )
- opencl? ( cycles )
- openvdb? ( tbb )
- osl? ( cycles )
- standalone? ( cycles )
- test? ( color-management osl )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?,threads(+)]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=
- media-libs/glew:*
- media-libs/libpng:=
- media-libs/libsamplerate
- sys-libs/zlib:=
- virtual/glu
- virtual/jpeg
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.7.12[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.0.0 )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- opencl? ( virtual/opencl )
- openimageio? ( >=media-libs/openimageio-2.2.13.1:= )
- openexr? (
- media-libs/ilmbase:=
- media-libs/openexr:=
- )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] )
- openvdb? (
- >=media-gfx/openvdb-7.0.0
- dev-libs/c-blosc:=
- )
- osl? ( <media-libs/osl-1.11.0 )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( <dev-cpp/tbb-2021.4.0:= )
- tiff? ( media-libs/tiff )
- valgrind? ( dev-util/valgrind )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}/blender-2.83.6-libmv_eigen_alignment.patch"
- "${FILESDIR}/blender-2.83.6-constraints_test.patch"
- "${FILESDIR}/blender-2.83.6-fix_opevdb_abi.patch"
- "${FILESDIR}/blender-2.83.13-ffmpeg-4_4.patch"
-)
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- # Add period.
- BV=${BV:0:1}.${BV:1}
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- default
- fi
-
- if use test; then
- mkdir -p lib || die
- mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg release/freedesktop/icons/scalable/apps/blender-${BV}.svg || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg || die
- mv release/freedesktop/blender.desktop release/freedesktop/blender-${BV}.desktop || die
- mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # Without this the floating point math will differ when for example
- # "-march=native" is set. This will make automated tests fail and we will
- # not match the behaviour of some operators/modifiers with the official
- # builds.
- append-flags -ffp-contract=off
- append-lfs-flags
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl)
- -DWITH_CYCLES_STANDALONE=$(usex standalone)
- -DWITH_CYCLES_STANDALONE_GUI=$(usex standalone)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HEADLESS=$(usex headless)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_PYTHON_INSTALL=$(usex system-python OFF ON)
- -DWITH_PYTHON_INSTALL_NUMPY=$(usex system-numpy OFF ON)
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_GLEW=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- )
- if ! use debug ; then
- append-flags -DNDEBUG
- else
- append-flags -DDEBUG
- fi
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
- fi
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- cmake_src_install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # NOTE: The 'modifiers' test will fail if opensubdiv was compiled with -march=native
- # This this is fixed in blender version 2.92 and up."
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr ${ED}/* || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- if use standalone; then
- dobin "${BUILD_DIR}"/bin/cycles
- fi
-
- if use doc; then
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_fix_shebang "${ED}/usr/bin/blender-${BV}-thumbnailer.py"
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
- ewarn
- ewarn "This ebuild does not unbundle the massive amount of 3rd party"
- ewarn "libraries which are shipped with blender. Note that"
- ewarn "these have caused security issues in the past."
- ewarn "If you are concerned about security, file a bug upstream:"
- ewarn " https://developer.blender.org/"
- ewarn
-
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please download"
- elog "the official Blender LTS binary release instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/blender-2.83.16-r1.ebuild b/media-gfx/blender/blender-2.83.16-r1.ebuild
deleted file mode 100644
index 6f64aaa0992f..000000000000
--- a/media-gfx/blender/blender-2.83.16-r1.ebuild
+++ /dev/null
@@ -1,380 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://git.blender.org/blender.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- TEST_TARBALL_VERSION=2.83.1
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )"
- KEYWORDS="~amd64 ~x86"
-fi
-
-SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +dds +fluid +openexr +system-python +system-numpy +tbb \
- alembic collada +color-management cuda cycles \
- debug doc ffmpeg fftw headless jack jemalloc jpeg2k \
- man ndof nls openal opencl openimageio openmp opensubdiv \
- openvdb osl sdl sndfile standalone test tiff valgrind"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
- fluid? ( tbb )
- opencl? ( cycles )
- openvdb? ( tbb )
- osl? ( cycles )
- standalone? ( cycles )
- test? ( color-management osl )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?,threads(+)]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=
- media-libs/glew:*
- media-libs/libpng:=
- media-libs/libsamplerate
- sys-libs/zlib:=
- virtual/glu
- virtual/jpeg
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.7.12[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.0.0 )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- opencl? ( virtual/opencl )
- openimageio? ( >=media-libs/openimageio-2.2.13.1:= )
- openexr? (
- media-libs/ilmbase:=
- media-libs/openexr:=
- )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] )
- openvdb? (
- >=media-gfx/openvdb-7.0.0
- dev-libs/c-blosc:=
- )
- osl? ( <media-libs/osl-1.11.0 )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( <dev-cpp/tbb-2021.4.0:= )
- tiff? ( media-libs/tiff )
- valgrind? ( dev-util/valgrind )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}/blender-2.83.6-libmv_eigen_alignment.patch"
- "${FILESDIR}/blender-2.83.6-constraints_test.patch"
- "${FILESDIR}/blender-2.83.6-fix_opevdb_abi.patch"
- "${FILESDIR}/blender-2.83.13-ffmpeg-4_4.patch"
-)
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- # Add period.
- BV=${BV:0:1}.${BV:1}
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- default
- fi
-
- if use test; then
- mkdir -p lib || die
- mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg release/freedesktop/icons/scalable/apps/blender-${BV}.svg || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg || die
- mv release/freedesktop/blender.desktop release/freedesktop/blender-${BV}.desktop || die
- mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # Without this the floating point math will differ when for example
- # "-march=native" is set. This will make automated tests fail and we will
- # not match the behaviour of some operators/modifiers with the official
- # builds.
- append-flags -ffp-contract=off
- append-lfs-flags
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl)
- -DWITH_CYCLES_STANDALONE=$(usex standalone)
- -DWITH_CYCLES_STANDALONE_GUI=$(usex standalone)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HEADLESS=$(usex headless)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_PYTHON_INSTALL=$(usex system-python OFF ON)
- -DWITH_PYTHON_INSTALL_NUMPY=$(usex system-numpy OFF ON)
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_GLEW=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- )
- if ! use debug ; then
- append-flags -DNDEBUG
- else
- append-flags -DDEBUG
- fi
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
- fi
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- cmake_src_install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # NOTE: The 'modifiers' test will fail if opensubdiv was compiled with -march=native
- # This this is fixed in blender version 2.92 and up."
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr ${ED}/* || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- if use standalone; then
- dobin "${BUILD_DIR}"/bin/cycles
- fi
-
- if use doc; then
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_fix_shebang "${ED}/usr/bin/blender-${BV}-thumbnailer.py"
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
- ewarn
- ewarn "This ebuild does not unbundle the massive amount of 3rd party"
- ewarn "libraries which are shipped with blender. Note that"
- ewarn "these have caused security issues in the past."
- ewarn "If you are concerned about security, file a bug upstream:"
- ewarn " https://developer.blender.org/"
- ewarn
-
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please download"
- elog "the official Blender LTS binary release instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/blender-2.83.17-r1.ebuild b/media-gfx/blender/blender-2.83.17-r1.ebuild
deleted file mode 100644
index 6c6548cf0f7c..000000000000
--- a/media-gfx/blender/blender-2.83.17-r1.ebuild
+++ /dev/null
@@ -1,377 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_8 )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://git.blender.org/blender.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- TEST_TARBALL_VERSION=2.83.1
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )"
- KEYWORDS="~amd64 ~x86"
-fi
-
-SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +dds +fluid +openexr +system-python +system-numpy +tbb \
- alembic collada +color-management cuda cycles \
- debug doc ffmpeg fftw headless jack jemalloc jpeg2k \
- man ndof nls openal opencl openimageio openmp opensubdiv \
- openvdb osl sdl sndfile standalone test tiff valgrind"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
- fluid? ( tbb )
- opencl? ( cycles )
- openvdb? ( tbb )
- osl? ( cycles )
- standalone? ( cycles )
- test? ( color-management osl )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?,threads(+)]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=
- media-libs/glew:*
- media-libs/libpng:=
- media-libs/libsamplerate
- sys-libs/zlib:=
- virtual/glu
- virtual/jpeg
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.7.12[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.0.0 )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- opencl? ( virtual/opencl )
- openimageio? ( >=media-libs/openimageio-2.2.13.1:= )
- openexr? (
- media-libs/ilmbase:=
- media-libs/openexr:=
- )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] )
- openvdb? (
- >=media-gfx/openvdb-7.0.0
- dev-libs/c-blosc:=
- )
- osl? ( <media-libs/osl-1.11.0 )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( <dev-cpp/tbb-2021.4.0:= )
- tiff? ( media-libs/tiff )
- valgrind? ( dev-util/valgrind )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}/blender-2.83.6-libmv_eigen_alignment.patch"
- "${FILESDIR}/blender-2.83.6-constraints_test.patch"
- "${FILESDIR}/blender-2.83.6-fix_opevdb_abi.patch"
- "${FILESDIR}/blender-2.83.13-ffmpeg-4_4.patch"
-)
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- # Add period.
- BV=${BV:0:1}.${BV:1}
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- default
- fi
-
- if use test; then
- mkdir -p lib || die
- mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg release/freedesktop/icons/scalable/apps/blender-${BV}.svg || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg || die
- mv release/freedesktop/blender.desktop release/freedesktop/blender-${BV}.desktop || die
- mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # Without this the floating point math will differ when for example
- # "-march=native" is set. This will make automated tests fail and we will
- # not match the behaviour of some operators/modifiers with the official
- # builds.
- append-flags -ffp-contract=off
- append-lfs-flags
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl)
- -DWITH_CYCLES_STANDALONE=$(usex standalone)
- -DWITH_CYCLES_STANDALONE_GUI=$(usex standalone)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HEADLESS=$(usex headless)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_PYTHON_INSTALL=$(usex system-python OFF ON)
- -DWITH_PYTHON_INSTALL_NUMPY=$(usex system-numpy OFF ON)
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_GLEW=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- )
- append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
- fi
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- cmake_src_install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # NOTE: The 'modifiers' test will fail if opensubdiv was compiled with -march=native
- # This this is fixed in blender version 2.92 and up."
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr ${ED}/* || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- if use standalone; then
- dobin "${BUILD_DIR}"/bin/cycles
- fi
-
- if use doc; then
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_fix_shebang "${ED}/usr/bin/blender-${BV}-thumbnailer.py"
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
- ewarn
- ewarn "This ebuild does not unbundle the massive amount of 3rd party"
- ewarn "libraries which are shipped with blender. Note that"
- ewarn "these have caused security issues in the past."
- ewarn "If you are concerned about security, file a bug upstream:"
- ewarn " https://developer.blender.org/"
- ewarn
-
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please download"
- elog "the official Blender LTS binary release instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/files/blender-2.83.13-ffmpeg-4_4.patch b/media-gfx/blender/files/blender-2.83.13-ffmpeg-4_4.patch
deleted file mode 100644
index bf8579675886..000000000000
--- a/media-gfx/blender/files/blender-2.83.13-ffmpeg-4_4.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 9cdf11676ecd753fd86c3d8057c2375174ef0a70 Mon Sep 17 00:00:00 2001
-From: Sebastian Parborg <darkdefende@gmail.com>
-Date: Fri, 7 May 2021 16:51:28 +0200
-Subject: [PATCH] Fix: No sound is exported with ffmpeg 4.4
-
-We were not assigning the amount of sound channels to the output frames.
-Newer ffmpeg releases has sanity checks in place and doesn't fall back
-to two channels anymore.
----
- source/blender/blenkernel/intern/writeffmpeg.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
-index 7fc9e8cc0ef..e5550cee124 100644
---- a/source/blender/blenkernel/intern/writeffmpeg.c
-+++ b/source/blender/blenkernel/intern/writeffmpeg.c
-@@ -164,6 +164,7 @@ static int write_audio_frame(FFMpegContext *context)
- frame->pts = context->audio_time / av_q2d(c->time_base);
- frame->nb_samples = context->audio_input_samples;
- frame->format = c->sample_fmt;
-+ frame->channels = c->channels;
- # ifdef FFMPEG_HAVE_FRAME_CHANNEL_LAYOUT
- frame->channel_layout = c->channel_layout;
- # endif
---
-2.26.3
-
diff --git a/media-gfx/blender/files/blender-2.83.6-constraints_test.patch b/media-gfx/blender/files/blender-2.83.6-constraints_test.patch
deleted file mode 100644
index ab1e9a6d2d4a..000000000000
--- a/media-gfx/blender/files/blender-2.83.6-constraints_test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/python/bl_constraints.py b/tests/python/bl_constraints.py
-index 323dd874ac0..7cbc46d680a 100644
---- a/tests/python/bl_constraints.py
-+++ b/tests/python/bl_constraints.py
-@@ -44,7 +44,7 @@ class AbstractConstraintTests(unittest.TestCase):
- collection = top_collection.children[self.layer_collection]
- collection.exclude = False
-
-- def assert_matrix(self, actual_matrix, expect_matrix, object_name: str, places=6, delta=None):
-+ def assert_matrix(self, actual_matrix, expect_matrix, object_name: str, places=None, delta=1e-6):
- """Asserts that the matrices almost equal."""
- self.assertEqual(len(actual_matrix), 4, 'Expected a 4x4 matrix')
-
diff --git a/media-gfx/blender/files/blender-2.83.6-fix_opevdb_abi.patch b/media-gfx/blender/files/blender-2.83.6-fix_opevdb_abi.patch
deleted file mode 100644
index b7537f97fc09..000000000000
--- a/media-gfx/blender/files/blender-2.83.6-fix_opevdb_abi.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1552,7 +1552,7 @@
- CMAKE_C_COMPILER_ID MATCHES "Intel"
- )
- # TODO(sergey): Do we want c++11 or gnu-c++11 here?
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
- else()
- message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++11 build")
- endif()
---- a/extern/mantaflow/CMakeLists.txt
-+++ b/extern/mantaflow/CMakeLists.txt
-@@ -51,7 +51,6 @@
-
- if(WITH_OPENVDB)
- add_definitions(-DOPENVDB=1)
-- add_definitions(-DOPENVDB_STATICLIB)
- endif()
-
- if(WIN32
diff --git a/media-gfx/blender/files/blender-2.83.6-libmv_eigen_alignment.patch b/media-gfx/blender/files/blender-2.83.6-libmv_eigen_alignment.patch
deleted file mode 100644
index 1392510a23a7..000000000000
--- a/media-gfx/blender/files/blender-2.83.6-libmv_eigen_alignment.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-diff --git a/intern/libmv/libmv/base/vector.h b/intern/libmv/libmv/base/vector.h
-index bdc4392155c..300291c5679 100644
---- a/intern/libmv/libmv/base/vector.h
-+++ b/intern/libmv/libmv/base/vector.h
-@@ -25,151 +25,18 @@
- #ifndef LIBMV_BASE_VECTOR_H
- #define LIBMV_BASE_VECTOR_H
-
--#include <cstring>
--#include <new>
-+#include <vector>
-
- #include <Eigen/Core>
-
- namespace libmv {
-
--// A simple container class, which guarantees 16 byte alignment needed for most
--// vectorization. Don't use this container for classes that cannot be copied
--// via memcpy.
--// FIXME: this class has some issues:
--// - doesn't support iterators.
--// - impede compatibility with code using STL.
--// - the STL already provide support for custom allocators
--// it could be replaced with a simple
--// template <T> class vector : std::vector<T, aligned_allocator> {} declaration
--// provided it doesn't break code relying on libmv::vector specific behavior
--template <typename T,
-- typename Allocator = Eigen::aligned_allocator<T> >
--class vector {
-- public:
-- ~vector() { clear(); }
-+// A simple container class, which guarantees the correct memory alignment
-+// needed for most eigen vectorization. Don't use this container for classes
-+// that cannot be copied via memcpy.
-
-- vector() { init(); }
-- vector(int size) { init(); resize(size); }
-- vector(int size, const T & val) {
-- init();
-- resize(size);
-- std::fill(data_, data_+size_, val); }
--
-- // Copy constructor and assignment.
-- vector(const vector<T, Allocator> &rhs) {
-- init();
-- copy(rhs);
-- }
-- vector<T, Allocator> &operator=(const vector<T, Allocator> &rhs) {
-- if (&rhs != this) {
-- copy(rhs);
-- }
-- return *this;
-- }
--
-- /// Swaps the contents of two vectors in constant time.
-- void swap(vector<T, Allocator> &other) {
-- std::swap(allocator_, other.allocator_);
-- std::swap(size_, other.size_);
-- std::swap(capacity_, other.capacity_);
-- std::swap(data_, other.data_);
-- }
--
-- T *data() const { return data_; }
-- int size() const { return size_; }
-- int capacity() const { return capacity_; }
-- const T& back() const { return data_[size_ - 1]; }
-- T& back() { return data_[size_ - 1]; }
-- const T& front() const { return data_[0]; }
-- T& front() { return data_[0]; }
-- const T& operator[](int n) const { return data_[n]; }
-- T& operator[](int n) { return data_[n]; }
-- const T& at(int n) const { return data_[n]; }
-- T& at(int n) { return data_[n]; }
-- const T * begin() const { return data_; }
-- const T * end() const { return data_+size_; }
-- T * begin() { return data_; }
-- T * end() { return data_+size_; }
--
-- void resize(size_t size) {
-- reserve(size);
-- if (size > size_) {
-- construct(size_, size);
-- } else if (size < size_) {
-- destruct(size, size_);
-- }
-- size_ = size;
-- }
--
-- void push_back(const T &value) {
-- if (size_ == capacity_) {
-- reserve(size_ ? 2 * size_ : 1);
-- }
-- new (&data_[size_++]) T(value);
-- }
--
-- void pop_back() {
-- resize(size_ - 1);
-- }
--
-- void clear() {
-- destruct(0, size_);
-- deallocate();
-- init();
-- }
--
-- void reserve(unsigned int size) {
-- if (size > size_) {
-- T *data = static_cast<T *>(allocate(size));
-- memcpy(static_cast<void *>(data), data_, sizeof(*data)*size_);
-- allocator_.deallocate(data_, capacity_);
-- data_ = data;
-- capacity_ = size;
-- }
-- }
--
-- bool empty() {
-- return size_ == 0;
-- }
--
-- private:
-- void construct(int start, int end) {
-- for (int i = start; i < end; ++i) {
-- new (&data_[i]) T;
-- }
-- }
-- void destruct(int start, int end) {
-- for (int i = start; i < end; ++i) {
-- data_[i].~T();
-- }
-- }
-- void init() {
-- size_ = 0;
-- data_ = 0;
-- capacity_ = 0;
-- }
--
-- void *allocate(int size) {
-- return size ? allocator_.allocate(size) : 0;
-- }
--
-- void deallocate() {
-- allocator_.deallocate(data_, size_);
-- data_ = 0;
-- }
--
-- void copy(const vector<T, Allocator> &rhs) {
-- resize(rhs.size());
-- for (int i = 0; i < rhs.size(); ++i) {
-- (*this)[i] = rhs[i];
-- }
-- }
--
-- Allocator allocator_;
-- size_t size_;
-- size_t capacity_;
-- T *data_;
--};
-+template <class ElementType>
-+using vector = std::vector<ElementType, Eigen::aligned_allocator<ElementType>>;
-
- } // namespace libmv
-
-diff --git a/intern/libmv/libmv/base/vector_test.cc b/intern/libmv/libmv/base/vector_test.cc
-index f17718c3926..44b9a152148 100644
---- a/intern/libmv/libmv/base/vector_test.cc
-+++ b/intern/libmv/libmv/base/vector_test.cc
-@@ -115,31 +115,24 @@ TEST_F(VectorTest, ResizeConstructsAndDestructsAsExpected) {
- // Create one object.
- v.resize(1);
- EXPECT_EQ(1, v.size());
-- EXPECT_EQ(1, v.capacity());
- EXPECT_EQ(1, foo_construct_calls);
-- EXPECT_EQ(0, foo_destruct_calls);
- EXPECT_EQ(5, v[0].value);
-
- // Create two more.
- v.resize(3);
- EXPECT_EQ(3, v.size());
-- EXPECT_EQ(3, v.capacity());
- EXPECT_EQ(3, foo_construct_calls);
-- EXPECT_EQ(0, foo_destruct_calls);
-
- // Delete the last one.
- v.resize(2);
- EXPECT_EQ(2, v.size());
- EXPECT_EQ(3, v.capacity());
- EXPECT_EQ(3, foo_construct_calls);
-- EXPECT_EQ(1, foo_destruct_calls);
-
- // Delete the remaining two.
- v.resize(0);
- EXPECT_EQ(0, v.size());
-- EXPECT_EQ(3, v.capacity());
- EXPECT_EQ(3, foo_construct_calls);
-- EXPECT_EQ(3, foo_destruct_calls);
- }
-
- TEST_F(VectorTest, PushPopBack) {
-@@ -192,15 +185,15 @@ TEST_F(VectorTest, STLFind) {
- a.push_back(5);
- a.push_back(3);
-
-- // Find return an int *
-+ // Find returns an int *
- EXPECT_EQ(std::find(&a[0], &a[2], 1) == &a[0], true);
- EXPECT_EQ(std::find(&a[0], &a[2], 5) == &a[1], true);
- EXPECT_EQ(std::find(&a[0], &a[2], 3) == &a[2], true);
-
-- // Find return a const int *
-- EXPECT_EQ(std::find(a.begin(), a.end(), 1) == &a[0], true);
-- EXPECT_EQ(std::find(a.begin(), a.end(), 5) == &a[1], true);
-- EXPECT_EQ(std::find(a.begin(), a.end(), 3) == &a[2], true);
-+ // Find returns an interator
-+ EXPECT_EQ(std::find(a.begin(), a.end(), 1) == std::next(a.begin(), 0), true);
-+ EXPECT_EQ(std::find(a.begin(), a.end(), 5) == std::next(a.begin(), 1), true);
-+ EXPECT_EQ(std::find(a.begin(), a.end(), 3) == std::next(a.begin(), 2), true);
-
- // Search value that are not in the vector
- EXPECT_EQ(std::find(a.begin(), a.end(), 0) == a.end(), true);