From 4650985dd0e898b82e0d2ec225931297d4fadccf Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 31 Jan 2018 20:30:04 +0000 Subject: gentoo resync : 31.01.2018 --- media-gfx/blender/Manifest | 4 +- media-gfx/blender/blender-2.79-r1.ebuild | 290 +++++++++++++++++++++ .../blender-2.79-fix-build-with-OSL-1.9.x.patch | 26 ++ media-gfx/blender/metadata.xml | 2 +- 4 files changed, 320 insertions(+), 2 deletions(-) create mode 100644 media-gfx/blender/blender-2.79-r1.ebuild create mode 100644 media-gfx/blender/files/blender-2.79-fix-build-with-OSL-1.9.x.patch (limited to 'media-gfx/blender') diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 8c48cdafaae7..413c36de2255 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -4,9 +4,11 @@ AUX blender-2.70-sse2.patch 1421 BLAKE2B d8566eccad25534f8c97100c7f12b630adec156 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-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 EBUILD blender-2.72b-r4.ebuild 8113 BLAKE2B a4d67b0ecd15f1a4f6eedb11d1160ef9514970052b2daa145848e8fc1247839bcfbeb61851a7c550be06b7153ea6e4e159932d36eddd7cb253d1bb6317221439 SHA512 837256447e727e165cb05e733236162ac03a82fa72a41e3a7d894c5efb60a26a959442cdc6eb528ad676b641f127b37d454080392ce54d14676cc8e29487c783 +EBUILD blender-2.79-r1.ebuild 8111 BLAKE2B a3812df81e30ed0bf22ffdffcdaf07f774b102a8012a9cac478689ba07d552feb87281c52e384829b9e894e5144b0efafd962f85cf66fe9ef41e6b8029b1a3b1 SHA512 29fd1536f1bcf1c99c752fea0fe256ce007a533177861cefdb73107dd2fe1e12f34ebaadc9ace523a9cf0383251697fd70145452320460be8bcd0db3e272a337 EBUILD blender-2.79.ebuild 8059 BLAKE2B d60a56884d15f6d1ddf5a2b8070de29284cf63ac152a19bfa4a0ecb3c66f4fdb200ce7831cd928133882614d5e29f2a5d3bde7c22cfc4506df5ead0792aea503 SHA512 99e7f652915b69087deb9ef11a5d78951b7553db60f8327150dd349a8a84672e9cb9fb2740acc00a927171388d346a3a57904ff2dfa0f826dddb2ce3c5e11eed -MISC metadata.xml 3716 BLAKE2B a83b3437a47923843bbe791b0508b34e75f1b5428984b7184b4939da073e07f1ec888121cd04bee106b870570eb82a31703a630ed3fb82230c99ed2d36522e12 SHA512 8ad522a14790a011fb26fe52a47ade818d161f2cfddb0cb49658a43e2dc0a9ddfd3a232e06b4f4441e852085bd1657a378219bdcd4a0249b2c30d341c24231ea +MISC metadata.xml 3716 BLAKE2B 2c04c8b2724d9153efc0bdf8772b4a107e072a009032d390977f53972fb4afe27eada91da3991f680f41d8114d22a75e84c4f359e00ef2b378e53d7b507a45de SHA512 77866e595fba02c31ac64d9a124af03a6fe9080b27434ea2f93e615c6e702d1a393103d96c361079b1b5af861f0775cc0e57888d23e528e32c326dca7af4c09d diff --git a/media-gfx/blender/blender-2.79-r1.ebuild b/media-gfx/blender/blender-2.79-r1.ebuild new file mode 100644 index 000000000000..108783768d04 --- /dev/null +++ b/media-gfx/blender/blender-2.79-r1.ebuild @@ -0,0 +1,290 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{3_5,3_6} ) + +inherit check-reqs cmake-utils xdg-utils flag-o-matic gnome2-utils \ + pax-utils python-single-r1 toolchain-funcs 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="+bullet +dds +elbeem +game-engine +openexr collada colorio \ + cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \ + llvm man ndof nls openal opencl openimageio openmp opensubdiv openvdb \ + osl player sdl sndfile test tiff valgrind" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + player? ( game-engine !headless ) + cuda? ( cycles ) + cycles? ( openexr tiff openimageio ) + opencl? ( cycles ) + osl? ( cycles llvm )" + +RDEPEND="${PYTHON_DEPS} + >=dev-libs/boost-1.62:=[nls?,threads(+)] + dev-libs/lzo:2 + >=dev-python/numpy-1.10.1[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + media-libs/freetype + media-libs/glew:* + media-libs/libpng:0= + media-libs/libsamplerate + sys-libs/zlib + virtual/glu + virtual/jpeg:0= + virtual/libintl + virtual/opengl + collada? ( >=media-libs/opencollada-1.6.18:= ) + colorio? ( media-libs/opencolorio ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] ) + libav? ( >=media-video/libav-11.3:=[x264,mp3,encode,theora,jpeg2k?] ) + fftw? ( sci-libs/fftw:3.0= ) + !headless? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc:= ) + jpeg2k? ( media-libs/openjpeg:0 ) + llvm? ( sys-devel/llvm:= ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( media-libs/openal ) + opencl? ( virtual/opencl ) + openimageio? ( >=media-libs/openimageio-1.7.0 ) + openexr? ( + >=media-libs/ilmbase-2.2.0:= + >=media-libs/openexr-2.2.0:= + ) + opensubdiv? ( >=media-libs/opensubdiv-3.3.0:=[cuda=,opencl=] ) + openvdb? ( + media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)] + dev-cpp/tbb + >=dev-libs/c-blosc-1.5.2 + ) + osl? ( media-libs/osl:= ) + sdl? ( media-libs/libsdl2[sound,joystick] ) + sndfile? ( media-libs/libsndfile ) + tiff? ( media-libs/tiff:0 ) + valgrind? ( dev-util/valgrind )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + >=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}/${P}-fix-build-with-OSL-1.9.x.patch" +) + +blender_check_requirements() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_prepare() { + cmake-utils_src_prepare + + # we don't want static glew, but it's scattered across + # multiple files that differ from version to version + # !!!CHECK THIS SED ON EVERY VERSION BUMP!!! + local file + while IFS="" read -d $'\0' -r file ; do + sed -i -e '/-DGLEW_STATIC/d' "${file}" || die + done < <(find . -type f -name "CMakeLists.txt") + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die +} + +src_configure() { + # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu + # shadows, see bug #276338 for reference + append-flags -funsigned-char + append-lfs-flags + 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=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CUDA=$(usex cuda) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_LLVM=$(usex llvm) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GAMEENGINE=$(usex game-engine) + -DWITH_HEADLESS=$(usex headless) + -DWITH_X11=$(usex !headless) + -DWITH_IMAGE_DDS=$(usex dds) + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_TIFF=$(usex tiff) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MOD_FLUID=$(usex elbeem) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCL=$(usex opencl) + -DWITH_OPENCOLORIO=$(usex colorio) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENIMAGEIO=$(usex openimageio) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_PLAYER=$(usex player) + -DWITH_SDL=$(usex sdl) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_GTESTS=$(usex test) + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + ) + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + + if use doc; then + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + fi +} + +src_test() { + if use test; then + einfo "Running Blender Unit Tests ..." + cd "${BUILD_DIR}"/bin/tests || die + local f + for f in *_test; do + ./"${f}" || die + done + fi +} + +src_install() { + # Pax mark blender for hardened support. + pax-mark m "${CMAKE_BUILD_DIR}"/bin/blender + + if use doc; then + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + cmake-utils_src_install + + # fix doc installdir + docinto "html" + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED%/}"/usr/share/doc/blender || die + + python_fix_shebang "${ED%/}/usr/bin/blender-thumbnailer.py" + python_optimize "${ED%/}/usr/share/blender/${MY_PV}/scripts" +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherit risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "dragging the main menu down do display all paths." + elog + ewarn + ewarn "This ebuild does not unbundle the massive amount of 3rd party" + ewarn "libraries which are shipped with blender. Note that" + ewarn "these have caused security issues in the past." + ewarn "If you are concerned about security, file a bug upstream:" + ewarn " https://developer.blender.org/" + ewarn + gnome2_icon_cache_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_mimeinfo_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${MY_PV}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/files/blender-2.79-fix-build-with-OSL-1.9.x.patch b/media-gfx/blender/files/blender-2.79-fix-build-with-OSL-1.9.x.patch new file mode 100644 index 000000000000..6b22f9335fd7 --- /dev/null +++ b/media-gfx/blender/files/blender-2.79-fix-build-with-OSL-1.9.x.patch @@ -0,0 +1,26 @@ +From d089875c4c753f084e02849462ec1bd6f785eadf Mon Sep 17 00:00:00 2001 +From: Brecht Van Lommel +Date: Sat, 18 Nov 2017 06:11:17 +0100 +Subject: [PATCH] Fix build with OSL 1.9.x, automatically aligns to 16 bytes + now. + +--- + intern/cycles/kernel/osl/osl_closures.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/intern/cycles/kernel/osl/osl_closures.cpp b/intern/cycles/kernel/osl/osl_closures.cpp +index e3e85705ebc..597d25e9f30 100644 +--- a/intern/cycles/kernel/osl/osl_closures.cpp ++++ b/intern/cycles/kernel/osl/osl_closures.cpp +@@ -232,7 +232,11 @@ static void register_closure(OSL::ShadingSystem *ss, const char *name, int id, O + /* optimization: it's possible to not use a prepare function at all and + * only initialize the actual class when accessing the closure component + * data, but then we need to map the id to the class somehow */ ++#if OSL_LIBRARY_VERSION_CODE >= 10900 ++ ss->register_closure(name, id, params, prepare, NULL); ++#else + ss->register_closure(name, id, params, prepare, NULL, 16); ++#endif + } + + void OSLShader::register_closures(OSLShadingSystem *ss_) diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index 92981d95ed42..92c09eab0ec7 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -2,7 +2,7 @@ - j.scruggs@gmail.com + dracwyrm@gentoo.org Jonathan Scruggs -- cgit v1.2.3