# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.37a.ebuild,v 1.6 2005/12/15 04:59:59 spyderous Exp $ inherit flag-o-matic eutils python cvs IUSE="openal sdl openexr jpeg png nls iconv blender-game ffmpeg verse" DESCRIPTION="3D Creation/Animation/Publishing System" HOMEPAGE="http://www.blender.org/" ECVS_SERVER="cvs.blender.org:/cvsroot/bf-blender" ECVS_MODULE="blender" SLOT="0" LICENSE="|| ( GPL-2 BL )" KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" RDEPEND=" jpeg? ( media-libs/jpeg ) png? ( media-libs/libpng ) media-libs/tiff nls? ( >=media-libs/freetype-2.0 virtual/libintl ) iconv? ( virtual/libiconv ) openal? ( ~media-libs/openal-0.0.8 media-libs/freealut ) sdl? ( >=media-libs/libsdl-1.2 ) ffmpeg? ( ~media-video/ffmpeg-0.4.9_p20060530 ) ~media-libs/x264-svn-20060612 >=dev-libs/openssl-0.9.6 >=media-gfx/yafray-0.0.7 nls? ( >=media-libs/ftgl-2.1 ) openexr? ( media-libs/openexr ) virtual/opengl" DEPEND="dev-util/scons || ( x11-libs/libXt virtual/x11 ) ${RDEPEND}" S=${WORKDIR}/${ECVS_MODULE} blend_with() { local UWORD="$2" if [ -z "${UWORD}" ]; then UWORD="$1" fi if useq $1; then #einfo "Enabling ${UWORD} support" echo "WITH_BF_${UWORD}=1" | tr '[:lower:]' '[:upper:]' else #einfo "Disabling ${UWORD} support" echo "WITH_BF_${UWORD}=0" | tr '[:lower:]' '[:upper:]' fi return 0 } src_unpack() { einfo "WARNING this is a live CVS ebuild, if it breaks you own it" cvs_src_unpack cd ${S}/config # The new Scons setup for blender uses *-config.py files under the # /config directory so now we can just edit it instead of doing a # 'scons -q' first cp linux2-config.py user-config.py # The user-defined CFLAGS/CXXFLAGS will be added to blender default flags. CFLAGS=$CFLAGS" -FPIC -funsigned-char -fno-strict-aliasing" CXXFLAGS=$CXXFLAGS" -FPIC -funsigned-char -fno-strict-aliasing" einfo $CXXFLAGS sed -i -e "s/^CCFLAGS.*\$/CCFLAGS = ['${CFLAGS// /\', \'}']/" \ ${S}/config/user-config.py sed -i -e "s/^CXXFLAGS.*\$/CXXFLAGS = ['${CXXFLAGS// /\', \'}']/" \ ${S}/config/user-config.py } src_compile() { # Make wrapper script for blender. Symlinking will not work! mkdir wrappers echo '#!/bin/sh' > wrappers/blender-cvs echo 'cd /opt/blender-cvs' >> wrappers/blender-cvs echo './blender "$@"' >> wrappers/blender-cvs cd ${S}/release/plugins chmod 755 bmake # Make the blenpluginapi accessible for the plugins ln -sf ../../source/blender/blenpluginapi/ include cd ${S} local myconf="" myconf="${myconf} $(blend_with openal)" myconf="${myconf} $(blend_with sdl)" myconf="${myconf} $(blend_with openexr)" myconf="${myconf} $(blend_with jpeg)" myconf="${myconf} $(blend_with verse)" myconf="${myconf} $(blend_with ffmpeg)" myconf="${myconf} $(blend_with png)" myconf="${myconf} $(blend_with nls international)" myconf="${myconf} $(blend_with iconv)" myconf="${myconf} $(blend_with blender-game gameengine)" scons ${MAKEOPTS} ${myconf} \ WITH_BF_PLAYER=0 || die #scons || die cd ${S}/release/plugins emake || die } src_install() { exeinto /opt/${PN} doexe ${S}/../install/linux2/blender # Install wrapper scripts exeinto /usr/bin doexe ${S}/wrappers/blender # Install plugins exeinto /opt/${PN}/plugins/texture doexe ${S}/release/plugins/texture/*.so exeinto /opt/${PN}/plugins/sequence doexe ${S}/release/plugins/sequence/*.so # Install scripts insinto /opt/${PN}/release doins -r ${S}/release/scripts if use nls; then # Copy language files insinto /opt/${PN} doins -r ${S}/../install/linux2/.blender/ fi insinto /usr/share/pixmaps doins ${FILESDIR}/${PN}.png insinto /usr/share/applications doins ${FILESDIR}/${PN}.desktop dodoc ChangeLog COPYING INSTALL README } pkg_preinst() { if [ -h "/opt/blender-cvs/plugins/include" ]; then rm -f /opt/blender-cvs/plugins/include fi } pkg_postinst() { einfo "For generating higher-quality ray tracing images, please emerge" einfo "media-gfx/yafray. Blender has many options designed to work" einfo "specifically with YafRay." }