summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2014-03-20 16:56:34 +0000
committerJulian Ospald <hasufell@gentoo.org>2014-03-20 16:56:34 +0000
commit860c1723349ed8537a7e54ca17485554cf27fafe (patch)
tree6703ca88041135d0470e0cfd1790e9036c8b645c /media-gfx/blender
parentSecurity bump (bug #505072) (diff)
downloadgentoo-2-860c1723349ed8537a7e54ca17485554cf27fafe.tar.gz
gentoo-2-860c1723349ed8537a7e54ca17485554cf27fafe.tar.bz2
gentoo-2-860c1723349ed8537a7e54ca17485554cf27fafe.zip
version bump wrt #505138, fix redcode USE flag wrt #505178
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key BDEED020)
Diffstat (limited to 'media-gfx/blender')
-rw-r--r--media-gfx/blender/ChangeLog9
-rw-r--r--media-gfx/blender/blender-2.69.ebuild5
-rw-r--r--media-gfx/blender/blender-2.70.ebuild274
-rw-r--r--media-gfx/blender/files/04-blender-2.70-unbundle-glog.patch106
-rw-r--r--media-gfx/blender/files/07-blender-2.70-sse2.patch35
-rw-r--r--media-gfx/blender/metadata.xml4
6 files changed, 429 insertions, 4 deletions
diff --git a/media-gfx/blender/ChangeLog b/media-gfx/blender/ChangeLog
index 6dd3b62a14c8..27eaf74980f7 100644
--- a/media-gfx/blender/ChangeLog
+++ b/media-gfx/blender/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-gfx/blender
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.259 2014/01/22 01:11:12 hasufell Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.260 2014/03/20 16:56:34 hasufell Exp $
+
+*blender-2.70 (20 Mar 2014)
+
+ 20 Mar 2014; Julian Ospald <hasufell@gentoo.org> blender-2.69.ebuild,
+ +blender-2.70.ebuild, +files/07-blender-2.70-sse2.patch,
+ +files/04-blender-2.70-unbundle-glog.patch, metadata.xml:
+ version bump wrt #505138, fix redcode USE flag wrt #505178
22 Jan 2014; Julian Ospald <hasufell@gentoo.org> blender-2.69.ebuild:
fix build with nls enabled
diff --git a/media-gfx/blender/blender-2.69.ebuild b/media-gfx/blender/blender-2.69.ebuild
index ef5c4c9be278..847b7d55b108 100644
--- a/media-gfx/blender/blender-2.69.ebuild
+++ b/media-gfx/blender/blender-2.69.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.69.ebuild,v 1.2 2014/01/22 01:11:12 hasufell Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.69.ebuild,v 1.3 2014/03/20 16:56:34 hasufell Exp $
# TODO:
# bundled-deps: bullet is modified
@@ -32,7 +32,7 @@ KEYWORDS="~amd64 ~x86"
IUSE="+boost +bullet collada colorio cycles +dds debug doc +elbeem ffmpeg fftw +game-engine jack jpeg2k ndof nls openal openmp +openexr player redcode sdl sndfile sse sse2 tiff"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
player? ( game-engine )
- redcode? ( jpeg2k )
+ redcode? ( jpeg2k ffmpeg )
cycles? ( boost openexr tiff )
nls? ( boost )
game-engine? ( boost )"
@@ -69,6 +69,7 @@ RDEPEND="
)
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
diff --git a/media-gfx/blender/blender-2.70.ebuild b/media-gfx/blender/blender-2.70.ebuild
new file mode 100644
index 000000000000..69b715d38a1d
--- /dev/null
+++ b/media-gfx/blender/blender-2.70.ebuild
@@ -0,0 +1,274 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.70.ebuild,v 1.1 2014/03/20 16:56:34 hasufell Exp $
+
+# TODO:
+# bundled-deps: bullet is modified
+# multiple python abi?
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 )
+#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="http://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+=" http://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 ndof nls openal openimageio +opennl openmp +openexr player redcode sdl sndfile sse sse2 tiff"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ player? ( game-engine )
+ redcode? ( jpeg2k ffmpeg )
+ cycles? ( boost openexr tiff )
+ nls? ( boost )
+ game-engine? ( boost )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/gflags
+ dev-cpp/glog[gflags]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=media-libs/freetype-2.0
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsamplerate
+ sci-libs/colamd
+ sci-libs/ldl
+ sys-libs/zlib
+ virtual/glu
+ virtual/jpeg
+ virtual/libintl
+ virtual/opengl
+ x11-libs/libXi
+ x11-libs/libX11
+ boost? ( >=dev-libs/boost-1.44[nls?,threads(+)] )
+ collada? ( media-libs/opencollada )
+ colorio? ( media-libs/opencolorio )
+ cycles? (
+ media-libs/openimageio
+ )
+ ffmpeg? (
+ || (
+ >=media-video/ffmpeg-2.1.4:0[x264,mp3,encode,theora,jpeg2k?]
+ >=media-video/libav-9[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/openexr )
+ sdl? ( media-libs/libsdl[audio,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tiff? ( media-libs/tiff:0 )"
+DEPEND="${RDEPEND}
+ >=dev-cpp/eigen-3.1.3:3
+ doc? (
+ app-doc/doxygen[-nodot(-),dot(+)]
+ dev-python/sphinx
+ )
+ nls? ( sys-devel/gettext )"
+
+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() {
+ epatch "${FILESDIR}"/01-${PN}-2.68-doxyfile.patch \
+ "${FILESDIR}"/02-${PN}-2.68-unbundle-colamd.patch \
+ "${FILESDIR}"/03-${PN}-2.68-remove-binreloc.patch \
+ "${FILESDIR}"/04-${PN}-2.70-unbundle-glog.patch \
+ "${FILESDIR}"/05-${PN}-2.68-unbundle-eigen3.patch \
+ "${FILESDIR}"/06-${PN}-2.68-fix-install-rules.patch \
+ "${FILESDIR}"/07-${PN}-2.70-sse2.patch
+
+ # remove some bundled deps
+ rm -r \
+ extern/Eigen3 \
+ extern/libopenjpeg \
+ extern/glew \
+ extern/colamd \
+ extern/binreloc \
+ extern/libmv/third_party/{glog,gflags} \
+ || die
+
+ # turn off binreloc (not cached)
+ sed -i \
+ -e 's#set(WITH_BINRELOC ON)#set(WITH_BINRELOC OFF)#' \
+ CMakeLists.txt || die
+
+ # 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
+
+ ewarn "$(echo "Remaining bundled dependencies:";
+ ( find extern -mindepth 1 -maxdepth 1 -type d; find extern/libmv/third_party -mindepth 1 -maxdepth 1 -type d; ) | sed 's|^|- |')"
+
+ # linguas cleanup
+ local i
+ if ! use nls; then
+ rm -r "${S}"/release/datafiles/locale || die
+ else
+ if [[ -n "${LINGUAS+x}" ]] ; then
+ for i in "${S}"/release/datafiles/locale/* ; do
+ mylang=${i##*/}
+ 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
+
+ # WITH_PYTHON_SECURITY
+ # WITH_PYTHON_SAFETY
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DWITH_INSTALL_PORTABLE=OFF
+ $(cmake-utils_use_with boost BOOST)
+ $(cmake-utils_use_with cycles CYCLES)
+ $(cmake-utils_use_with collada OPENCOLLADA)
+ $(cmake-utils_use_with dds IMAGE_DDS)
+ $(cmake-utils_use_with elbeem MOD_FLUID)
+ $(cmake-utils_use_with ffmpeg CODEC_FFMPEG)
+ $(cmake-utils_use_with fftw FFTW3)
+ $(cmake-utils_use_with fftw MOD_OCEANSIM)
+ $(cmake-utils_use_with game-engine GAMEENGINE)
+ $(cmake-utils_use_with nls INTERNATIONAL)
+ $(cmake-utils_use_with jack JACK)
+ $(cmake-utils_use_with jpeg2k IMAGE_OPENJPEG)
+ $(cmake-utils_use_with openimageio OPENIMAGEIO)
+ $(cmake-utils_use_with openal OPENAL)
+ $(cmake-utils_use_with openexr IMAGE_OPENEXR)
+ $(cmake-utils_use_with openmp OPENMP)
+ $(cmake-utils_use_with opennl OPENNL)
+ $(cmake-utils_use_with player PLAYER)
+ $(cmake-utils_use_with redcode IMAGE_REDCODE)
+ $(cmake-utils_use_with sdl SDL)
+ $(cmake-utils_use_with sndfile CODEC_SNDFILE)
+ $(cmake-utils_use_with sse RAYOPTIMIZATION)
+ $(cmake-utils_use_with sse2 SSE2)
+ $(cmake-utils_use_with bullet BULLET)
+ $(cmake-utils_use_with tiff IMAGE_TIFF)
+ $(cmake-utils_use_with colorio OPENCOLORIO)
+ $(cmake-utils_use_with ndof INPUT_NDOF)
+ -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
+ 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 "API/python"
+ dohtml -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/*
+
+ docinto "API/blender"
+ dohtml -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
+ dohtml "${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
+ 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/04-blender-2.70-unbundle-glog.patch b/media-gfx/blender/files/04-blender-2.70-unbundle-glog.patch
new file mode 100644
index 000000000000..4c9f14aea7c3
--- /dev/null
+++ b/media-gfx/blender/files/04-blender-2.70-unbundle-glog.patch
@@ -0,0 +1,106 @@
+commit 26e853d31931a8bb08695aa98ae53b263236d407
+Author: hasufell <hasufell@gentoo.org>
+Date: Fri Jul 19 18:40:23 2013 +0200
+
+ unbundle glog/gflags
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b1a7830..a30831c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -106,6 +106,14 @@ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE)
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE)
+
+ #-----------------------------------------------------------------------------
++# Check for some modules
++if(UNIX)
++ find_package(PkgConfig)
++ pkg_check_modules(_PC_GFLAGS libgflags)
++ pkg_check_modules(_PC_GLOG libglog)
++endif()
++
++#-----------------------------------------------------------------------------
+ # Set default config options
+
+ get_blender_version()
+diff --git a/extern/libmv/CMakeLists.txt b/extern/libmv/CMakeLists.txt
+index 2c9a219..7061e04 100644
+--- a/extern/libmv/CMakeLists.txt
++++ b/extern/libmv/CMakeLists.txt
+@@ -87,10 +87,6 @@
+ libmv/tracking/track_region.cc
+ libmv/tracking/trklt_region_tracker.cc
+
+- third_party/gflags/gflags.cc
+- third_party/gflags/gflags_completions.cc
+- third_party/gflags/gflags_reporting.cc
+-
+ libmv/base/id_generator.h
+ libmv/base/scoped_ptr.h
+ libmv/base/vector.h
+@@ -140,12 +136,6 @@
+ libmv/tracking/track_region.h
+ libmv/tracking/trklt_region_tracker.h
+
+- third_party/gflags/config.h
+- third_party/gflags/gflags/gflags_completions.h
+- third_party/gflags/gflags/gflags_declare.h
+- third_party/gflags/gflags/gflags.h
+- third_party/gflags/mutex.h
+- third_party/gflags/util.h
+ third_party/msinttypes/inttypes.h
+ third_party/msinttypes/stdint.h
+ )
+@@ -186,42 +176,6 @@
+ third_party/msinttypes
+ )
+ endif()
+- else()
+- list(APPEND SRC
+- third_party/glog/src/demangle.cc
+- third_party/glog/src/logging.cc
+- third_party/glog/src/raw_logging.cc
+- third_party/glog/src/signalhandler.cc
+- third_party/glog/src/symbolize.cc
+- third_party/glog/src/utilities.cc
+- third_party/glog/src/vlog_is_on.cc
+-
+- third_party/glog/src/base/commandlineflags.h
+- third_party/glog/src/base/googleinit.h
+- third_party/glog/src/base/mutex.h
+- third_party/glog/src/config_freebsd.h
+- third_party/glog/src/config.h
+- third_party/glog/src/config_hurd.h
+- third_party/glog/src/config_linux.h
+- third_party/glog/src/config_mac.h
+- third_party/glog/src/demangle.h
+- third_party/glog/src/glog/logging.h
+- third_party/glog/src/glog/log_severity.h
+- third_party/glog/src/glog/raw_logging.h
+- third_party/glog/src/glog/vlog_is_on.h
+- third_party/glog/src/stacktrace_generic-inl.h
+- third_party/glog/src/stacktrace.h
+- third_party/glog/src/stacktrace_libunwind-inl.h
+- third_party/glog/src/stacktrace_powerpc-inl.h
+- third_party/glog/src/stacktrace_x86_64-inl.h
+- third_party/glog/src/stacktrace_x86-inl.h
+- third_party/glog/src/symbolize.h
+- third_party/glog/src/utilities.h
+- )
+-
+- list(APPEND INC
+- third_party/glog/src
+- )
+ endif()
+ else()
+ list(APPEND SRC
+@@ -229,7 +183,9 @@
+ )
+ endif()
+
++include_directories(${_PC_GFLAGS_INCLUDE_DIRS} ${_PC_GLOG_INCLUDE_DIRS})
+ blender_add_lib(extern_libmv "${SRC}" "${INC}" "${INC_SYS}")
++target_link_libraries(extern_libmv ${_PC_GFLAGS_LIBRARIES} ${_PC_GLOG_LIBRARIES})
+
+ if(WITH_LIBMV)
+ add_subdirectory(third_party)
diff --git a/media-gfx/blender/files/07-blender-2.70-sse2.patch b/media-gfx/blender/files/07-blender-2.70-sse2.patch
new file mode 100644
index 000000000000..6fc870ea3258
--- /dev/null
+++ b/media-gfx/blender/files/07-blender-2.70-sse2.patch
@@ -0,0 +1,35 @@
+commit 0e0b27a589680e10e38a26575ad4dba8f3af2ec6
+Author: hasufell <hasufell@gentoo.org>
+Date: Fri Jul 19 18:50:19 2013 +0200
+
+ add option to explicitly control sse2 optimization
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 78bb3c6..d5f4576 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -86,6 +86,7 @@
+ #-----------------------------------------------------------------------------
+ # Load some macros.
+ include(build_files/cmake/macros.cmake)
++include(CMakeDependentOption)
+
+
+ #-----------------------------------------------------------------------------
+@@ -251,6 +252,7 @@
+ # Misc
+ option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
+ option(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON)
++cmake_dependent_option(WITH_SSE2 "SSE2 optimizations" ON WITH_RAYOPTIMIZATION OFF)
+ option(WITH_OPENNL "Enable use of Open Numerical Library" ON)
+ if(UNIX AND NOT APPLE)
+ option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
+@@ -1950,7 +1952,7 @@
+ set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}")
+ add_definitions(-D__SSE__ -D__MMX__)
+ endif()
+- if(SUPPORT_SSE2_BUILD)
++ if(WITH_SSE2 AND SUPPORT_SSE2_BUILD)
+ set(PLATFORM_CFLAGS " ${COMPILER_SSE2_FLAG} ${PLATFORM_CFLAGS}")
+ add_definitions(-D__SSE2__)
+ if(NOT SUPPORT_SSE_BUILD) # dont double up
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index d19b5441a75b..c0fc447a00d6 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -67,6 +67,8 @@
</flag>
<flag name="ndof">
Enable NDOF input devices (SpaceNavigator and friends).
- </flag>
+ </flag>
+ <flag name="openimageio">Enable OpenImageIO Support</flag>
+ <flag name="opennl">Enable use of Open Numerical Library</flag>
</use>
</pkgmetadata>