diff options
author | 2012-07-16 09:28:56 +0000 | |
---|---|---|
committer | 2012-07-16 09:28:56 +0000 | |
commit | 9609e52721af23ccb86de4d2cc44833e5ed3f4b8 (patch) | |
tree | 7da87186c49590322f44c09b46ea22051f2902eb /media-gfx/blender | |
parent | Version bump. (diff) | |
download | gentoo-2-9609e52721af23ccb86de4d2cc44833e5ed3f4b8.tar.gz gentoo-2-9609e52721af23ccb86de4d2cc44833e5ed3f4b8.tar.bz2 gentoo-2-9609e52721af23ccb86de4d2cc44833e5ed3f4b8.zip |
Further cleanup: remove vestigial svn support; do not build API docs when USE=-doc is disabled (and remove apidoc USE); simplify generation of user-config.py, and in particular handling of C/CXX/LDFLAGS; use more blend_with (and make it local to src_configure); fix building with boost 1.50 (bug #426802).
(Portage version: 2.2.0_alpha117/cvs/Linux x86_64)
Diffstat (limited to 'media-gfx/blender')
-rw-r--r-- | media-gfx/blender/ChangeLog | 10 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.63a-r1.ebuild | 267 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 116 |
3 files changed, 173 insertions, 220 deletions
diff --git a/media-gfx/blender/ChangeLog b/media-gfx/blender/ChangeLog index 4107fd8646f0..34f3da1c4191 100644 --- a/media-gfx/blender/ChangeLog +++ b/media-gfx/blender/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-gfx/blender # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.228 2012/07/16 00:53:16 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.229 2012/07/16 09:28:56 flameeyes Exp $ + + 16 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> blender-2.63a-r1.ebuild, + metadata.xml: + Further cleanup: remove vestigial svn support; do not build API docs when + USE=-doc is disabled (and remove apidoc USE); simplify generation of user- + config.py, and in particular handling of C/CXX/LDFLAGS; use more blend_with + (and make it local to src_configure); fix building with boost 1.50 (bug + #426802). *blender-2.63a-r1 (16 Jul 2012) diff --git a/media-gfx/blender/blender-2.63a-r1.ebuild b/media-gfx/blender/blender-2.63a-r1.ebuild index 6f0276cd1a97..677ca7890f1a 100644 --- a/media-gfx/blender/blender-2.63a-r1.ebuild +++ b/media-gfx/blender/blender-2.63a-r1.ebuild @@ -1,23 +1,18 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.63a-r1.ebuild,v 1.1 2012/07/16 00:53:16 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.63a-r1.ebuild,v 1.2 2012/07/16 09:28:56 flameeyes Exp $ EAPI=4 PYTHON_DEPEND="3:3.2" -PATCHSET="1" +PATCHSET="2" -if [[ ${PV} == *9999 ]] ; then -SCM="subversion" -ESVN_REPO_URI="https://svn.blender.org/svnroot/bf-blender/trunk/blender" -fi - -inherit multilib scons-utils eutils python versionator flag-o-matic toolchain-funcs pax-utils check-reqs ${SCM} +inherit multilib scons-utils eutils python versionator flag-o-matic toolchain-funcs pax-utils check-reqs IUSE="cycles +game-engine player +elbeem +openexr ffmpeg jpeg2k openal - openmp +dds doc fftw jack apidoc sndfile tweak-mode sdl sse redcode + openmp +dds fftw jack doc sndfile tweak-mode sdl sse redcode iconv collada 3dmouse debug nls" -REQUIRED_USE="" +REQUIRED_USE="player? ( game-engine )" LANGS="en ar bg ca cs de el es es_ES fa fi fr hr id it ja ky ne pl pt ru sr sr@latin sv tr uk zh_CN zh_TW" for X in ${LANGS} ; do @@ -29,8 +24,6 @@ DESCRIPTION="3D Creation/Animation/Publishing System" HOMEPAGE="http://www.blender.org" case ${PV} in - *9999*) - SRC_URI="" ;; *_p*) SRC_URI="http://dev.gentoo.org/~lu_zero/${P}.tar.gz" ;; *) @@ -61,7 +54,7 @@ RDEPEND="virtual/jpeg sys-libs/zlib cycles? ( media-libs/openimageio - dev-libs/boost + >=dev-libs/boost-1.44 ) iconv? ( virtual/libiconv ) sdl? ( media-libs/libsdl[audio,joystick] ) @@ -77,31 +70,13 @@ RDEPEND="virtual/jpeg 3dmouse? ( dev-libs/libspnav )" DEPEND="dev-util/scons - apidoc? ( + doc? ( dev-python/sphinx app-doc/doxygen[-nodot(-),dot(+)] ) nls? ( sys-devel/gettext ) ${RDEPEND}" -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 -} - -if [[ ${PV} == *9999 ]] ; then - src_unpack() { - subversion_fetch - } -fi - pkg_pretend() { if use openmp && ! tc-has-openmp; then eerror "You are using gcc built without 'openmp' USE." @@ -109,7 +84,7 @@ pkg_pretend() { die "Need openmp" fi - if use apidoc; then + if use doc; then CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend fi } @@ -136,28 +111,77 @@ src_prepare() { } 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 - - # 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/bullet /usr/include/bullet/BulletCollision /usr/include/bullet/BulletDynamics /usr/include/bullet/LinearMath /usr/include/bullet/BulletSoftBody" - BF_BULLET_LIB="BulletSoftBody BulletDynamics BulletCollision LinearMath" - EOF - - # add system sci-libs/colamd into Scons build options. - cat <<- EOF >> "${S}"/user-config.py - WITH_BF_COLAMD=1 - BF_COLAMD="/usr" - BF_COLAMD_INC="/usr/include" - BF_COLAMD_LIB="colamd" - EOF + blend_with() { + echo "WITH_BF_${2:-$1}=$(usex $1 1 0)" | tr '[:lower:]' '[:upper:]' \ + >> "${S}"/user-config.py + } + + # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu + # shadows, see bug #276338 for reference + append-flags -funsigned-char + append-lfs-flags + + local mycflags=$(printf "'%s'," ${CPPFLAGS} ${CFLAGS} | sed -e 's:,$::') + local mycxxflags=$(printf "'%s'," ${CPPFLAGS} ${CXXFLAGS} | sed -e 's:,$::') + local myldflags=$(printf "'%s'," ${LDFLAGS} | sed -e 's:,$::') + + cat << EOF >> "${S}"/user-config.py +CC="$(tc-getCC)" +CXX="$(tc-getCXX)" +CFLAGS=[${mycflags}] +CXXFLAGS=[${mycxxflags}] +BGE_CXXFLAGS=[${mycxxflags}] +LINKFLAGS=[${myldflags}] +PLATFORM_LINKFLAGS=[${myldflags}] +CCFLAGS=[] +REL_CFLAGS=[] +REL_CXXFLAGS=[] +REL_CCFLAGS=[] +C_WARN=[] +CC_WARN=[] +CXX_WARN=[] + +BF_OPENJPEG="/usr" +BF_OPENJPEG_INC="/usr/include" +BF_OPENJPEG_LIB="openjpeg" + +WITH_BF_BULLET=1 +BF_BULLET="/usr/include" +BF_BULLET_INC="/usr/include/bullet /usr/include/bullet/BulletCollision /usr/include/bullet/BulletDynamics /usr/include/bullet/LinearMath /usr/include/bullet/BulletSoftBody" +BF_BULLET_LIB="BulletSoftBody BulletDynamics BulletCollision LinearMath" + +WITH_BF_COLAMD=1 +BF_COLAMD="/usr" +BF_COLAMD_INC="/usr/include" +BF_COLAMD_LIB="colamd" + +BF_OPENCOLLADA_INC="/usr/include/opencollada/" +BF_OPENCOLLADA_LIBPATH="/usr/$(get_libdir)/opencollada/" + +BF_OIIO="/usr" +BF_OIIO_INC="/usr/include" +BF_OIIO_LIB="OpenImageIO" + +BF_BOOST="/usr" +BF_BOOST_INC="/usr/include/boost" + +BF_TWEAK_MODE=$(usex tweak-mode 1 0) +BF_DEBUG=$(usex debug 1 0) + +BF_OPENGL_LIB='GL GLU X11 Xi GLEW' +BF_INSTALLDIR="../install" +WITH_PYTHON_SECURITY=1 +WITHOUT_BF_PYTHON_INSTALL=1 +BF_PYTHON="/usr" +BF_PYTHON_VERSION="3.2" +BF_PYTHON_ABI_FLAGS="" +BF_BUILDINFO=0 +BF_QUIET=0 +BF_LINE_OVERWRITE=0 +WITH_BF_FHS=1 +WITH_BF_BINRELOC=0 +WITH_BF_STATICOPENGL=0 +EOF #add iconv into Scons build options. if use !elibc_glibc && use !elibc_uclibc && use iconv; then @@ -167,125 +191,46 @@ src_configure() { EOF fi - # configure internationalization optionally - use nls || echo "WITH_BF_INTERNATIONAL=0" >> "${S}"/user-config.py - - # Ocean sim system needs fftw - use fftw || echo "WITH_BF_OCEANSIM=0" >> "${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_*/*_WARN variables (useless hardcoded flags) - cat <<- EOF >> "${S}"/user-config.py - REL_CFLAGS=[] - REL_CXXFLAGS=[] - REL_CCFLAGS=[] - C_WARN=[] - CC_WARN=[] - CXX_WARN=[] - EOF - - # 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" - WITH_PYTHON_SECURITY=1 - WITHOUT_BF_PYTHON_INSTALL=1 - BF_PYTHON="/usr" - BF_PYTHON_VERSION="3.2" - BF_PYTHON_ABI_FLAGS="" - BF_BUILDINFO=0 - BF_QUIET=0 - BF_LINE_OVERWRITE=0 - WITH_BF_FHS=1 - WITH_BF_BINRELOC=0 - WITH_BF_STATICOPENGL=0 - WITH_BF_OPENMP=$(usex openmp 1 0) - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - EOF - # configure WITH_BF* Scons build options for arg in \ - 'elbeem fluid' \ - 'sdl' \ - 'apidoc docs' \ - 'jack' \ - 'sndfile' \ - 'openexr' \ + '3dmouse' \ + 'collada' \ + 'cycles boost' \ + 'cycles oiio' \ + 'cycles' \ 'dds' \ + 'doc docs' \ + 'elbeem fluid' \ + 'ffmpeg ogg' \ + 'ffmpeg' \ 'fftw fftw3' \ + 'fftw oceansim' \ + 'game-engine gameengine' \ + 'jack' \ 'jpeg2k openjpeg' \ + 'nls international' \ 'openal'\ - 'ffmpeg' \ - 'ffmpeg ogg' \ + 'openexr' \ + 'openmp' \ 'player' \ - 'sse rayoptimization' \ 'redcode' \ - 'collada' \ - '3dmouse' ; do + 'sdl' \ + 'sndfile' \ + 'sse rayoptimization' \ + ; do blend_with ${arg} done - - # add system media-libs/opencollada into Scons build options. - echo 'BF_OPENCOLLADA_INC="/usr/include/opencollada/"' >> "${S}"/user-config.py - echo 'BF_OPENCOLLADA_LIBPATH="/usr/'$(get_libdir)'/opencollada/"' >> "${S}"/user-config.py - - # 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 - - # enables Cycles render engine - if use cycles; then - cat <<- EOF >> "${S}"/user-config.py - WITH_BF_CYCLES=1 - WITH_BF_OIIO=1 - BF_OIIO="/usr" - BF_OIIO_INC="/usr/include" - BF_OIIO_LIB="OpenImageIO" - WITH_BF_BOOST=1 - BF_BOOST="/usr" - BF_BOOST_INC="/usr/include/boost" - EOF - fi - } src_compile() { escons - einfo "Generating Blender C/C++ API docs ..." - cd "${WORKDIR}"/${P}/doc/doxygen - doxygen -u Doxyfile - doxygen || die "doxygen failed to build API docs." + if use doc; then + einfo "Generating Blender C/C++ API docs ..." + cd "${WORKDIR}"/${P}/doc/doxygen + doxygen -u Doxyfile + doxygen || die "doxygen failed to build API docs." + fi } src_install() { @@ -308,9 +253,9 @@ src_install() { # install docs doman "${WORKDIR}"/${P}/doc/manpage/blender.1 - use doc && dodoc -r "${WORKDIR}"/${P}/doc/guides/* + dodoc -r "${WORKDIR}"/${P}/doc/guides/* - if use apidoc; then + if use doc; then #einfo "Generating (BPY) Blender Python API docs ..." "${D}"/usr/bin/blender --background --python doc/python_api/sphinx_doc_gen.py --noaudio || die "blender failed." diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index 9f421ef9f4cd..755c971c1869 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -1,65 +1,65 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> - <pkgmetadata> + <herd>graphics</herd> + + <maintainer> + <email>lu_zero@gentoo.org</email> + <name>Luca Barbato</name> + </maintainer> - <herd>graphics</herd> + <maintainer> + <email>flameeyes@gentoo.org</email> + </maintainer> - <maintainer> - <email>lu_zero@gentoo.org</email> - <name>Luca Barbato</name> - </maintainer> + <longdescription> + Blender, the open source software for 3D modeling, animation, + rendering, post-production, interactive creation and playback. + </longdescription> - <longdescription> - Blender, the open source software for 3D modeling, animation, - rendering, post-production, interactive creation and playback. - Available for Windows, Linux, Irix, Sun Solaris, FreeBSD or Mac OS X. - </longdescription> - <use> - <flag name='3dmouse'> - Adds support for space navigator devices through package <pkg>dev-libs/libspnav</pkg>. - </flag> - <flag name='blender-game'> - Adds Game Engine support to Blender (2.4* ebuilds). - </flag> - <flag name='game-engine'> - Adds Game Engine support to Blender (2.5* ebuilds). - </flag> - <flag name='contrib'> - Install contrib scripts. - </flag> - <flag name='collada'> - Add support for Collada interchange format through <pkg>media-libs/opencollada</pkg>. - </flag> - <flag name='cycles'> - Build cycles renderer. - </flag> - <flag name='verse'> - Adds verse clustering features to Blender. - </flag> - <flag name='dds'> - Adds DDS textures support to Blender. - </flag> - <flag name='player'> - Build the Blender Player. - </flag> - <flag name='elbeem'> - Adds surface fluid simulation to Blender using El'Beem library. - </flag> - <flag name="apidoc"> - Build GameEngine/Python/C API documentation directly from the source - code using tools epydoc (dev-python/epydoc) and doxygen - (app-doc/doxygen). - </flag> - <flag name="tweak-mode"> - This flag allows you to model without confirming each translation, - in particular it lets you grab with left mouse button (LMB) and not - having to confirm by another click. Blender 'Tweak Mode' is similar - to the 'Tweak Mode' of the Wings modeller (<pkg>media-gfx/wings</pkg>). - </flag> - <flag name="redcode"> - This flag add support for RED CODE camera digital format (5K HD - images *.r3d) - EXPERIMENTAL. - </flag> - </use> + <use> + <flag name='3dmouse'> + Adds support for space navigator devices through package + <pkg>dev-libs/libspnav</pkg>. + </flag> + <flag name='blender-game' restrict='<media-gfx/blender-2.50'> + Adds Game Engine support to Blender. + </flag> + <flag name='game-engine' restrict='>=media-gfx/blender-2.50'> + Adds Game Engine support to Blender. + </flag> + <flag name='collada'> + Add support for Collada interchange format through + <pkg>media-libs/opencollada</pkg>. + </flag> + <flag name='cycles'> + Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and + <pkg>dev-libs/boost</pkg>). + </flag> + <flag name='verse'> + Adds verse clustering features to Blender. + </flag> + <flag name='dds'> + Adds DDS textures support to Blender. + </flag> + <flag name='player'> + Build the Blender Player. THis requires the Game engine. + </flag> + <flag name='elbeem'> + Adds surface fluid simulation to Blender using El'Beem library. + </flag> + <flag name="doc"> + Build C and Python API documentation directly from the source code. + </flag> + <flag name="tweak-mode"> + This flag allows you to model without confirming each translation, + in particular it lets you grab with left mouse button (LMB) and not + having to confirm by another click. Blender 'Tweak Mode' is similar + to the 'Tweak Mode' of the Wings modeller (<pkg>media-gfx/wings</pkg>). + </flag> + <flag name="redcode"> + This flag add support for RED CODE camera digital format (5K HD + images *.r3d) - EXPERIMENTAL. + </flag> + </use> </pkgmetadata> |