summaryrefslogtreecommitdiff
path: root/media-gfx/blender
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/blender')
-rw-r--r--media-gfx/blender/Manifest10
-rw-r--r--media-gfx/blender/blender-2.72b-r4.ebuild290
-rw-r--r--media-gfx/blender/files/blender-2.68-doxyfile.patch19
-rw-r--r--media-gfx/blender/files/blender-2.68-fix-install-rules.patch26
-rw-r--r--media-gfx/blender/files/blender-2.70-sse2.patch35
-rw-r--r--media-gfx/blender/files/blender-2.72-T42797.diff13
-rw-r--r--media-gfx/blender/files/blender-2.72b-fix-util_simd.patch10
-rw-r--r--media-gfx/blender/files/blender-2.72b-gcc6-fixes.patch126
-rw-r--r--media-gfx/blender/metadata.xml34
9 files changed, 550 insertions, 13 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 36ed0c13b794..e8e067a3b9c2 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,10 +1,18 @@
+AUX blender-2.68-doxyfile.patch 732 BLAKE2B f5c1682aca8a2d6ba8baec140d1766965f1dabc6c99f5bbc8a7b43ce5d2083e96555a0c73df519132fd6953ec91a80b210ccba5a4a862ebe8f9831c0e8e049ef SHA512 5191a25127e24d3ac7b18f6cd0b247e76a3fdeec46640f5d1ecba118fa35abbdaf19642c718e85149a304e9dc2093465b54b96e343f125163d091f045ab09db7
+AUX blender-2.68-fix-install-rules.patch 740 BLAKE2B f6dbb945666a39b30b00388279a6e456be61f1d611d7cd04d8006360b43ca7d9fc4921d97287322f4856b3e910892bb2a332fbc2aa7dc568985af683a919d990 SHA512 dd21cb3aa8bf965631132d39ad8a43c15d0c32faeaee00e8b8a970108fba0ab43b2402e3637dcd0b3430b7023ac9203b0395bbd2dc2dd9eb80d8c1d994d89e4f
+AUX blender-2.70-sse2.patch 1421 BLAKE2B d8566eccad25534f8c97100c7f12b630adec156c5293e5923577068db1f1565e68b1ddbe841fecadd0b64b94b6a6ba10a525e649f212f9e3f84ca2358f74bdc4 SHA512 9888110efaab16ec15438ad463c3ffa0bb4f64c23bb162254abe0ddb4acd42935a5fd1fdbf186b1cf1dad042044f8777b5f58c446423894788c655187bfe3cca
+AUX blender-2.72-T42797.diff 342 BLAKE2B 0aa4724ae35004bc629db5c359059d4dd732d4f13fb9a8eabdde9cac9fbfcf009f52e435895405bd81180061ebab3c9a7030fbc257e967b2a1800753bcec37a3 SHA512 abe6c6e28a094ef76bad97c979f5927c464a8421a430bde3ea0fadc76eabd7a9049678a5d475363aba5e534fe12c8858ddcfd5e01fa39ba24ea79ebabec71407
+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 8100 BLAKE2B 7c077c8d3847fa0d7b881b5f5989e42339574b7104bc78869c8e481073b1e6ca062e5a74233f0b96b9ff6b1390f1cc0f203038e733223ddf21b796e696ba508b SHA512 9af0b9f17969a6601c3945fbe3d3d10dc6707df0c88e86e1c2f1617e9b750019a21d05cecab5e726069b9908ba6345d2e190732d3960bbb87674d1f983e311ee
EBUILD blender-2.79.ebuild 8049 BLAKE2B b4effa99e23ee172e685dff46235c88aecf129a40ab4e01a7b8dd0fb4993e52849c5ebbc712ff63999176644ea9027e572b1f21f4838d31845a525d09d396bbd SHA512 7b660679c69df11a108e58e76cc2e950843bf0285e962cf1f776b3cabf8e7b187ab65984ff6e4bd85120347489d10853ab163d916a4f1c833d890112dd2692c6
EBUILD blender-2.79b-r1.ebuild 8163 BLAKE2B cfa1181a4044655d55606a1ab20105aa41b629671e6c6ae7ab501f7de199a4369b07a100a33ff9a0caa33869e57ceadeb5ec0976aa32e7f0fb336efa2b8de4b3 SHA512 705967cd0c67a2185f17fb335320dfc5b69c605c6e6615a1b84aa7073a3bf9c34adbf0b43d90707e54bba1219b5472eb320aa22f6897afa1a9ac0b6fcb1860eb
-MISC metadata.xml 2642 BLAKE2B 9575416eeb3ef81373e60263e095b5dcd441b710945775ae3a79c1bfd5b511e15751d37c0e9f6833d2e7de9f39d628a1e3c6c91707b3ee1573e64e8e1ae4b874 SHA512 0bc219e6065e76753c1dbe1aeee7c277d29e6574db388994e2dac13ecf4837233155e4c319bf41f484c7341a074dc2b60dd0b86a350ac438504205c555761b4f
+MISC metadata.xml 3466 BLAKE2B e09a22c7fe5200a7b592c3fda2bdb4ae719ebe614f85d8cb8e9c4c72684fe785575e6b6b4f0e302b1e9beddc7476125e2e443943ff018d35d37f015c1b6414d8 SHA512 0112674420ffeb427dd2ad1cda3ad3e01801e02fa2bbb5dcaec15db21b4582cfff4712d5e587ab875619e94dacab4fa0263d9f635c48e5c94569bc6155577523
diff --git a/media-gfx/blender/blender-2.72b-r4.ebuild b/media-gfx/blender/blender-2.72b-r4.ebuild
new file mode 100644
index 000000000000..9d68984d4e3c
--- /dev/null
+++ b/media-gfx/blender/blender-2.72b-r4.ebuild
@@ -0,0 +1,290 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+## BUNDLED-DEPS:
+# extern/cuew
+# extern/Eigen3
+# extern/xdnd
+# extern/carve
+# extern/glew
+# extern/libmv
+# extern/clew
+# extern/colamd
+# extern/lzma
+# extern/gtest
+# extern/rangetree
+# extern/libredcode
+# extern/wcwidth
+# extern/binreloc
+# extern/recastnavigation
+# extern/bullet2
+# extern/lzo
+# extern/libopenjpeg
+# extern/libmv/third_party/msinttypes
+# extern/libmv/third_party/ceres
+# extern/libmv/third_party/gflags
+# extern/libmv/third_party/glog
+
+EAPI=6
+PYTHON_COMPAT=( python3_4 )
+#PATCHSET="1"
+
+inherit multilib gnome2-utils cmake-utils eutils python-single-r1 versionator flag-o-matic toolchain-funcs pax-utils check-reqs xdg-utils
+
+DESCRIPTION="3D Creation/Animation/Publishing System"
+HOMEPAGE="https://www.blender.org"
+
+case ${PV} in
+ *_p*)
+ SRC_URI="https://dev.gentoo.org/~lu_zero/${P}.tar.gz" ;;
+ *)
+ SRC_URI="https://download.blender.org/source/${P}.tar.gz" ;;
+esac
+
+if [[ -n ${PATCHSET} ]]; then
+ SRC_URI+=" https://dev.gentoo.org/~flameeyes/${PN}/${P}-patches-${PATCHSET}.tar.xz"
+fi
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BL )"
+KEYWORDS="amd64 x86"
+IUSE="+boost +bullet collada colorio cycles +dds debug doc +elbeem ffmpeg fftw +game-engine jack jpeg2k libav ndof nls openal openimageio +opennl openmp +openexr player redcode sdl sndfile cpu_flags_x86_sse cpu_flags_x86_sse2 tiff"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ player? ( game-engine )
+ redcode? ( jpeg2k ffmpeg )
+ cycles? ( boost openexr tiff )
+ nls? ( boost )
+ colorio? ( boost )
+ openal? ( boost )
+ game-engine? ( boost )
+ ?? ( ffmpeg libav )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=media-libs/freetype-2.0:2
+ media-libs/glew:0=
+ media-libs/libpng:0
+ media-libs/libsamplerate
+ sys-libs/zlib
+ virtual/glu
+ virtual/jpeg:0
+ virtual/libintl
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm
+ boost? ( >=dev-libs/boost-1.44[nls?,threads(+)] )
+ collada? ( >=media-libs/opencollada-1.6.18 )
+ colorio? ( >=media-libs/opencolorio-1.0.9-r2 )
+ cycles? (
+ media-libs/openimageio
+ )
+ ffmpeg? ( media-video/ffmpeg:0=[x264,mp3,encode,theora,jpeg2k?] )
+ libav? ( >=media-video/libav-11.3:0=[x264,mp3,encode,theora,jpeg2k?] )
+ fftw? ( sci-libs/fftw:3.0 )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ ndof? (
+ app-misc/spacenavd
+ dev-libs/libspnav
+ )
+ nls? ( virtual/libiconv )
+ openal? ( >=media-libs/openal-1.6.372 )
+ openimageio? ( media-libs/openimageio )
+ openexr? ( media-libs/ilmbase media-libs/openexr )
+ sdl? ( media-libs/libsdl[sound,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tiff? ( media-libs/tiff:0 )"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen[-nodot(-),dot(+)]
+ dev-python/sphinx
+ )
+ nls? ( sys-devel/gettext )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.68-doxyfile.patch
+ "${FILESDIR}"/${PN}-2.68-fix-install-rules.patch
+ "${FILESDIR}"/${PN}-2.70-sse2.patch
+ "${FILESDIR}"/${PN}-2.72-T42797.diff
+ "${FILESDIR}"/${P}-fix-util_simd.patch
+ "${FILESDIR}"/${P}-gcc6-fixes.patch
+)
+
+pkg_pretend() {
+ if use openmp && ! tc-has-openmp; then
+ eerror "You are using gcc built without 'openmp' USE."
+ eerror "Switch CXX to an OpenMP capable compiler."
+ die "Need openmp"
+ fi
+
+ if use doc; then
+ CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # we don't want static glew, but it's scattered across
+ # thousand files
+ # !!!CHECK THIS SED ON EVERY VERSION BUMP!!!
+ sed -i \
+ -e '/-DGLEW_STATIC/d' \
+ $(find . -type f -name "CMakeLists.txt") || die
+
+ # linguas cleanup
+ local i
+ if ! use nls; then
+ rm -r "${S}"/release/datafiles/locale || die
+ else
+ if [[ -n "${LINGUAS+x}" ]] ; then
+ cd "${S}"/release/datafiles/locale/po
+ for i in *.po ; do
+ mylang=${i%.po}
+ has ${mylang} ${LINGUAS} || { rm -r ${i} || die ; }
+ done
+ fi
+ fi
+}
+
+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
+ append-ldflags $(no-as-needed)
+
+ # WITH_PYTHON_SECURITY
+ # WITH_PYTHON_SAFETY
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DWITH_INSTALL_PORTABLE=OFF
+ -DWITH_BOOST=$(usex boost ON OFF )
+ -DWITH_CYCLES=$(usex cycles ON OFF )
+ -DWITH_OPENCOLLADA=$(usex collada ON OFF )
+ -DWITH_IMAGE_DDS=$(usex dds ON OFF )
+ -DWITH_MOD_FLUID=$(usex elbeem ON OFF )
+ -DWITH_CODEC_FFMPEG=$(usex ffmpeg ON OFF )
+ -DWITH_FFTW3=$(usex fftw ON OFF )
+ -DWITH_MOD_OCEANSIM=$(usex fftw ON OFF )
+ -DWITH_GAMEENGINE=$(usex game-engine ON OFF )
+ -DWITH_INTERNATIONAL=$(usex nls ON OFF )
+ -DWITH_JACK=$(usex jack ON OFF )
+ -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k ON OFF )
+ -DWITH_OPENIMAGEIO=$(usex openimageio ON OFF )
+ -DWITH_OPENAL=$(usex openal ON OFF )
+ -DWITH_IMAGE_OPENEXR=$(usex openexr ON OFF )
+ -DWITH_OPENMP=$(usex openmp ON OFF )
+ -DWITH_OPENNL=$(usex opennl ON OFF )
+ -DWITH_PLAYER=$(usex player ON OFF )
+ -DWITH_IMAGE_REDCODE=$(usex redcode ON OFF )
+ -DWITH_SDL=$(usex sdl ON OFF )
+ -DWITH_CODEC_SNDFILE=$(usex sndfile ON OFF )
+ -DWITH_RAYOPTIMIZATION=$(usex cpu_flags_x86_sse ON OFF )
+ -DWITH_SSE2=$(usex cpu_flags_x86_sse2 ON OFF )
+ -DWITH_BULLET=$(usex bullet ON OFF )
+ -DWITH_IMAGE_TIFF=$(usex tiff ON OFF )
+ -DWITH_OPENCOLORIO=$(usex colorio ON OFF )
+ -DWITH_INPUT_NDOF=$(usex ndof ON OFF )
+ -DWITH_CXX_GUARDEDALLOC=$(usex debug ON OFF )
+ -DWITH_ASSERT_ABORT=$(usex debug ON OFF )
+ -DWITH_PYTHON_INSTALL=OFF
+ -DWITH_PYTHON_INSTALL_NUMPY=OFF
+ -DWITH_STATIC_LIBS=OFF
+ -DWITH_SYSTEM_GLEW=ON
+ -DWITH_SYSTEM_OPENJPEG=ON
+ -DWITH_SYSTEM_BULLET=OFF
+ -DPYTHON_VERSION="${EPYTHON/python/}"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ # Workaround for binary drivers.
+ cards=( /dev/ati/card* /dev/nvidia* )
+ for card in "${cards[@]}"; do addpredict "${card}"; done
+
+ einfo "Generating Blender C/C++ API docs ..."
+ cd "${CMAKE_USE_DIR}"/doc/doxygen || die
+ doxygen -u Doxyfile
+ 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 "blender failed."
+
+ cd "${CMAKE_USE_DIR}"/doc/python_api || die
+ sphinx-build sphinx-in BPY_API || die "sphinx failed."
+ fi
+}
+
+src_test() { :; }
+
+src_install() {
+ local i
+
+ # 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
+
+ # fucked up cmake will relink binary for no reason
+ emake -C "${CMAKE_BUILD_DIR}" DESTDIR="${D}" install/fast
+
+ # fix doc installdir
+ docinto "html"
+ dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
+ rm -rf "${ED%/}"/usr/share/doc/blender
+
+ python_fix_shebang "${ED%/}"/usr/bin/blender-thumbnailer.py
+ python_optimize "${ED%/}"/usr/share/blender/${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 scripting."
+ 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_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/media-gfx/blender/files/blender-2.68-doxyfile.patch b/media-gfx/blender/files/blender-2.68-doxyfile.patch
new file mode 100644
index 000000000000..c11c793fda97
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.68-doxyfile.patch
@@ -0,0 +1,19 @@
+commit 62308d9fc24bde22a50497816c44c8ca91f96f63
+Author: hasufell <hasufell@gentoo.org>
+Date: Fri Jul 19 18:36:34 2013 +0200
+
+ remove hhc.exe reference
+
+diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
+index 397cc30..ac61756 100644
+--- a/doc/doxygen/Doxyfile
++++ b/doc/doxygen/Doxyfile
+@@ -1051,7 +1051,7 @@ CHM_FILE = blender.chm
+ # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+ # the HTML help compiler on the generated index.hhp.
+
+-HHC_LOCATION = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe"
++HHC_LOCATION =
+
+ # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+ # controls if a separate .chi index file is generated (YES) or that
diff --git a/media-gfx/blender/files/blender-2.68-fix-install-rules.patch b/media-gfx/blender/files/blender-2.68-fix-install-rules.patch
new file mode 100644
index 000000000000..aa8ecc9f6174
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.68-fix-install-rules.patch
@@ -0,0 +1,26 @@
+commit 94eed33f878e35a8c7b69b0c23b3b30026460f33
+Author: hasufell <hasufell@gentoo.org>
+Date: Fri Jul 19 18:50:08 2013 +0200
+
+ remove stupid uninstall snippet
+
+ whoever coded this... it is dangerous
+ uninstall methods have NO PLACE in install rules
+
+diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
+index c84d944..2b9bf46 100644
+--- a/source/creator/CMakeLists.txt
++++ b/source/creator/CMakeLists.txt
+@@ -268,12 +268,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/files/blender-2.70-sse2.patch b/media-gfx/blender/files/blender-2.70-sse2.patch
new file mode 100644
index 000000000000..6fc870ea3258
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.70-sse2.patch
@@ -0,0 +1,35 @@
+commit 0e0b27a589680e10e38a26575ad4dba8f3af2ec6
+Author: hasufell <hasufell@gentoo.org>
+Date: Fri Jul 19 18:50:19 2013 +0200
+
+ add option to explicitly control sse2 optimization
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 78bb3c6..d5f4576 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -86,6 +86,7 @@
+ #-----------------------------------------------------------------------------
+ # Load some macros.
+ include(build_files/cmake/macros.cmake)
++include(CMakeDependentOption)
+
+
+ #-----------------------------------------------------------------------------
+@@ -251,6 +252,7 @@
+ # Misc
+ option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
+ option(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON)
++cmake_dependent_option(WITH_SSE2 "SSE2 optimizations" ON WITH_RAYOPTIMIZATION OFF)
+ option(WITH_OPENNL "Enable use of Open Numerical Library" ON)
+ if(UNIX AND NOT APPLE)
+ option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
+@@ -1950,7 +1952,7 @@
+ set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}")
+ add_definitions(-D__SSE__ -D__MMX__)
+ endif()
+- if(SUPPORT_SSE2_BUILD)
++ if(WITH_SSE2 AND SUPPORT_SSE2_BUILD)
+ set(PLATFORM_CFLAGS " ${COMPILER_SSE2_FLAG} ${PLATFORM_CFLAGS}")
+ add_definitions(-D__SSE2__)
+ if(NOT SUPPORT_SSE_BUILD) # dont double up
diff --git a/media-gfx/blender/files/blender-2.72-T42797.diff b/media-gfx/blender/files/blender-2.72-T42797.diff
new file mode 100644
index 000000000000..cef03853434c
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.72-T42797.diff
@@ -0,0 +1,13 @@
+--- a/source/blender/blenfont/intern/blf_glyph.c
++++ a/source/blender/blenfont/intern/blf_glyph.c
+@@ -262,8 +262,8 @@
+ g->xoff = -1;
+ g->yoff = -1;
+ bitmap = slot->bitmap;
+- g->width = bitmap.width;
+- g->height = bitmap.rows;
++ g->width = (int)bitmap.width;
++ g->height = (int)bitmap.rows;
+
+ if (g->width && g->height) {
+ if (sharp) {
diff --git a/media-gfx/blender/files/blender-2.72b-fix-util_simd.patch b/media-gfx/blender/files/blender-2.72b-fix-util_simd.patch
new file mode 100644
index 000000000000..8c83ee096284
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.72b-fix-util_simd.patch
@@ -0,0 +1,10 @@
+--- a/intern/cycles/util/util_simd.h 2014-10-20 12:58:22.000000000 +0500
++++ b/intern/cycles/util/util_simd.h 2015-05-17 11:57:37.000000000 +0500
+@@ -19,6 +19,7 @@
+ #define __UTIL_SIMD_TYPES_H__
+
+ #include <limits>
++#include <x86intrin.h>
+
+ #include "util_debug.h"
+ #include "util_types.h"
diff --git a/media-gfx/blender/files/blender-2.72b-gcc6-fixes.patch b/media-gfx/blender/files/blender-2.72b-gcc6-fixes.patch
new file mode 100644
index 000000000000..1c4ab09e62cb
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.72b-gcc6-fixes.patch
@@ -0,0 +1,126 @@
+diff -purN a/source/blender/imbuf/intern/dds/ColorBlock.cpp b/source/blender/imbuf/intern/dds/ColorBlock.cpp
+--- a/source/blender/imbuf/intern/dds/ColorBlock.cpp 2014-10-20 08:58:23.000000000 +0100
++++ b/source/blender/imbuf/intern/dds/ColorBlock.cpp 2016-09-22 15:50:25.359318967 +0100
+@@ -86,8 +86,8 @@ void ColorBlock::init(const Image *img,
+
+ void ColorBlock::init(uint w, uint h, const uint *data, uint x, uint y)
+ {
+- const uint bw = min(w - x, 4U);
+- const uint bh = min(h - y, 4U);
++ const uint bw = MIN(w - x, 4U);
++ const uint bh = MIN(h - y, 4U);
+
+ // Blocks that are smaller than 4x4 are handled by repeating the pixels.
+ // @@ Thats only correct when block size is 1, 2 or 4, but not with 3. :(
+@@ -107,8 +107,8 @@ void ColorBlock::init(uint w, uint h, co
+
+ void ColorBlock::init(uint w, uint h, const float *data, uint x, uint y)
+ {
+- const uint bw = min(w - x, 4U);
+- const uint bh = min(h - y, 4U);
++ const uint bw = MIN(w - x, 4U);
++ const uint bh = MIN(h - y, 4U);
+
+ // Blocks that are smaller than 4x4 are handled by repeating the pixels.
+ // @@ Thats only correct when block size is 1, 2 or 4, but not with 3. :(
+@@ -124,10 +124,10 @@ void ColorBlock::init(uint w, uint h, co
+ const uint idx = ((y + by) * w + x + bx);
+
+ Color32 & c = color(e, i);
+- c.r = uint8(255 * clamp(data[idx + 0 * srcPlane], 0.0f, 1.0f)); // @@ Is this the right way to quantize floats to bytes?
+- c.g = uint8(255 * clamp(data[idx + 1 * srcPlane], 0.0f, 1.0f));
+- c.b = uint8(255 * clamp(data[idx + 2 * srcPlane], 0.0f, 1.0f));
+- c.a = uint8(255 * clamp(data[idx + 3 * srcPlane], 0.0f, 1.0f));
++ c.r = uint8(255 * CLAMP(data[idx + 0 * srcPlane], 0.0f, 1.0f)); // @@ Is this the right way to quantize floats to bytes?
++ c.g = uint8(255 * CLAMP(data[idx + 1 * srcPlane], 0.0f, 1.0f));
++ c.b = uint8(255 * CLAMP(data[idx + 2 * srcPlane], 0.0f, 1.0f));
++ c.a = uint8(255 * CLAMP(data[idx + 3 * srcPlane], 0.0f, 1.0f));
+ }
+ }
+ }
+diff -purN a/source/blender/imbuf/intern/dds/Common.h b/source/blender/imbuf/intern/dds/Common.h
+--- a/source/blender/imbuf/intern/dds/Common.h 2014-10-20 08:58:23.000000000 +0100
++++ b/source/blender/imbuf/intern/dds/Common.h 2016-09-22 15:47:31.327081239 +0100
+@@ -28,14 +28,14 @@
+ #ifndef __COMMON_H__
+ #define __COMMON_H__
+
+-#ifndef min
+-#define min(a,b) ((a) <= (b) ? (a) : (b))
++#ifndef MIN
++#define MIN(a,b) ((a) <= (b) ? (a) : (b))
+ #endif
+-#ifndef max
+-#define max(a,b) ((a) >= (b) ? (a) : (b))
++#ifndef MAX
++#define MAX(a,b) ((a) >= (b) ? (a) : (b))
+ #endif
+-#ifndef clamp
+-#define clamp(x,a,b) min(max((x), (a)), (b))
++#ifndef CLAMP
++#define CLAMP(x,a,b) MIN(MAX((x), (a)), (b))
+ #endif
+
+ template<typename T>
+diff -purN a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
+--- a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp 2014-10-20 08:58:23.000000000 +0100
++++ b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp 2016-09-22 16:10:53.985775837 +0100
+@@ -1102,8 +1102,8 @@ void DirectDrawSurface::mipmap(Image *im
+ // Compute width and height.
+ for (uint m = 0; m < mipmap; m++)
+ {
+- w = max(1U, w / 2);
+- h = max(1U, h / 2);
++ w = MAX(1U, w / 2);
++ h = MAX(1U, h / 2);
+ }
+
+ img->allocate(w, h);
+@@ -1223,9 +1223,9 @@ void DirectDrawSurface::readBlockImage(I
+ readBlock(&block);
+
+ // Write color block.
+- for (uint y = 0; y < min(4U, h-4*by); y++)
++ for (uint y = 0; y < MIN(4U, h-4*by); y++)
+ {
+- for (uint x = 0; x < min(4U, w-4*bx); x++)
++ for (uint x = 0; x < MIN(4U, w-4*bx); x++)
+ {
+ img->pixel(4*bx+x, 4*by+y) = block.color(x, y);
+ }
+@@ -1240,7 +1240,7 @@ static Color32 buildNormal(uint8 x, uint
+ float ny = 2 * (y / 255.0f) - 1;
+ float nz = 0.0f;
+ if (1 - nx*nx - ny*ny > 0) nz = sqrt(1 - nx*nx - ny*ny);
+- uint8 z = clamp(int(255.0f * (nz + 1) / 2.0f), 0, 255);
++ uint8 z = CLAMP(int(255.0f * (nz + 1) / 2.0f), 0, 255);
+
+ return Color32(x, y, z);
+ }
+@@ -1379,9 +1379,9 @@ uint DirectDrawSurface::mipmapSize(uint
+
+ for (uint m = 0; m < mipmap; m++)
+ {
+- w = max(1U, w / 2);
+- h = max(1U, h / 2);
+- d = max(1U, d / 2);
++ w = MAX(1U, w / 2);
++ h = MAX(1U, h / 2);
++ d = MAX(1U, d / 2);
+ }
+
+ if (header.pf.flags & DDPF_FOURCC)
+diff -purN a/source/blender/imbuf/intern/dds/FlipDXT.cpp b/source/blender/imbuf/intern/dds/FlipDXT.cpp
+--- a/source/blender/imbuf/intern/dds/FlipDXT.cpp 2014-10-20 08:58:23.000000000 +0100
++++ b/source/blender/imbuf/intern/dds/FlipDXT.cpp 2016-09-22 16:11:35.626829002 +0100
+@@ -246,8 +246,8 @@ int FlipDXTCImage(unsigned int width, un
+
+ // mip levels are contiguous.
+ data += block_bytes * blocks;
+- mip_width = max(1U, mip_width >> 1);
+- mip_height = max(1U, mip_height >> 1);
++ mip_width = MAX(1U, mip_width >> 1);
++ mip_height = MAX(1U, mip_height >> 1);
+ }
+
+ return 1;
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 14a1619c7d4c..9dd73dfe3522 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer restrict="&gt;=media-gfx/blender-2.77" type="person">
<email>dracwyrm@gentoo.org</email>
<name>Jonathan Scruggs</name>
</maintainer>
- <maintainer type="person">
+ <maintainer restrict="&gt;=media-gfx/blender-2.77" type="person">
<email>agrigo2001@yahoo.com.au</email>
<name>Adrian Grigo</name>
</maintainer>
@@ -20,6 +20,9 @@
</longdescription>
<use>
+ <flag name="boost">
+ Enable features depending on boost.
+ </flag>
<flag name="bullet">
Enable Bullet (Physics Engine).
</flag>
@@ -47,42 +50,49 @@
<flag name="elbeem">
Adds surface fluid simulation to Blender using El'Beem library.
</flag>
- <flag name="game-engine">
+ <flag name="game-engine" restrict="&gt;=media-gfx/blender-2.50">
Adds Game Engine support to Blender.
</flag>
- <flag name="headless">
+ <flag name="headless" restrict="&gt;=media-gfx/blender-2.77">
Build without graphical support (renderfarm, server mode only).
</flag>
- <flag name="llvm">
+ <flag name="llvm" restrict="&gt;=media-gfx/blender-2.77">
Enable features depending on llvm.
</flag>
- <flag name="man">
+ <flag name="man" restrict="&gt;=media-gfx/blender-2.77">
Build and install man pages.
</flag>
<flag name="ndof">
Enable NDOF input devices (SpaceNavigator and friends).
</flag>
- <flag name="opencl">
+ <flag name="opencl" restrict="&lt;=media-gfx/blender-2.79">
Allow OpenCL Graphics Acceleration. This may
require extra graphics card drivers.</flag>
<flag name="openimageio">Enable OpenImageIO Support</flag>
- <flag name="opensubdiv">
+ <flag name="opennl" restrict="&lt;=media-gfx/blender-2.73">
+ Enable use of Open Numerical Library
+ </flag>
+ <flag name="opensubdiv" restrict="&gt;=media-gfx/blender-2.77">
Add rendering support form OpenSubdiv from Dreamworks Animation
through <pkg>media-libs/opensubdiv</pkg>.
</flag>
- <flag name="openvdb">
+ <flag name="openvdb" restrict="&gt;=media-gfx/blender-2.77">
Add GPU preview rendering. Only works with nVidia cards.
</flag>
- <flag name="osl">
+ <flag name="osl" restrict="&gt;=media-gfx/blender-2.79">
Add support for OpenShadingLanguage scripting.
</flag>
<flag name="player">
Build the Blender Player. THis requires the Game engine.
</flag>
- <flag name="test">
+ <flag name="redcode" restrict="&lt;=media-gfx/blender-2.73">
+ This flag add support for RED CODE camera digital format (5K HD
+ images *.r3d) - EXPERIMENTAL.
+ </flag>
+ <flag name="test" restrict="&gt;=media-gfx/blender-2.77">
Build the provided unit tests.
</flag>
- <flag name="valgrind">
+ <flag name="valgrind" restrict="&gt;=media-gfx/blender-2.77">
Add support for memory debugging using
<pkg>dev-util/valgrind</pkg>
</flag>