diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /media-gfx/blender |
reinit the tree, so we can have metadata
Diffstat (limited to 'media-gfx/blender')
-rw-r--r-- | media-gfx/blender/Manifest | 18 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.72b-r4.ebuild | 290 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.78-r1.ebuild | 296 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.78a-r1.ebuild | 295 | ||||
-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/files/blender-2.78-C++11-build-fix.patch | 11 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch | 25 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-fix-install-rules.patch | 16 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 101 |
14 files changed, 1281 insertions, 0 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest new file mode 100644 index 000000000000..2fadb7d0abe3 --- /dev/null +++ b/media-gfx/blender/Manifest @@ -0,0 +1,18 @@ +AUX blender-2.68-doxyfile.patch 732 SHA256 d485da5bdf1f123d945b8f945a84ead947ff123b4126a626bb394256ea07cbec SHA512 5191a25127e24d3ac7b18f6cd0b247e76a3fdeec46640f5d1ecba118fa35abbdaf19642c718e85149a304e9dc2093465b54b96e343f125163d091f045ab09db7 WHIRLPOOL 5cfdb697bf18aa50488495d017feda2e071332996a72e1a3c347291034c7230ad63c89e38670a86df633d3dc8359962e8888e4f0f1a2fa0b478acdb33a8f4d64 +AUX blender-2.68-fix-install-rules.patch 740 SHA256 93ae6cc8cfbb2ce856adf7a0dbf5966843630edaa4d7828de42d1bb5ba76058d SHA512 dd21cb3aa8bf965631132d39ad8a43c15d0c32faeaee00e8b8a970108fba0ab43b2402e3637dcd0b3430b7023ac9203b0395bbd2dc2dd9eb80d8c1d994d89e4f WHIRLPOOL 7c86d7637fdbf1d4c1f631b6a47c7e02399a00976189acaf9fc041765419cd2ffaaaab0d6fb05f4ba67024d14cfc778f3620f9d6cbf89e81b16a467e45beac75 +AUX blender-2.70-sse2.patch 1421 SHA256 b20d9aba206543e765e147e7740aff48ef968b90620d9d4b902cb6c23b9ba28f SHA512 9888110efaab16ec15438ad463c3ffa0bb4f64c23bb162254abe0ddb4acd42935a5fd1fdbf186b1cf1dad042044f8777b5f58c446423894788c655187bfe3cca WHIRLPOOL c3990dac70078a13ba005da5b649b9b72bdf04313551f2e41d639efc6a666006e1af54f11bb8c82608956df03547297303bf7a8a6e8cd03364d994910bde60c7 +AUX blender-2.72-T42797.diff 342 SHA256 b885241c16ec343870053a29f49cfc05af6e61f0959082d24b778a05e9d6e29b SHA512 abe6c6e28a094ef76bad97c979f5927c464a8421a430bde3ea0fadc76eabd7a9049678a5d475363aba5e534fe12c8858ddcfd5e01fa39ba24ea79ebabec71407 WHIRLPOOL 7ebbcf23d9143b2c88e431676303f7f15ffdd203184b5c6ddb29b767f2396235e24299fb74719fbf87e0e6ab0dfb4fc39f0061cadaa16039df6f7ba75edd6df5 +AUX blender-2.72b-fix-util_simd.patch 292 SHA256 2459a744cf9d000fa0cc9cdd6068f58fb44ba3a4c6c6ebe4f1a8d0cc2ed878c1 SHA512 17c328b9c64f1f42b4223d5f0777a68500235f95a85b761fdef216c5af4be17f67455e8044ab52fe6dd3e0bdfc6a7075cc3c21dae135a9cc7d174b6972b0326b WHIRLPOOL 289c336a36f000120568e541391b58ce5ea7d48b883175c006fd4d7385de7744e6b3d5823feae9dcdfb701daca74df3cc3928b9d1c1c52c55288cf7c38f5d401 +AUX blender-2.72b-gcc6-fixes.patch 4828 SHA256 09fde9c5ae83668cd86bc5059a8815b89ae61ed5b23239db975d26e6188bf116 SHA512 886d594a87aafe827ed65c6106c29c727ec31b92a3a2df32023cc2b728719c4e6e7a8418b725201d338331e23cca17a88f518b353735b33e40cee30a754050cc WHIRLPOOL a7e21732151d782c1f56e275e32b52870bb7d971c04050c2d9cae9a342f6cc8d40686ee6e53027c32bf2cc1e7ff53f02e4ae6f6440179b937ca12f5795274da9 +AUX blender-2.78-C++11-build-fix.patch 473 SHA256 07e20c0deeadaabf28ec1ba16902f6f1d0fd6ad7070b1eeb42a76a61e44860d1 SHA512 5d48121124e1f3832d24273b95908922827111fad4449b574908f52c9c02b9d7a0d89502850df4b653ba82b8150f2f4369b2807cddd45ca352f1fe0e74e738ef WHIRLPOOL 08ed7765580d4f2d87c10818af15e760023cfefca2ca3fdc1b43ff98f0ac29f3263f1bdee8518927dbef5b42f0a70121900aa0bc10c103bacaa60f586ce8e5f3 +AUX blender-2.78-eigen-3.3.1.patch 666 SHA256 35900be15f8bb0540050ffab9067122ba87433eecf896095e7ce1e889e54af5b SHA512 9a2ee48fa38e23a5b086514468bd1c96ee2b97228e95cdfaac3c5d3b2c21c4e47a0ced4306d7dc89268d63b60e551b655d6d627790215ad68791fe3f35717bf5 WHIRLPOOL b073ba691ada03ead560a9be8907b8c1111c1029fdc7e6a4f59c24f5771a34bc287800f9458d81488fa19faba662afd876693bd9933600e498b13d95c4f134c6 +AUX blender-fix-install-rules.patch 518 SHA256 4fbdd73c4bb20e316f6a02c7e6a33a90285db787aac5b3baf66394d256fe6e0f SHA512 5343f0e9e6bba2d15a38cb5db95a1aeff0a704c0762e558b9b74d88dd58e2fb5077289f0d8f25a61fa092d083f7db916d27c4642dfd7cf84d4c989258c3253ec WHIRLPOOL 6ae8c113ab1ccac5c1465e0deab3bd101922303c0f60ecdb4d1cbff7dd02d37c299d4897beb5239b60e8724e47b830ecd5b7f6045dd301847f2583d559bdacbb +DIST blender-2.72b.tar.gz 52018242 SHA256 4436c704afa28e2e5e7b28b2c06981806ddedab70565d40972e422c00644bf47 SHA512 9767797621e443ff9b6810d1713dda110f883c33626d40d7fe5dda676f549e3591516dc24b75feebd85823dd13437c34521ca752139cd31ddacf31ea6b14e124 WHIRLPOOL 3687255bc9f4195b25b66a75630676ee15e67cf10a058dca11b3472617b54aae2bebb1810cc16e19c58ca1c09b1ea8b70f72e30c05632ab0bae8910925a37a54 +DIST blender-2.78.tar.gz 44489809 SHA256 17863e1ccb3bfdcc932d37cf9e525318130064c756cfb92a9ab479780d3ed441 SHA512 9144ce28377271dafe973b59721da41b6e3954736c705e1540be8dba3124e4c32e5cce5fb3ef7158505d45401478d257720350b38fa8e8649cc35cbd28a2f978 WHIRLPOOL a1a70cb723a111d1ae5a33b274a0e23bbd9c1b0777f96c917da1b4854171a88b6abe64c0636613008de68e68200a1d387e940ee592ff87c225745c668508d896 +DIST blender-2.78a.tar.gz 44188123 SHA256 014a14b1ba00c0e651f106469b2e5dd444f11be5a7af48056f0ed59de90cceaf SHA512 57239b6ce473aaef114453f97a6e88535ec0a2f50cfecd221fa6bdcca6fe6559dcbefd48c3f20dc2235c195de13c59a1a155d5b64d777be31812d32e68be9370 WHIRLPOOL 85ea5ea5594716433a5f2f14233a489841598baf80170f01fff3946b4fa6ebc99086396a232f0f3c5f0e8c8d6c16ec27e98b7b58d79d289f5190214dc7efb677 +EBUILD blender-2.72b-r4.ebuild 8113 SHA256 aca67f10be40865a4ebb7566bef6d0d0df5b05f1e71fca1628ace5b3a80a6a4e SHA512 837256447e727e165cb05e733236162ac03a82fa72a41e3a7d894c5efb60a26a959442cdc6eb528ad676b641f127b37d454080392ce54d14676cc8e29487c783 WHIRLPOOL 4e1ca4068f7f7afcdd424290a85331a4cf8703efc737dd7bc9da2d8de87b6b81ecbfba00927ea46d059c3418adc4ee7b99138d538e99ab032887f77d7a846fe6 +EBUILD blender-2.78-r1.ebuild 8410 SHA256 be28f87b07c02a9e59180a9b38b7cec7a8811105825f5eac86c90d98d79a8820 SHA512 0c9da4dd2ec174ce4ca15e548d2a326763b8a58a871c888f1c3c5eee73833a9cf6ffae647390453409f098093df232fb78eed47827ee362c44c61d5394e75242 WHIRLPOOL 9c07a85e7f1a212d033b07994eeb45667c3a53068af49a27984bffca6207b26a360ab8708ecc9f4edc5f744c207096567e20c66f5d1d53a4e5c57eafc104463a +EBUILD blender-2.78a-r1.ebuild 8378 SHA256 0851714a878f104773bef61ce52a3978464baaa3df878ede15306cdca7ad8838 SHA512 6ec1d4bf323b22c671784018391335c43efa8e8474985d2c94a83a810fdebf617a5b66a1f4bc8d980e60d21be1dc8b46cc1a139f12c39d20c25cc53d290f0dc5 WHIRLPOOL 443bcc518b88d1419458bf1df651b804931221703c76969c4526c5e2825aa45313c12b6f7ffcf778abfd78aa3d3cfb11933f26250bf0119b9c86d8624b86ab43 +MISC ChangeLog 5908 SHA256 bf1e87152917f8d93f12a723a34c44c2981b834e8c0368a117277fab370b7f63 SHA512 4ecfe1e81a3cbef730464ca09ab76cccc3c33ffdeb15e412621e361ea09b61ee9a740635f9c65573ecac02a89dd46a460091a0dda3f31dffd6956918ff190621 WHIRLPOOL e1968db15e6c01e33a99bf4a5c11d4b5852659548bda8cfba6c2b9434e25045d81cee0b1fc1e98c4512a6618d2cde1a2d20d6b4725663170bc22c033581ec7fc +MISC ChangeLog-2015 51525 SHA256 330dad5cc66f4609a32ce1b9f6900fdada8599500dfc49f5cf83b7f6b37ab4e2 SHA512 8644e1836d99907a8bf2806fd76102ed13e2bd4b8bf382e5fb51bf9e33504502af62bac461d88d99b2c5f0a4f9d5421c08c9a2f6f5c811a798d0cca439aa9087 WHIRLPOOL 3e2e2c4b9ca4b44c27b313dea9fed6cb97540f7f021925e2a2be0afa4bd142493b192f2ecb163281de4506ecfc0b9c75d6b1a51be36739bc2b8ccb2252b2b752 +MISC metadata.xml 3440 SHA256 45cba6ae08884bbca2a5a94993dde5abfd900ead160a2f7eec19a3f4779bb696 SHA512 75c1cfb4998e9bbd2c3d4836bfba2f273d90920a2a72f70b599ee4cdfdfbf02cf1f2508aa24df6c762e3c323000de0a04623b21caaf5843e235888d3906043a8 WHIRLPOOL f20d54a0f468ee3ed1c1d5eca5790f73963d1abceb7fd7ed2040d060882fdf40950e728eea5686f50f60124a1a8ce85c6c5a84da7f67de5660930ce6a3c69c53 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..ede795b90d16 --- /dev/null +++ b/media-gfx/blender/blender-2.72b-r4.ebuild @@ -0,0 +1,290 @@ +# Copyright 1999-2017 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 fdo-mime gnome2-utils cmake-utils eutils python-single-r1 versionator flag-o-matic toolchain-funcs pax-utils check-reqs + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="http://www.blender.org" + +case ${PV} in + *_p*) + SRC_URI="https://dev.gentoo.org/~lu_zero/${P}.tar.gz" ;; + *) + SRC_URI="http://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 + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} diff --git a/media-gfx/blender/blender-2.78-r1.ebuild b/media-gfx/blender/blender-2.78-r1.ebuild new file mode 100644 index 000000000000..8fa572492341 --- /dev/null +++ b/media-gfx/blender/blender-2.78-r1.ebuild @@ -0,0 +1,296 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_5 ) + +inherit check-reqs cmake-utils fdo-mime flag-o-matic gnome2-utils \ + pax-utils python-single-r1 toolchain-funcs versionator + +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="$(get_version_component_range 1-2)" + +SLOT="0" +LICENSE="|| ( GPL-2 BL )" +KEYWORDS="~amd64 ~x86" +IUSE="+boost +bullet +dds +elbeem +game-engine +openexr collada colorio \ + cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \ + llvm man ndof nls openal openimageio openmp opensubdiv openvdb \ + player sdl sndfile test tiff valgrind" + +# OpenCL and nVidia performance is rubbish with Blender +# If you have nVidia, use CUDA. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + player? ( game-engine !headless ) + cuda? ( cycles ) + cycles? ( boost openexr tiff openimageio ) + colorio? ( boost ) + openvdb? ( boost ) + opensubdiv? ( cuda ) + nls? ( boost ) + openal? ( boost ) + game-engine? ( boost ) + ?? ( ffmpeg libav )" + +# Since not using OpenCL with nVidia, depend on ATI binary +# blobs as Cycles with OpenCL does not work with any open +# source drivers. +RDEPEND="${PYTHON_DEPS} + 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 + boost? ( >=dev-libs/boost-1.62:=[nls?,threads(+)] ) + collada? ( >=media-libs/opencollada-1.6.18:= ) + colorio? ( >=media-libs/opencolorio-1.0.9-r2 ) + 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? ( media-sound/jack-audio-connection-kit ) + 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 ) + openimageio? ( >=media-libs/openimageio-1.6.9 ) + openexr? ( + >=media-libs/ilmbase-2.2.0:= + >=media-libs/openexr-2.2.0:= + ) + opensubdiv? ( media-libs/opensubdiv[cuda=] ) + openvdb? ( + media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)] + dev-cpp/tbb + >=dev-libs/c-blosc-1.5.2 + ) + 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 + nls? ( sys-devel/gettext ) + doc? ( + app-doc/doxygen[-nodot(-),dot(+),latex] + dev-python/sphinx[latex] + )" + +PATCHES=( "${FILESDIR}"/${P}-C++11-build-fix.patch + "${FILESDIR}"/${PN}-fix-install-rules.patch + "${FILESDIR}"/${P}-eigen-3.3.1.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() { + default + + # 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 + append-cppflags -DOPENVDB_3_ABI_COMPATIBLE + + 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=$(usex boost) + -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=OFF + -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=OFF + -DWITH_CYCLES_DEVICE_OPENCL=OFF + -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/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 + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${MY_PV}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/blender-2.78a-r1.ebuild b/media-gfx/blender/blender-2.78a-r1.ebuild new file mode 100644 index 000000000000..f61dd89b1184 --- /dev/null +++ b/media-gfx/blender/blender-2.78a-r1.ebuild @@ -0,0 +1,295 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_5 ) + +inherit check-reqs cmake-utils fdo-mime flag-o-matic gnome2-utils \ + pax-utils python-single-r1 toolchain-funcs versionator + +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="$(get_version_component_range 1-2)" + +SLOT="0" +LICENSE="|| ( GPL-2 BL )" +KEYWORDS="~amd64 ~x86" +IUSE="+boost +bullet +dds +elbeem +game-engine +openexr collada colorio \ + cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \ + llvm man ndof nls openal openimageio openmp opensubdiv openvdb \ + player sdl sndfile test tiff valgrind" + +# OpenCL and nVidia performance is rubbish with Blender +# If you have nVidia, use CUDA. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + player? ( game-engine !headless ) + cuda? ( cycles ) + cycles? ( boost openexr tiff openimageio ) + colorio? ( boost ) + openvdb? ( boost ) + opensubdiv? ( cuda ) + nls? ( boost ) + openal? ( boost ) + game-engine? ( boost ) + ?? ( ffmpeg libav )" + +# Since not using OpenCL with nVidia, depend on ATI binary +# blobs as Cycles with OpenCL does not work with any open +# source drivers. +RDEPEND="${PYTHON_DEPS} + 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 + boost? ( >=dev-libs/boost-1.62:=[nls?,threads(+)] ) + collada? ( >=media-libs/opencollada-1.6.18:= ) + colorio? ( >=media-libs/opencolorio-1.0.9-r2 ) + cuda? ( =dev-util/nvidia-cuda-toolkit-8.0*:= ) + 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? ( media-sound/jack-audio-connection-kit ) + 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 ) + openimageio? ( >=media-libs/openimageio-1.6.9 ) + openexr? ( + >=media-libs/ilmbase-2.2.0:= + >=media-libs/openexr-2.2.0:= + ) + opensubdiv? ( media-libs/opensubdiv[cuda=] ) + openvdb? ( + media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)] + dev-cpp/tbb + >=dev-libs/c-blosc-1.5.2 + ) + 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 + nls? ( sys-devel/gettext ) + doc? ( + app-doc/doxygen[-nodot(-),dot(+),latex] + dev-python/sphinx[latex] + )" + +PATCHES=( "${FILESDIR}"/${PN}-fix-install-rules.patch + "${FILESDIR}"/${PN}-2.78-eigen-3.3.1.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() { + default + + # 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 + append-cppflags -DOPENVDB_3_ABI_COMPATIBLE + + 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=$(usex boost) + -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=OFF + -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=OFF + -DWITH_CYCLES_DEVICE_OPENCL=OFF + -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/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 + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${MY_PV}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/files/blender-2.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/files/blender-2.78-C++11-build-fix.patch b/media-gfx/blender/files/blender-2.78-C++11-build-fix.patch new file mode 100644 index 000000000000..ca9b5e1fa8e5 --- /dev/null +++ b/media-gfx/blender/files/blender-2.78-C++11-build-fix.patch @@ -0,0 +1,11 @@ +diff -purN a/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp b/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp +--- a/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp 2016-09-28 10:26:55.000000000 +0100 ++++ b/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp 2016-10-04 11:13:46.489404123 +0100 +@@ -34,6 +34,7 @@ + #include <math.h> + #include <stdlib.h> + #include <algorithm> ++#include <cmath> + + #include "rayobject_rtbuild.h" + diff --git a/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch b/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch new file mode 100644 index 000000000000..540aa6b9a511 --- /dev/null +++ b/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch @@ -0,0 +1,25 @@ +--- blender-2.78a-orig/extern/ceres/include/ceres/jet.h 2016-10-25 01:13:56.000000000 +1100 ++++ blender-2.78a/extern/ceres/include/ceres/jet.h 2017-01-11 13:27:24.708241265 +1100 +@@ -757,6 +757,7 @@ + typedef ceres::Jet<T, N> Real; + typedef ceres::Jet<T, N> NonInteger; + typedef ceres::Jet<T, N> Nested; ++ typedef ceres::Jet<T, N> Literal; + + static typename ceres::Jet<T, N> dummy_precision() { + return ceres::Jet<T, N>(1e-12); +@@ -777,6 +778,14 @@ + HasFloatingPoint = 1, + RequireInitialization = 1 + }; ++ ++ template<bool Vectorized> ++ struct Div { ++ enum { ++ AVX = false, ++ Cost = 1 ++ }; ++ }; + }; + + } // namespace Eigen diff --git a/media-gfx/blender/files/blender-fix-install-rules.patch b/media-gfx/blender/files/blender-fix-install-rules.patch new file mode 100644 index 000000000000..e62aba814b9f --- /dev/null +++ b/media-gfx/blender/files/blender-fix-install-rules.patch @@ -0,0 +1,16 @@ +diff -purN a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt +--- a/source/creator/CMakeLists.txt 2016-09-28 10:26:55.000000000 +0100 ++++ b/source/creator/CMakeLists.txt 2016-10-03 12:17:08.938928486 +0100 +@@ -328,12 +328,6 @@ endif() + # Install Targets (Generic, All Platforms) + + +-# important to make a clean install each time, else old scripts get loaded. +-install( +- CODE +- "file(REMOVE_RECURSE ${TARGETDIR_VER})" +-) +- + if(WITH_PYTHON) + # install(CODE "message(\"copying blender scripts...\")") + diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml new file mode 100644 index 000000000000..ef8d0871a231 --- /dev/null +++ b/media-gfx/blender/metadata.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer restrict=">=media-gfx/blender-2.77" type="person"> + <email>j.scruggs@gmail.com</email> + <name>Jonathan Scruggs</name> + </maintainer> + <maintainer restrict=">=media-gfx/blender-2.77" type="person"> + <email>agrigo2001@yahoo.com.au</email> + <name>Adrian Grigo</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>graphics@gentoo.org</email> + <name>Gentoo Graphics Project</name> + </maintainer> + + <longdescription> + Blender, the open source software for 3D modeling, animation, + rendering, post-production, interactive creation and playback. + </longdescription> + + <use> + <flag name="boost"> + Enable features depending on boost. + </flag> + <flag name="bullet"> + Enable Bullet (Physics Engine). + </flag> + <flag name="collada"> + Add support for Collada interchange format through + <pkg>media-libs/opencollada</pkg>. + </flag> + <flag name="colorio"> + Enable OpenColorIO color management through + <pkg>media-libs/opencolorio</pkg>. + </flag> + <flag name="cuda"> + Build cycles renderer with nVidia CUDA support. + </flag> + <flag name="cycles"> + Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and + <pkg>dev-libs/boost</pkg>). + </flag> + <flag name="dds"> + Adds DDS textures support to Blender. + </flag> + <flag name="doc"> + Build C and Python API documentation directly from the source code. + </flag> + <flag name="elbeem"> + Adds surface fluid simulation to Blender using El'Beem library. + </flag> + <flag name="game-engine" restrict=">=media-gfx/blender-2.50"> + Adds Game Engine support to Blender. + </flag> + <flag name="headless" restrict=">=media-gfx/blender-2.77"> + Build without graphical support (renderfarm, server mode only). + </flag> + <flag name="jemalloc" restrict=">=media-gfx/blender-2.77"> + Use <pkg>dev-libs/jemalloc</pkg> for memory allocation. + </flag> + <flag name="llvm" restrict=">=media-gfx/blender-2.77"> + Enable features depending on llvm. + </flag> + <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="openimageio">Enable OpenImageIO Support</flag> + <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" restrict=">=media-gfx/blender-2.77"> + Add GPU preview rendering. Only works with nVidia cards. + </flag> + <flag name="player"> + Build the Blender Player. THis requires the Game engine. + </flag> + <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" restrict=">=media-gfx/blender-2.77"> + Add support for memory debugging using + <pkg>dev-util/valgrind</pkg> + </flag> + </use> +</pkgmetadata> |