From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D5DAA138335 for ; Tue, 28 Aug 2018 14:43:12 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D6997E0886; Tue, 28 Aug 2018 14:43:11 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 96280E0886 for ; Tue, 28 Aug 2018 14:43:11 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1A817335D7D for ; Tue, 28 Aug 2018 14:43:09 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id F41743BA for ; Tue, 28 Aug 2018 14:43:06 +0000 (UTC) From: "Jonathan Scruggs" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jonathan Scruggs" Message-ID: <1535467372.04fbac6991b57a44e8899d0920b2a723a9d27329.dracwyrm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/blender/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-gfx/blender/blender-2.79b-r1.ebuild media-gfx/blender/metadata.xml X-VCS-Directories: media-gfx/blender/ X-VCS-Committer: dracwyrm X-VCS-Committer-Name: Jonathan Scruggs X-VCS-Revision: 04fbac6991b57a44e8899d0920b2a723a9d27329 X-VCS-Branch: master Date: Tue, 28 Aug 2018 14:43:06 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 396e6181-df56-4a42-9a1c-4de7569fbfdf X-Archives-Hash: 7a5489d182c1284063615c703f3c0f5f commit: 04fbac6991b57a44e8899d0920b2a723a9d27329 Author: Jonathan Scruggs gmail com> AuthorDate: Tue Aug 28 13:23:18 2018 +0000 Commit: Jonathan Scruggs gentoo org> CommitDate: Tue Aug 28 14:42:52 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04fbac69 media-gfx/blender: revbump to 2.79b-r1 -Use OpenVDB ABI 4 instead of ABI 5 media-gfx/blender/blender-2.79b-r1.ebuild | 293 ++++++++++++++++++++++++++++++ media-gfx/blender/metadata.xml | 4 - 2 files changed, 293 insertions(+), 4 deletions(-) diff --git a/media-gfx/blender/blender-2.79b-r1.ebuild b/media-gfx/blender/blender-2.79b-r1.ebuild new file mode 100644 index 00000000000..1b9da6f8231 --- /dev/null +++ b/media-gfx/blender/blender-2.79b-r1.ebuild @@ -0,0 +1,293 @@ +# 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 eapi7-ver + +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 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 +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} + cuda? ( cycles ) + cycles? ( openexr tiff openimageio ) + opencl? ( cycles ) + osl? ( cycles llvm ) + player? ( game-engine !headless )" + +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(-),abi4-compat(+)] + 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} + >=dev-cpp/eigen-3.2.8:3 + virtual/pkgconfig + doc? ( + app-doc/doxygen[-nodot(-),dot(+),latex] + dev-python/sphinx[latex] + ) + nls? ( sys-devel/gettext )" + +PATCHES=( + "${FILESDIR}/${PN}-fix-install-rules.patch" + "${FILESDIR}/${P}-gcc-8.patch" + "${FILESDIR}/${P}-ffmpeg-4-compat.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 + # Blender is compatible ABI 4 or less, so use ABI 4. + append-cppflags -DOPENVDB_ABI_VERSION_NUMBER=4 + + 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/metadata.xml b/media-gfx/blender/metadata.xml index 92c09eab0ec..685687e61af 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -9,10 +9,6 @@ agrigo2001@yahoo.com.au Adrian Grigo - - proxy-maint@gentoo.org - Proxy Maintainers - graphics@gentoo.org Gentoo Graphics Project