diff options
-rw-r--r-- | media-gfx/blender/Manifest | 9 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.59-r1.ebuild | 403 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.5-bmake.patch | 15 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.5-doxyfile.patch | 11 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.5-eigen.patch | 22 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.5-ffmpeg.patch | 107 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.5-glew.patch | 25 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.59-r1-opencollada-fixes.patch | 24 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-desktop.patch | 20 |
9 files changed, 636 insertions, 0 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest new file mode 100644 index 0000000..f06e9df --- /dev/null +++ b/media-gfx/blender/Manifest @@ -0,0 +1,9 @@ +AUX blender-2.5-bmake.patch 424 RMD160 0520e3f4a9a02be1b679d38934c2358a6f1c1fa2 SHA1 347a95208976878c56ebcd42f3484c95eca4c0fe SHA256 f69ecf7cd54ba9099408568f436e65b18e4d55f15ac1c07054cbd7c8d18c24bf +AUX blender-2.5-doxyfile.patch 595 RMD160 f4890f0ead6943f323bc61e7f6766c2133e8591b SHA1 0fd7c202f044224cf9944596cf36cfcd56b39067 SHA256 d267e0fab4ecb9be78b9238a9c2af60ac9d5ddb7b42f73f479b9266704605883 +AUX blender-2.5-eigen.patch 945 RMD160 f27887af1ec8f335f999786da43a7a1c6660c03c SHA1 d7d083473da1a0995093058dbd6ed02ad045ec1e SHA256 4d105fee499e53e381be408d520d5ad06d9a3414a5e4a471ea3ded7e0db2868a +AUX blender-2.5-ffmpeg.patch 2356 RMD160 7bab6c7af309a3db2c88030e75c3605fd46c47fb SHA1 5eb7c932de187a6a42327710dafb48f23fecb16d SHA256 cd73f330e1f5cadf863691effebf56b3400a0fb152147838f6181abae14b9f2a +AUX blender-2.5-glew.patch 502 RMD160 387e2142b29c3f0bd40ff9893d0378dd17151827 SHA1 69f05bbbb3c249124943ac133eed25d7dd72a715 SHA256 bcf57104045e11513b922ebe98e8401ef9395dbda707b2058a2a7623611d3f26 +AUX blender-2.59-r1-opencollada-fixes.patch 2405 RMD160 c270a462caaa9be50a83d8bce05c9e7dcafff14a SHA1 533e507413a77c58894024d8722b7efcbe4ecd29 SHA256 861c2e0f2a58c334ec7d82f20d2f7f197fe73420fac524edf26b01d75807a9b5 +AUX blender-desktop.patch 639 RMD160 c0912b6b1c2dbb823b622c0ee7ce1116208ea308 SHA1 acbf1c8b62923ca02458ed37fb947b585f97fa66 SHA256 cd0b581d9636c7378209844412e64c807efbd7e6ba3333fe5cec8fe4bb8ecd7d +DIST blender-2.59.tar.gz 16935441 RMD160 8c026e6f682c6076b74854a9b29c049a052525a1 SHA1 00ec50e0c29db152cb098b397c1ff3bf3c95cc3b SHA256 1763d85f83c25608aa861c84de226c32e0700f522ba4539a7b4e90f5a5f0315d +EBUILD blender-2.59-r1.ebuild 12287 RMD160 f7db51be73b86a364e9ea1896400a1e82205ed31 SHA1 d06f30ba211fc3ff5149e59a0448848bdd201594 SHA256 8c7b25f51f0dcac5a9df76796ae873ef9455a31aed50cd739d076ef32327f97c diff --git a/media-gfx/blender/blender-2.59-r1.ebuild b/media-gfx/blender/blender-2.59-r1.ebuild new file mode 100644 index 0000000..0bdf09e --- /dev/null +++ b/media-gfx/blender/blender-2.59-r1.ebuild @@ -0,0 +1,403 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# this ebuild is based on the one found in the "alice" overlay (in layman) +# currently the main differences are collada support + +PYTHON_DEPEND="3:3.2" +EAPI=3 + +inherit eutils python versionator flag-o-matic toolchain-funcs + +IUSE="+game-engine player +elbeem +openexr ffmpeg jpeg2k openal openmp \ + +dds debug fftw jack apidoc sndfile lcms tweak-mode sdl sse \ + redcode +zlib iconv contrib collada" + +LANGS="en ar bg ca cs de el es fi fr hr it ja ko nl pl pt_BR ro ru sr sv uk zh_CN" +for X in ${LANGS} ; do + IUSE="${IUSE} linguas_${X}" +done + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="http://www.blender.org" +SRC_URI="http://download.blender.org/source/${P}.tar.gz" + +SLOT="2.5" +LICENSE="|| ( GPL-2 BL )" +KEYWORDS="~amd64 ~x86" + +RDEPEND="virtual/jpeg + media-libs/libpng + x11-libs/libXi + x11-libs/libX11 + media-libs/tiff + media-libs/libsamplerate + virtual/opengl + >=media-libs/freetype-2.0 + virtual/libintl + media-libs/glew + dev-cpp/eigen:2 + >=sci-physics/bullet-2.76 + iconv? ( virtual/libiconv ) + zlib? ( sys-libs/zlib ) + sdl? ( media-libs/libsdl[audio,joystick] ) + openexr? ( media-libs/openexr ) + ffmpeg? ( + >=virtual/ffmpeg-0.6.90[x264,mp3,encode,theora] + jpeg2k? ( >=virtual/ffmpeg-0.6.90[x264,mp3,encode,theora,jpeg2k] ) + ) + openal? ( >=media-libs/openal-1.6.372 ) + fftw? ( sci-libs/fftw:3.0 ) + jack? ( media-sound/jack-audio-connection-kit ) + sndfile? ( media-libs/libsndfile ) + lcms? ( media-libs/lcms ) + collada? ( media-libs/opencollada dev-libs/libxml2 )" + +DEPEND=">=dev-util/scons-0.98 + apidoc? ( + dev-python/sphinx + >=app-doc/doxygen-1.5.7[-nodot] + ) + x11-base/xorg-server + ${RDEPEND}" + +# configure internationalization only if LINGUAS have more +# languages than 'en', otherwise must be disabled +if [[ ${LINGUAS} != "en" && -n ${LINGUAS} ]]; then + DEPEND="${DEPEND} + sys-devel/gettext" +fi + +blend_with() { + local UWORD="$2" + [ -z "${UWORD}" ] && UWORD="$1" + if use $1; then + echo "WITH_BF_${UWORD}=1" | tr '[:lower:]' '[:upper:]' \ + >> "${S}"/user-config.py + else + echo "WITH_BF_${UWORD}=0" | tr '[:lower:]' '[:upper:]' \ + >> "${S}"/user-config.py + fi +} + +pkg_setup() { + enable_openmp=0 + if use openmp; then + if tc-has-openmp; then + enable_openmp=1 + else + ewarn "You are using gcc built without 'openmp' USE." + ewarn "Switch CXX to an OpenMP capable compiler." + die "Need openmp" + fi + fi + python_set_active_version 3 +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-desktop.patch + epatch "${FILESDIR}"/${PN}-${SLOT}-doxyfile.patch + + # TODO: write a proper Makefile to replace the borked bmake script + epatch "${FILESDIR}"/${PN}-${SLOT}-bmake.patch + + # OpenJPEG + rm -r extern/libopenjpeg + + # Glew + rm -r extern/glew + epatch "${FILESDIR}"/${PN}-${SLOT}-glew.patch + + # Eigen2 + rm -r extern/Eigen2 + epatch "${FILESDIR}"/${PN}-${SLOT}-eigen.patch + + epatch "${FILESDIR}/${PF}-opencollada-fixes.patch" +} + +src_configure() { + # add system openjpeg into Scons build options. + cat <<- EOF >> "${S}"/user-config.py + BF_OPENJPEG="/usr" + BF_OPENJPEG_INC="/usr/include" + BF_OPENJPEG_LIB="openjpeg" + EOF + + # FIX: littlecms includes path aren't specified + if use lcms; then + cat <<- EOF >> "${S}"/user-config.py + BF_LCMS_INC="/usr/include/" + BF_LCMS_LIB="lcms" + BF_LCMS_LIBPATH="/usr/lib/" + EOF + fi + + # add system sci-physic/bullet into Scons build options. +# cat <<- EOF >> "${S}"/user-config.py +# WITH_BF_BULLET=1 +# BF_BULLET="/usr/include" +# BF_BULLET_INC="/usr/include /usr/include/BulletCollision /usr/include/BulletDynamics /usr/include/LinearMath /usr/include/BulletSoftBody" +# BF_BULLET_LIB="BulletSoftBody BulletDynamics BulletCollision LinearMath" +# EOF + + #add iconv into Scons build options. + if use !elibc_glibc && use !elibc_uclibc && use iconv; then + cat <<- EOF >> "${S}"/user-config.py + WITH_BF_ICONV=1 + BF_ICONV="/usr" + EOF + fi + + # configure internationalization only if LINGUAS have more + # languages than 'en', otherwise must be disabled + [[ -z ${LINGUAS} ]] || [[ ${LINGUAS} == "en" ]] && echo "WITH_BF_INTERNATIONAL=0" >> "${S}"/user-config.py + + # configure Elbeem fluid system + use elbeem || echo "BF_NO_ELBEEM=1" >> "${S}"/user-config.py + + # configure Tweak Mode + use tweak-mode && echo "BF_TWEAK_MODE=1" >> "${S}"/user-config.py + + # FIX: Game Engine module needs to be active to build the Blender Player + if ! use game-engine && use player; then + elog "Forcing Game Engine [+game-engine] as required by Blender Player [+player]" + echo "WITH_BF_GAMEENGINE=1" >> "${S}"/user-config.py + else + blend_with game-engine gameengine + fi + + # set CFLAGS used in /etc/make.conf correctly + echo "CFLAGS=[`for i in ${CFLAGS[@]}; do printf "%s \'$i"\',; done`] " \ + | sed -e "s:,]: ]:" >> "${S}"/user-config.py + + # set CXXFLAGS used in /etc/make.conf correctly + local FILTERED_CXXFLAGS="`for i in ${CXXFLAGS[@]}; do printf "%s \'$i"\',; done`" + echo "CXXFLAGS=[${FILTERED_CXXFLAGS}]" | sed -e "s:,]: ]:" >> "${S}"/user-config.py + echo "BGE_CXXFLAGS=[${FILTERED_CXXFLAGS}]" | sed -e "s:,]: ]:" >> "${S}"/user-config.py + + # reset general options passed to the C/C++ compilers (useless hardcoded flags) + # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu + # shadows, see bug #276338 for reference + echo "CCFLAGS= ['-funsigned-char', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']" >> "${S}"/user-config.py + + # set LDFLAGS used in /etc/make.conf correctly + local FILTERED_LDFLAGS="`for i in ${LDFLAGS[@]}; do printf "%s \'$i"\',; done`" + echo "LINKFLAGS=[${FILTERED_LDFLAGS}]" | sed -e "s:,]: ]:" >> "${S}"/user-config.py + echo "PLATFORM_LINKFLAGS=[${FILTERED_LDFLAGS}]" | sed -e "s:,]: ]:" >> "${S}"/user-config.py + + # reset REL_* variables (useless hardcoded flags) + cat <<- EOF >> "${S}"/user-config.py + REL_CFLAGS=[] + REL_CXXFLAGS=[] + REL_CCFLAGS=[] + EOF + + # reset warning flags (useless for NON blender developers) + cat <<- EOF >> "${S}"/user-config.py + C_WARN =[ '-w', '-g0' ] + CC_WARN =[ '-w', '-g0' ] + CXX_WARN=[ '-w', '-g0' ] + EOF + + # detecting -j value from MAKEOPTS + local NUMJOBS="$( echo "${MAKEOPTS}" | sed -ne 's,.*-j\([[:digit:]]\+\).*,\1,p' )" + [[ -z "${NUMJOBS}" ]] && NUMJOBS=1 # resetting to -j1 for empty MAKEOPTS + + # generic settings which differ from the defaults from linux2-config.py + cat <<- EOF >> "${S}"/user-config.py + BF_OPENGL_LIB='GL GLU X11 Xi GLEW' + BF_INSTALLDIR="../install" + WITHOUT_BF_PYTHON_INSTALL=1 + BF_PYTHON="/usr" + BF_PYTHON_VERSION="3.2" + BF_PYTHON_ABI_FLAGS="" + BF_BUILDINFO=0 + BF_QUIET=1 + BF_NUMJOBS=${NUMJOBS} + BF_LINE_OVERWRITE=0 + WITH_BF_FHS=1 + WITH_BF_BINRELOC=0 + WITH_BF_STATICOPENGL=0 + WITH_BF_OPENMP=${enable_openmp} + EOF + + if use collada; then + cat <<- EOF >> "${S}"/user-config.py + WITH_BF_COLLADA = True + BF_OPENCOLLADA = "/usr" + BF_OPENCOLLADA_INC = "/usr/include/opencollada" + BF_OPENCOLLADA_LIBPATH = "/usr/lib/opencollada" + EOF + fi + + # configure WITH_BF* Scons build options + for arg in \ + 'sdl' \ + 'apidoc docs' \ + 'lcms' \ + 'jack' \ + 'sndfile' \ + 'openexr' \ + 'dds' \ + 'fftw fftw3' \ + 'jpeg2k openjpeg' \ + 'openal'\ + 'ffmpeg' \ + 'ffmpeg ogg' \ + 'player' \ + 'collada' \ + 'sse rayoptimization' \ + 'redcode' \ + 'zlib' ; do + blend_with ${arg} + done + + # enable debugging/testing support + use debug && echo "BF_DEBUG=1" >> "${S}"/user-config.py + use test && echo "BF_UNIT_TEST=1" >> "${S}"/user-config.py +} + +src_compile() { + scons || die \ + '!!! Please add "${S}/scons.config" when filing bugs reports \ + to bugs.gentoo.org' + + einfo "Building plugins ..." + cd "${WORKDIR}"/${P}/release/plugins \ + || die "dir ${WORKDIR}/${P}/release/plugins do not exist" + chmod 755 bmake + + # FIX: plugins are built without respecting user's LDFLAGS + emake \ + CFLAGS="${CFLAGS} -fPIC" \ + LDFLAGS="$(raw-ldflags) -Bshareable" \ + > /dev/null \ + || die "plugins compilation failed" +} + +src_install() { + # creating binary wrapper + cat <<- EOF >> "${WORKDIR}/install/blender-${SLOT}" + #!/bin/sh + + # stop this script if the local blender path is a symlink + if [ -L \${HOME}/.blender ]; then + echo "Detected a symbolic link for \${HOME}/.blender" + echo "Sorry, to avoid dangerous situations, the Blender binary can" + echo "not be started until you have removed the symbolic link:" + echo " # rm -i \${HOME}/.blender" + exit 1 + fi + + export BLENDER_SYSTEM_SCRIPTS="/usr/share/blender/${SLOT}/scripts" + export BLENDER_SYSTEM_DATAFILES="/usr/share/blender/${SLOT}/datafiles" + exec /usr/bin/blender-bin-${SLOT} \$* + EOF + + # install binaries + exeinto /usr/bin/ + cp "${WORKDIR}/install/blender" "${WORKDIR}/install/blender-bin-${SLOT}" + doexe "${WORKDIR}/install/blender-bin-${SLOT}" + doexe "${WORKDIR}/install/blender-${SLOT}" + if use player; then + cp "${WORKDIR}/install/blenderplayer" \ + "${WORKDIR}/install/blenderplayer-${SLOT}" + doexe "${WORKDIR}/install/blenderplayer-${SLOT}" + fi + + # install plugins + exeinto /usr/share/${PN}/${SLOT}/textures + doexe "${WORKDIR}"/${P}/release/plugins/texture/*.so + exeinto /usr/share/${PN}/${SLOT}/sequences + doexe "${WORKDIR}"/${P}/release/plugins/sequence/*.so + insinto /usr/include/${PN}/${SLOT} + doins "${WORKDIR}"/${P}/release/plugins/include/*.h +# rm -r "${WORKDIR}"/${P}/release/plugins || die + + # install desktop file + insinto /usr/share/pixmaps + cp release/freedesktop/icons/scalable/apps/blender.svg \ + release/freedesktop/icons/scalable/apps/blender-${SLOT}.svg + doins release/freedesktop/icons/scalable/apps/blender-${SLOT}.svg + insinto /usr/share/applications + cp release/freedesktop/blender.desktop \ + release/freedesktop/blender-${SLOT}.desktop + doins release/freedesktop/blender-${SLOT}.desktop + + # install docs +# use doc && dodoc release/text/BlenderQuickStart.pdf + if use apidoc; then + + einfo "Generating (BGE) Blender Game Engine API docs ..." + docinto "API/BGE_API" + dohtml -r "${WORKDIR}"/${P}/doc/* + +# einfo "Generating (BPY) Blender Python API docs ..." +# epydoc source/blender/python/doc/*.py -v \ +# -o doc/BPY_API \ +# --quiet --quiet --quiet \ +# --simple-term \ +# --inheritance=included \ +# --graph=all \ +# --dotpath /usr/bin/dot \ +# || die "epydoc failed." +# docinto "API/python" +# dohtml -r doc/BPY_API/* + + einfo "Generating Blender C/C++ API docs ..." + pushd "${WORKDIR}"/${P}/doc/doxygen > /dev/null + doxygen -u Doxyfile + doxygen || die "doxygen failed to build API docs." + docinto "API/blender" + dohtml -r html/* + popd > /dev/null + fi + + # final cleanup + rm -r "${WORKDIR}"/install/{Python-license.txt,icons,GPL-license.txt,copyright.txt} + + # installing blender + insinto /usr/share/${PN}/${SLOT} + doins -r "${WORKDIR}"/install/2.59/* || die + + # FIX: making all python scripts readable only by group 'users', + # so nobody can modify scripts apart root user, but python + # cache (*.pyc) can be written and shared across the users. + chown root:users -R "${D}/usr/share/${PN}/${SLOT}/scripts" || die + chmod 755 -R "${D}/usr/share/${PN}/${SLOT}/scripts" || die +} + +pkg_preinst() { + if [ -h "${ROOT}/usr/$(get_libdir)/blender/plugins/include" ]; + then + rm -r "${ROOT}"/usr/$(get_libdir)/blender/plugins/include + fi +} + +pkg_postinst() { + echo + 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 + elog "Blender has its own internal rendering engine but you" + elog "can export to external renderers for image computation" + elog "like: YafRay[1], sunflow[2], PovRay[3] and luxrender[4]" + elog + elog "If you need one of them just emerge it:" + elog " [1] emerge -av media-gfx/yafray" + elog " [2] emerge -av media-gfx/sunflow" + elog " [3] emerge -av media-gfx/povray" + elog " [4] emerge -av media-gfx/luxrender" + elog + elog "When setting the Blender paths with the User Preferences" + elog "dialog box, remember to NOT declare your home's paths as:" + elog "~/.blender, but as: /home/user/.blender; in other words," + elog "DO NOT USE the tilde inside the paths, as Blender is not" + elog "able to handle it, ignoring your customizations." +} diff --git a/media-gfx/blender/files/blender-2.5-bmake.patch b/media-gfx/blender/files/blender-2.5-bmake.patch new file mode 100644 index 0000000..0fff6d8 --- /dev/null +++ b/media-gfx/blender/files/blender-2.5-bmake.patch @@ -0,0 +1,15 @@ +--- release/plugins/bmake 2010-03-21 17:44:20.500741049 +0100 ++++ release/plugins/bmake 2010-03-21 17:44:33.659740173 +0100 +@@ -57,10 +57,10 @@ + LDFLAGS="-Bshareable"; + elif ( test $UNAME = "Linux" ) then + CC="gcc"; +- CFLAGS="-fPIC -funsigned-char -O2"; ++# CFLAGS="-fPIC -funsigned-char -O2"; + + LD="ld"; +- LDFLAGS="-Bshareable"; ++# LDFLAGS="-Bshareable"; + elif ( test $UNAME = "SunOS" ) then + CC="cc"; + CFLAGS="-O"; diff --git a/media-gfx/blender/files/blender-2.5-doxyfile.patch b/media-gfx/blender/files/blender-2.5-doxyfile.patch new file mode 100644 index 0000000..aa61c55 --- /dev/null +++ b/media-gfx/blender/files/blender-2.5-doxyfile.patch @@ -0,0 +1,11 @@ +--- blender-2.58a/doc/doxygen/Doxyfile 2011-07-11 23:27:33.975642545 -0300 ++++ blender-2.58a/doc/doxygen/Doxyfile 2011-07-11 23:28:54.913642574 -0300 +@@ -42,7 +42,7 @@ + # exceed 55 pixels and the maximum width should not exceed 200 pixels. + # Doxygen will copy the logo to the output directory. + +-PROJECT_LOGO = ../../release/freedesktop/icons/48x48/blender.png ++PROJECT_LOGO = ../../release/freedesktop/icons/48x48/apps/blender.png + + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) + # base path where the generated documentation will be put. diff --git a/media-gfx/blender/files/blender-2.5-eigen.patch b/media-gfx/blender/files/blender-2.5-eigen.patch new file mode 100644 index 0000000..41f55ec --- /dev/null +++ b/media-gfx/blender/files/blender-2.5-eigen.patch @@ -0,0 +1,22 @@ +--- intern/itasc/SConscript 2009-09-26 09:14:02.000000000 +0200 ++++ intern/itasc/SConscript 2009-09-26 09:14:54.000000000 +0200 +@@ -5,7 +5,8 @@ + sources += env.Glob('kdl/*.cpp') + sources += env.Glob('kdl/utilities/*.cpp') + +-incs = '. ../../extern/Eigen2' ++#incs = '. ../../extern/Eigen2' ++incs = '. /usr/include/eigen2' + + env.BlenderLib ('bf_ITASC', sources, Split(incs), [], libtype=['intern','player'], priority=[20,100] ) + +--- source/blender/ikplugin/SConscript ++++ source/blender/ikplugin/SConscript +@@ -4,6 +4,6 @@ + sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp') + + incs = '#/intern/guardedalloc #/intern/iksolver/extern ../makesdna ../blenlib' +-incs += ' ../blenkernel ../include ../ikplugin #/intern/itasc #/extern/Eigen2' ++incs += ' ../blenkernel ../include ../ikplugin #/intern/itasc /usr/include/eigen2' + + env.BlenderLib ( 'bf_ikplugin', sources, Split(incs), [], libtype=['core','player'], priority=[180, 190] ) diff --git a/media-gfx/blender/files/blender-2.5-ffmpeg.patch b/media-gfx/blender/files/blender-2.5-ffmpeg.patch new file mode 100644 index 0000000..f825bcc --- /dev/null +++ b/media-gfx/blender/files/blender-2.5-ffmpeg.patch @@ -0,0 +1,107 @@ +--- source/blender/blenkernel/intern/writeffmpeg.c 2011-06-22 12:23:10.000000000 -0300 ++++ source/blender/blenkernel/intern/writeffmpeg.c 2011-07-08 12:24:17.000000000 -0300 +@@ -2,7 +2,7 @@ + * \ingroup bke + */ + /* +- * $Id: writeffmpeg.c 36960 2011-05-27 23:33:40Z schlaile $ ++ * $Id: writeffmpeg.c 37755 2011-06-23 16:10:48Z campbellbarton $ + * + * ffmpeg-write support + * +@@ -49,7 +49,9 @@ + + #include "BLI_blenlib.h" + +-#include "AUD_C-API.h" /* must be before BKE_sound.h for define */ ++#ifdef WITH_AUDASPACE ++# include "AUD_C-API.h" ++#endif + + #include "BKE_global.h" + #include "BKE_idprop.h" +@@ -89,7 +91,9 @@ + static int audio_outbuf_size = 0; + static double audio_time = 0.0f; + ++#ifdef WITH_AUDASPACE + static AUD_Device* audio_mixdown_device = 0; ++#endif + + #define FFMPEG_AUTOSPLIT_SIZE 2000000000 + +@@ -103,6 +107,7 @@ + } + } + ++#ifdef WITH_AUDASPACE + static int write_audio_frame(void) + { + AVCodecContext* c = NULL; +@@ -145,6 +150,7 @@ + } + return 0; + } ++#endif // #ifdef WITH_AUDASPACE + + /* Allocate a temporary frame */ + static AVFrame* alloc_picture(int pix_fmt, int width, int height) +@@ -851,7 +857,7 @@ + ffmpeg_autosplit_count = 0; + + success = start_ffmpeg_impl(rd, rectx, recty, reports); +- ++#ifdef WITH_AUDASPACE + if(audio_stream) + { + AVCodecContext* c = audio_stream->codec; +@@ -861,12 +867,13 @@ + specs.rate = rd->ffcodecdata.audio_mixrate; + audio_mixdown_device = sound_mixdown(scene, specs, rd->sfra, rd->ffcodecdata.audio_volume); + } +- ++#endif + return success; + } + + void end_ffmpeg(void); + ++#ifdef WITH_AUDASPACE + static void write_audio_frames(double to_pts) + { + int finished = 0; +@@ -878,6 +885,7 @@ + } + } + } ++#endif + + int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty, ReportList *reports) + { +@@ -905,8 +913,9 @@ + } + } + ++#ifdef WITH_AUDASPACE + write_audio_frames((frame - rd->sfra) / (((double)rd->frs_sec) / rd->frs_sec_base)); +- ++#endif + return success; + } + +@@ -920,12 +929,14 @@ + write_audio_frames(); + }*/ + ++#ifdef WITH_AUDASPACE + if(audio_mixdown_device) + { + AUD_closeReadDevice(audio_mixdown_device); + audio_mixdown_device = 0; + } +- ++#endif ++ + if (video_stream && video_stream->codec) { + fprintf(stderr, "Flushing delayed frames...\n"); + flush_ffmpeg (); diff --git a/media-gfx/blender/files/blender-2.5-glew.patch b/media-gfx/blender/files/blender-2.5-glew.patch new file mode 100644 index 0000000..e70f887 --- /dev/null +++ b/media-gfx/blender/files/blender-2.5-glew.patch @@ -0,0 +1,25 @@ +--- extern/SConscript ++++ extern/SConscript +@@ -2,8 +2,6 @@ + + Import('env') + +-SConscript(['glew/SConscript']) +- + if env['WITH_BF_ELTOPO']: + SConscript(['eltopo/SConscript']) + + if env['WITH_BF_BULLET']: + SConscript(['bullet2/src/SConscript']) + +--- source/blender/editors/include/BIF_gl.h ++++ source/blender/editors/include/BIF_gl.h +@@ -31,7 +31,7 @@ + #ifndef BIF_GL_H + #define BIF_GL_H + +-#include "GL/glew.h" ++#include <GL/glew.h> + + /* + * these should be phased out. cpack should be replaced in diff --git a/media-gfx/blender/files/blender-2.59-r1-opencollada-fixes.patch b/media-gfx/blender/files/blender-2.59-r1-opencollada-fixes.patch new file mode 100644 index 0000000..37680b6 --- /dev/null +++ b/media-gfx/blender/files/blender-2.59-r1-opencollada-fixes.patch @@ -0,0 +1,24 @@ +diff -urN /var/tmp/portage/media-gfx/blender-2.59-r1/work/blender-2.59//build_files/scons/tools/Blender.py /tmp/blender-2.59//build_files/scons/tools/Blender.py +--- /var/tmp/portage/media-gfx/blender-2.59-r1/work/blender-2.59//build_files/scons/tools/Blender.py 2011-08-11 18:47:18.000000000 +0200 ++++ /tmp/blender-2.59//build_files/scons/tools/Blender.py 2011-10-18 10:52:39.340067631 +0200 +@@ -268,7 +268,7 @@ + syslibs += [colladalib+'_d' for colladalib in Split(lenv['BF_OPENCOLLADA_LIB'])] + else: + syslibs += Split(lenv['BF_OPENCOLLADA_LIB']) +- syslibs.append(lenv['BF_EXPAT_LIB']) ++ syslibs.append('xml2') + + if not lenv['WITH_BF_STATICLIBSAMPLERATE']: + syslibs += Split(lenv['BF_LIBSAMPLERATE_LIB']) +diff -urN /var/tmp/portage/media-gfx/blender-2.59-r1/work/blender-2.59//source/blender/collada/SConscript /tmp/blender-2.59//source/blender/collada/SConscript +--- /var/tmp/portage/media-gfx/blender-2.59-r1/work/blender-2.59//source/blender/collada/SConscript 2011-08-11 18:44:01.000000000 +0200 ++++ /tmp/blender-2.59//source/blender/collada/SConscript 2011-10-18 10:53:20.775067619 +0200 +@@ -35,7 +35,7 @@ + if env['OURPLATFORM']=='darwin': + incs = '../blenlib ../blenkernel ../windowmanager ../blenloader ../makesdna ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter [OPENCOLLADA]/COLLADABaseUtils [OPENCOLLADA]/COLLADAFramework [OPENCOLLADA]/COLLADASaxFrameworkLoader [OPENCOLLADA]/GeneratedSaxParser '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC']) + else: +- incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../blenloader ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include [OPENCOLLADA]/GeneratedSaxParser/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC']) ++ incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../blenloader ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter [OPENCOLLADA]/COLLADABaseUtils [OPENCOLLADA]/COLLADAFramework [OPENCOLLADA]/COLLADASaxFrameworkLoader [OPENCOLLADA]/GeneratedSaxParser '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC']) + + if env['BF_BUILDINFO']: + defs.append('NAN_BUILDINFO') diff --git a/media-gfx/blender/files/blender-desktop.patch b/media-gfx/blender/files/blender-desktop.patch new file mode 100644 index 0000000..50ad8c2 --- /dev/null +++ b/media-gfx/blender/files/blender-desktop.patch @@ -0,0 +1,20 @@ +--- release/freedesktop/blender.desktop 2010-09-12 00:05:51.000000000 -0700 ++++ release/freedesktop/blender.desktop 2010-09-12 00:07:32.000000000 -0700 +@@ -1,5 +1,5 @@ + [Desktop Entry] +-Name=Blender ++Name=Blender-2.5 + GenericName=3D modeller + GenericName[es]=modelador 3D + GenericName[de]=3D Modellierer +@@ -7,8 +7,8 @@ + GenericName[ru]=Редактор 3D-моделей + Comment=3D modeling, animation, rendering and post-production + Comment[es]=modelado 3D, animación, renderizado y post-producción +-Exec=blender +-Icon=blender ++Exec=blender-2.5 ++Icon=blender-2.5 + Terminal=false + Type=Application + Categories=Graphics;3DGraphics; |