diff options
author | Julian Ospald <hasufell@gentoo.org> | 2013-03-09 23:27:29 +0000 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2013-03-09 23:27:29 +0000 |
commit | 7956bf8bc0143d1bf3072b0ccdecb4b1e5aadecf (patch) | |
tree | b3d9c788cb1797bc7f77b77d97f809c751b5bed4 /media-gfx/blender | |
parent | Remove old. (diff) | |
download | gentoo-2-7956bf8bc0143d1bf3072b0ccdecb4b1e5aadecf.tar.gz gentoo-2-7956bf8bc0143d1bf3072b0ccdecb4b1e5aadecf.tar.bz2 gentoo-2-7956bf8bc0143d1bf3072b0ccdecb4b1e5aadecf.zip |
version bump wrt #460202
(Portage version: 2.2.0_alpha166/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'media-gfx/blender')
-rw-r--r-- | media-gfx/blender/ChangeLog | 9 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.66.ebuild | 259 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.66-cmake.patch | 15 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.66-doxyfile.patch | 11 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.66-unbundle.patch | 212 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 14 |
6 files changed, 518 insertions, 2 deletions
diff --git a/media-gfx/blender/ChangeLog b/media-gfx/blender/ChangeLog index 453c67c5baef..7b873b6385d8 100644 --- a/media-gfx/blender/ChangeLog +++ b/media-gfx/blender/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-gfx/blender # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.246 2013/03/04 06:41:46 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.247 2013/03/09 23:27:28 hasufell Exp $ + +*blender-2.66 (09 Mar 2013) + + 09 Mar 2013; Julian Ospald <hasufell@gentoo.org> +blender-2.66.ebuild, + +files/blender-2.66-cmake.patch, +files/blender-2.66-doxyfile.patch, + +files/blender-2.66-unbundle.patch, metadata.xml: + version bump wrt #460202 04 Mar 2013; Diego E. Pettenò <flameeyes@gentoo.org> metadata.xml: Cleanup USE descriptions. diff --git a/media-gfx/blender/blender-2.66.ebuild b/media-gfx/blender/blender-2.66.ebuild new file mode 100644 index 000000000000..4ccbbb4948aa --- /dev/null +++ b/media-gfx/blender/blender-2.66.ebuild @@ -0,0 +1,259 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.66.ebuild,v 1.1 2013/03/09 23:27:28 hasufell Exp $ + +# TODO: +# bundled-deps: eigen:3 is too old +# 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 openmp +openexr player redcode sdl sndfile sse tiff" +REQUIRED_USE="player? ( game-engine ) redcode? ( jpeg2k ) cycles? ( boost ) nls? ( boost )" + +RDEPEND=" + ${PYTHON_DEPS} + dev-cpp/glog[gflags] + dev-python/numpy[${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[threads(+)] ) + collada? ( media-libs/opencollada ) + colorio? ( media-libs/opencolorio ) + cycles? ( + media-libs/openimageio + ) + ffmpeg? ( + >=virtual/ffmpeg-0.6.90[x264,mp3,encode,theora,jpeg2k?] + ) + fftw? ( sci-libs/fftw:3.0 ) + jack? ( media-sound/jack-audio-connection-kit ) + ndof? ( app-misc/spacenavd ) + nls? ( virtual/libiconv ) + openal? ( >=media-libs/openal-1.6.372 ) + openexr? ( media-libs/openexr ) + sdl? ( media-libs/libsdl[audio,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 )" + +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}"/${PN}-2.66-{unbundle,cmake,doxyfile}.patch + + # remove some bundled deps + rm -r \ + extern/libopenjpeg \ + extern/glew \ + extern/colamd \ + extern/binreloc \ + extern/libmv/third_party/{ldl,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 + sed -i \ + -e '/add_definitions(-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|^|- |')" +} + +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_OCEANISM) + $(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 openal OPENAL) + $(cmake-utils_use_with openexr IMAGE_OPENEXR) + $(cmake-utils_use_with openmp OPENMP) + $(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 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 + + cat - > "${T}"/${PN}.env <<EOF +BLENDER_SYSTEM_SCRIPTS="/usr/share/blender/${PV}/scripts" +BLENDER_SYSTEM_DATAFILES="/usr/share/blender/${PV}/datafiles" +BLENDER_SYSTEM_PLUGINS="/usr/$(get_libdir)/plugins" +EOF + + 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 + + newenvd "${T}"/${PN}.env 60${PN} + + 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 + + # linguas cleanup + if ! use nls; then + rm -r "${CMAKE_USE_DIR}"/release/datafiles/locale || die + else + if [[ -n "${LINGUAS+x}" ]] ; then + for i in "${CMAKE_USE_DIR}"/release/datafiles/locale/* ; do + mylang=${i##*/} + has ${mylang} ${LINGUAS} || { rm -r ${i} || die ; } + done + fi + fi + + # fucked up cmake will relink binary for no reason + # on normal "install" rule + emake -C "${CMAKE_BUILD_DIR}" DESTDIR="${D}" install/fast + + # fix doc installdir + dohtml "${D}"/usr/share/doc/blender/readme.html + rm -r "${D}"/usr/share/doc/blender || die + + python_fix_shebang "${D}"/usr/bin/blender-thumbnailer.py + python_optimize "${D}"/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 "If you're updating from blender before 2.66, please make" + ewarn "sure to log out and then back in before launching it, so" + ewarn "that the new environment variables are picked up." + 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.66-cmake.patch b/media-gfx/blender/files/blender-2.66-cmake.patch new file mode 100644 index 000000000000..9c30dba67fb1 --- /dev/null +++ b/media-gfx/blender/files/blender-2.66-cmake.patch @@ -0,0 +1,15 @@ +to upstream: this is a really stupid idea + +--- blender-2.66/source/creator/CMakeLists.txt ++++ blender-2.66/source/creator/CMakeLists.txt +@@ -264,10 +264,6 @@ + + + # important to make a clean install each time, else old scripts get loaded. +-install( +- CODE +- "file(REMOVE_RECURSE ${TARGETDIR_VER})" +-) + + if(WITH_PYTHON) + # install(CODE "message(\"copying blender scripts...\")") diff --git a/media-gfx/blender/files/blender-2.66-doxyfile.patch b/media-gfx/blender/files/blender-2.66-doxyfile.patch new file mode 100644 index 000000000000..6114c29dda62 --- /dev/null +++ b/media-gfx/blender/files/blender-2.66-doxyfile.patch @@ -0,0 +1,11 @@ +--- blender-2.66/doc/doxygen/Doxyfile ++++ blender-2.66/doc/doxygen/Doxyfile +@@ -952,7 +952,7 @@ + # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run + # the HTML help compiler on the generated index.hhp. + +-HHC_LOCATION = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe" ++HHC_LOCATION = + + # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag + # controls if a separate .chi index file is generated (YES) or that diff --git a/media-gfx/blender/files/blender-2.66-unbundle.patch b/media-gfx/blender/files/blender-2.66-unbundle.patch new file mode 100644 index 000000000000..7941e63a0dbf --- /dev/null +++ b/media-gfx/blender/files/blender-2.66-unbundle.patch @@ -0,0 +1,212 @@ +--- blender-2.66/extern/CMakeLists.txt ++++ blender-2.66/extern/CMakeLists.txt +@@ -26,7 +26,6 @@ + # Otherwise we get warnings here that we cant fix in external projects + remove_strict_flags() + +-add_subdirectory(colamd) + add_subdirectory(rangetree) + + if(WITH_BULLET) +@@ -40,10 +39,6 @@ + # add_subdirectory(eltopo) + #endif() + +-if(WITH_BINRELOC) +- add_subdirectory(binreloc) +-endif() +- + if(NOT WITH_SYSTEM_GLEW) + add_subdirectory(glew) + endif() +--- blender-2.66/extern/libmv/CMakeLists.txt ++++ blender-2.66/extern/libmv/CMakeLists.txt +@@ -26,6 +26,12 @@ + # If you're doing changes in this file, please update template + # in that script too + ++if(UNIX) ++ find_package(PkgConfig) ++ pkg_check_modules(_PC_GFLAGS libgflags) ++ pkg_check_modules(_PC_GLOG libglog) ++endif() ++ + set(INC + . + ../colamd/Include +@@ -79,9 +85,6 @@ + third_party/fast/fast_9.c + third_party/fast/fast.c + third_party/fast/nonmax.c +- third_party/gflags/gflags.cc +- third_party/gflags/gflags_completions.cc +- third_party/gflags/gflags_reporting.cc + + libmv-capi.h + libmv/base/id_generator.h +@@ -132,13 +135,6 @@ + libmv/tracking/track_region.h + libmv/tracking/trklt_region_tracker.h + +- third_party/fast/fast.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 + ) +@@ -179,42 +175,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() + + add_definitions( +@@ -222,6 +182,8 @@ + -DGOOGLE_GLOG_DLL_DECL= + ) + ++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}) + + add_subdirectory(third_party) +--- blender-2.66/extern/libmv/third_party/ssba/CMakeLists.txt ++++ blender-2.66/extern/libmv/third_party/ssba/CMakeLists.txt +@@ -22,10 +22,13 @@ + # + # ***** END GPL LICENSE BLOCK ***** + ++if(UNIX) ++ find_package(PkgConfig) ++ pkg_check_modules(_PC_LDL ldl) ++endif() ++ + set(INC + . +- ../ldl/Include +- ../../../colamd/Include + ) + + set(INC_SYS +@@ -42,9 +45,6 @@ + Math/v3d_linear_utils.h + Math/v3d_mathutilities.h + Math/v3d_optimization.h +- +- ../ldl/Source/ldl.c +- ../ldl/Include/ldl.h + ) + + if(WIN32) +@@ -61,4 +61,6 @@ + -DV3DLIB_ENABLE_SUITESPARSE + ) + ++include_directories(${_PC_LDL_INCLUDE_DIRS}) + blender_add_lib(extern_ssba "${SRC}" "${INC}" "${INC_SYS}") ++target_link_libraries(extern_ssba ${_PC_LDL_LIBRARIES}) +--- blender-2.66/extern/libmv/libmv-capi.cpp ++++ blender-2.66/extern/libmv/libmv-capi.cpp +@@ -34,7 +34,7 @@ + + #include "libmv-capi.h" + +-#include "third_party/gflags/gflags/gflags.h" ++#include <gflags/gflags.h> + #include "glog/logging.h" + #include "libmv/logging/logging.h" + +--- blender-2.66/source/creator/CMakeLists.txt ++++ blender-2.66/source/creator/CMakeLists.txt +@@ -881,7 +881,6 @@ + bf_intern_smoke + extern_minilzo + extern_lzma +- extern_colamd + ge_logic_ketsji + extern_recastnavigation + ge_phys_common +@@ -995,8 +994,8 @@ + if(REM_MSG) + list(SORT REM_MSG) + message(STATUS "Blender Skipping: (${REM_MSG})") +- endif() +- target_link_libraries(blender ${BLENDER_SORTED_LIBS}) ++ endif() ++ target_link_libraries(blender ${BLENDER_SORTED_LIBS} colamd) + + unset(SEARCHLIB) + unset(SORTLIB) +--- blender-2.66/source/blenderplayer/CMakeLists.txt ++++ blender-2.66/source/blenderplayer/CMakeLists.txt +@@ -81,10 +81,6 @@ + blenkernel_blc + ) + +-if(CMAKE_SYSTEM_NAME MATCHES "Linux") +- list(APPEND BLENDER_LINK_LIBS extern_binreloc) +-endif() +- + # if(UNIX) + # Sort libraries + set(BLENDER_SORTED_LIBS +@@ -171,8 +167,6 @@ + list(APPEND BLENDER_SORTED_LIBS extern_ceres) + endif() + +- list(APPEND BLENDER_SORTED_LIBS extern_colamd) +- + if(WITH_MOD_BOOLEAN) + list(APPEND BLENDER_SORTED_LIBS bf_intern_bsp) + list(APPEND BLENDER_SORTED_LIBS bf_intern_moto) +@@ -215,8 +209,8 @@ + list(SORT REM_MSG) + message(STATUS "Player Skipping: (${REM_MSG})") + endif() +- target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS}) +- ++ target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS} colamd) ++ + unset(SEARCHLIB) + unset(SORTLIB) + unset(REMLIB) diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index ac12ddc1630a..ccbf7faab25c 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -18,7 +18,7 @@ Adds support for space navigator devices through package <pkg>dev-libs/libspnav</pkg>. </flag> - <flag name='game-engine'> + <flag name='game-engine' restrict='>=media-gfx/blender-2.50'> Adds Game Engine support to Blender. </flag> <flag name='collada'> @@ -51,5 +51,17 @@ 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> </use> </pkgmetadata> |