aboutsummaryrefslogtreecommitdiff
path: root/graphics/blender
diff options
context:
space:
mode:
authorMarcus von Appen <mva@FreeBSD.org>2014-04-05 13:09:46 +0000
committerMarcus von Appen <mva@FreeBSD.org>2014-04-05 13:09:46 +0000
commit871b08c31d07d531ddcf0b3f8c9405a7b57102a6 (patch)
tree217cc39efbd65f61a25919fe56a25d26215b0daf /graphics/blender
parentbc2ded859a668cf2f6f95454016319c5da1be2e1 (diff)
downloadports-871b08c31d07d531ddcf0b3f8c9405a7b57102a6.tar.gz
ports-871b08c31d07d531ddcf0b3f8c9405a7b57102a6.zip
Notes
Diffstat (limited to 'graphics/blender')
-rw-r--r--graphics/blender/Makefile24
-rw-r--r--graphics/blender/distinfo4
-rw-r--r--graphics/blender/files/patch-CMakelists.txt11
-rw-r--r--graphics/blender/files/patch-extern_carve_include_mesh_ops.hpp14
-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_ffmpeg_compat.h44
-rw-r--r--graphics/blender/files/patch-intern_itasc_kdl_tree.hpp89
-rw-r--r--graphics/blender/files/patch-source_blender_blenloader_intern_versioning_270.c11
-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
12 files changed, 37 insertions, 300 deletions
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index f4a1d629e2c9..35b2c989a94b 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= blender
-PORTVERSION= 2.69
-PORTREVISION= 4
+PORTVERSION= 2.70
CATEGORIES= graphics games
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
@@ -20,9 +19,8 @@ LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg \
USE_XORG= x11 xext xmu
USE_GL= glew
-USES= cmake:outsource shebangfix
+USES= cmake:outsource compiler:features shebangfix
USE_PYTHON= 3.3
-
CMAKE_ARGS+= -DWITH_PYTHON_INSTALL:BOOL=OFF \
-DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF
@@ -34,7 +32,7 @@ SHEBANG_FILES= release/bin/blender-thumbnailer.py \
SUB_FILES= blender blenderplayer
-OUTDIR= ${INSTALL_WRKSRC}/bin/2.69
+OUTDIR= ${INSTALL_WRKSRC}/bin/2.70
.include "${.CURDIR}/Makefile.options"
@@ -212,14 +210,12 @@ BROKEN= SDL requires SAMPLERATE
CMAKE_ARGS+= -DWITH_SDL: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
+.include <bsd.port.pre.mk>
+
+.if ${COMPILER_TYPE} == gcc
+# gcc 4.2 does not support -msse4.1, which is needed for blender 2.70+
+USE_GCC= yes
+.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
@@ -287,4 +283,4 @@ post-install:
@${ECHO} man/man1/${PORTNAME}.1.gz >> ${TMPPLIST}
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/graphics/blender/distinfo b/graphics/blender/distinfo
index c7aa1c7f939c..b770b7f4478c 100644
--- a/graphics/blender/distinfo
+++ b/graphics/blender/distinfo
@@ -1,2 +1,2 @@
-SHA256 (blender-2.69.tar.gz) = c94a7f5dec0d42683b96b2591c240ebcc2743d10b84fc53ca13374b5e654ce09
-SIZE (blender-2.69.tar.gz) = 41274518
+SHA256 (blender-2.70.tar.gz) = 2695c3cab21721d1108c90e6e9cb4b279817f551904d5276793fb3adaef3e348
+SIZE (blender-2.70.tar.gz) = 55298021
diff --git a/graphics/blender/files/patch-CMakelists.txt b/graphics/blender/files/patch-CMakelists.txt
deleted file mode 100644
index e4d5dbccf704..000000000000
--- a/graphics/blender/files/patch-CMakelists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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_include_mesh_ops.hpp b/graphics/blender/files/patch-extern_carve_include_mesh_ops.hpp
new file mode 100644
index 000000000000..691b502c3612
--- /dev/null
+++ b/graphics/blender/files/patch-extern_carve_include_mesh_ops.hpp
@@ -0,0 +1,14 @@
+--- extern/carve/include/carve/mesh_ops.hpp.orig 2014-03-22 13:19:46.000000000 +0100
++++ extern/carve/include/carve/mesh_ops.hpp 2014-03-22 13:20:36.000000000 +0100
+@@ -580,8 +580,10 @@
+ std::vector<VertexInfo *> queue;
+
+ void checkheap() {
+-#ifdef __GNUC__
++#if defined(__GNUC__) && !defined(__clang__)
+ CARVE_ASSERT(std::__is_heap(queue.begin(), queue.end(), order_by_score()));
++#elif defined(__clang__) && defined(_LIBCPP_VERSION)
++ CARVE_ASSERT(std::is_heap(queue.begin(), queue.end(), order_by_score()));
+ #endif
+ }
+
diff --git a/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp b/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp
deleted file mode 100644
index 378d1e0e2480..000000000000
--- a/graphics/blender/files/patch-extern_carve_lib_triangulator.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- 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
deleted file mode 100644
index f7069f2765b8..000000000000
--- a/graphics/blender/files/patch-extern_libmv_third_party_ceres_internal_ceres_collections_port.h
+++ /dev/null
@@ -1,68 +0,0 @@
---- 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
deleted file mode 100644
index 685022205a29..000000000000
--- a/graphics/blender/files/patch-extern_rangetree_range_tree.hh
+++ /dev/null
@@ -1,15 +0,0 @@
---- 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_ffmpeg_compat.h b/graphics/blender/files/patch-intern_ffmpeg_compat.h
deleted file mode 100644
index 67a169addf40..000000000000
--- a/graphics/blender/files/patch-intern_ffmpeg_compat.h
+++ /dev/null
@@ -1,44 +0,0 @@
---- intern/ffmpeg/ffmpeg_compat.h.orig 2013-05-09 10:51:58.000000000 +0200
-+++ intern/ffmpeg/ffmpeg_compat.h 2013-05-09 10:53:27.000000000 +0200
-@@ -179,14 +179,14 @@
- #define avformat_close_input(x) av_close_input_file(*(x))
- #endif
-
--#if ((LIBAVCODEC_VERSION_MAJOR < 53) || (LIBAVCODEC_VERSION_MAJOR == 53 && LIBAVCODEC_VERSION_MINOR < 35))
--FFMPEG_INLINE
--int avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options)
--{
-- /* TODO: no options are taking into account */
-- return avcodec_open(avctx, codec);
--}
--#endif
-+//#if ((LIBAVCODEC_VERSION_MAJOR < 53) || (LIBAVCODEC_VERSION_MAJOR == 53 && LIBAVCODEC_VERSION_MINOR < 35))
-+//FFMPEG_INLINE
-+//int avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options)
-+//{
-+// /* TODO: no options are taking into account */
-+// return avcodec_open(avctx, codec);
-+//}
-+//#endif
-
- #if ((LIBAVFORMAT_VERSION_MAJOR < 53) || (LIBAVFORMAT_VERSION_MAJOR == 53 && LIBAVFORMAT_VERSION_MINOR < 21))
- FFMPEG_INLINE
-@@ -196,12 +196,12 @@
- return av_new_stream(s, 0);
- }
-
--FFMPEG_INLINE
--int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
--{
-- /* TODO: no options are taking into account */
-- return av_find_stream_info(ic);
--}
-+//FFMPEG_INLINE
-+//int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
-+//{
-+// /* TODO: no options are taking into account */
-+// return av_find_stream_info(ic);
-+//}
- #endif
-
- #if ((LIBAVFORMAT_VERSION_MAJOR > 53) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR > 32)) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR == 24) && (LIBAVFORMAT_VERSION_MICRO >= 100)))
diff --git a/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp b/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp
deleted file mode 100644
index 0124a7c49018..000000000000
--- a/graphics/blender/files/patch-intern_itasc_kdl_tree.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
---- 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_blenloader_intern_versioning_270.c b/graphics/blender/files/patch-source_blender_blenloader_intern_versioning_270.c
new file mode 100644
index 000000000000..c7c2c02a16a9
--- /dev/null
+++ b/graphics/blender/files/patch-source_blender_blenloader_intern_versioning_270.c
@@ -0,0 +1,11 @@
+--- source/blender/blenloader/intern/versioning_270.c.orig 2014-03-22 12:10:23.000000000 +0100
++++ source/blender/blenloader/intern/versioning_270.c 2014-03-22 12:10:40.000000000 +0100
+@@ -28,6 +28,8 @@
+ #include "BLI_utildefines.h"
+ #include "BLI_compiler_attrs.h"
+
++#include <stddef.h>
++
+ /* allow readfile to use deprecated functionality */
+ #define DNA_DEPRECATED_ALLOW
+
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
deleted file mode 100644
index 93bf5d392fc7..000000000000
--- a/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_cineonlib.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- 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
deleted file mode 100644
index b15fbe39b48c..000000000000
--- a/graphics/blender/files/patch-source_blender_imbuf_intern_cineon_dpxlib.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- 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))