Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Nov 2013 16:58:03 +0000 (UTC)
From:      Marcus von Appen <mva@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r333890 - in head/graphics/blender: . files
Message-ID:  <201311151658.rAFGw3kX093504@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mva
Date: Fri Nov 15 16:58:02 2013
New Revision: 333890
URL: http://svnweb.freebsd.org/changeset/ports/333890

Log:
  - 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>

Added:
  head/graphics/blender/files/patch-CMakelists.txt   (contents, props changed)
  head/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp   (contents, props changed)
  head/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h   (contents, props changed)
  head/graphics/blender/files/patch-extern_rangetree_range_tree.hh   (contents, props changed)
  head/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp   (contents, props changed)
  head/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c   (contents, props changed)
  head/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c   (contents, props changed)
Modified:
  head/graphics/blender/Makefile
  head/graphics/blender/Makefile.options
  head/graphics/blender/distinfo

Modified: head/graphics/blender/Makefile
==============================================================================
--- head/graphics/blender/Makefile	Fri Nov 15 16:52:58 2013	(r333889)
+++ head/graphics/blender/Makefile	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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.or
 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>
+# TODO: WITH_CYCLES_STANDALONE WITH_CYCLES_STANDALONE_GUI
 
-. 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
+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_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
+.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 F
 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
-
-.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-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
+
+# 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>

Modified: head/graphics/blender/Makefile.options
==============================================================================
--- head/graphics/blender/Makefile.options	Fri Nov 15 16:52:58 2013	(r333889)
+++ head/graphics/blender/Makefile.options	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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

Modified: head/graphics/blender/distinfo
==============================================================================
--- head/graphics/blender/distinfo	Fri Nov 15 16:52:58 2013	(r333889)
+++ head/graphics/blender/distinfo	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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

Added: head/graphics/blender/files/patch-CMakelists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-CMakelists.txt	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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)

Added: head/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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
+     }
+ 

Added: head/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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
+ 

Added: head/graphics/blender/files/patch-extern_rangetree_range_tree.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-extern_rangetree_range_tree.hh	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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;
+ 		}

Added: head/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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();

Added: head/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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))

Added: head/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c	Fri Nov 15 16:58:02 2013	(r333890)
@@ -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))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311151658.rAFGw3kX093504>