diff options
author | dracwyrm <j.scruggs@gmail.com> | 2016-06-16 17:06:25 +0100 |
---|---|---|
committer | Amy Winston <amynka@gentoo.org> | 2016-06-16 21:59:54 +0200 |
commit | 58ae358937ae0c36da5f1d30cbd1aec644c1b76e (patch) | |
tree | 3f165e9cfa898eb7a652473832365477db32f307 /media-gfx/blender | |
parent | x11-wm/xpra: Version bump to latest 0.17 (diff) | |
download | gentoo-58ae358937ae0c36da5f1d30cbd1aec644c1b76e.tar.gz gentoo-58ae358937ae0c36da5f1d30cbd1aec644c1b76e.tar.bz2 gentoo-58ae358937ae0c36da5f1d30cbd1aec644c1b76e.zip |
media-gfx/blender: bug fixes and update metadata.xml
Gentoo Bugs: 533514, 523928, 585730
Updated metadata.xml with new proxy maintainers
Switched to EAPI 6
Added in doc building hack for binary drivers
Diffstat (limited to 'media-gfx/blender')
-rw-r--r-- | media-gfx/blender/blender-2.72b-r4.ebuild | 291 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.72-T42797.diff | 4 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.72b-fix-util_simd.patch | 10 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 112 |
4 files changed, 364 insertions, 53 deletions
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..c0a7e4dffb44 --- /dev/null +++ b/media-gfx/blender/blender-2.72b-r4.ebuild @@ -0,0 +1,291 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +## 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 + media-libs/libpng:0 + media-libs/libsamplerate + sci-libs/ldl + 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 +) + +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/files/blender-2.72-T42797.diff b/media-gfx/blender/files/blender-2.72-T42797.diff index d1db31882019..cef03853434c 100644 --- a/media-gfx/blender/files/blender-2.72-T42797.diff +++ b/media-gfx/blender/files/blender-2.72-T42797.diff @@ -1,5 +1,5 @@ ---- source/blender/blenfont/intern/blf_glyph.c -+++ source/blender/blenfont/intern/blf_glyph.c +--- 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; 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/metadata.xml b/media-gfx/blender/metadata.xml index 8279503b5f27..b994a57ec7b2 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -1,57 +1,67 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>graphics@gentoo.org</email> - <name>Gentoo Graphics Project</name> - </maintainer> + <maintainer restrict=">=media-gfx/blender-2.72b-r4" type="person"> + <email>j.scruggs@gmail.com</email> + <name>Jonathan Scruggs</name> + <description>Proxy maintainer</description> + </maintainer> + <maintainer restrict=">=media-gfx/blender-2.72b-r4" type="person"> + <email>agrigo2001@yahoo.com.au</email> + <name>Adrian Grigo</name> + <description>Proxy maintainer</description> + </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> + <longdescription> + Blender, the open source software for 3D modeling, animation, + rendering, post-production, interactive creation and playback. + </longdescription> - <use> - <flag name="game-engine" restrict=">=media-gfx/blender-2.50"> - Adds Game Engine support to Blender. - </flag> - <flag name="collada"> - Add support for Collada interchange format through - <pkg>media-libs/opencollada</pkg>. - </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="player"> - Build the Blender Player. THis requires the Game engine. - </flag> - <flag name="elbeem"> - Adds surface fluid simulation to Blender using El'Beem library. - </flag> - <flag name="doc"> - Build C and Python API documentation directly from the source code. - </flag> - <flag name="redcode"> - This flag add support for RED CODE camera digital format (5K HD - images *.r3d) - EXPERIMENTAL. - </flag> - <flag name="boost"> - Enable features depending on boost. - </flag> - <flag name="bullet"> - Enable Bullet (Physics Engine). - </flag> - <flag name="colorio"> - Enable OpenColorIO color management. - </flag> - <flag name="ndof"> - Enable NDOF input devices (SpaceNavigator and friends). - </flag> - <flag name="openimageio">Enable OpenImageIO Support</flag> - <flag name="opennl">Enable use of Open Numerical Library</flag> - </use> + <use> + <flag name="game-engine" restrict=">=media-gfx/blender-2.50"> + Adds Game Engine support to Blender. + </flag> + <flag name="collada"> + Add support for Collada interchange format through + <pkg>media-libs/opencollada</pkg>. + </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="player"> + Build the Blender Player. THis requires the Game engine. + </flag> + <flag name="elbeem"> + Adds surface fluid simulation to Blender using El'Beem library. + </flag> + <flag name="doc"> + Build C and Python API documentation directly from the source code. + </flag> + <flag name="redcode"> + This flag add support for RED CODE camera digital format (5K HD + images *.r3d) - EXPERIMENTAL. + </flag> + <flag name="boost"> + Enable features depending on boost. + </flag> + <flag name="bullet"> + Enable Bullet (Physics Engine). + </flag> + <flag name="colorio"> + Enable OpenColorIO color management. + </flag> + <flag name="ndof"> + Enable NDOF input devices (SpaceNavigator and friends). + </flag> + <flag name="openimageio">Enable OpenImageIO Support</flag> + <flag name="opennl">Enable use of Open Numerical Library</flag> + </use> </pkgmetadata> |