blob: 3ffa9877867f426fbb7dd550e8b2e6f83de6e5db [file] [log] [blame]
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.48a-r3.ebuild,v 1.11 2009/04/29 12:22:20 ssuominen Exp $
EAPI=2
inherit multilib flag-o-matic eutils python
#IUSE="jpeg mozilla png sdl static truetype"
IUSE="blender-game ffmpeg jpeg nls openal openexr openmp
player png quicktime verse"
DESCRIPTION="3D Creation/Animation/Publishing System"
HOMEPAGE="http://www.blender.org/"
SRC_URI="http://download.blender.org/source/${P}.tar.gz"
SLOT="0"
LICENSE="|| ( GPL-2 BL )"
KEYWORDS="amd64 ppc ppc64 sparc x86"
RDEPEND=">=dev-libs/openssl-0.9.6
ffmpeg? ( >=media-video/ffmpeg-0.4.9_p20080326 )
jpeg? ( media-libs/jpeg )
media-libs/tiff
>=dev-lang/python-2.4
nls? ( >=media-libs/freetype-2.0
virtual/libintl
>=media-libs/ftgl-2.1 )
openal? ( >=media-libs/openal-1.6.372
>=media-libs/freealut-1.1.0-r1 )
openexr? ( media-libs/openexr )
png? ( media-libs/libpng )
quicktime? ( media-libs/libquicktime )
>=media-libs/libsdl-1.2
blender-game? ( >=media-libs/libsdl-1.2[joystick] )
virtual/opengl"
DEPEND=">=dev-util/scons-0.98
x11-libs/libXt
x11-proto/inputproto
${RDEPEND}"
blend_with() {
local UWORD="$2"
if [ -z "${UWORD}" ]; then
UWORD="$1"
fi
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
}
src_prepare() {
epatch "${FILESDIR}"/${PN}-2.37-dirs.patch
epatch "${FILESDIR}"/${PN}-2.44-scriptsdir.patch
epatch "${FILESDIR}"/${PN}-2.46-ffmpeg.patch
epatch "${FILESDIR}"/${PN}-2.46-cve-2008-1103-1.patch
epatch "${FILESDIR}"/${PN}-2.48-ffmpeg-20081014.patch
epatch "${FILESDIR}"/${P}-CVE-2008-4863.patch
}
src_configure() {
if use ffmpeg ; then
# cd "${S}"/extern
# rm -rf ffmpeg libmp3lame x264
cat <<- EOF >> "${S}"/user-config.py
BF_FFMPEG="/usr"
BF_FFMPEG_LIB="avformat avcodec swscale avutil"
EOF
fi
# pass compiler flags to the scons build system
# and set python version to current version in use
python_version
cat <<- EOF >> "${S}"/user-config.py
CFLAGS += '${CFLAGS}'
BF_PYTHON_VERSION="${PYVER}"
BF_PYTHON_INC="/usr/include/python${PYVER}"
BF_PYTHON_BINARY="/usr/bin/python${PYVER}"
BF_PYTHON_LIB="python${PYVER}"
EOF
if use openmp && built_with_use --missing false sys-devel/gcc openmp ; then
echo "WITH_BF_OPENMP=1" >> "${S}"/user-config.py
elog "enabling openmp"
else
echo "WITH_BF_OPENMP=0" >> "${S}"/user-config.py
elog "disabling openmp"
fi
for arg in \
'blender-game gameengine' \
'ffmpeg' \
'jpeg' \
'nls international' \
'openal' \
'openexr' \
'player' \
'png' \
'verse' ; do
blend_with ${arg}
done
}
src_compile() {
# scons uses -l differently -> remove it
scons ${MAKEOPTS/-l[0-9]} || die \
"!!! Please add ${S}/scons.config when filing bugs reports to bugs.gentoo.org"
cd "${WORKDIR}"/install/linux2/plugins
chmod 755 bmake
emake || die
}
src_install() {
exeinto /usr/bin/
doexe "${WORKDIR}"/install/linux2/blender
use player && doexe "${WORKDIR}"/install/linux2/blenderplayer
dodir /usr/share/${PN}
exeinto /usr/$(get_libdir)/${PN}/textures
doexe "${WORKDIR}"/install/linux2/plugins/texture/*.so
exeinto /usr/$(get_libdir)/${PN}/sequences
doexe "${WORKDIR}"/install/linux2/plugins/sequence/*.so
insinto /usr/include/${PN}
doins "${WORKDIR}"/install/linux2/plugins/include/*.h
if use nls ; then
mv "${WORKDIR}"/install/linux2/.blender/{.Blanguages,.bfont.ttf} \
"${D}"/usr/share/${PN}
mv "${WORKDIR}"/install/linux2/.blender/locale \
"${D}"/usr/share/locale
fi
mv "${WORKDIR}"/install/linux2/.blender/scripts "${D}"/usr/share/${PN}
insinto /usr/share/pixmaps
doins "${FILESDIR}"/${PN}.png
insinto /usr/share/applications
doins "${FILESDIR}"/${PN}.desktop
dodoc INSTALL README
dodoc "${WORKDIR}"/install/linux2/BlenderQuickStart.pdf
}
pkg_preinst(){
if [ -h "${ROOT}/usr/$(get_libdir)/blender/plugins/include" ];
then
rm -f "${ROOT}"/usr/$(get_libdir)/blender/plugins/include
fi
}