diff options
Diffstat (limited to 'media-gfx/blender')
-rw-r--r-- | media-gfx/blender/Manifest | 10 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.72b-r4.ebuild | 290 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.68-doxyfile.patch | 19 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.68-fix-install-rules.patch | 26 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.70-sse2.patch | 35 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.72-T42797.diff | 13 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.72b-fix-util_simd.patch | 10 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.72b-gcc6-fixes.patch | 126 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 34 |
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=">=media-gfx/blender-2.77" type="person"> <email>dracwyrm@gentoo.org</email> <name>Jonathan Scruggs</name> </maintainer> - <maintainer type="person"> + <maintainer restrict=">=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=">=media-gfx/blender-2.50"> Adds Game Engine support to Blender. </flag> - <flag name="headless"> + <flag name="headless" restrict=">=media-gfx/blender-2.77"> Build without graphical support (renderfarm, server mode only). </flag> - <flag name="llvm"> + <flag name="llvm" restrict=">=media-gfx/blender-2.77"> Enable features depending on llvm. </flag> - <flag name="man"> + <flag name="man" restrict=">=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="<=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="<=media-gfx/blender-2.73"> + Enable use of Open Numerical Library + </flag> + <flag name="opensubdiv" restrict=">=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=">=media-gfx/blender-2.77"> Add GPU preview rendering. Only works with nVidia cards. </flag> - <flag name="osl"> + <flag name="osl" restrict=">=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="<=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=">=media-gfx/blender-2.77"> Build the provided unit tests. </flag> - <flag name="valgrind"> + <flag name="valgrind" restrict=">=media-gfx/blender-2.77"> Add support for memory debugging using <pkg>dev-util/valgrind</pkg> </flag> |