From d934827bf44b7cfcf6711964418148fa60877668 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 25 Nov 2020 22:39:15 +0000 Subject: gentoo resync : 25.11.2020 --- media-gfx/blender/Manifest | 13 +- media-gfx/blender/blender-2.79b-r2.ebuild | 298 ------------------- media-gfx/blender/blender-2.83.4-r1.ebuild | 318 ++++++++++++++++++++ media-gfx/blender/blender-2.83.4.ebuild | 318 -------------------- media-gfx/blender/blender-2.90.1-r1.ebuild | 319 +++++++++++++++++++++ .../files/blender-2.79b-ffmpeg-4-compat.patch | 62 ---- ....79b-fix-for-gcc9-new-openmp-data-sharing.patch | 31 -- .../files/blender-2.79b-fix-opencollada.patch | 112 -------- media-gfx/blender/files/blender-2.79b-gcc-8.patch | 22 -- .../blender/files/blender-fix-install-rules.patch | 16 -- media-gfx/blender/metadata.xml | 6 - 11 files changed, 641 insertions(+), 874 deletions(-) delete mode 100644 media-gfx/blender/blender-2.79b-r2.ebuild create mode 100644 media-gfx/blender/blender-2.83.4-r1.ebuild delete mode 100644 media-gfx/blender/blender-2.83.4.ebuild create mode 100644 media-gfx/blender/blender-2.90.1-r1.ebuild delete mode 100644 media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch delete mode 100644 media-gfx/blender/files/blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch delete mode 100644 media-gfx/blender/files/blender-2.79b-fix-opencollada.patch delete mode 100644 media-gfx/blender/files/blender-2.79b-gcc-8.patch delete mode 100644 media-gfx/blender/files/blender-fix-install-rules.patch (limited to 'media-gfx/blender') diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index e80c5b569484..61d0c227951e 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -1,10 +1,5 @@ -AUX blender-2.79b-ffmpeg-4-compat.patch 2052 BLAKE2B 3e9f341416a3dc629d950623cc54da4c2984c7f73b6565cb7cb0aa00bf86eec725f0fdc503a517b29282596669de108d1dbe2c9783c8a0da412a6d14834d5cdf SHA512 afd90ee52a2a7d955417450e92642e2169c1f0e6d20d96a1f08521db718bc224941c15d23152eb3fcde1b4dc84ffb52162d77b23252ef8250a6b5ddbcd8ca67d -AUX blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch 1265 BLAKE2B bff3ae55e61e7ad3b14d190b28b2a3ec932be020c9cc15365142bd8c9fb23d9b559209690fb2554bb82c0221a51329a2056d50c0876d2f91ea5c047dd4d00762 SHA512 295daedff4cce243d47133116443d4e0e91a263d56a9303aeec214984faa83bc54a7736848a684120cb8a397f95b1d8c5caa74c9369368723d8d6facf6888618 -AUX blender-2.79b-fix-opencollada.patch 4227 BLAKE2B 3f6742623ad9801c0748c324e7d64f9d548caf32c7d0ebf6db217f5fa895d9596c44c1e1b0beb4f38a7026ffd0fdee1147e5cc0dd3491e6443d44786484855d2 SHA512 753aa45f416cdc5c22d26ac8ec99a403100f4e8ec0e39c39ae3b112611099554a4b0f1275202205c966249f6560d3138cbf0e84e7ccae440096aec7166382fb7 -AUX blender-2.79b-gcc-8.patch 1259 BLAKE2B 7d204a953c71e656fb309e0560e2de03a9316a95e67a76ecdeb303fadeeca14338ba823d6780a50b62bf4686477a962030b42b15ceae12d48ab21034b0358cc1 SHA512 df0a6a0543a7feac22e6082652792e59ce675dcea99a821c480d5c13e42e9df4d7ab43c71d296a22dd195771714e630757b1e220177d3713f409ea21e9251504 -AUX blender-fix-install-rules.patch 518 BLAKE2B 178929de7adb1b4a0063134da93248af8c2c42fe0d3e9730833272b4fe8387075ce592ee65668cc9862a1ad10c9857a31b3f1c0614c9e69f937998ccb5c86a17 SHA512 5343f0e9e6bba2d15a38cb5db95a1aeff0a704c0762e558b9b74d88dd58e2fb5077289f0d8f25a61fa092d083f7db916d27c4642dfd7cf84d4c989258c3253ec -DIST blender-2.79b.tar.gz 50204270 BLAKE2B 78bda294df783ee9bcbcf32f9a112737b2947da5146fd4351b8b36d81c6630ed0ea302b2fb539642cfbdcc4b64df35af5c8545a3bbf50b1cf87dcf3a60eb4ac0 SHA512 2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f DIST blender-2.83.4.tar.xz 38528352 BLAKE2B 54596207cbee34fcaa6b81a0d829976b42c28c793b88de81d78c1c3fdfe9dd2a0189a314be281b2a0f1829a0b7fd30d37bceaa28d35c9794dcb0f009fa71e83d SHA512 061735273159742784ed210d13fb39ad076efbbfd5f0291bab1b983699d43b20462dc7e4795e28dab0cd191c9879b43d9ad0f0545c24ef5da23c74679e5ccab5 -EBUILD blender-2.79b-r2.ebuild 8330 BLAKE2B a8e25b98ba96c2f0a75e8502ba8132e4a7dd3819ab01903310d6ddbd081a3b655a4406d15020c3d063d65bcfd5fbcb878e8a9ee4967b489a0edc581806341567 SHA512 303bc0821d1aa8cadb5c5cbeeda7e4fee64daece469c5cc1d304844cf89430e54017f7811dbd7d31e8ad61bfe51cdae98e0d9ff4716a902bcb4103c5c92b187b -EBUILD blender-2.83.4.ebuild 8559 BLAKE2B 7291ae9d7790cbb9183201e91ac7d1f08c6fc2fd0481f19adf7bc23e29af2855e4390c0da45a7d68687102d885093e805bf1cc436fc628541068d566cd6d174a SHA512 be6584a264b10fb0ccfef5bff93c3f3e4d3b789a1e32507534d4a6215cf408a215d3541d299b7730e6c64a28c3732b49dce4a73f735f6c97b6b251a88e0201d6 -MISC metadata.xml 3132 BLAKE2B d4679d2ca60cc618bb93a3a904842813014ef93e05f52346452629a8975d79bd60ead97f3d9d94439f2e858e3e1fe66695ede0290992e2dae3d8317a5b30a9b4 SHA512 c450c3f4727a95ffe4dc9bbb3e1a7b2173d51d5876203a4872ef8c29fb13e2f096c344c8e15ccb07f0e662a2dbf81c68d0911c774d6a9c4b286f2e50dc7b9dca +DIST blender-2.90.1.tar.xz 38836408 BLAKE2B 42622e742ebd397dc035c85cf26ab72ffee64f2cd46f1523de78dc8861bc19286a7d87b9e31a0d6afdf9a931da7018ccbdb9b4185b8535b4529656c6d85efc34 SHA512 e7d6f8df598f2a2a99f64716331ec4e981a5a49c76b307caf7856480c778455cfc4bbb56fbedc8b22d1e10951ebaeb6844d1ead9476847bf2824dddf5b135992 +EBUILD blender-2.83.4-r1.ebuild 8560 BLAKE2B 295b8bdf8d2dfc2d260911fa07deb04ecd5ace532e5358fc99a2be61f972b44aac993becde6b708b38b3c08967979ed1e595c6f62f4570f3ea032e9ed0e93907 SHA512 7fe110617b574ae4ad11056a7748891556f20f41b907c6f38a714469a5f544ac8a59a4f2d400e3d4e594080b86476e6e281a20b7edf01aa87d0906f9de0cf754 +EBUILD blender-2.90.1-r1.ebuild 8594 BLAKE2B 1eea748af879ef517c436f8105dfa6f63537e4cc43fa3bd5f07e003afd418940c7f47a2b3fab8e5605a7e5afc7ca582cc71c6c14d00d3b05a523dae94d7bec86 SHA512 f0a5797d2aa739e47311dc66e6464431f6620d6bdd322dbca3cfd9dd1daa4e5e7df4d4665ae855690c3701d72b89dc917cffd566d72c8e98c8c1168c0f6c26cc +MISC metadata.xml 2961 BLAKE2B 77f0031737c448bac4387ca94430ccebbb75f1cdf6fa5780e3c1bdf2118382dbba29479e680c009685cc86105ed3f64d73b7ce2c1a882a1dd18bf4e00a1a249b SHA512 67031dc5c4428e1e7d15fc499f1cb3abd666e2c365d423c845fd587ac87712a72b171df5d7ca2a0b5d2cbe2850081212a77f66c11196700aa7f253b0c5963442 diff --git a/media-gfx/blender/blender-2.79b-r2.ebuild b/media-gfx/blender/blender-2.79b-r2.ebuild deleted file mode 100644 index 977f12110a6a..000000000000 --- a/media-gfx/blender/blender-2.79b-r2.ebuild +++ /dev/null @@ -1,298 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_6 ) - -inherit check-reqs cmake-utils flag-o-matic xdg-utils \ - pax-utils python-single-r1 toolchain-funcs eapi7-ver - -DESCRIPTION="3D Creation/Animation/Publishing System" -HOMEPAGE="https://www.blender.org" - -SRC_URI="https://download.blender.org/source/${P}.tar.gz" - -# 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 +game-engine +openexr collada color-management \ - cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k \ - llvm man ndof nls openal opencl openimageio openmp opensubdiv openvdb \ - osl player sdl sndfile test tiff valgrind" -RESTRICT="!test? ( test )" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - cuda? ( cycles ) - cycles? ( openexr tiff openimageio ) - opencl? ( cycles ) - osl? ( cycles llvm ) - player? ( game-engine !headless )" - -RDEPEND="${PYTHON_DEPS} - >=dev-libs/boost-1.62:=[nls?,threads(+)] - dev-libs/lzo:2 - $(python_gen_cond_dep ' - >=dev-python/numpy-1.10.1[${PYTHON_MULTI_USEDEP}] - dev-python/requests[${PYTHON_MULTI_USEDEP}] - ') - media-libs/freetype - media-libs/glew:* - media-libs/libpng:0= - media-libs/libsamplerate - sys-libs/zlib - virtual/glu - virtual/jpeg:0= - virtual/libintl - virtual/opengl - collada? ( >=media-libs/opencollada-1.6.18:= ) - 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:0 ) - 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-1.7.0 ) - openexr? ( - >=media-libs/ilmbase-2.2.0:= - >=media-libs/openexr-2.2.0:= - ) - opensubdiv? ( >=media-libs/opensubdiv-3.3.0:=[cuda=,opencl=] ) - openvdb? ( - =dev-libs/c-blosc-1.5.2 - ) - osl? ( media-libs/osl:= ) - sdl? ( media-libs/libsdl2[sound,joystick] ) - sndfile? ( media-libs/libsndfile ) - tiff? ( media-libs/tiff:0 ) - valgrind? ( dev-util/valgrind )" - -DEPEND="${RDEPEND} - >=dev-cpp/eigen-3.2.8:3 - 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}/${PN}-fix-install-rules.patch" - "${FILESDIR}/${P}-gcc-8.patch" - "${FILESDIR}/${P}-ffmpeg-4-compat.patch" - "${FILESDIR}/${P}-fix-for-gcc9-new-openmp-data-sharing.patch" - "${FILESDIR}/${P}-fix-opencollada.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 -} - -pkg_pretend() { - blender_check_requirements -} - -pkg_setup() { - blender_check_requirements - python-single-r1_pkg_setup -} - -src_prepare() { - cmake-utils_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 - # Blender is compatible ABI 4 or less, so use ABI 4. - append-cppflags -DOPENVDB_ABI_VERSION_NUMBER=4 - - local mycmakeargs=( - -DPYTHON_VERSION="${EPYTHON/python/}" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DWITH_INSTALL_PORTABLE=OFF - -DWITH_PYTHON_INSTALL=OFF - -DWITH_PYTHON_INSTALL_NUMPY=OFF - -DWITH_STATIC_LIBS=OFF - -DWITH_SYSTEM_GLEW=ON - -DWITH_SYSTEM_OPENJPEG=ON - -DWITH_SYSTEM_EIGEN3=ON - -DWITH_SYSTEM_LZO=ON - -DWITH_C11=ON - -DWITH_CXX11=ON - -DWITH_BOOST=ON - -DWITH_BULLET=$(usex bullet) - -DWITH_CODEC_FFMPEG=$(usex ffmpeg) - -DWITH_CODEC_SNDFILE=$(usex sndfile) - -DWITH_CUDA=$(usex cuda) - -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) - -DWITH_CYCLES=$(usex cycles) - -DWITH_CYCLES_OSL=$(usex osl) - -DWITH_LLVM=$(usex llvm) - -DWITH_FFTW3=$(usex fftw) - -DWITH_GAMEENGINE=$(usex game-engine) - -DWITH_HEADLESS=$(usex headless) - -DWITH_X11=$(usex !headless) - -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_MOD_FLUID=$(usex elbeem) - -DWITH_MOD_OCEANSIM=$(usex fftw) - -DWITH_OPENAL=$(usex openal) - -DWITH_OPENCL=$(usex opencl) - -DWITH_OPENCOLORIO=$(usex color-management) - -DWITH_OPENCOLLADA=$(usex collada) - -DWITH_OPENIMAGEIO=$(usex openimageio) - -DWITH_OPENMP=$(usex openmp) - -DWITH_OPENSUBDIV=$(usex opensubdiv) - -DWITH_OPENVDB=$(usex openvdb) - -DWITH_OPENVDB_BLOSC=$(usex openvdb) - -DWITH_PLAYER=$(usex player) - -DWITH_SDL=$(usex sdl) - -DWITH_CXX_GUARDEDALLOC=$(usex debug) - -DWITH_ASSERT_ABORT=$(usex debug) - -DWITH_GTESTS=$(usex test) - -DWITH_DOC_MANPAGE=$(usex man) - -DWITH_MEM_JEMALLOC=$(usex jemalloc) - -DWITH_MEM_VALGRIND=$(usex valgrind) - ) - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_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 "${CMAKE_BUILD_DIR}"/bin/blender - - 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-utils_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 "inherit 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 - xdg_icon_cache_update - xdg_mimeinfo_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_mimeinfo_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.83.4-r1.ebuild b/media-gfx/blender/blender-2.83.4-r1.ebuild new file mode 100644 index 000000000000..a4a6501ff7a4 --- /dev/null +++ b/media-gfx/blender/blender-2.83.4-r1.ebuild @@ -0,0 +1,318 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_7 ) + +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 ) +" + +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 + 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.83.4.ebuild b/media-gfx/blender/blender-2.83.4.ebuild deleted file mode 100644 index 190185272e9c..000000000000 --- a/media-gfx/blender/blender-2.83.4.ebuild +++ /dev/null @@ -1,318 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_7 ) - -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 ) -" - -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 - 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.90.1-r1.ebuild b/media-gfx/blender/blender-2.90.1-r1.ebuild new file mode 100644 index 000000000000..7ad59e31836d --- /dev/null +++ b/media-gfx/blender/blender-2.90.1-r1.ebuild @@ -0,0 +1,319 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_7 ) + +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 ) +" + +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 + 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/files/blender-2.79b-ffmpeg-4-compat.patch b/media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch deleted file mode 100644 index 4ad05aafb15d..000000000000 --- a/media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff -urN a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h ---- a/intern/ffmpeg/ffmpeg_compat.h 2018-03-23 15:22:25.000000000 +0000 -+++ b/intern/ffmpeg/ffmpeg_compat.h 2018-08-16 14:39:23.484489828 +0100 -@@ -109,6 +109,45 @@ - - #endif - -+/* XXX TODO Probably fix to correct modern flags in code? Not sure how old FFMPEG we want to support though, -+ * so for now this will do. */ -+ -+#ifndef FF_MIN_BUFFER_SIZE -+# ifdef AV_INPUT_BUFFER_MIN_SIZE -+# define FF_MIN_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE -+# endif -+#endif -+ -+#ifndef FF_INPUT_BUFFER_PADDING_SIZE -+# ifdef AV_INPUT_BUFFER_PADDING_SIZE -+# define FF_INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_PADDING_SIZE -+# endif -+#endif -+ -+#ifndef CODEC_FLAG_GLOBAL_HEADER -+# ifdef AV_CODEC_FLAG_GLOBAL_HEADER -+# define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER -+# endif -+#endif -+ -+#ifndef CODEC_FLAG_GLOBAL_HEADER -+# ifdef AV_CODEC_FLAG_GLOBAL_HEADER -+# define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER -+# endif -+#endif -+ -+#ifndef CODEC_FLAG_INTERLACED_DCT -+# ifdef AV_CODEC_FLAG_INTERLACED_DCT -+# define CODEC_FLAG_INTERLACED_DCT AV_CODEC_FLAG_INTERLACED_DCT -+# endif -+#endif -+ -+#ifndef CODEC_FLAG_INTERLACED_ME -+# ifdef AV_CODEC_FLAG_INTERLACED_ME -+# define CODEC_FLAG_INTERLACED_ME AV_CODEC_FLAG_INTERLACED_ME -+# endif -+#endif -+ - /* FFmpeg upstream 1.0 is the first who added AV_ prefix. */ - #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 59, 100) - # define AV_CODEC_ID_NONE CODEC_ID_NONE -diff -urN a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c ---- a/source/blender/blenkernel/intern/writeffmpeg.c 2018-03-23 15:22:25.000000000 +0000 -+++ b/source/blender/blenkernel/intern/writeffmpeg.c 2018-08-16 14:39:21.702484751 +0100 -@@ -605,7 +605,8 @@ - c->rc_buffer_aggressivity = 1.0; - #endif - -- c->me_method = ME_EPZS; -+ /* Deprecated and not doing anything since July 2015, deleted in recent ffmpeg */ -+ //c->me_method = ME_EPZS; - - codec = avcodec_find_encoder(c->codec_id); - if (!codec) diff --git a/media-gfx/blender/files/blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch b/media-gfx/blender/files/blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch deleted file mode 100644 index 0ecc960d28e1..000000000000 --- a/media-gfx/blender/files/blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/intern/elbeem/intern/solver_main.cpp b/intern/elbeem/intern/solver_main.cpp -index 68f7c04..514087b 100644 ---- a/intern/elbeem/intern/solver_main.cpp -+++ b/intern/elbeem/intern/solver_main.cpp -@@ -381,7 +381,7 @@ LbmFsgrSolver::mainLoop(const int lev) - GRID_REGION_INIT(); - #if PARALLEL==1 - const int gDebugLevel = ::gDebugLevel; --#pragma omp parallel default(none) num_threads(mNumOMPThreads) \ -+#pragma omp parallel num_threads(mNumOMPThreads) \ - reduction(+: \ - calcCurrentMass,calcCurrentVolume, \ - calcCellsFilled,calcCellsEmptied, \ -@@ -1126,7 +1126,7 @@ LbmFsgrSolver::preinitGrids() - GRID_REGION_INIT(); - #if PARALLEL==1 - const int gDebugLevel = ::gDebugLevel; --#pragma omp parallel default(none) num_threads(mNumOMPThreads) \ -+#pragma omp parallel num_threads(mNumOMPThreads) \ - reduction(+: \ - calcCurrentMass,calcCurrentVolume, \ - calcCellsFilled,calcCellsEmptied, \ -@@ -1164,7 +1164,7 @@ LbmFsgrSolver::standingFluidPreinit() - GRID_REGION_INIT(); - #if PARALLEL==1 - const int gDebugLevel = ::gDebugLevel; --#pragma omp parallel default(none) num_threads(mNumOMPThreads) \ -+#pragma omp parallel num_threads(mNumOMPThreads) \ - reduction(+: \ - calcCurrentMass,calcCurrentVolume, \ - calcCellsFilled,calcCellsEmptied, \ diff --git a/media-gfx/blender/files/blender-2.79b-fix-opencollada.patch b/media-gfx/blender/files/blender-2.79b-fix-opencollada.patch deleted file mode 100644 index ab1704864a02..000000000000 --- a/media-gfx/blender/files/blender-2.79b-fix-opencollada.patch +++ /dev/null @@ -1,112 +0,0 @@ -Opencollada 1.65 and later added a pure virtual function writeAnimationClip -so the compiler is unable to create a DocumentImporter implementation. -These patches are backported from blender 2.80-r1 which fix the issue. - -See https://developer.blender.org/rB10c50d7dbf7578b35b3bf19a1948f556f9eb203b -and https://developer.blender.org/rB3552731551ef1845b493ffebf78be5a42527e9f2 - -Thanks to Dennis Schridde for finding them. - ---- blender-2.79b/source/blender/collada/CMakeLists.txt.orig 2020-07-23 18:00:09.421620416 +0200 -+++ blender-2.79b/source/blender/collada/CMakeLists.txt 2020-07-23 18:00:13.868584964 +0200 -@@ -25,6 +25,18 @@ - - remove_strict_flags() - -+FIND_FILE(_opencollada_with_animation_clip -+ NAMES -+ COLLADAFWAnimationClip.h -+ PATHS -+ ${OPENCOLLADA_INCLUDE_DIRS} -+ NO_DEFAULT_PATH -+ ) -+ -+IF(_opencollada_with_animation_clip) -+ add_compile_definitions(OPENCOLLADA_WITH_ANIMATION_CLIP) -+ENDIF() -+ - set(INC - . - ../blenkernel ---- blender-2.79b/source/blender/collada/DocumentImporter.h.orig 2018-03-23 16:10:23.000000000 +0100 -+++ blender-2.79b/source/blender/collada/DocumentImporter.h 2020-07-23 18:00:13.897584733 +0200 -@@ -108,6 +108,11 @@ - - bool writeAnimationList(const COLLADAFW::AnimationList*); - -+#if OPENCOLLADA_WITH_ANIMATION_CLIP -+ // Please enable this when building with Collada 1.6.65 or newer (also in DocumentImporter.cpp) -+ bool writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip); -+#endif -+ - bool writeGeometry(const COLLADAFW::Geometry*); - - bool writeMaterial(const COLLADAFW::Material*); ---- blender-2.79b/source/blender/collada/DocumentImporter.cpp.orig 2018-03-23 16:22:25.000000000 +0100 -+++ blender-2.79b/source/blender/collada/DocumentImporter.cpp 2020-07-23 18:00:13.896584741 +0200 -@@ -1349,6 +1349,19 @@ - -+#if OPENCOLLADA_WITH_ANIMATION_CLIP -+// Since opencollada 1.6.68 -+// called on post-process stage after writeVisualScenes -+bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip) -+{ -+ if (mImportStage != General) -+ return true; -+ -+ return true; -+ //return animation_clip_importer.write_animation_clip(animationClip); // TODO: implement import of AnimationClips -+} -+#endif -+ - // this is called on postprocess, before writeVisualScenes - bool DocumentImporter::writeController(const COLLADAFW::Controller *controller) - { - if (mImportStage != General) - return true; ---- blender-2.79b/source/blender/collada/CMakeLists.txt.orig 2020-07-23 18:00:45.035336449 +0200 -+++ blender-2.79b/source/blender/collada/CMakeLists.txt 2020-07-23 18:00:52.459277244 +0200 -@@ -24,8 +24,7 @@ - # ***** END GPL LICENSE BLOCK ***** - - remove_strict_flags() -- --FIND_FILE(_opencollada_with_animation_clip -+FIND_FILE(OPENCOLLADA_ANIMATION_CLIP - NAMES - COLLADAFWAnimationClip.h - PATHS -@@ -33,8 +32,11 @@ - NO_DEFAULT_PATH - ) - --IF(_opencollada_with_animation_clip) -- add_compile_definitions(OPENCOLLADA_WITH_ANIMATION_CLIP) -+IF(OPENCOLLADA_ANIMATION_CLIP) -+ message(STATUS "Found opencollada: ${OPENCOLLADA_ANIMATION_CLIP} ") -+ add_definitions(-DWITH_OPENCOLLADA_ANIMATION_CLIP) -+ELSE() -+ message(STATUS "opencollada: Build without animation clip support") - ENDIF() - - set(INC ---- blender-2.79b/source/blender/collada/DocumentImporter.h.orig 2020-07-23 18:00:13.897584733 +0200 -+++ blender-2.79b/source/blender/collada/DocumentImporter.h 2020-07-23 18:00:52.487277021 +0200 -@@ -108,7 +108,7 @@ - - bool writeAnimationList(const COLLADAFW::AnimationList*); - --#if OPENCOLLADA_WITH_ANIMATION_CLIP -+#if WITH_OPENCOLLADA_ANIMATION_CLIP - // Please enable this when building with Collada 1.6.65 or newer (also in DocumentImporter.cpp) - bool writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip); - #endif ---- blender-2.79b/source/blender/collada/DocumentImporter.cpp.orig 2020-07-23 18:00:13.896584741 +0200 -+++ blender-2.79b/source/blender/collada/DocumentImporter.cpp 2020-07-23 18:00:52.486277028 +0200 -@@ -1349,5 +1349,5 @@ - --#if OPENCOLLADA_WITH_ANIMATION_CLIP -+#if WITH_OPENCOLLADA_ANIMATION_CLIP - // Since opencollada 1.6.68 - // called on post-process stage after writeVisualScenes - bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip) diff --git a/media-gfx/blender/files/blender-2.79b-gcc-8.patch b/media-gfx/blender/files/blender-2.79b-gcc-8.patch deleted file mode 100644 index 3a64ad2f796d..000000000000 --- a/media-gfx/blender/files/blender-2.79b-gcc-8.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- blender-2.79b-orig/intern/cycles/util/util_sseb.h 2018-03-24 02:22:25.000000000 +1100 -+++ blender-2.79b/intern/cycles/util/util_sseb.h 2018-05-30 20:43:33.888717930 +1000 -@@ -116,7 +116,7 @@ - __forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); } - - template __forceinline const sseb shuffle( const sseb& a ) { -- return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)); -+ return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0))); - } - - template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) { ---- blender-2.79b-orig/intern/itasc/kdl/tree.hpp 2018-03-24 02:22:25.000000000 +1100 -+++ blender-2.79b/intern/itasc/kdl/tree.hpp 2018-05-30 20:33:52.045179988 +1000 -@@ -34,7 +34,7 @@ - //Forward declaration - class TreeElement; - // Eigen allocator is needed for alignment of Eigen data types -- typedef std::map, Eigen::aligned_allocator > > SegmentMap; -+ typedef std::map, Eigen::aligned_allocator > > SegmentMap; - - class TreeElement - { diff --git a/media-gfx/blender/files/blender-fix-install-rules.patch b/media-gfx/blender/files/blender-fix-install-rules.patch deleted file mode 100644 index e62aba814b9f..000000000000 --- a/media-gfx/blender/files/blender-fix-install-rules.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -purN a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt ---- a/source/creator/CMakeLists.txt 2016-09-28 10:26:55.000000000 +0100 -+++ b/source/creator/CMakeLists.txt 2016-10-03 12:17:08.938928486 +0100 -@@ -328,12 +328,6 @@ endif() - # Install Targets (Generic, All Platforms) - - --# important to make a clean install each time, else old scripts get loaded. --install( -- CODE -- "file(REMOVE_RECURSE ${TARGETDIR_VER})" --) -- - if(WITH_PYTHON) - # install(CODE "message(\"copying blender scripts...\")") - diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index 2432483fedd4..0dff6db1f81c 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -48,9 +48,6 @@ Adds surface fluid simulation to Blender using El'Beem library. - - Adds Game Engine support to Blender. - Build without graphical support (renderfarm, server mode only). @@ -77,9 +74,6 @@ Add support for OpenShadingLanguage scripting. - - Build the Blender Player. THis requires the Game engine. - Build the standalone version of Cycles. -- cgit v1.2.3