AUX blender-2.5-doxygen.patch 1336 RMD160 b96cc6cf90ac677bd03e2cca8989bb3c3a0a63c2 SHA1 f4f4a34df9618b7d8817b666e7a679645e07b071 SHA256 8b5f244adc5f75ce1884555a05cb847593047df75b723ba8dcad97acf8400789
AUX blender-2.5-eigen.patch 940 RMD160 9acf7cd0fadb1fac515a16535d82569d2adb110b SHA1 8f2ba202d10abb32bda7c220465f7db0d616b8c5 SHA256 a5bb17c7bd2f68dd44d439c0a72302654b204a8d3da9a4a6365a85396c4bc3ea
AUX blender-2.5-glew.patch 475 RMD160 90d35c27521ac843410445c91d71d336b128a1b5 SHA1 aa5d5963d630d494ca282380c747314ff3a6eb08 SHA256 c6a3a7e9e2f07e5e126357fd0dcf7971830cd5ae12559bcecf238ff21db70f95
-DIST blender-2.54-beta.tar.gz 16813607 RMD160 88758f368ec510e6f3ea1baf3c8210f122fd1721 SHA1 e8d336b48c0d2c869b7dc34a59dab81a31c770f0 SHA256 8f51e3c9aee14b48a035fdcdeb2b893a56485e536072bbe59c08cad548fb0a5b
-DIST blender-2.55-beta.tar.gz 16695919 RMD160 5705c26647817f58a71718c50295c539dbcdda06 SHA1 16fd95184712ef5aa5105b5fa006cdba19bfc0e7 SHA256 41380bb1f5f7678248864cb3b326a4d0b6e2a87eef04bc5577178f72d6d391f9
DIST blender-2.56-beta.tar.gz 16621998 RMD160 68561b7078ea1060292d3020707907f7b5982ee2 SHA1 6a0b6b370c4a5d83c526f786f8802ef8b5e98a0e SHA256 e83cbbafb01e81b7edb5c118f5d5abfdc2e079c1569cb7a96bfd90bdb19a9f05
-EBUILD blender-2.54_beta.ebuild 11378 RMD160 3f815b75bef24d2dfb2d52d30b3662a4ede6538b SHA1 e028ee1b15e81937675fd9347dfff29ad1fc8838 SHA256 cbc43a340fc9e340c23f9f06c1d00080a640294ec0e64ad875dfe5f712cdbb79
-EBUILD blender-2.55_beta.ebuild 11392 RMD160 4b4cfa779c8401b8d3fc7fa512923c6cbdc1893f SHA1 00a7dfeee6578905de9b544179fc5fdbbed9f40e SHA256 3bca9063ebd0fae33850c05ecfb050b70b1c1a66300d158f61bfe9b39d788304
EBUILD blender-2.56_beta.ebuild 11399 RMD160 0293466a5a4e8961e86f425b3989cdfe3d0ffca5 SHA1 f9c833dac1afaf62a437277d16662b4c0cd774fa SHA256 4cb2601e0d83c56a4adf5a5d35a006fc994cb91b00413e85431cdd3043d922f0
-MISC README 357 RMD160 2076705df3918f3eb9ad400b363b7017bb9d0c07 SHA1 eb8a045f349dca9fb219b34ad04166e577c85218 SHA256 c78ac62c3265f47d0b6671112a913c223ad38b330a364576a2e698aea8600fd3
+MISC README 148 RMD160 3113838710a89d506b708174704b7d870330e1d1 SHA1 95692e9a7363fe4fd88f073113856dcb42f81ab1 SHA256 8e0dd41daa8c7fa8814bcbc5862c8adbdda25a24fe63a617da7edd98b2a9d757
-The origin of blender-2.54_beta.ebuild is the 2.5 svn ebuild version form
-bugs.gentoo.org [1] from 2010-10-02. I modified the ebuild in order to work
-with the 2.54-beta source tarball from the blender website.
-
-For blender-2.55_beta.ebuild I have merged and modified the ebuild version from
-2010-11-14.
-
+The origin of blender-2.56_beta.ebuild is the 2.5 svn ebuild version from
+bugs.gentoo.org [1].
[1] http://bugs.gentoo.org/show_bug.cgi?id=276338
+++ /dev/null
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.49b.ebuild,v 1.3 2010/05/31 15:02:53 arfrever Exp $
-
-EAPI=2
-#NEED_PYTHON="3.1"
-PYTHON_DEPEND="3:3.1"
-inherit eutils python versionator flag-o-matic toolchain-funcs
-
-
-IUSE="+game-engine player +elbeem +openexr ffmpeg jpeg2k openal openmp \
- +dds debug doc fftw jack apidoc sndfile lcms tweak-mode sdl sse \
- redcode +zlib iconv"
-
-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/"
-MY_P=${P//_/-}
-SRC_URI="http://download.blender.org/source/${MY_P}.tar.gz"
-
-
-SLOT="2.5"
-LICENSE="|| ( GPL-2 BL )"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="media-libs/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? (
- >=media-video/ffmpeg-0.5[x264,xvid,mp3,encode,theora]
- jpeg2k? ( >=media-video/ffmpeg-0.5[x264,xvid,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 )"
-
-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
-
-S="${WORKDIR}/${MY_P}"
-
-blend_with() {
- local UWORD="$2"
- [ -z "${UWORD}" ] && UWORD="$1"
- if useq $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
-}
-
-src_prepare() {
-
- epatch "${FILESDIR}"/${PN}-${SLOT}-desktop.patch
- epatch "${FILESDIR}"/${PN}-${SLOT}-doxygen.patch
-
- # TODO: write a proper Makefile to replace the borked bmake script
- epatch "${FILESDIR}"/${PN}-${SLOT}-bmake.patch
-
- # OpenJPEG
- einfo "Removing bundled OpenJPEG ..."
- rm -r extern/libopenjpeg
-
- # Glew
- einfo "Removing bundled Glew ..."
- rm -r extern/glew
- epatch "${FILESDIR}"/${PN}-${SLOT}-glew.patch
-
- # Eigen2
- einfo "Removing bundled Eigen2 ..."
- rm -r extern/Eigen2
- epatch "${FILESDIR}"/${PN}-${SLOT}-eigen.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 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_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
-
- # 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' \
- 'verse' ; 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}"/install/plugins/ \
- || die "dir ${WORKDIR}/install/plugins/ does not exists"
- 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/
- mv "${WORKDIR}/install/blender" "${WORKDIR}/install/blender-bin-${SLOT}"
- doexe "${WORKDIR}/install/blender-bin-${SLOT}"
- doexe "${WORKDIR}/install/blender-${SLOT}"
- if use player; then
- mv "${WORKDIR}"/install/blenderplayer \
- "${WORKDIR}/install/blenderplayer-${SLOT}"
- doexe "${WORKDIR}"/install/blenderplayer
- fi
-
- # install plugins
- exeinto /usr/share/${PN}/${SLOT}/textures
- doexe "${WORKDIR}"/install/plugins/texture/*.so
- exeinto /usr/share/${PN}/${SLOT}/sequences
- doexe "${WORKDIR}"/install/plugins/sequence/*.so
- insinto /usr/include/${PN}/${SLOT}
- doins "${WORKDIR}"/install/plugins/include/*.h
- rm -r "${WORKDIR}"/install/plugins || die
-
-
-
- # install desktop file
- insinto /usr/share/pixmaps
- cp release/freedesktop/icons/scalable/blender.svg \
- release/freedesktop/icons/scalable/blender-${SLOT}.svg
- doins release/freedesktop/icons/scalable/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}"/install/share/${PN}/${SLOT}/doc/*
- rm -r "${WORKDIR}"/install/share/${PN}/${SLOT}/doc
-
- einfo "Generating Blender C/C++ API docs ..."
- pushd "${S}"/doc > /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.54/*
- doins release/VERSION
-
- # 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 750 -R "${D}/usr/share/${PN}/${SLOT}/scripts" || die
-
-}
-
-pkg_preinst(){
- if [ -h "${ROOT}/usr/$(get_libdir)/blender/plugins/include" ];
- then
- rm -f "${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."
-
-}
+++ /dev/null
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.49b.ebuild,v 1.3 2010/05/31 15:02:53 arfrever Exp $
-
-EAPI=2
-#NEED_PYTHON="3.1"
-PYTHON_DEPEND="3:3.1"
-inherit eutils python versionator flag-o-matic toolchain-funcs
-
-
-IUSE="+game-engine player +elbeem +openexr ffmpeg jpeg2k openal openmp \
- +dds debug doc fftw jack apidoc sndfile lcms tweak-mode sdl sse \
- redcode +zlib iconv"
-
-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"
-MY_P=${P//_/-}
-MY_PV="${PV%_*}"
-SRC_URI="http://download.blender.org/source/${MY_P}.tar.gz"
-
-SLOT="2.5"
-LICENSE="|| ( GPL-2 BL )"
-KEYWORDS="~amd64"
-
-RDEPEND="media-libs/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? (
- >=media-video/ffmpeg-0.5[x264,xvid,mp3,encode,theora]
- jpeg2k? ( >=media-video/ffmpeg-0.5[x264,xvid,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 )"
-
-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
-
-S="${WORKDIR}/${MY_P}"
-
-blend_with() {
- local UWORD="$2"
- [ -z "${UWORD}" ] && UWORD="$1"
- if useq $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
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-${SLOT}-desktop.patch
- epatch "${FILESDIR}"/${PN}-${SLOT}-doxygen.patch
-
- # TODO: write a proper Makefile to replace the borked bmake script
- epatch "${FILESDIR}"/${PN}-${SLOT}-bmake.patch
-
- # OpenJPEG
- einfo "Removing bundled OpenJPEG ..."
- rm -r extern/libopenjpeg
-
- # Glew
- einfo "Removing bundled Glew ..."
- rm -r extern/glew
- epatch "${FILESDIR}"/${PN}-${SLOT}-glew.patch
-
- # Eigen2
- einfo "Removing bundled Eigen2 ..."
- rm -r extern/Eigen2
- epatch "${FILESDIR}"/${PN}-${SLOT}-eigen.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 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_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
-
- # 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' \
- 'verse' ; 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}/install/${MY_PV}/plugins/" \
- || die "dir ${WORKDIR}/install/plugins/ do not exists"
- 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/
- mv "${WORKDIR}/install/blender" "${WORKDIR}/install/blender-bin-${SLOT}"
- doexe "${WORKDIR}/install/blender-bin-${SLOT}"
- doexe "${WORKDIR}/install/blender-${SLOT}"
- if use player; then
- mv "${WORKDIR}"/install/blenderplayer \
- "${WORKDIR}/install/blenderplayer-${SLOT}"
- doexe "${WORKDIR}"/install/blenderplayer
- fi
-
-
- PLUGINDIR="${WORKDIR}/install/${MY_PV}/plugins"
- # install plugins
- exeinto /usr/share/${PN}/${SLOT}/textures
- doexe "${PLUGINDIR}"/texture/*.so
- exeinto /usr/share/${PN}/${SLOT}/sequences
- doexe "${PLUGINDIR}"/sequence/*.so
- insinto /usr/include/${PN}/${SLOT}
- doins "${PLUGINDIR}"/include/*.h
- rm -r "${PLUGINDIR}" || die
-
-
-
- # install desktop file
- insinto /usr/share/pixmaps
- cp release/freedesktop/icons/scalable/blender.svg \
- release/freedesktop/icons/scalable/blender-${SLOT}.svg
- doins release/freedesktop/icons/scalable/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}"/install/share/${PN}/${SLOT}/doc/*
- rm -r "${WORKDIR}"/install/share/${PN}/${SLOT}/doc
-
-
- einfo "Generating Blender C/C++ API docs ..."
- pushd "${S}"/doc > /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/${MY_PV}/*
- doins release/VERSION
-
- # 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 750 -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."
-}
-