aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormva <mva@FreeBSD.org>2013-11-16 00:58:02 +0800
committermva <mva@FreeBSD.org>2013-11-16 00:58:02 +0800
commit3bac751b7806422f8b64a48ddf9bcdaf2adc87af (patch)
tree54a76effec535f159dfca4b891fa2c42b767792d
parent002ab06a01cb027d17347c3024f2fe9469f2ef89 (diff)
downloadfreebsd-ports-gnome-3bac751b7806422f8b64a48ddf9bcdaf2adc87af.tar.gz
freebsd-ports-gnome-3bac751b7806422f8b64a48ddf9bcdaf2adc87af.tar.zst
freebsd-ports-gnome-3bac751b7806422f8b64a48ddf9bcdaf2adc87af.zip
- 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>
-rw-r--r--graphics/blender/Makefile371
-rw-r--r--graphics/blender/Makefile.options3
-rw-r--r--graphics/blender/distinfo4
-rw-r--r--graphics/blender/files/patch-CMakelists.txt11
-rw-r--r--graphics/blender/files/patch-extern_carve_lib_triangulator.cpp14
-rw-r--r--graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h68
-rw-r--r--graphics/blender/files/patch-extern_rangetree_range_tree.hh15
-rw-r--r--graphics/blender/files/patch-intern_itasc_kdl_tree.hpp89
-rw-r--r--graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c15
-rw-r--r--graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c28
10 files changed, 387 insertions, 231 deletions
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index 7675ed4f46fd..7b1bab9dfa7d 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= blender
-PORTVERSION= 2.68a
-PORTREVISION= 1
+PORTVERSION= 2.69
CATEGORIES= graphics games
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
@@ -12,53 +11,117 @@ MASTER_SITES= http://download.blender.org/source/ \
MAINTAINER= mva@FreeBSD.org
COMMENT= 3D modeling/rendering/animation/gaming package
-LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg \
- png15:${PORTSDIR}/graphics/png \
- freetype:${PORTSDIR}/print/freetype2
+LICENSE= GPLv2
+
+LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg \
+ libpng15.so:${PORTSDIR}/graphics/png \
+ libfreetype.so:${PORTSDIR}/print/freetype2
USE_XORG= x11 xext xmu
USE_GL= glew
-USES= cmake:outsource
+USES= cmake:outsource shebangfix
USE_PYTHON= 3.3
-
+CMAKE_VERBOSE= yes
CMAKE_ARGS+= -DWITH_PYTHON_INSTALL: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
-MAN1= blender.1
-OUTDIR= ${INSTALL_WRKSRC}/bin/2.68
+OUTDIR= ${INSTALL_WRKSRC}/bin/2.69
-NO_STAGE= yes
.include "${.CURDIR}/Makefile.options"
-.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
+# 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
-.if ${PORT_OPTIONS:MMOD_SMOKE}
-CMAKE_ARGS+= -DWITH_MOD_SMOKE:BOOL=ON
-.else
-CMAKE_ARGS+= -DWITH_MOD_SMOKE:BOOL=OFF
-.endif
+.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MMOD_OCEANSIM}
.if ${PORT_OPTIONS:MFFTW3}
@@ -70,37 +133,12 @@ BROKEN= MOD_OCEANSIM requires FFTW3
CMAKE_ARGS+= -DWITH_MOD_OCEANSIM:BOOL=OFF
.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}
CMAKE_ARGS+= -DWITH_CYCLES:BOOL=ON
.if !${PORT_OPTIONS:MOPENEXR} || !${PORT_OPTIONS:MTIFF}
BROKEN= CYCLES requires OPENEXR and TIFF
.endif
-LIB_DEPENDS+= OpenImageIO:${PORTSDIR}/graphics/openimageio
+LIB_DEPENDS+= libOpenImageIO.so:${PORTSDIR}/graphics/openimageio
.else
CMAKE_ARGS+= -DWITH_CYCLES:BOOL=OFF
.endif
@@ -109,50 +147,17 @@ CMAKE_ARGS+= -DWITH_CYCLES:BOOL=OFF
.if !${PORT_OPTIONS:MCYCLES}
IGNORE= support for the OpenShadingLanguage in cycles obviously requires CYCLES
.endif
-CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=ON
-LIB_DEPENDS+= oslexec:${PORTSDIR}/graphics/openshadinglanguage
+CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=ON \
+ -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
CMAKE_ARGS+= -DWITH_CYCLES_OSL:BOOL=OFF
.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:MXINPUT} || ${PORT_OPTIONS:MXF86VMODE}
BROKEN= HEADLESS does not require any X11 dependency
@@ -162,48 +167,6 @@ CMAKE_ARGS+= -DWITH_HEADLESS:BOOL=ON
CMAKE_ARGS+= -DWITH_HEADLESS:BOOL=OFF
.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:MSAMPLERATE}
USE_OPENAL= al alut
@@ -215,33 +178,6 @@ BROKEN= OPENAL requires SAMPLERATE
CMAKE_ARGS+= -DWITH_OPENAL:BOOL=OFF
.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:MGAMEENGINE}
CMAKE_ARGS+= -DWITH_PLAYER:BOOL=ON
@@ -252,12 +188,6 @@ BROKEN= PLAYER requires GAMEENGINE
CMAKE_ARGS+= -DWITH_PLAYER:BOOL=OFF
.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:MOPENJPEG} && ${PORT_OPTIONS:MFFMPEG}
CMAKE_ARGS+= -DWITH_IMAGE_REDCODE:BOOL=ON
@@ -268,13 +198,6 @@ BROKEN= REDCODE requires OPENJPEG and FFMPEG
CMAKE_ARGS+= -DWITH_IMAGE_REDCODE:BOOL=OFF
.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:MSAMPLERATE}
USE_SDL= sdl
@@ -286,79 +209,68 @@ BROKEN= SDL requires SAMPLERATE
CMAKE_ARGS+= -DWITH_SDL:BOOL=OFF
.endif
-.if ${PORT_OPTIONS:MSNDFILE}
-LIB_DEPENDS+= sndfile:${PORTSDIR}/audio/libsndfile
-CMAKE_ARGS+= -DWITH_CODEC_SNDFILE:BOOL=ON
-.else
-CMAKE_ARGS+= -DWITH_CODEC_SNDFILE:BOOL=OFF
-.endif
-
-.if ${PORT_OPTIONS:MTIFF}
-LIB_DEPENDS+= tiff:${PORTSDIR}/graphics/tiff
-CMAKE_ARGS+= -DWITH_IMAGE_TIFF:BOOL=ON
-.else
-CMAKE_ARGS+= -DWITH_IMAGE_TIFF:BOOL=OFF
-.endif
-
-.if ${PORT_OPTIONS:MXINPUT}
-USE_XORG+= xi
-CMAKE_ARGS+= -DWITH_X11_XINPUT:BOOL=ON
-.else
-CMAKE_ARGS+= -DWITH_X11_XINPUT:BOOL=OFF
-.endif
+post-patch:
+ @cd ${WRKSRC}/intern/cycles && ${REINPLACE_CMD} \
+ -e 's/__align/cycles_align/' \
+ -e 's/__global/cycles_global/g' \
+ util/util_types.h kernel/kernel_compat_cuda.h \
+ kernel/kernel_displace.h kernel/kernel_film.h \
+ kernel/kernel_passes.h kernel/kernel_path.h \
+ kernel/kernel_random.h
-.if ${PORT_OPTIONS:MXF86VMODE}
-USE_XORG+= xi xxf86vm
-CMAKE_ARGS+= -DWITH_X11_XF86VMODE:BOOL=ON
-.else
-CMAKE_ARGS+= -DWITH_X11_XF86VMODE:BOOL=OFF
-.endif
+# We ignore MAKE_ARGS, since those would set DESTDIR for make stage,
+# which in turn would cause make install to install everything in a
+# wrong location
+do-install:
+ @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
+ ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET})
post-install:
- @${INSTALL_SCRIPT} ${WRKDIR}/blender ${PREFIX}/bin/blender
- @${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blender \
- ${PREFIX}/bin/blender-bin
- @${INSTALL_SCRIPT} ${INSTALL_WRKSRC}/bin/blender-thumbnailer.py \
- ${PREFIX}/bin/blender-thumbnailer.py
+ ${INSTALL_SCRIPT} ${WRKDIR}/blender ${STAGEDIR}${PREFIX}/bin/blender
+ ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blender \
+ ${STAGEDIR}${PREFIX}/bin/blender-bin
+ ${INSTALL_SCRIPT} ${INSTALL_WRKSRC}/bin/blender-thumbnailer.py \
+ ${STAGEDIR}${PREFIX}/bin/blender-thumbnailer.py
@${ECHO} bin/blender >> ${TMPPLIST}
@${ECHO} bin/blender-bin >> ${TMPPLIST}
@${ECHO} bin/blender-thumbnailer.py >> ${TMPPLIST}
.if ${PORT_OPTIONS:MPLAYER}
- @${INSTALL_SCRIPT} ${WRKDIR}/blenderplayer ${PREFIX}/bin/blenderplayer
- @${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blenderplayer \
- ${PREFIX}/bin/blenderplayer-bin
+ ${INSTALL_SCRIPT} ${WRKDIR}/blenderplayer \
+ ${STAGEDIR}${PREFIX}/bin/blenderplayer
+ ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/bin/blenderplayer \
+ ${STAGEDIR}${PREFIX}/bin/blenderplayer-bin
@${ECHO} bin/blenderplayer >> ${TMPPLIST}
@${ECHO} bin/blenderplayer-bin >> ${TMPPLIST}
.endif
.if ${PORT_OPTIONS:MMENU}
- @${MKDIR} ${DESKTOPDIR}
- @${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.desktop \
- ${DESKTOPDIR}
+ ${MKDIR} ${STAGEDIR}${DESKTOPDIR}
+ ${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.desktop \
+ ${STAGEDIR}${DESKTOPDIR}
@-update-desktop-database -q
@${ECHO} share/applications/${PORTNAME}.desktop >> ${TMPPLIST}
.endif
- @${MKDIR} ${DATADIR}
- @(cd ${OUTDIR} && ${COPYTREE_SHARE} scripts ${DATADIR})
- @${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${PORTNAME}.svg \
- ${PREFIX}/share/pixmaps/${PORTNAME}.svg
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ (cd ${OUTDIR} && ${COPYTREE_SHARE} scripts ${STAGEDIR}${DATADIR})
+ ${INSTALL_DATA} ${INSTALL_WRKSRC}/bin/${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 d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST}
@${ECHO} share/pixmaps/${PORTNAME}.svg >> ${TMPPLIST}
.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 d) | ${SORT} -r | ${SED} "s|^|@dirrm ${DATADIR_REL}/|" >> ${TMPPLIST}
.endif
.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 ${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 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}
.if !defined(NO_INSTALL_MANPAGES)
- @${INSTALL_MAN} ${INSTALL_WRKSRC}/bin/${PORTNAME}.1 \
- ${MAN1PREFIX}/man/man1
+ ${INSTALL_MAN} ${INSTALL_WRKSRC}/bin/${PORTNAME}.1 \
+ ${STAGEDIR}${MAN1PREFIX}/man/man1
+ @${ECHO} man/man1/${PORTNAME}.1.gz >> ${TMPPLIST}
.endif
.include <bsd.port.mk>
diff --git a/graphics/blender/Makefile.options b/graphics/blender/Makefile.options
index b0c534b54418..00abe2773850 100644
--- a/graphics/blender/Makefile.options
+++ b/graphics/blender/Makefile.options
@@ -1,6 +1,7 @@
# $FreeBSD$
OPTIONS_DEFINE= \
+ AVI \
BULLET \
CINEON \
CAMERATRACK \
@@ -43,6 +44,7 @@ OPTIONS_DEFINE= \
XF86VMODE
OPTIONS_DEFAULT= \
+ AVI \
BULLET \
CINEON \
COMPOSITOR \
@@ -74,6 +76,7 @@ OPTIONS_DEFAULT= \
XINPUT \
XF86VMODE
+AVI_DESC= Enable Blender's own AVI file support
BULLET_DESC= Bullet physics engine
CINEON_DESC= CINEON and DPX graphics format support
CAMERATRACK_DESC= Camera tracking support
diff --git a/graphics/blender/distinfo b/graphics/blender/distinfo
index 06ff30914af7..c7aa1c7f939c 100644
--- a/graphics/blender/distinfo
+++ b/graphics/blender/distinfo
@@ -1,2 +1,2 @@
-SHA256 (blender-2.68a.tar.gz) = 13ed290b0db381523dd26689d29fd00b08bae01a9123533d75f0243733dd7b3a
-SIZE (blender-2.68a.tar.gz) = 40042207
+SHA256 (blender-2.69.tar.gz) = c94a7f5dec0d42683b96b2591c240ebcc2743d10b84fc53ca13374b5e654ce09
+SIZE (blender-2.69.tar.gz) = 41274518
diff --git a/graphics/blender/files/patch-CMakelists.txt b/graphics/blender/files/patch-CMakelists.txt
new file mode 100644
index 000000000000..e4d5dbccf704
--- /dev/null
+++ b/graphics/blender/files/patch-CMakelists.txt
@@ -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)
diff --git a/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp b/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp
new file mode 100644
index 000000000000..378d1e0e2480
--- /dev/null
+++ b/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp
@@ -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
+ }
+
diff --git a/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h b/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h
new file mode 100644
index 000000000000..f7069f2765b8
--- /dev/null
+++ b/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h
@@ -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
+
diff --git a/graphics/blender/files/patch-extern_rangetree_range_tree.hh b/graphics/blender/files/patch-extern_rangetree_range_tree.hh
new file mode 100644
index 000000000000..685022205a29
--- /dev/null
+++ b/graphics/blender/files/patch-extern_rangetree_range_tree.hh
@@ -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;
+ }
diff --git a/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp b/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp
new file mode 100644
index 000000000000..0124a7c49018
--- /dev/null
+++ b/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp
@@ -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();
diff --git a/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c b/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c
new file mode 100644
index 000000000000..93bf5d392fc7
--- /dev/null
+++ b/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c
@@ -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))
diff --git a/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c b/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c
new file mode 100644
index 000000000000..b15fbe39b48c
--- /dev/null
+++ b/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c
@@ -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))