From b21351631df23f59efeb92db34add091a69dd63b Mon Sep 17 00:00:00 2001 From: Stefan Huber Date: Mon, 23 May 2011 08:11:35 +0200 Subject: [PATCH] remove blender-2.5[45] ebuilds --- media-gfx/blender/Manifest | 6 +- media-gfx/blender/README | 9 +- media-gfx/blender/blender-2.54_beta.ebuild | 383 --------------------- media-gfx/blender/blender-2.55_beta.ebuild | 382 -------------------- 4 files changed, 3 insertions(+), 777 deletions(-) delete mode 100644 media-gfx/blender/blender-2.54_beta.ebuild delete mode 100644 media-gfx/blender/blender-2.55_beta.ebuild diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 2ace4c1..f8abace 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -3,10 +3,6 @@ AUX blender-2.5-desktop.patch 643 RMD160 d1eabbecb79a6d753260b0487d201675a43db22 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 diff --git a/media-gfx/blender/README b/media-gfx/blender/README index 3ad6807..b373b23 100644 --- a/media-gfx/blender/README +++ b/media-gfx/blender/README @@ -1,10 +1,5 @@ -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 diff --git a/media-gfx/blender/blender-2.54_beta.ebuild b/media-gfx/blender/blender-2.54_beta.ebuild deleted file mode 100644 index 46f5700..0000000 --- a/media-gfx/blender/blender-2.54_beta.ebuild +++ /dev/null @@ -1,383 +0,0 @@ -# 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." - -} diff --git a/media-gfx/blender/blender-2.55_beta.ebuild b/media-gfx/blender/blender-2.55_beta.ebuild deleted file mode 100644 index 6234d60..0000000 --- a/media-gfx/blender/blender-2.55_beta.ebuild +++ /dev/null @@ -1,382 +0,0 @@ -# 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." -} - -- 2.39.5