- Update to version 2.69

- Add LICENSE
- Switch to new LIB_DEPENDS format
- Enabling staging support
- Simplify OPTION knob handling
- Unbreak the build on 8.x, 10.x and CURRENT after the update of
  graphics/opencv and graphics/openshadinglanguage, which require
  llvm3.3

Supported by:	tijl@, Shane Ambler <FreeBSD@ShaneWare.Biz>
This commit is contained in:
Marcus von Appen 2013-11-15 16:58:02 +00:00
parent 1673678af9
commit e08dba80e2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=333890
10 changed files with 387 additions and 231 deletions

View file

@ -2,8 +2,7 @@
# $FreeBSD$ # $FreeBSD$
PORTNAME= blender PORTNAME= blender
PORTVERSION= 2.68a PORTVERSION= 2.69
PORTREVISION= 1
CATEGORIES= graphics games CATEGORIES= graphics games
MASTER_SITES= http://download.blender.org/source/ \ MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \ http://mirror.cs.umn.edu/blender.org/source/ \
@ -12,54 +11,118 @@ MASTER_SITES= http://download.blender.org/source/ \
MAINTAINER= mva@FreeBSD.org MAINTAINER= mva@FreeBSD.org
COMMENT= 3D modeling/rendering/animation/gaming package COMMENT= 3D modeling/rendering/animation/gaming package
LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg \ LICENSE= GPLv2
png15:${PORTSDIR}/graphics/png \
freetype:${PORTSDIR}/print/freetype2 LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg \
libpng15.so:${PORTSDIR}/graphics/png \
libfreetype.so:${PORTSDIR}/print/freetype2
USE_XORG= x11 xext xmu USE_XORG= x11 xext xmu
USE_GL= glew USE_GL= glew
USES= cmake:outsource USES= cmake:outsource shebangfix
USE_PYTHON= 3.3 USE_PYTHON= 3.3
CMAKE_VERBOSE= yes
CMAKE_ARGS+= -DWITH_PYTHON_INSTALL:BOOL=OFF \ CMAKE_ARGS+= -DWITH_PYTHON_INSTALL:BOOL=OFF \
-DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF -DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF
python_CMD= ${PYTHON_CMD}
SHEBANG_FILES= release/bin/blender-thumbnailer.py \
release/scripts/modules/bl_i18n_utils/merge_po.py \
release/scripts/modules/bl_i18n_utils/utils_rtl.py \
release/scripts/modules/blend_render_info.py
SUB_FILES= blender blenderplayer SUB_FILES= blender blenderplayer
MAN1= blender.1
OUTDIR= ${INSTALL_WRKSRC}/bin/2.68 OUTDIR= ${INSTALL_WRKSRC}/bin/2.69
NO_STAGE= yes
.include "${.CURDIR}/Makefile.options" .include "${.CURDIR}/Makefile.options"
# TODO: WITH_CYCLES_STANDALONE WITH_CYCLES_STANDALONE_GUI
MOD_BOOLEAN_CMAKE_ON= -DWITH_MOD_BOOLEAN:BOOL=ON
MOD_BOOLEAN_CMAKE_OFF= -DWITH_MOD_BOOLEAN:BOOL=OFF
MOD_BOOLEAN_LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs
MOD_FLUID_CMAKE_ON= -DWITH_MOD_FLUID:BOOL=ON
MOD_FLUID_CMAKE_OFF= -DWITH_MOD_FLUID:BOOL=OFF
MOD_REMESH_CMAKE_ON= -DWITH_MOD_REMESH:BOOL=ON
MOD_REMESH_CMAKE_OFF= -DWITH_MOD_REMESH:BOOL=OFF
MOD_SMOKE_CMAKE_ON= -DWITH_MOD_SMOKE:BOOL=ON
MOD_SMOKE_CMAKE_OFF= -DWITH_MOD_SMOKE:BOOL=OFF
AVI_CMAKE_ON= -DWITH_CODEC_AVI:BOOL=ON
AVI_CMAKE_OFF= -DWITH_CODEC_AVI:BOOL=OFF
BULLET_CMAKE_ON= -DWITH_BULLET:BOOL=ON
BULLET_CMAKE_OFF= -DWITH_BULLET:BOOL=OFF
CINEON_CMAKE_ON= -DWITH_IMAGE_CINEON:BOOL=ON
CINEON_CMAKE_OFF= -DWITH_IMAGE_CINEON:BOOL=OFF
CAMERATRACK_CMAKE_ON= -DWITH_LIBMV:BOOL=ON
CAMERATRACK_CMAKE_OFF= -DWITH_LIBMV:BOOL=OFF
CAMERATRACK_LIB_DEPENDS= libunwind.so:${PORTSDIR}/devel/libunwind
COMPOSITOR_CMAKE_ON= -DWITH_COMPOSITOR:BOOL=ON
COMPOSITOR_CMAKE_OFF= -DWITH_COMPOSITOR:BOOL=OFF
DDS_CMAKE_ON= -DWITH_IMAGE_DDS:BOOL=ON
DDS_CMAKE_OFF= -DWITH_IMAGE_DDS:BOOL=OFF
FFMPEG_CMAKE_ON= -DWITH_CODEC_FFMPEG:BOOL=ON
FFMPEG_CMAKE_OFF= -DWITH_CODEC_FFMPEG:BOOL=OFF
FFMPEG_LIB_DEPENDS= libavutil.so:${PORTSDIR}/multimedia/ffmpeg
FFTW3_CMAKE_ON= -DWITH_FFTW3:BOOL=ON
FFTW3_CMAKE_OFF= -DWITH_FFTW3:BOOL=OFF
FFTW3_LIB_DEPENDS= libfftw3.so:${PORTSDIR}/math/fftw3
FRAMESERVER_CMAKE_ON= -DWITH_IMAGE_FRAMESERVER:BOOL=ON
FRAMESERVER_CMAKE_OFF= -DWITH_IMAGE_FRAMESERVER:BOOL=OFF
FREESTYLE_CMAKE_ON= -DWITH_FREESTYLE:BOOL=ON
FREESTYLE_CMAKE_OFF= -DWITH_FREESTYLE:BOOL=OFF
GAMEENGINE_CMAKE_ON= -DWITH_GAMEENGINE:BOOL=ON
GAMEENGINE_CMAKE_OFF= -DWITH_GAMEENGINE:BOOL=OFF
HDR_CMAKE_ON= -DWITH_IMAGE_HDR:BOOL=ON
HDR_CMAKE_OFF= -DWITH_IMAGE_HDR:BOOL=OFF
INPUT_NDOF_CMAKE_ON= -DWITH_INPUT_NDOF:BOOL=ON
INPUT_NDOF_CMAKE_OFF= -DWITH_INPUT_NDOF:BOOL=OFF
JACK_CMAKE_ON= -DWITH_JACK:BOOL=ON
JACK_CMAKE_OFF= -DWITH_JACK:BOOL=OFF
JACK_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
LZO_CMAKE_ON= -DWITH_LZO:BOOL=ON
LZO_CMAKE_OFF= -DWITH_LZO:BOOL=OFF
LZMA_CMAKE_ON= -DWITH_LZMA:BOOL=ON
LZMA_CMAKE_OFF= -DWITH_LZMA:BOOL=OFF
LIBMV_CMAKE_ON= -DWITH_LIBMV:BOOL=ON
LIBMV_CMAKE_OFF= -DWITH_LIBMV:BOOL=OFF
MENU_USES= desktop-file-utils
NLS_CMAKE_ON= -DWITH_INTERNATIONAL:BOOL=ON
NLS_CMAKE_OFF= -DWITH_INTERNATIONAL:BOOL=OFF
NLS_USES= gettext iconv
OPENCOLORIO_CMAKE_ON= -DWITH_OPENCOLORIO:BOOL=ON
OPENCOLORIO_CMAKE_OFF= -DWITH_OPENCOLORIO:BOOL=OFF
OPENCOLORIO_LIB_DEPENDS= libOpenColorIO.so:${PORTSDIR}/graphics/opencolorio
OPENEXR_CMAKE_ON= -DWITH_IMAGE_OPENEXR:BOOL=ON
OPENEXR_CMAKE_OFF= -DWITH_IMAGE_OPENEXR:BOOL=OFF
OPENEXR_LIB_DEPENDS= libIlmImf.so:${PORTSDIR}/graphics/OpenEXR
OPENJPEG_CMAKE_ON= -DWITH_SYSTEM_OPENJPEG:BOOL=ON \
-DWITH_IMAGE_OPENJPEG:BOOL=ON
OPENJPEG_CMAKE_OFF= -DWITH_IMAGE_OPENJPEG:BOOL=OFF
OPENJPEG_LIB_DEPENDS= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg
OPENMP_CMAKE_ON= -DWITH_OPENMP:BOOL=ON
OPENMP_CMAKE_OFF= -DWITH_OPENMP:BOOL=OFF
RAYOPTIMIZATION_CMAKE_ON= -DWITH_RAYOPTIMIZATION:BOOL=ON
RAYOPTIMIZATION_CMAKE_OFF= -DWITH_RAYOPTIMIZATION:BOOL=OFF
SAMPLERATE_CMAKE_ON= -DWITH_SAMPLERATE:BOOL=ON
SAMPLERATE_CMAKE_OFF= -DWITH_SAMPLERATE:BOOL=OFF
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:${PORTSDIR}/audio/libsamplerate
SNDFILE_CMAKE_ON= -DWITH_CODEC_SNDFILE:BOOL=ON
SNDFILE_CMAKE_OFF= -DWITH_CODEC_SNDFILE:BOOL=OFF
SNDFILE_LIB_DEPENDS= libsndfile.so:${PORTSDIR}/audio/libsndfile
TIFF_CMAKE_ON= -DWITH_IMAGE_TIFF:BOOL=ON
TIFF_CMAKE_OFF= -DWITH_IMAGE_TIFF:BOOL=OFF
TIFF_LIB_DEPENDS= libtiff.so:${PORTSDIR}/graphics/tiff
XINPUT_CMAKE_ON= -DWITH_X11_XINPUT:BOOL=ON
XINPUT_CMAKE_OFF= -DWITH_X11_XINPUT:BOOL=OFF
XINPUT_USE= XORG=xi
XF86VMODE_CMAKE_ON= -DWITH_X11_XF86VMODE:BOOL=ON
XF86VMODE_CMAKE_OFF= -DWITH_X11_XF86VMODE:BOOL=OFF
XF86VMODE_USE= XORG=xi xxf86vm
.include <bsd.port.options.mk> .include <bsd.port.options.mk>
. if ${PORT_OPTIONS:MMOD_BOOLEAN}
CMAKE_ARGS+= -DWITH_MOD_BOOLEAN:BOOL=ON
LIB_DEPENDS+= boost_thread:${PORTSDIR}/devel/boost-libs
.else
CMAKE_ARGS+= -DWITH_MOD_BOOLEAN:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MMOD_FLUID}
CMAKE_ARGS+= -DWITH_MOD_FLUID:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_MOD_FLUID:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MMOD_REMESH}
CMAKE_ARGS+= -DWITH_MOD_REMESH:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_MOD_REMESH:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MMOD_SMOKE}
CMAKE_ARGS+= -DWITH_MOD_SMOKE:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_MOD_SMOKE:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MMOD_OCEANSIM} .if ${PORT_OPTIONS:MMOD_OCEANSIM}
.if ${PORT_OPTIONS:MFFTW3} .if ${PORT_OPTIONS:MFFTW3}
CMAKE_ARGS+= -DWITH_MOD_OCEANSIM:BOOL=ON CMAKE_ARGS+= -DWITH_MOD_OCEANSIM:BOOL=ON
@ -70,37 +133,12 @@ BROKEN= MOD_OCEANSIM requires FFTW3
CMAKE_ARGS+= -DWITH_MOD_OCEANSIM:BOOL=OFF CMAKE_ARGS+= -DWITH_MOD_OCEANSIM:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MBULLET}
CMAKE_ARGS+= -DWITH_BULLET:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_BULLET:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MCINEON}
CMAKE_ARGS+= -DWITH_IMAGE_CINEON:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_IMAGE_CINEON:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MCAMERATRACK}
CMAKE_ARGS+= -DWITH_LIBMV:BOOL=ON
LIB_DEPENDS+= unwind:${PORTSDIR}/devel/libunwind
.else
CMAKE_ARGS+= -DWITH_LIBMV:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MCOMPOSITOR}
CMAKE_ARGS+= -DWITH_COMPOSITOR:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_COMPOSITOR:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MCYCLES} .if ${PORT_OPTIONS:MCYCLES}
CMAKE_ARGS+= -DWITH_CYCLES:BOOL=ON CMAKE_ARGS+= -DWITH_CYCLES:BOOL=ON
.if !${PORT_OPTIONS:MOPENEXR} || !${PORT_OPTIONS:MTIFF} .if !${PORT_OPTIONS:MOPENEXR} || !${PORT_OPTIONS:MTIFF}
BROKEN= CYCLES requires OPENEXR and TIFF BROKEN= CYCLES requires OPENEXR and TIFF
.endif .endif
LIB_DEPENDS+= OpenImageIO:${PORTSDIR}/graphics/openimageio LIB_DEPENDS+= libOpenImageIO.so:${PORTSDIR}/graphics/openimageio
.else .else
CMAKE_ARGS+= -DWITH_CYCLES:BOOL=OFF CMAKE_ARGS+= -DWITH_CYCLES:BOOL=OFF
.endif .endif
@ -109,50 +147,17 @@ CMAKE_ARGS+= -DWITH_CYCLES:BOOL=OFF
.if !${PORT_OPTIONS:MCYCLES} .if !${PORT_OPTIONS:MCYCLES}
IGNORE= support for the OpenShadingLanguage in cycles obviously requires CYCLES IGNORE= support for the OpenShadingLanguage in cycles obviously requires CYCLES
.endif .endif
CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=ON CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=ON \
LIB_DEPENDS+= oslexec:${PORTSDIR}/graphics/openshadinglanguage -DLLVM_STATIC:BOOL=OFF \
-DWITH_LLVM:BOOL=ON \
-DLLVM_VERSION:STRING="3.3" \
-DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config33"
LIB_DEPENDS+= liboslexec.so:${PORTSDIR}/graphics/openshadinglanguage
BUILD_DEPENDS+= llvm-config33:${PORTSDIR}/devel/llvm33
.else .else
CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=OFF CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MDDS}
CMAKE_ARGS+= -DWITH_IMAGE_DDS:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_IMAGE_DDS:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MFFMPEG}
CMAKE_ARGS+= -DWITH_CODEC_FFMPEG:BOOL=ON
LIB_DEPENDS+= avutil:${PORTSDIR}/multimedia/ffmpeg
.else
CMAKE_ARGS+= -DWITH_CODEC_FFMPEG:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MFFTW3}
LIB_DEPENDS+= fftw3:${PORTSDIR}/math/fftw3
CMAKE_ARGS+= -DWITH_FFTW3:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_FFTW3:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MFRAMESERVER}
CMAKE_ARGS+= -DWITH_IMAGE_FRAMESERVER:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_IMAGE_FRAMESERVER:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MGAMEENGINE}
CMAKE_ARGS+= -DWITH_GAMEENGINE:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_GAMEENGINE:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MHDR}
CMAKE_ARGS+= -DWITH_IMAGE_HDR:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_IMAGE_HDR:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MHEADLESS} .if ${PORT_OPTIONS:MHEADLESS}
.if ${PORT_OPTIONS:MXINPUT} || ${PORT_OPTIONS:MXF86VMODE} .if ${PORT_OPTIONS:MXINPUT} || ${PORT_OPTIONS:MXF86VMODE}
BROKEN= HEADLESS does not require any X11 dependency BROKEN= HEADLESS does not require any X11 dependency
@ -162,48 +167,6 @@ CMAKE_ARGS+= -DWITH_HEADLESS:BOOL=ON
CMAKE_ARGS+= -DWITH_HEADLESS:BOOL=OFF CMAKE_ARGS+= -DWITH_HEADLESS:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MINPUT_NDOF}
CMAKE_ARGS+= -DWITH_INPUT_NDOF:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_INPUT_NDOF:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MJACK}
LIB_DEPENDS+= jack:${PORTSDIR}/audio/jack
CMAKE_ARGS+= -DWITH_JACK:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_JACK:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MLZO}
CMAKE_ARGS+= -DWITH_LZO:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_LZO:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MLZMA}
CMAKE_ARGS+= -DWITH_LZMA:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_LZMA:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MLIBMV}
CMAKE_ARGS+= -DWITH_LIBMV:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_LIBMV:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MMENU}
USE_GNOME= desktopfileutils
.endif
.if ${PORT_OPTIONS:MNLS}
USES+= gettext iconv
CMAKE_ARGS+= -DWITH_INTERNATIONAL:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_INTERNATIONAL:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MOPENAL} .if ${PORT_OPTIONS:MOPENAL}
.if ${PORT_OPTIONS:MSAMPLERATE} .if ${PORT_OPTIONS:MSAMPLERATE}
USE_OPENAL= al alut USE_OPENAL= al alut
@ -215,33 +178,6 @@ BROKEN= OPENAL requires SAMPLERATE
CMAKE_ARGS+= -DWITH_OPENAL:BOOL=OFF CMAKE_ARGS+= -DWITH_OPENAL:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MOPENCOLORIO}
LIB_DEPENDS+= OpenColorIO:${PORTSDIR}/graphics/opencolorio
CMAKGE_ARGS+= -DWITH_OPENCOLORIO:BOOL=ON
.else
CMAKGE_ARGS+= -DWITH_OPENCOLORIO:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MOPENEXR}
LIB_DEPENDS+= IlmImf:${PORTSDIR}/graphics/OpenEXR
CMAKGE_ARGS+= -DWITH_IMAGE_OPENEXR:BOOL=ON
.else
CMAKGE_ARGS+= -DWITH_IMAGE_OPENEXR:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MOPENJPEG}
LIB_DEPENDS+= openjpeg:${PORTSDIR}/graphics/openjpeg
CMAKE_ARGS+= -DWITH_SYSTEM_OPENJPEG:BOOL=ON -DWITH_IMAGE_OPENJPEG:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_IMAGE_OPENJPEG:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MOPENMP}
CMAKE_ARGS+= -DWITH_OPENMP:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_OPENMP:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MPLAYER} .if ${PORT_OPTIONS:MPLAYER}
.if ${PORT_OPTIONS:MGAMEENGINE} .if ${PORT_OPTIONS:MGAMEENGINE}
CMAKE_ARGS+= -DWITH_PLAYER:BOOL=ON CMAKE_ARGS+= -DWITH_PLAYER:BOOL=ON
@ -252,12 +188,6 @@ BROKEN= PLAYER requires GAMEENGINE
CMAKE_ARGS+= -DWITH_PLAYER:BOOL=OFF CMAKE_ARGS+= -DWITH_PLAYER:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MRAYOPTIMIZATION}
CMAKE_ARGS+= -DWITH_RAYOPTIMIZATION:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_RAYOPTIMIZATION:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MREDCODE} .if ${PORT_OPTIONS:MREDCODE}
.if ${PORT_OPTIONS:MOPENJPEG} && ${PORT_OPTIONS:MFFMPEG} .if ${PORT_OPTIONS:MOPENJPEG} && ${PORT_OPTIONS:MFFMPEG}
CMAKE_ARGS+= -DWITH_IMAGE_REDCODE:BOOL=ON CMAKE_ARGS+= -DWITH_IMAGE_REDCODE:BOOL=ON
@ -268,13 +198,6 @@ BROKEN= REDCODE requires OPENJPEG and FFMPEG
CMAKE_ARGS+= -DWITH_IMAGE_REDCODE:BOOL=OFF CMAKE_ARGS+= -DWITH_IMAGE_REDCODE:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MSAMPLERATE}
LIB_DEPENDS+= samplerate:${PORTSDIR}/audio/libsamplerate
CMAKE_ARGS+= -DWITH_SAMPLERATE:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_SAMPLERATE:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MSDL} .if ${PORT_OPTIONS:MSDL}
.if ${PORT_OPTIONS:MSAMPLERATE} .if ${PORT_OPTIONS:MSAMPLERATE}
USE_SDL= sdl USE_SDL= sdl
@ -286,79 +209,68 @@ BROKEN= SDL requires SAMPLERATE
CMAKE_ARGS+= -DWITH_SDL:BOOL=OFF CMAKE_ARGS+= -DWITH_SDL:BOOL=OFF
.endif .endif
.if ${PORT_OPTIONS:MSNDFILE} post-patch:
LIB_DEPENDS+= sndfile:${PORTSDIR}/audio/libsndfile @cd ${WRKSRC}/intern/cycles && ${REINPLACE_CMD} \
CMAKE_ARGS+= -DWITH_CODEC_SNDFILE:BOOL=ON -e 's/__align/cycles_align/' \
.else -e 's/__global/cycles_global/g' \
CMAKE_ARGS+= -DWITH_CODEC_SNDFILE:BOOL=OFF util/util_types.h kernel/kernel_compat_cuda.h \
.endif kernel/kernel_displace.h kernel/kernel_film.h \
kernel/kernel_passes.h kernel/kernel_path.h \
kernel/kernel_random.h
.if ${PORT_OPTIONS:MTIFF} # We ignore MAKE_ARGS, since those would set DESTDIR for make stage,
LIB_DEPENDS+= tiff:${PORTSDIR}/graphics/tiff # which in turn would cause make install to install everything in a
CMAKE_ARGS+= -DWITH_IMAGE_TIFF:BOOL=ON # wrong location
.else do-install:
CMAKE_ARGS+= -DWITH_IMAGE_TIFF:BOOL=OFF @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
.endif ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET})
.if ${PORT_OPTIONS:MXINPUT}
USE_XORG+= xi
CMAKE_ARGS+= -DWITH_X11_XINPUT:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_X11_XINPUT:BOOL=OFF
.endif
.if ${PORT_OPTIONS:MXF86VMODE}
USE_XORG+= xi xxf86vm
CMAKE_ARGS+= -DWITH_X11_XF86VMODE:BOOL=ON
.else
CMAKE_ARGS+= -DWITH_X11_XF86VMODE:BOOL=OFF
.endif
post-install: post-install:
@${INSTALL_SCRIPT} ${WRKDIR}/blender ${PREFIX}/bin/blender ${INSTALL_SCRIPT} ${WRKDIR}/blender ${STAGEDIR}${PREFIX}/bin/blender
@${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blender \ ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blender \
${PREFIX}/bin/blender-bin ${STAGEDIR}${PREFIX}/bin/blender-bin
@${INSTALL_SCRIPT} ${INSTALL_WRKSRC}/bin/blender-thumbnailer.py \ ${INSTALL_SCRIPT} ${INSTALL_WRKSRC}/bin/blender-thumbnailer.py \
${PREFIX}/bin/blender-thumbnailer.py ${STAGEDIR}${PREFIX}/bin/blender-thumbnailer.py
@${ECHO} bin/blender >> ${TMPPLIST} @${ECHO} bin/blender >> ${TMPPLIST}
@${ECHO} bin/blender-bin >> ${TMPPLIST} @${ECHO} bin/blender-bin >> ${TMPPLIST}
@${ECHO} bin/blender-thumbnailer.py >> ${TMPPLIST} @${ECHO} bin/blender-thumbnailer.py >> ${TMPPLIST}
.if ${PORT_OPTIONS:MPLAYER} .if ${PORT_OPTIONS:MPLAYER}
@${INSTALL_SCRIPT} ${WRKDIR}/blenderplayer ${PREFIX}/bin/blenderplayer ${INSTALL_SCRIPT} ${WRKDIR}/blenderplayer \
@${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blenderplayer \ ${STAGEDIR}${PREFIX}/bin/blenderplayer
${PREFIX}/bin/blenderplayer-bin ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blenderplayer \
${STAGEDIR}${PREFIX}/bin/blenderplayer-bin
@${ECHO} bin/blenderplayer >> ${TMPPLIST} @${ECHO} bin/blenderplayer >> ${TMPPLIST}
@${ECHO} bin/blenderplayer-bin >> ${TMPPLIST} @${ECHO} bin/blenderplayer-bin >> ${TMPPLIST}
.endif .endif
.if ${PORT_OPTIONS:MMENU} .if ${PORT_OPTIONS:MMENU}
@${MKDIR} ${DESKTOPDIR} ${MKDIR} ${STAGEDIR}${DESKTOPDIR}
@${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.desktop \ ${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.desktop \
${DESKTOPDIR} ${STAGEDIR}${DESKTOPDIR}
@-update-desktop-database -q @-update-desktop-database -q
@${ECHO} share/applications/${PORTNAME}.desktop >> ${TMPPLIST} @${ECHO} share/applications/${PORTNAME}.desktop >> ${TMPPLIST}
.endif .endif
@${MKDIR} ${DATADIR} ${MKDIR} ${STAGEDIR}${DATADIR}
@(cd ${OUTDIR} && ${COPYTREE_SHARE} scripts ${DATADIR}) (cd ${OUTDIR} && ${COPYTREE_SHARE} scripts ${STAGEDIR}${DATADIR})
@${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.svg \ ${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.svg \
${PREFIX}/share/pixmaps/${PORTNAME}.svg ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.svg
@(cd ${OUTDIR}; ${FIND} scripts -type f) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} scripts -type f) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST}
@(cd ${OUTDIR}; ${FIND} scripts -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} scripts -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST}
@${ECHO} share/pixmaps/${PORTNAME}.svg >> ${TMPPLIST} @${ECHO} share/pixmaps/${PORTNAME}.svg >> ${TMPPLIST}
.if ${PORT_OPTIONS:MOPENCOLORIO} .if ${PORT_OPTIONS:MOPENCOLORIO}
@cd ${OUTDIR} && ${COPYTREE_SHARE} datafiles/colormanagement ${DATADIR} cd ${OUTDIR} && ${COPYTREE_SHARE} datafiles/colormanagement ${STAGEDIR}${DATADIR}
@(cd ${OUTDIR}; ${FIND} datafiles/colormanagement -type f) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/colormanagement -type f) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST}
@(cd ${OUTDIR}; ${FIND} datafiles/colormanagement -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/colormanagement -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST}
.endif .endif
.if ${PORT_OPTIONS:MNLS} .if ${PORT_OPTIONS:MNLS}
@cd ${OUTDIR} && ${COPYTREE_SHARE} datafiles/locale ${DATADIR} cd ${OUTDIR} && ${COPYTREE_SHARE} datafiles/locale ${STAGEDIR}${DATADIR}
@(cd ${OUTDIR}; ${FIND} datafiles/locale -type f -name languages) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/locale -type f -name languages) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST}
@(cd ${OUTDIR}; ${FIND} datafiles/locale -type f -name ${PORTNAME}.mo) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/locale -type f -name ${PORTNAME}.mo) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST}
@cd ${OUTDIR} && ${COPYTREE_SHARE} datafiles/fonts ${DATADIR} cd ${OUTDIR} && ${COPYTREE_SHARE} datafiles/fonts ${STAGEDIR}${DATADIR}
@(cd ${OUTDIR}; ${FIND} datafiles/fonts -type f) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/fonts -type f) | ${SORT} | ${SED} "s|^|${DATADIR_REL}/|" >> ${TMPPLIST}
@(cd ${OUTDIR}; ${FIND} datafiles/fonts -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/fonts -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST}
@(cd ${OUTDIR}; ${FIND} datafiles/locale -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST} @(cd ${OUTDIR}; ${FIND} datafiles/locale -type d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST}
@ -367,8 +279,9 @@ post-install:
@${ECHO} @dirrm ${DATADIR_REL} >> ${TMPPLIST} @${ECHO} @dirrm ${DATADIR_REL} >> ${TMPPLIST}
.if !defined(NO_INSTALL_MANPAGES) .if !defined(NO_INSTALL_MANPAGES)
@${INSTALL_MAN} ${INSTALL_WRKSRC}/bin/${PORTNAME}.1 \ ${INSTALL_MAN} ${INSTALL_WRKSRC}/bin/${PORTNAME}.1 \
${MAN1PREFIX}/man/man1 ${STAGEDIR}${MAN1PREFIX}/man/man1
@${ECHO} man/man1/${PORTNAME}.1.gz >> ${TMPPLIST}
.endif .endif
.include <bsd.port.mk> .include <bsd.port.mk>

View file

@ -1,6 +1,7 @@
# $FreeBSD$ # $FreeBSD$
OPTIONS_DEFINE= \ OPTIONS_DEFINE= \
AVI \
BULLET \ BULLET \
CINEON \ CINEON \
CAMERATRACK \ CAMERATRACK \
@ -43,6 +44,7 @@ OPTIONS_DEFINE= \
XF86VMODE XF86VMODE
OPTIONS_DEFAULT= \ OPTIONS_DEFAULT= \
AVI \
BULLET \ BULLET \
CINEON \ CINEON \
COMPOSITOR \ COMPOSITOR \
@ -74,6 +76,7 @@ OPTIONS_DEFAULT= \
XINPUT \ XINPUT \
XF86VMODE XF86VMODE
AVI_DESC= Enable Blender's own AVI file support
BULLET_DESC= Bullet physics engine BULLET_DESC= Bullet physics engine
CINEON_DESC= CINEON and DPX graphics format support CINEON_DESC= CINEON and DPX graphics format support
CAMERATRACK_DESC= Camera tracking support CAMERATRACK_DESC= Camera tracking support

View file

@ -1,2 +1,2 @@
SHA256 (blender-2.68a.tar.gz) = 13ed290b0db381523dd26689d29fd00b08bae01a9123533d75f0243733dd7b3a SHA256 (blender-2.69.tar.gz) = c94a7f5dec0d42683b96b2591c240ebcc2743d10b84fc53ca13374b5e654ce09
SIZE (blender-2.68a.tar.gz) = 40042207 SIZE (blender-2.69.tar.gz) = 41274518

View file

@ -0,0 +1,11 @@
--- CMakeLists.txt.orig 2013-10-07 18:51:15.000000000 +0200
+++ CMakeLists.txt 2013-11-10 14:35:45.000000000 +0100
@@ -876,7 +876,7 @@
endif()
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
- set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++")
+ set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread")
if((NOT WITH_HEADLESS) AND (NOT WITH_GHOST_SDL))
find_package(X11 REQUIRED)

View file

@ -0,0 +1,14 @@
--- extern/carve/lib/triangulator.cpp.orig 2012-01-30 09:45:12.000000000 +0100
+++ extern/carve/lib/triangulator.cpp 2013-11-13 21:17:16.000000000 +0100
@@ -122,8 +122,10 @@
std::vector<vertex_info *> queue;
void checkheap() {
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__clang__)
CARVE_ASSERT(std::__is_heap(queue.begin(), queue.end(), vertex_info_ordering()));
+#elif defined(__clang__) && defined(_LIBCPP_VERSION)
+ CARVE_ASSERT(std::is_heap(queue.begin(), queue.end(), vertex_info_ordering()));
#endif
}

View file

@ -0,0 +1,68 @@
--- extern/libmv/third_party/ceres/internal/ceres/collections_port.h.orig 2013-02-25 09:59:26.000000000 +0100
+++ extern/libmv/third_party/ceres/internal/ceres/collections_port.h 2013-11-13 17:12:57.000000000 +0100
@@ -33,11 +33,12 @@
#ifndef CERES_INTERNAL_COLLECTIONS_PORT_H_
#define CERES_INTERNAL_COLLECTIONS_PORT_H_
+#include <utility>
#if defined(CERES_NO_TR1)
# include <map>
# include <set>
#else
-# if defined(_MSC_VER)
+# if defined(_MSC_VER) || defined(_LIBCPP_VERSION)
# include <unordered_map>
# include <unordered_set>
# else
@@ -45,7 +46,6 @@
# include <tr1/unordered_set>
# endif
#endif
-#include <utility>
#include "ceres/integral_types.h"
#include "ceres/internal/port.h"
@@ -71,11 +71,19 @@
namespace ceres {
namespace internal {
+#if defined(_LIBCPP_VERSION)
+template<typename K, typename V>
+struct HashMap : std::unordered_map<K, V> {};
+
+template<typename K>
+struct HashSet : std::unordered_set<K> {};
+#else
template<typename K, typename V>
struct HashMap : std::tr1::unordered_map<K, V> {};
template<typename K>
struct HashSet : std::tr1::unordered_set<K> {};
+#endif
#if defined(_WIN32) && !defined(__MINGW64__) && !defined(__MINGW32__)
#define GG_LONGLONG(x) x##I64
@@ -135,7 +143,11 @@
// Since on some platforms this is a doubly-nested namespace (std::tr1) and
// others it is not, the entire namespace line must be in a macro.
+#if defined(_LIBCPP_VERSION)
+namespace std {
+#else
CERES_HASH_NAMESPACE_START
+#endif
// The outrageously annoying specializations below are for portability reasons.
// In short, it's not possible to have two overloads of hash<pair<T1, T2>
@@ -160,7 +172,11 @@
static const size_t min_buckets = 8; // 4 and 8 are defaults.
};
+#if defined(_LIBCPP_VERSION)
+}
+#else
CERES_HASH_NAMESPACE_END
+#endif
#endif // CERES_NO_TR1

View file

@ -0,0 +1,15 @@
--- extern/rangetree/range_tree.hh.orig 2013-11-12 09:41:41.000000000 +0100
+++ extern/rangetree/range_tree.hh 2013-11-12 21:47:07.000000000 +0100
@@ -35,6 +35,12 @@
: min(t), max(t), single(true)
{}
+ Range& operator=(const Range& v) {
+ *this = v;
+ return *this;
+ }
+
+
bool operator<(const Range& v) const {
return max < v.min;
}

View file

@ -0,0 +1,89 @@
--- intern/itasc/kdl/tree.hpp.orig 2012-12-15 12:15:05.000000000 +0100
+++ intern/itasc/kdl/tree.hpp 2013-11-13 12:06:00.000000000 +0100
@@ -60,13 +60,13 @@
public:
Segment segment;
unsigned int q_nr;
- SegmentMap::const_iterator parent;
+ std::pair<const std::string, TreeElement> const *parent;
std::vector<SegmentMap::const_iterator > children;
TreeElement(const Segment& segment_in,const SegmentMap::const_iterator& parent_in,unsigned int q_nr_in)
{
q_nr=q_nr_in;
segment=segment_in;
- parent=parent_in;
+ parent=&*parent_in;
};
static TreeElement Root()
{
--- intern/itasc/kdl/treefksolverpos_recursive.cpp.orig 2011-10-23 20:38:16.000000000 +0200
+++ intern/itasc/kdl/treefksolverpos_recursive.cpp 2013-11-13 14:43:21.000000000 +0100
@@ -45,12 +45,12 @@
else if(baseit == tree.getSegments().end()) //if the base segment name is not found
return -3;
else{
- p_out = recursiveFk(q_in, it, baseit);
+ p_out = recursiveFk(q_in, &*it, &*baseit);
return 0;
}
}
- Frame TreeFkSolverPos_recursive::recursiveFk(const JntArray& q_in, const SegmentMap::const_iterator& it, const SegmentMap::const_iterator& baseit)
+ Frame TreeFkSolverPos_recursive::recursiveFk(const JntArray& q_in, std::pair<const std::string, KDL::TreeElement> const *it, std::pair<const std::string, KDL::TreeElement> const *baseit)
{
//gets the frame for the current element (segment)
const TreeElement& currentElement = it->second;
@@ -60,8 +60,7 @@
}
else{
Frame currentFrame = currentElement.segment.pose(((JntArray&)q_in)(currentElement.q_nr));
- SegmentMap::const_iterator parentIt = currentElement.parent;
- return recursiveFk(q_in, parentIt, baseit) * currentFrame;
+ return recursiveFk(q_in, currentElement.parent, baseit) * currentFrame;
}
}
--- intern/itasc/kdl/treefksolverpos_recursive.hpp.orig 2009-07-14 17:36:21.000000000 +0200
+++ intern/itasc/kdl/treefksolverpos_recursive.hpp 2013-11-13 14:48:02.000000000 +0100
@@ -45,7 +45,7 @@
private:
const Tree tree;
- Frame recursiveFk(const JntArray& q_in, const SegmentMap::const_iterator& it, const SegmentMap::const_iterator& baseit);
+ Frame recursiveFk(const JntArray& q_in, std::pair<const std::string, KDL::TreeElement> const *it, std::pair<const std::string, KDL::TreeElement> const *baseit);
};
}
--- intern/itasc/kdl/treejnttojacsolver.cpp.orig 2011-10-23 20:38:16.000000000 +0200
+++ intern/itasc/kdl/treejnttojacsolver.cpp 2013-11-13 15:04:38.000000000 +0100
@@ -28,16 +28,16 @@
return -1;
//Lets search the tree-element
- SegmentMap::const_iterator it = tree.getSegments().find(segmentname);
+ std::pair<const std::string, KDL::TreeElement> const *it = &*tree.getSegments().find(segmentname);
//If segmentname is not inside the tree, back out:
- if (it == tree.getSegments().end())
+ if (it == &*tree.getSegments().end())
return -2;
//Let's make the jacobian zero:
SetToZero(jac);
- SegmentMap::const_iterator root = tree.getSegments().find("root");
+ std::pair<const std::string, KDL::TreeElement> const *root = &*tree.getSegments().find("root");
Frame T_total = Frame::Identity();
Frame T_local, T_joint;
--- intern/itasc/Armature.cpp.orig 2013-03-18 12:44:56.000000000 +0100
+++ intern/itasc/Armature.cpp 2013-11-13 14:21:32.000000000 +0100
@@ -402,7 +402,7 @@
m_armlength = 0.0;
for (i=0; i<m_neffector; i++) {
length = 0.0;
- KDL::SegmentMap::const_iterator sit = m_tree.getSegment(m_effectors[i].name);
+ std::pair<const std::string, KDL::TreeElement> const *sit = &*m_tree.getSegment(m_effectors[i].name);
while (sit->first != "root") {
Frame tip = sit->second.segment.pose(m_qKdl(sit->second.q_nr));
length += tip.p.Norm();

View file

@ -0,0 +1,15 @@
--- source/blender/imbuf/intern/cineon/cineonlib.c.orig 2013-11-10 13:41:51.000000000 +0100
+++ source/blender/imbuf/intern/cineon/cineonlib.c 2013-11-10 13:42:22.000000000 +0100
@@ -277,10 +277,10 @@
return NULL;
}
- if (cineon->element[i].refLowData == CINEON_UNDEFINED_U32 || isnan(cineon->element[i].refLowData))
+ if (cineon->element[i].refLowData == CINEON_UNDEFINED_U32)
cineon->element[i].refLowData = 0;
- if (cineon->element[i].refHighData == CINEON_UNDEFINED_U32 || isnan(cineon->element[i].refHighData))
+ if (cineon->element[i].refHighData == CINEON_UNDEFINED_U32)
cineon->element[i].refHighData = (unsigned int)cineon->element[i].maxValue;
if (cineon->element[i].refLowQuantity == CINEON_UNDEFINED_R32 || isnan(cineon->element[i].refLowQuantity))

View file

@ -0,0 +1,28 @@
--- source/blender/imbuf/intern/cineon/dpxlib.c.orig 2013-11-10 13:35:42.000000000 +0100
+++ source/blender/imbuf/intern/cineon/dpxlib.c 2013-11-10 13:37:58.000000000 +0100
@@ -300,10 +300,10 @@
case descriptor_RGB:
case descriptor_RGBA:
case descriptor_ABGR:
- if (dpx->element[i].refLowData == DPX_UNDEFINED_U32 || isnan(dpx->element[i].refLowData))
+ if (dpx->element[i].refLowData == DPX_UNDEFINED_U32)
dpx->element[i].refLowData = 0;
- if (dpx->element[i].refHighData == DPX_UNDEFINED_U32 || isnan(dpx->element[i].refHighData))
+ if (dpx->element[i].refHighData == DPX_UNDEFINED_U32)
dpx->element[i].refHighData = (unsigned int)dpx->element[i].maxValue;
if (dpx->element[i].refLowQuantity == DPX_UNDEFINED_R32 || isnan(dpx->element[i].refLowQuantity))
@@ -324,10 +324,10 @@
case descriptor_CbYCr:
case descriptor_CbYACrYA:
case descriptor_CbYCrA:
- if (dpx->element[i].refLowData == DPX_UNDEFINED_U32 || isnan(dpx->element[i].refLowData))
+ if (dpx->element[i].refLowData == DPX_UNDEFINED_U32)
dpx->element[i].refLowData = 16.0f / 255.0f * dpx->element[i].maxValue;
- if (dpx->element[i].refHighData == DPX_UNDEFINED_U32 || isnan(dpx->element[i].refHighData))
+ if (dpx->element[i].refHighData == DPX_UNDEFINED_U32)
dpx->element[i].refHighData = 235.0f / 255.0f * dpx->element[i].maxValue;
if (dpx->element[i].refLowQuantity == DPX_UNDEFINED_R32 || isnan(dpx->element[i].refLowQuantity))