diff options
Diffstat (limited to 'media-gfx/blender')
-rw-r--r-- | media-gfx/blender/Manifest | 8 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.83.4-r1.ebuild | 4 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.90.1-r1.ebuild | 6 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.91.0.ebuild | 335 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 6 |
5 files changed, 347 insertions, 12 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 61d0c227951e..37e6d4e02f85 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -1,5 +1,7 @@ DIST blender-2.83.4.tar.xz 38528352 BLAKE2B 54596207cbee34fcaa6b81a0d829976b42c28c793b88de81d78c1c3fdfe9dd2a0189a314be281b2a0f1829a0b7fd30d37bceaa28d35c9794dcb0f009fa71e83d SHA512 061735273159742784ed210d13fb39ad076efbbfd5f0291bab1b983699d43b20462dc7e4795e28dab0cd191c9879b43d9ad0f0545c24ef5da23c74679e5ccab5 DIST blender-2.90.1.tar.xz 38836408 BLAKE2B 42622e742ebd397dc035c85cf26ab72ffee64f2cd46f1523de78dc8861bc19286a7d87b9e31a0d6afdf9a931da7018ccbdb9b4185b8535b4529656c6d85efc34 SHA512 e7d6f8df598f2a2a99f64716331ec4e981a5a49c76b307caf7856480c778455cfc4bbb56fbedc8b22d1e10951ebaeb6844d1ead9476847bf2824dddf5b135992 -EBUILD blender-2.83.4-r1.ebuild 8560 BLAKE2B 295b8bdf8d2dfc2d260911fa07deb04ecd5ace532e5358fc99a2be61f972b44aac993becde6b708b38b3c08967979ed1e595c6f62f4570f3ea032e9ed0e93907 SHA512 7fe110617b574ae4ad11056a7748891556f20f41b907c6f38a714469a5f544ac8a59a4f2d400e3d4e594080b86476e6e281a20b7edf01aa87d0906f9de0cf754 -EBUILD blender-2.90.1-r1.ebuild 8594 BLAKE2B 1eea748af879ef517c436f8105dfa6f63537e4cc43fa3bd5f07e003afd418940c7f47a2b3fab8e5605a7e5afc7ca582cc71c6c14d00d3b05a523dae94d7bec86 SHA512 f0a5797d2aa739e47311dc66e6464431f6620d6bdd322dbca3cfd9dd1daa4e5e7df4d4665ae855690c3701d72b89dc917cffd566d72c8e98c8c1168c0f6c26cc -MISC metadata.xml 2961 BLAKE2B 77f0031737c448bac4387ca94430ccebbb75f1cdf6fa5780e3c1bdf2118382dbba29479e680c009685cc86105ed3f64d73b7ce2c1a882a1dd18bf4e00a1a249b SHA512 67031dc5c4428e1e7d15fc499f1cb3abd666e2c365d423c845fd587ac87712a72b171df5d7ca2a0b5d2cbe2850081212a77f66c11196700aa7f253b0c5963442 +DIST blender-2.91.0.tar.xz 41528920 BLAKE2B f28bce92b0b63e380c7ce2c9dae0ae4235792ae7c7dff52c2c9c0c5baa81b4d540f853f49d7622f6feca8c7f403b254b55f200758a64e4d95bd43709e5509c1d SHA512 a4b6cb09765d735274fb4a61ac301cbd6ee16f09ab77b19a6e283454b9b8a8c76f1b181501dc285b288130da9e283d3343b948b2855eea00bcb9e114636d55aa +EBUILD blender-2.83.4-r1.ebuild 8590 BLAKE2B d1f5765922114878d629e653248491878f1ae7003f0ad8dad49713e083d28b5133b2e1a0b1ba6b9a2600a7f9512c9a98aa0a551e9e368aa2cfe46346ed5c7914 SHA512 36f33f65151a8c98a42a2f014209d2bf0552779c8b5e52513fc8063c5202ba77c1cf3c744e3e818387ada59a3ec88805f35f96bcefcc3c000da331b73a756780 +EBUILD blender-2.90.1-r1.ebuild 8628 BLAKE2B 6f432315a7bf13dc3635ab915e9c72668aef526358f74b324067ebe4d5a34c5fa6daa207fdb753adaa756be9d53617896ec5545071755459ed0799a56618d18b SHA512 1b4bc3de4447577cd062283fde8ef091c0800968a0129a833b4d3c9acf8992e143a204bbc32b887254cdf4977ea083cb262e47242b5b2f1d581cf183339374a7 +EBUILD blender-2.91.0.ebuild 9051 BLAKE2B da48e82f25971c9322553734d18a7d8a60f51d728ebe965a1b2d3b49478b42fb89f2bb7db820e925c79ff66db26a03ca40ce5de7324633b37673a24ded423a27 SHA512 6c6544ea48980a3f4e3a8173f611daeee94ee9d6f5dcccf358a890a0d8321f797737c498afa88a401ac1f6bc155ed03448415c585103b9a9d178cf83d435ae48 +MISC metadata.xml 2795 BLAKE2B 6a3b2ec4f6c57286f41e4304bd394dd2d9c23830678e2a29fd7657eb9aae760c5061f5a5fcf43e65993ccbdf4c3e42bbd933857e22355ef4069f870ec7d180bb SHA512 20ba570f24a0daaa50a07991d0b6ec6620b080ad3a253af2dff7008c504fea3ac2fc11301e1947d81f38b0398d878de0c299700fd99880b021e5e8e5f41afc95 diff --git a/media-gfx/blender/blender-2.83.4-r1.ebuild b/media-gfx/blender/blender-2.83.4-r1.ebuild index a4a6501ff7a4..f28ba088062c 100644 --- a/media-gfx/blender/blender-2.83.4-r1.ebuild +++ b/media-gfx/blender/blender-2.83.4-r1.ebuild @@ -88,7 +88,7 @@ RDEPEND="${PYTHON_DEPS} ~media-gfx/openvdb-7.0.0[abi6-compat(-)?,abi7-compat(-)?] dev-libs/c-blosc:= ) - osl? ( media-libs/osl ) + osl? ( media-libs/osl:= ) sdl? ( media-libs/libsdl2[sound,joystick] ) sndfile? ( media-libs/libsndfile ) tbb? ( dev-cpp/tbb ) @@ -114,6 +114,8 @@ BDEPEND=" nls? ( sys-devel/gettext ) " +CMAKE_BUILD_TYPE="Release" + blender_check_requirements() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp diff --git a/media-gfx/blender/blender-2.90.1-r1.ebuild b/media-gfx/blender/blender-2.90.1-r1.ebuild index 7ad59e31836d..8c7494285e83 100644 --- a/media-gfx/blender/blender-2.90.1-r1.ebuild +++ b/media-gfx/blender/blender-2.90.1-r1.ebuild @@ -30,7 +30,7 @@ RESTRICT="!test? ( test )" REQUIRED_USE="${PYTHON_REQUIRED_USE} alembic? ( openexr ) cuda? ( cycles ) - cycles? ( openexr tiff openimageio ) + cycles? ( openexr tbb tiff openimageio ) elbeem? ( tbb ) opencl? ( cycles ) openvdb? ( @@ -88,7 +88,7 @@ RDEPEND="${PYTHON_DEPS} ~media-gfx/openvdb-7.0.0[abi6-compat(-)?,abi7-compat(-)?] dev-libs/c-blosc:= ) - osl? ( media-libs/osl ) + osl? ( media-libs/osl:= ) sdl? ( media-libs/libsdl2[sound,joystick] ) sndfile? ( media-libs/libsndfile ) tbb? ( dev-cpp/tbb ) @@ -114,6 +114,8 @@ BDEPEND=" nls? ( sys-devel/gettext ) " +CMAKE_BUILD_TYPE="Release" + blender_check_requirements() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp diff --git a/media-gfx/blender/blender-2.91.0.ebuild b/media-gfx/blender/blender-2.91.0.ebuild new file mode 100644 index 000000000000..d3373af60b12 --- /dev/null +++ b/media-gfx/blender/blender-2.91.0.ebuild @@ -0,0 +1,335 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8} ) + +inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 \ + toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +SRC_URI="https://download.blender.org/source/${P}.tar.xz" + +# Blender can have letters in the version string, +# so strip off the letter if it exists. +MY_PV="$(ver_cut 1-2)" + +SLOT="0" +LICENSE="|| ( GPL-2 BL )" +KEYWORDS="~amd64 ~x86" +IUSE="+bullet +dds +elbeem +openexr +system-python +system-numpy +tbb \ + abi6-compat abi7-compat alembic collada color-management cuda cycles \ + debug doc ffmpeg fftw headless jack jemalloc jpeg2k llvm \ + man ndof nls openal opencl openimageio openmp opensubdiv \ + openvdb osl sdl sndfile standalone test tiff valgrind" +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tbb tiff openimageio ) + elbeem? ( tbb ) + opencl? ( cycles ) + openvdb? ( + ^^ ( abi6-compat abi7-compat ) + tbb + ) + osl? ( cycles llvm ) + standalone? ( cycles )" + +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:=[nls?,threads(+)] + dev-libs/gmp + dev-libs/pugixml + dev-libs/lzo:2= + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-gfx/potrace + media-libs/fontconfig:= + media-libs/freetype:= + media-libs/glew:* + media-libs/libpng:= + media-libs/libsamplerate + sys-libs/zlib:= + virtual/glu + virtual/jpeg + virtual/libintl + virtual/opengl + alembic? ( >=media-gfx/alembic-1.7.12[boost(+),hdf(+)] ) + collada? ( >=media-libs/opencollada-1.6.68 ) + color-management? ( media-libs/opencolorio ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + cycles? ( media-libs/freeglut ) + ffmpeg? ( media-video/ffmpeg:=[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:2= ) + 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:= ) + openexr? ( + media-libs/ilmbase:= + media-libs/openexr:= + ) + opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] ) + openvdb? ( + ~media-gfx/openvdb-7.0.0[abi6-compat(-)?,abi7-compat(-)?] + dev-libs/c-blosc:= + ) + osl? ( media-libs/osl:= ) + sdl? ( media-libs/libsdl2[sound,joystick] ) + sndfile? ( media-libs/libsndfile ) + tbb? ( dev-cpp/tbb ) + tiff? ( media-libs/tiff ) + valgrind? ( dev-util/valgrind ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= +" + +BDEPEND=" + virtual/pkgconfig + doc? ( + app-doc/doxygen[dot] + dev-python/sphinx[latex] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + nls? ( sys-devel/gettext ) +" + +CMAKE_BUILD_TYPE="Release" + +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_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 + + if use openvdb; then + local version + if use abi6-compat; then + version=6; + elif use abi7-compat; then + version=7; + else + die "Openvdb abi version not compatible" + fi + append-cppflags -DOPENVDB_ABI_VERSION_NUMBER=${version} + fi + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_BOOST=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl) + -DWITH_CYCLES_EMBREE=OFF + -DWITH_CYCLES_STANDALONE=$(usex standalone) + -DWITH_CYCLES_STANDALONE_GUI=$(usex standalone) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_X11=$(usex !headless) + -DWITH_GTESTS=$(usex test) + -DWITH_HEADLESS=$(usex headless) + -DWITH_INSTALL_PORTABLE=OFF + -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_LLVM=$(usex llvm) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex elbeem) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEIO=$(usex openimageio) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_PYTHON_INSTALL=$(usex system-python OFF ON) + -DWITH_PYTHON_INSTALL_NUMPY=$(usex system-numpy OFF ON) + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_EIGEN3=ON + -DWITH_SYSTEM_GLEW=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + ) + cmake_src_configure +} + +src_compile() { + cmake_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 "${BUILD_DIR}"/bin/blender + + if use standalone; then + dobin "${BUILD_DIR}"/bin/cycles + fi + + 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_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_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent 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 + + if use python_single_target_python3_8; then + elog "You've enabled python-3.8 support for blender, which is still experimental." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_7 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_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/metadata.xml b/media-gfx/blender/metadata.xml index 0dff6db1f81c..56a4c98b6a4c 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -42,9 +42,6 @@ <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> @@ -86,9 +83,6 @@ <flag name="tbb"> Use threading building blocks library from <pkg>dev-cpp/tbb</pkg>. </flag> - <flag name="test"> - Build the provided unit tests. - </flag> <flag name="valgrind"> Add support for memory debugging using <pkg>dev-util/valgrind</pkg> |