summaryrefslogtreecommitdiff
path: root/media-gfx/blender
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/blender')
-rw-r--r--media-gfx/blender/Manifest8
-rw-r--r--media-gfx/blender/blender-2.79-r1.ebuild4
-rw-r--r--media-gfx/blender/blender-2.79.ebuild4
-rw-r--r--media-gfx/blender/blender-2.79b.ebuild291
-rw-r--r--media-gfx/blender/files/blender-2.79b-ffmpeg-4-compat.patch62
-rw-r--r--media-gfx/blender/files/blender-2.79b-gcc-8.patch22
6 files changed, 385 insertions, 6 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 27f461c6de46..d88bfeae4dbd 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -5,10 +5,14 @@ AUX blender-2.72-T42797.diff 342 BLAKE2B 0aa4724ae35004bc629db5c359059d4dd732d4f
AUX blender-2.72b-fix-util_simd.patch 292 BLAKE2B 176faae00e80e741297e0c06998b0c40d7b5a2d2939ca947094144ca90daf0a33d91ab0b7704aa32e09ef13f4aca9c79d5f969ecaad72251fc86e9b7bcce7a07 SHA512 17c328b9c64f1f42b4223d5f0777a68500235f95a85b761fdef216c5af4be17f67455e8044ab52fe6dd3e0bdfc6a7075cc3c21dae135a9cc7d174b6972b0326b
AUX blender-2.72b-gcc6-fixes.patch 4828 BLAKE2B aa189c58028c61102be7f1b6485700fd8d2968e65f6f71b6a2527f38f4ada0039017c67d2110b4a532140f1903c7ea7fbeaffadebbafa781e07e900803bfeac8 SHA512 886d594a87aafe827ed65c6106c29c727ec31b92a3a2df32023cc2b728719c4e6e7a8418b725201d338331e23cca17a88f518b353735b33e40cee30a754050cc
AUX blender-2.79-fix-build-with-OSL-1.9.x.patch 1119 BLAKE2B f0289707d5383ee11af257b7d77a725e83aba3c086c12a4a2fb390bb5e02a27c4f3376083ddfd827e3ff3ca24212df4ea463062c6bea524aaee373847837986e SHA512 0a02efdcc6710d34e57ff99ff5c999cebeb7cf130fba76fa82ba29f0827ee63c97448eb01aa10982096d22b61fbc1751be5e1fe3154792e266b0c9dd04c54f42
+AUX blender-2.79b-ffmpeg-4-compat.patch 2052 BLAKE2B 3e9f341416a3dc629d950623cc54da4c2984c7f73b6565cb7cb0aa00bf86eec725f0fdc503a517b29282596669de108d1dbe2c9783c8a0da412a6d14834d5cdf SHA512 afd90ee52a2a7d955417450e92642e2169c1f0e6d20d96a1f08521db718bc224941c15d23152eb3fcde1b4dc84ffb52162d77b23252ef8250a6b5ddbcd8ca67d
+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.72b.tar.gz 52018242 BLAKE2B fa0b8ab3feaeb35e76d833415984eb21d7b6dca47b9e5fb337cdfbdc9924165d3345caa5608ee2849bf71855c917a6fa56d79d4f375b57ff367047ef92e8e0b9 SHA512 9767797621e443ff9b6810d1713dda110f883c33626d40d7fe5dda676f549e3591516dc24b75feebd85823dd13437c34521ca752139cd31ddacf31ea6b14e124
DIST blender-2.79.tar.gz 50145270 BLAKE2B 5c11b36840d4bf4a414f01d1f8efcbfb2879ce56c9e2ebe32d8bb0be3ce29fd194dec8b3aa5bca9bf664804c1be57d01394494fdfebc7a4d8257bd2c47866338 SHA512 9b81c41882f4e150476ebda5b301b78c2d35ea918394c8a01671fc031f7cb7a34b5a3d68b6a345f6d23fd9ecedd25bc0bd24f9f9b3ec771237ac4496bbde7d2f
+DIST blender-2.79b.tar.gz 50204270 BLAKE2B 78bda294df783ee9bcbcf32f9a112737b2947da5146fd4351b8b36d81c6630ed0ea302b2fb539642cfbdcc4b64df35af5c8545a3bbf50b1cf87dcf3a60eb4ac0 SHA512 2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f
EBUILD blender-2.72b-r4.ebuild 8106 BLAKE2B 32e220cf9afc0219a0b5d4adf14f540f381ac37d64b71be671f6edeb48f6bbf22aa62604fdb229aaa8b115d5a12b907f289e4fe458279eb2d7bbef623858d667 SHA512 068fad5bfd2fe25a5846e00f1a456ceb0e1e828549e537a3cb967cc062639ce6d179b3501504623c5a881ae662c4bba62275a70e148c2f2018eedd17948e4e21
-EBUILD blender-2.79-r1.ebuild 8112 BLAKE2B ea780dff719b0eb541e91614abf926a5d6a14815f78d0f18025f2a25680d5757bccfb2721ebdb71cdd7ae0274620030a9a135a9f3591465a8a126ea169968e39 SHA512 d1bc5fbbb3e157245e9a2446513738692cf64c8a457b99c08ec6d7b79eca9c36473d1c3048dde1d1a60f92a3a9099066491e773acf0fbe488ef3edf9cb7660a5
-EBUILD blender-2.79.ebuild 8061 BLAKE2B b272ffbd61642c168c1b248983a819928eea34fcb4f34c196ce75d92aa65dafe2f1f0cf5f1c823ce9cfa001c5e1758f9752f2a2dbd1081e002cfd1389adbef6d SHA512 5966a1b28386891fb9f2aafa0731fbcf0a69bc9c7ff2cb0ce631c3af3888d88364dd18d31d9a4c4b2e28b64727c3a37b9eaf0f0587f362e9fd27ad83ddfad0dc
+EBUILD blender-2.79-r1.ebuild 8100 BLAKE2B 7c077c8d3847fa0d7b881b5f5989e42339574b7104bc78869c8e481073b1e6ca062e5a74233f0b96b9ff6b1390f1cc0f203038e733223ddf21b796e696ba508b SHA512 9af0b9f17969a6601c3945fbe3d3d10dc6707df0c88e86e1c2f1617e9b750019a21d05cecab5e726069b9908ba6345d2e190732d3960bbb87674d1f983e311ee
+EBUILD blender-2.79.ebuild 8049 BLAKE2B b4effa99e23ee172e685dff46235c88aecf129a40ab4e01a7b8dd0fb4993e52849c5ebbc712ff63999176644ea9027e572b1f21f4838d31845a525d09d396bbd SHA512 7b660679c69df11a108e58e76cc2e950843bf0285e962cf1f776b3cabf8e7b187ab65984ff6e4bd85120347489d10853ab163d916a4f1c833d890112dd2692c6
+EBUILD blender-2.79b.ebuild 8047 BLAKE2B 0b71da769d5a118f8bc76b8ad58f70a422421db068132e970f953b161f6e5984bc43b016c79ecaf7fd99a02bb3dfcd668cefa5dd8fed6f72f890062d605f042d SHA512 4c52099937783b9b4b6d5924567014214a4e0f1d3664f5f03049f0f9cf8decaf23298b6f6e08e5e4c92406233114f9db7fd25c0f645ee07af3644d208172f70a
MISC metadata.xml 3716 BLAKE2B 2c04c8b2724d9153efc0bdf8772b4a107e072a009032d390977f53972fb4afe27eada91da3991f680f41d8114d22a75e84c4f359e00ef2b378e53d7b507a45de SHA512 77866e595fba02c31ac64d9a124af03a6fe9080b27434ea2f93e615c6e702d1a393103d96c361079b1b5af861f0775cc0e57888d23e528e32c326dca7af4c09d
diff --git a/media-gfx/blender/blender-2.79-r1.ebuild b/media-gfx/blender/blender-2.79-r1.ebuild
index 588dd53d6067..2db487bd238b 100644
--- a/media-gfx/blender/blender-2.79-r1.ebuild
+++ b/media-gfx/blender/blender-2.79-r1.ebuild
@@ -48,7 +48,7 @@ RDEPEND="${PYTHON_DEPS}
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?] )
+ ffmpeg? ( <media-video/ffmpeg-4.0:=[x264,mp3,encode,theora,jpeg2k?] )
libav? ( >=media-video/libav-11.3:=[x264,mp3,encode,theora,jpeg2k?] )
fftw? ( sci-libs/fftw:3.0= )
!headless? (
@@ -74,7 +74,7 @@ RDEPEND="${PYTHON_DEPS}
)
opensubdiv? ( >=media-libs/opensubdiv-3.3.0:=[cuda=,opencl=] )
openvdb? (
- media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)]
+ <media-gfx/openvdb-5.0.0:=[${PYTHON_USEDEP},abi3-compat]
dev-cpp/tbb
>=dev-libs/c-blosc-1.5.2
)
diff --git a/media-gfx/blender/blender-2.79.ebuild b/media-gfx/blender/blender-2.79.ebuild
index 145205ce35b8..7a99f994dd2f 100644
--- a/media-gfx/blender/blender-2.79.ebuild
+++ b/media-gfx/blender/blender-2.79.ebuild
@@ -48,7 +48,7 @@ RDEPEND="${PYTHON_DEPS}
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?] )
+ ffmpeg? ( <media-video/ffmpeg-4.0:=[x264,mp3,encode,theora,jpeg2k?] )
libav? ( >=media-video/libav-11.3:=[x264,mp3,encode,theora,jpeg2k?] )
fftw? ( sci-libs/fftw:3.0= )
!headless? (
@@ -74,7 +74,7 @@ RDEPEND="${PYTHON_DEPS}
)
opensubdiv? ( >=media-libs/opensubdiv-3.3.0:=[cuda=,opencl=] )
openvdb? (
- media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)]
+ <media-gfx/openvdb-5.0.0:=[${PYTHON_USEDEP},abi3-compat]
dev-cpp/tbb
>=dev-libs/c-blosc-1.5.2
)
diff --git a/media-gfx/blender/blender-2.79b.ebuild b/media-gfx/blender/blender-2.79b.ebuild
new file mode 100644
index 000000000000..be1c95be0e8a
--- /dev/null
+++ b/media-gfx/blender/blender-2.79b.ebuild
@@ -0,0 +1,291 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{3_5,3_6} )
+
+inherit 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"
+
+# Blender can have letters in the version string,
+# so strip of 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
+ >=dev-python/numpy-1.10.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_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_USEDEP},-abi3-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
+
+ 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 000000000000..4ad05aafb15d
--- /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-gcc-8.patch b/media-gfx/blender/files/blender-2.79b-gcc-8.patch
new file mode 100644
index 000000000000..3a64ad2f796d
--- /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<size_t i0, size_t i1, size_t i2, size_t i3> __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<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap;
++ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, TreeElement> > > SegmentMap;
+
+ class TreeElement
+ {