From 0827eeeaa829df34bb133259d663b334cbbec18d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 30 Apr 2020 11:38:31 +0100 Subject: media-gfx/blender : import from gentoo, add python3.7 compat (builds and runs fine with it) --- media-gfx/blender/Manifest | 1 + media-gfx/blender/blender-2.79b-r3.ebuild | 298 +++++++++++++++++++++ media-gfx/blender/blender-2.81a-r2.ebuild | 297 -------------------- .../files/blender-2.79b-ffmpeg-4-compat.patch | 62 +++++ ....79b-fix-for-gcc9-new-openmp-data-sharing.patch | 31 +++ media-gfx/blender/files/blender-2.79b-gcc-8.patch | 22 ++ .../blender/files/blender-fix-install-rules.patch | 18 +- 7 files changed, 424 insertions(+), 305 deletions(-) create mode 100644 media-gfx/blender/Manifest create mode 100644 media-gfx/blender/blender-2.79b-r3.ebuild delete mode 100644 media-gfx/blender/blender-2.81a-r2.ebuild create mode 100644 media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch create mode 100644 media-gfx/blender/files/blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch create mode 100644 media-gfx/blender/files/blender-2.79b-gcc-8.patch (limited to 'media-gfx') diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest new file mode 100644 index 00000000..2a585f30 --- /dev/null +++ b/media-gfx/blender/Manifest @@ -0,0 +1 @@ +DIST blender-2.79b.tar.gz 50204270 BLAKE2B 78bda294df783ee9bcbcf32f9a112737b2947da5146fd4351b8b36d81c6630ed0ea302b2fb539642cfbdcc4b64df35af5c8545a3bbf50b1cf87dcf3a60eb4ac0 SHA512 2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f diff --git a/media-gfx/blender/blender-2.79b-r3.ebuild b/media-gfx/blender/blender-2.79b-r3.ebuild new file mode 100644 index 00000000..d20e727e --- /dev/null +++ b/media-gfx/blender/blender-2.79b-r3.ebuild @@ -0,0 +1,298 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{3_6.3_7} ) + +inherit check-reqs cmake-utils xdg-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 libav \ + 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?] ) + libav? ( >=media-video/libav-11.3:=[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? ( + media-gfx/openvdb[${PYTHON_SINGLE_USEDEP},-abi3-compat(-),abi4-compat(+)] + dev-cpp/tbb + >=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" +) + +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.81a-r2.ebuild b/media-gfx/blender/blender-2.81a-r2.ebuild deleted file mode 100644 index a8b97967..00000000 --- a/media-gfx/blender/blender-2.81a-r2.ebuild +++ /dev/null @@ -1,297 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{7,8} ) - -inherit git-r3 check-reqs cmake-utils xdg-utils flag-o-matic gnome2-utils \ - pax-utils python-single-r1 toolchain-funcs eapi7-ver - -DESCRIPTION="3D Creation/Animation/Publishing System" -HOMEPAGE="http://www.blender.org" - -# SRC_URI="http://download.blender.org/source/${P}.tar.gz" -EGIT_REPO_URI="https://git.blender.org/blender.git" -EGIT_COMMIT="v2.81a" - -# 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 colorio \ - cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \ - llvm man ndof nls openal opencl openimageio openmp opensubdiv openvdb \ - osl player sdl sndfile test tiff valgrind" - -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:= ) - colorio? ( media-libs/opencolorio ) - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] ) - libav? ( >=media-video/libav-11.3:=[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? ( - media-gfx/openvdb[${PYTHON_SINGLE_USEDEP},-abi3-compat(-),abi4-compat(+)] - dev-cpp/tbb - >=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[-nodot(-),dot(+),latex] - dev-python/sphinx[latex] - ) - nls? ( sys-devel/gettext )" - -PATCHES=( - "${FILESDIR}/${PN}-fix-install-rules.patch" -) -# "${FILESDIR}/${P}-gcc-8.patch" -# "${FILESDIR}/${P}-ffmpeg-4-compat.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 colorio) - -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_preinst() { - gnome2_icon_savelist -} - -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 - gnome2_icon_cache_update - xdg_mimeinfo_database_update -} - -pkg_postrm() { - gnome2_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/files/blender-2.79b-ffmpeg-4-compat.patch b/media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch new file mode 100644 index 00000000..4ad05aaf --- /dev/null +++ b/media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch @@ -0,0 +1,62 @@ +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 new file mode 100644 index 00000000..0ecc960d --- /dev/null +++ b/media-gfx/blender/files/blender-2.79b-fix-for-gcc9-new-openmp-data-sharing.patch @@ -0,0 +1,31 @@ +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-gcc-8.patch b/media-gfx/blender/files/blender-2.79b-gcc-8.patch new file mode 100644 index 00000000..3a64ad2f --- /dev/null +++ b/media-gfx/blender/files/blender-2.79b-gcc-8.patch @@ -0,0 +1,22 @@ +--- 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 index 6f203bd8..e62aba81 100644 --- a/media-gfx/blender/files/blender-fix-install-rules.patch +++ b/media-gfx/blender/files/blender-fix-install-rules.patch @@ -1,14 +1,16 @@ ---- a/source/creator/CMakeLists.txt.ORIG 2019-06-26 11:43:48.063167637 +0200 -+++ b/source/creator/CMakeLists.txt 2019-06-26 12:33:02.676329481 +0200 -@@ -352,11 +352,6 @@ +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. +-# important to make a clean install each time, else old scripts get loaded. -install( -- CODE -- "file(REMOVE_RECURSE ${TARGETDIR_VER})" +- CODE +- "file(REMOVE_RECURSE ${TARGETDIR_VER})" -) - if(WITH_PYTHON) - # install(CODE "message(\"copying blender scripts...\")") - + # install(CODE "message(\"copying blender scripts...\")") + -- cgit v1.2.3