commit:     58ae358937ae0c36da5f1d30cbd1aec644c1b76e
Author:     dracwyrm <j.scruggs <AT> gmail <DOT> com>
AuthorDate: Thu Jun 16 16:06:25 2016 +0000
Commit:     Amy Winston <amynka <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 19:59:54 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58ae3589

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

 media-gfx/blender/blender-2.72b-r4.ebuild          | 291 +++++++++++++++++++++
 media-gfx/blender/files/blender-2.72-T42797.diff   |   4 +-
 .../files/blender-2.72b-fix-util_simd.patch        |  10 +
 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 0000000..c0a7e4d
--- /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 d1db318..cef0385 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 0000000..8c83ee0
--- /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 8279503..b994a57 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>graph...@gentoo.org</email>
-    <name>Gentoo Graphics Project</name>
-  </maintainer>
+       <maintainer restrict="&gt;=media-gfx/blender-2.72b-r4" type="person">
+               <email>j.scru...@gmail.com</email>
+               <name>Jonathan Scruggs</name>
+               <description>Proxy maintainer</description>
+       </maintainer>
+       <maintainer restrict="&gt;=media-gfx/blender-2.72b-r4" type="person">
+               <email>agrigo2...@yahoo.com.au</email>
+               <name>Adrian Grigo</name>
+               <description>Proxy maintainer</description>
+       </maintainer>
+       <maintainer type="project">
+               <email>graph...@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="&gt;=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="&gt;=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>

Reply via email to