summaryrefslogtreecommitdiff
path: root/media-gfx/blender
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-03-03 10:28:17 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-03-03 10:28:17 +0000
commitd99093fb4bb5652015c06274d64083daa2439e4f (patch)
treecf61513204d97974179580065e85df5c8009087c /media-gfx/blender
parent463397cf1e064185110fe57c568d73f99a06f5d1 (diff)
gentoo resync : 03.03.2021
Diffstat (limited to 'media-gfx/blender')
-rw-r--r--media-gfx/blender/Manifest8
-rw-r--r--media-gfx/blender/blender-2.83.12.ebuild328
-rw-r--r--media-gfx/blender/blender-2.91.0.ebuild4
-rw-r--r--media-gfx/blender/blender-2.91.2.ebuild334
-rw-r--r--media-gfx/blender/metadata.xml3
5 files changed, 670 insertions, 7 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 3aee6f5ff9be..4ea5e554fa69 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,9 +1,13 @@
DIST blender-2.83.10.tar.xz 38624904 BLAKE2B e52597b3acce875943dff75575c42c8c1fdeb19cb74b4f3609e56730e8fb6d5bbc94a6215a1e9da52b46e45c48c9a46dc4f3ed0d22e16186d9e7434b27eef70f SHA512 96b252176d867b3cac76a99cbee95313b60935a34edc44f27c67a1f75f20b353f0894288df2696718e95a03a07a1630797a431b752ffb4dd14692739d714a589
+DIST blender-2.83.12.tar.xz 39132904 BLAKE2B 175e8c5ab9324421f23357bc367b2e70ee8c391130d376d6d53eefbf90529d09921395cd11e7b1709aaa4d24ec6f8df64050869e41bbe211229126db08f22089 SHA512 f313c92e311e852742e74934504fcd3ccd296bcea2499f605cef568e3c615ececd9d70dec5025e4d4ff19f03803c148a8b03a4b68b7ca978554f5b1122c9890b
DIST blender-2.83.4.tar.xz 38528352 BLAKE2B 54596207cbee34fcaa6b81a0d829976b42c28c793b88de81d78c1c3fdfe9dd2a0189a314be281b2a0f1829a0b7fd30d37bceaa28d35c9794dcb0f009fa71e83d SHA512 061735273159742784ed210d13fb39ad076efbbfd5f0291bab1b983699d43b20462dc7e4795e28dab0cd191c9879b43d9ad0f0545c24ef5da23c74679e5ccab5
DIST blender-2.90.1.tar.xz 38836408 BLAKE2B 42622e742ebd397dc035c85cf26ab72ffee64f2cd46f1523de78dc8861bc19286a7d87b9e31a0d6afdf9a931da7018ccbdb9b4185b8535b4529656c6d85efc34 SHA512 e7d6f8df598f2a2a99f64716331ec4e981a5a49c76b307caf7856480c778455cfc4bbb56fbedc8b22d1e10951ebaeb6844d1ead9476847bf2824dddf5b135992
DIST blender-2.91.0.tar.xz 41528920 BLAKE2B f28bce92b0b63e380c7ce2c9dae0ae4235792ae7c7dff52c2c9c0c5baa81b4d540f853f49d7622f6feca8c7f403b254b55f200758a64e4d95bd43709e5509c1d SHA512 a4b6cb09765d735274fb4a61ac301cbd6ee16f09ab77b19a6e283454b9b8a8c76f1b181501dc285b288130da9e283d3343b948b2855eea00bcb9e114636d55aa
+DIST blender-2.91.2.tar.xz 42057100 BLAKE2B f10f838ad6d56135fddf9e9171473e1e589f511a38112845d650436a1eb4da94ea0777571dffc6446f4217dce647b087cf5a18841d7dde2086d187bb8f7d3654 SHA512 9a3bae01bd09b1d665af4882f53e8a88d85ff44678233c90788a7801ce0d551a3cc1f71026b71ea1c77d7eaedf7ab6fc8709104c22b564f4fc6cc0d5b3b76f5e
EBUILD blender-2.83.10.ebuild 8591 BLAKE2B 6bc59e2d14777961500476e70b09bb4cd32387157409cc5e15970c0291a9e9acaeffadd4e515aad745ff7968f0be36c0d254dd91588ac89b43b3d5a860100a19 SHA512 ca8c18a4a23f2fde3cf057734b56e5d1258b7cf584c7fb5372db836bdad79458564a1131f4fc3c9ae8dc56e1f8b5534dc7ee6d8da5ae2a06862ca546974cede1
+EBUILD blender-2.83.12.ebuild 8904 BLAKE2B 0522ea1f695ce84a6f9c56f47d4e4df524a2f318d427fc1e8194092f7e30d79d7e0b523fe4668fad15591ca95006d66d836debcba9b2231779e369a2db748909 SHA512 3098d3793fa4e058b34b66a6e43768e09596667b54b2abd7c8b2b08983fecf6166d79d6ad23290964eaad87c2addfc86699268d087ed61203e5e8e43928dba64
EBUILD blender-2.83.4-r1.ebuild 8590 BLAKE2B d1f5765922114878d629e653248491878f1ae7003f0ad8dad49713e083d28b5133b2e1a0b1ba6b9a2600a7f9512c9a98aa0a551e9e368aa2cfe46346ed5c7914 SHA512 36f33f65151a8c98a42a2f014209d2bf0552779c8b5e52513fc8063c5202ba77c1cf3c744e3e818387ada59a3ec88805f35f96bcefcc3c000da331b73a756780
EBUILD blender-2.90.1-r1.ebuild 8628 BLAKE2B 6f432315a7bf13dc3635ab915e9c72668aef526358f74b324067ebe4d5a34c5fa6daa207fdb753adaa756be9d53617896ec5545071755459ed0799a56618d18b SHA512 1b4bc3de4447577cd062283fde8ef091c0800968a0129a833b4d3c9acf8992e143a204bbc32b887254cdf4977ea083cb262e47242b5b2f1d581cf183339374a7
-EBUILD blender-2.91.0.ebuild 9051 BLAKE2B da48e82f25971c9322553734d18a7d8a60f51d728ebe965a1b2d3b49478b42fb89f2bb7db820e925c79ff66db26a03ca40ce5de7324633b37673a24ded423a27 SHA512 6c6544ea48980a3f4e3a8173f611daeee94ee9d6f5dcccf358a890a0d8321f797737c498afa88a401ac1f6bc155ed03448415c585103b9a9d178cf83d435ae48
-MISC metadata.xml 2795 BLAKE2B 6a3b2ec4f6c57286f41e4304bd394dd2d9c23830678e2a29fd7657eb9aae760c5061f5a5fcf43e65993ccbdf4c3e42bbd933857e22355ef4069f870ec7d180bb SHA512 20ba570f24a0daaa50a07991d0b6ec6620b080ad3a253af2dff7008c504fea3ac2fc11301e1947d81f38b0398d878de0c299700fd99880b021e5e8e5f41afc95
+EBUILD blender-2.91.0.ebuild 9056 BLAKE2B 8d797eebeba043fe2b1d8d74b6d5aa7ef8483efc9b9ea748766d95ddb89e805daa129b2c0515945b4ee89648119812bd2b7dec4a86398c905d2f085ddcbed8f8 SHA512 84ff05f097fdeaa37c795ac11aaf01ecca1063f126b08ada97063a15f5de1f14e9823dc6431c94a4497e09eab7b2932fcdbf661f0a1866fac2fafd24a8a0bd83
+EBUILD blender-2.91.2.ebuild 9055 BLAKE2B fe430c906eed6ef6863b53c81f604738ae1090711da802246c453fa5d4c31cc2918e50b821062ca6db4d61ef5e5ae878e3eac186de061f368b71a45250c3e4e5 SHA512 ca61dfb6e868aa259ae039008357cd4ff43c2a3010b74891a2f21d626e9f5ace0607c75adea0d7cc8cfb0a997658254f0edd36746c0c9795eeae9f98bf83a5d5
+MISC metadata.xml 2733 BLAKE2B bd7234217670288e926c4c71dac113fe478dbaf3f13a5e75ba1147a72b636baa8a7f6ccaaac6cc40e5710342dba4d49e35af8e0ebc439528cf3335cbf7f2560a SHA512 c955e7ffacb639e9bc5d5582bce129bc282f3838a113a5ead9ee2db13448b608b38e77c112036bcb57932302da15a537e2d1f9f82a8393444113340fdb7c8e51
diff --git a/media-gfx/blender/blender-2.83.12.ebuild b/media-gfx/blender/blender-2.83.12.ebuild
new file mode 100644
index 000000000000..7eb344fbf595
--- /dev/null
+++ b/media-gfx/blender/blender-2.83.12.ebuild
@@ -0,0 +1,328 @@
+# 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"
+SRC_URI="https://download.blender.org/source/${P}.tar.xz"
+
+# Blender can have letters in the version string,
+# so strip off the letter if it exists.
+MY_PV="$(ver_cut 1-2)"
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BL )"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bullet +dds +elbeem +openexr +system-python +system-numpy +tbb \
+ abi6-compat abi7-compat alembic collada color-management cuda cycles \
+ debug doc ffmpeg fftw headless jack jemalloc jpeg2k llvm \
+ 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 )
+ elbeem? ( tbb )
+ opencl? ( cycles )
+ openvdb? (
+ ^^ ( abi6-compat abi7-compat )
+ tbb
+ )
+ osl? ( cycles llvm )
+ standalone? ( cycles )"
+
+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 )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] )
+ 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= )
+ llvm? ( sys-devel/llvm:= )
+ ndof? (
+ app-misc/spacenavd
+ dev-libs/libspnav
+ )
+ nls? ( virtual/libiconv )
+ openal? ( media-libs/openal )
+ opencl? ( virtual/opencl )
+ openimageio? ( media-libs/openimageio:= )
+ openexr? (
+ media-libs/ilmbase:=
+ media-libs/openexr:=
+ )
+ opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] )
+ openvdb? (
+ ~media-gfx/openvdb-7.0.0[abi6-compat(-)?,abi7-compat(-)?]
+ dev-libs/c-blosc:=
+ )
+ osl? ( media-libs/osl:= )
+ sdl? ( media-libs/libsdl2[sound,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tbb? ( dev-cpp/tbb )
+ 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 )
+"
+
+CMAKE_BUILD_TYPE="Release"
+
+blender_check_requirements() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ if use doc; then
+ CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ blender_check_requirements
+}
+
+pkg_setup() {
+ blender_check_requirements
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # we don't want static glew, but it's scattered across
+ # multiple files that differ from version to version
+ # !!!CHECK THIS SED ON EVERY VERSION BUMP!!!
+ local file
+ while IFS="" read -d $'\0' -r file ; do
+ sed -i -e '/-DGLEW_STATIC/d' "${file}" || die
+ done < <(find . -type f -name "CMakeLists.txt")
+
+ # 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
+}
+
+src_configure() {
+ # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu
+ # shadows, see bug #276338 for reference
+ append-flags -funsigned-char
+ append-lfs-flags
+
+ if use openvdb; then
+ local version
+ if use abi6-compat; then
+ version=6;
+ elif use abi7-compat; then
+ version=7;
+ else
+ die "Openvdb abi version not compatible"
+ fi
+ append-cppflags -DOPENVDB_ABI_VERSION_NUMBER=${version}
+ fi
+
+ 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_LLVM=$(usex llvm)
+ -DWITH_MEM_JEMALLOC=$(usex jemalloc)
+ -DWITH_MEM_VALGRIND=$(usex valgrind)
+ -DWITH_MOD_FLUID=$(usex elbeem)
+ -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_X11=$(usex !headless)
+ )
+ 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() {
+ if use test; then
+ einfo "Running Blender Unit Tests ..."
+ cd "${BUILD_DIR}"/bin/tests || die
+ local f
+ for f in *_test; do
+ ./"${f}" || die
+ done
+ fi
+}
+
+src_install() {
+ # 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
+
+ # 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-thumbnailer.py"
+ python_optimize "${ED}/usr/share/blender/${MY_PV}/scripts"
+}
+
+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 "dragging the main menu down do display all paths."
+ 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
+
+ if use python_single_target_python3_8; then
+ elog "You've enabled python-3.8 support for blender, which is still experimental."
+ elog "If you experience breakages with e.g. plugins, please switch to"
+ elog "python_single_target_python3_7 instead."
+ elog "Bug: https://bugs.gentoo.org/737388"
+ elog
+ fi
+
+ 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}/${MY_PV}/cache/"
+ ewarn "It may contain extra render kernels not tracked by portage"
+ ewarn ""
+}
diff --git a/media-gfx/blender/blender-2.91.0.ebuild b/media-gfx/blender/blender-2.91.0.ebuild
index d3373af60b12..bedb7cf42832 100644
--- a/media-gfx/blender/blender-2.91.0.ebuild
+++ b/media-gfx/blender/blender-2.91.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,7 +19,7 @@ MY_PV="$(ver_cut 1-2)"
SLOT="0"
LICENSE="|| ( GPL-2 BL )"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~x86"
IUSE="+bullet +dds +elbeem +openexr +system-python +system-numpy +tbb \
abi6-compat abi7-compat alembic collada color-management cuda cycles \
debug doc ffmpeg fftw headless jack jemalloc jpeg2k llvm \
diff --git a/media-gfx/blender/blender-2.91.2.ebuild b/media-gfx/blender/blender-2.91.2.ebuild
new file mode 100644
index 000000000000..652671fd7a04
--- /dev/null
+++ b/media-gfx/blender/blender-2.91.2.ebuild
@@ -0,0 +1,334 @@
+# 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"
+SRC_URI="https://download.blender.org/source/${P}.tar.xz"
+
+# Blender can have letters in the version string,
+# so strip off the letter if it exists.
+MY_PV="$(ver_cut 1-2)"
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BL )"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+bullet +dds +elbeem +openexr +system-python +system-numpy +tbb \
+ abi6-compat abi7-compat alembic collada color-management cuda cycles \
+ debug doc ffmpeg fftw headless jack jemalloc jpeg2k llvm \
+ 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 tbb tiff openimageio )
+ elbeem? ( tbb )
+ opencl? ( cycles )
+ openvdb? (
+ ^^ ( abi6-compat abi7-compat )
+ tbb
+ )
+ osl? ( cycles llvm )
+ standalone? ( cycles )"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-libs/boost:=[nls?,threads(+)]
+ dev-libs/gmp
+ dev-libs/pugixml
+ dev-libs/lzo:2=
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+ media-gfx/potrace
+ media-libs/fontconfig:=
+ 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 )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ cycles? ( media-libs/freeglut )
+ ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] )
+ 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= )
+ llvm? ( sys-devel/llvm:= )
+ ndof? (
+ app-misc/spacenavd
+ dev-libs/libspnav
+ )
+ nls? ( virtual/libiconv )
+ openal? ( media-libs/openal )
+ opencl? ( virtual/opencl )
+ openimageio? ( media-libs/openimageio:= )
+ openexr? (
+ media-libs/ilmbase:=
+ media-libs/openexr:=
+ )
+ opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] )
+ openvdb? (
+ ~media-gfx/openvdb-7.0.0[abi6-compat(-)?,abi7-compat(-)?]
+ dev-libs/c-blosc:=
+ )
+ osl? ( media-libs/osl:= )
+ sdl? ( media-libs/libsdl2[sound,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tbb? ( dev-cpp/tbb )
+ 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 )
+"
+
+CMAKE_BUILD_TYPE="Release"
+
+blender_check_requirements() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ if use doc; then
+ CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ blender_check_requirements
+}
+
+pkg_setup() {
+ blender_check_requirements
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # we don't want static glew, but it's scattered across
+ # multiple files that differ from version to version
+ # !!!CHECK THIS SED ON EVERY VERSION BUMP!!!
+ local file
+ while IFS="" read -d $'\0' -r file ; do
+ sed -i -e '/-DGLEW_STATIC/d' "${file}" || die
+ done < <(find . -type f -name "CMakeLists.txt")
+
+ # 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
+}
+
+src_configure() {
+ # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu
+ # shadows, see bug #276338 for reference
+ append-flags -funsigned-char
+ append-lfs-flags
+
+ if use openvdb; then
+ local version
+ if use abi6-compat; then
+ version=6;
+ elif use abi7-compat; then
+ version=7;
+ else
+ die "Openvdb abi version not compatible"
+ fi
+ append-cppflags -DOPENVDB_ABI_VERSION_NUMBER=${version}
+ fi
+
+ 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_EMBREE=OFF
+ -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_GHOST_X11=$(usex !headless)
+ -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_LLVM=$(usex llvm)
+ -DWITH_MEM_JEMALLOC=$(usex jemalloc)
+ -DWITH_MEM_VALGRIND=$(usex valgrind)
+ -DWITH_MOD_FLUID=$(usex elbeem)
+ -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)
+ )
+ 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() {
+ if use test; then
+ einfo "Running Blender Unit Tests ..."
+ cd "${BUILD_DIR}"/bin/tests || die
+ local f
+ for f in *_test; do
+ ./"${f}" || die
+ done
+ fi
+}
+
+src_install() {
+ # 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
+
+ # 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-thumbnailer.py"
+ python_optimize "${ED}/usr/share/blender/${MY_PV}/scripts"
+}
+
+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 "dragging the main menu down do display all paths."
+ 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
+
+ if use python_single_target_python3_8; then
+ elog "You've enabled python-3.8 support for blender, which is still experimental."
+ elog "If you experience breakages with e.g. plugins, please switch to"
+ elog "python_single_target_python3_7 instead."
+ elog "Bug: https://bugs.gentoo.org/737388"
+ elog
+ fi
+
+ 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}/${MY_PV}/cache/"
+ ewarn "It may contain extra render kernels not tracked by portage"
+ ewarn ""
+}
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 56a4c98b6a4c..18a7b03a8de1 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -51,9 +51,6 @@
<flag name="llvm">
Enable features depending on llvm.
</flag>
- <flag name="man">
- Build and install man pages.
- </flag>
<flag name="ndof">
Enable NDOF input devices (SpaceNavigator and friends).
</flag>