Date: Tuesday, December 25, 2018 @ 14:05:40 Author: svenstaro Revision: 418067
upgpkg: blender 17:2.79.b.git4.2c0c1f49-1 Bump to newest blender2.7 commit so we can lose lots of patches Added: blender/trunk/python3.7.patch Modified: blender/trunk/PKGBUILD Deleted: blender/trunk/ffmpeg4.0.patch blender/trunk/gcc8.patch blender/trunk/opencollada1.patch blender/trunk/opencollada2.patch blender/trunk/openvdb3-abi.patch blender/trunk/python37.patch blender/trunk/tree_hpp.patch blender/trunk/util_sseb.patch --------------------+ PKGBUILD | 43 ++--------- ffmpeg4.0.patch | 113 ------------------------------- gcc8.patch | 24 ------ opencollada1.patch | 78 --------------------- opencollada2.patch | 32 -------- openvdb3-abi.patch | 28 ------- python3.7.patch | 13 +++ python37.patch | 40 ----------- tree_hpp.patch | 183 --------------------------------------------------- util_sseb.patch | 13 --- 10 files changed, 23 insertions(+), 544 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-12-25 13:48:30 UTC (rev 418066) +++ PKGBUILD 2018-12-25 14:05:40 UTC (rev 418067) @@ -11,12 +11,12 @@ # unreasonable. # _gittag=v2.79b -_gitcommit=32432d91bbec558cbd88e54aece61b0d641c1761 +_gitcommit=2c0c1f494dcfadb3c01d23e2348e28bc8864e9f3 pkgname=blender pkgver=2.79.b -[[ -n $_gitcommit ]] && pkgver=${pkgver}.git3.${_gitcommit:0:8} -pkgrel=12 +[[ -n $_gitcommit ]] && pkgver=${pkgver}.git4.${_gitcommit:0:8} +pkgrel=1 epoch=17 pkgdesc="A fully integrated 3D graphics creation suite" arch=('x86_64') @@ -35,15 +35,8 @@ "git://git.blender.org/blender-translations.git" "git://git.blender.org/blender-dev-tools.git" "git://git.blender.org/scons.git" - python37.patch - ffmpeg4.0.patch - tree_hpp.patch - util_sseb.patch - openvdb3-abi.patch stl_export_iter.patch - gcc8.patch - opencollada1.patch - opencollada2.patch) + python3.7.patch) if [[ -n $_gittag ]]; then source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}") elif [[ -n $_gitcommit ]]; then @@ -54,15 +47,8 @@ 'SKIP' 'SKIP' 'SKIP' - 'e6b83d61cf1b48ce78aca11e04196c638f5510f84efc4fb1bd4554f54e0e6ab92911bcd8606845116f4257d0898fa52c026f402f934e1eb7f01bbe96d0afae2c' - '446dd46557c7c976a68010c62e04693c61171980abea1cd0a900b00bcc3d525b83bb6ee200739623110e592e37e8f4783a18f234b40e9f85483830ea9785640d' - '6c0a619fe8fbc215a9a7c9d4b9c6fc5ec355c37212ec41b05b50787465354bbc7200e76eaafba46a2253196391838190d3de3b2be132095d2162142940e87924' - '429ffb6d36efb04c02d506858fc2691ea927ca486d950313dcb0c94d535a66409a14863807e69adc657dafbe243d0aad15cfaadf9f27bdc7c7759211da3fb8a8' - '2bd8c59ab8f163b6c7f89b6dfe8aacee3307dae6ecdc0d4878e1376ba29584c891171edd0a57f12241a98e0dd43efff0675a16708d34122bc22faebe3fd8e181' '51f30acc407179f003d1dbec25fb47b0bf1fe8d2eb16e069a6ca83ab8b21f6032d636a42e0b140537ad1ad25ad38c52a87a2a33e51822729ab196fcef4682818' - '86f8d6c766644090bb59715b219db74f7acbe31dcd92dc1ecc32beedc1c894a98d2875e9078efa9994511b79e094277a943746dd602be6bc33ba37b7a8a41269' - 'aea74c8d88e01703b46c5ee4e5a118aaeacfa0ace23e1fffd1b01d0395bafffa9012df22eca43050756f6dd8fb46c663eef1de3e061ca1911eaf1c2a0e01e58d' - '31d0f2045f88cbdb1d5720775aa49eff4672f06def1bbbd9f85da363e93143375cda84259a3e8c9000f3fe70c58ee7e1de791b5dc95d4982e559b43700bd0a2a' + 'f5564e8db242f6fa9cd951590f4c6de8f5b1a8bbd73aeb6e837a840dd2696e71f7b6bb1c94f9c2377b199159f87a95bead8ee113c01e8763f3843918395cc177' 'SKIP') prepare() { @@ -76,23 +62,15 @@ git config submodule."scons".url ${srcdir}/scons git submodule update - patch -Np1 -i "$srcdir"/python37.patch - patch -Np1 -i "$srcdir"/ffmpeg4.0.patch - patch -Np1 -i "$srcdir"/tree_hpp.patch - patch -Np1 -i "$srcdir"/util_sseb.patch - patch -Np1 -i "$srcdir"/openvdb3-abi.patch patch -Np1 -i "$srcdir"/stl_export_iter.patch - patch -Np1 -i "$srcdir"/gcc8.patch - patch -Np1 -i "$srcdir"/opencollada1.patch - patch -Np1 -i "$srcdir"/opencollada2.patch + patch -Np1 -i "$srcdir"/python3.7.patch -d release/scripts/addons_contrib + + mkdir build } build() { - cd "$srcdir/$pkgname-$pkgver" + cd "$srcdir/$pkgname-$pkgver"/build - [[ -d build ]] && rm -rf build - mkdir build && cd build - cmake -C../build_files/cmake/config/blender_release.cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ @@ -103,9 +81,8 @@ -DWITH_GL_PROFILE_CORE=OFF \ -DWITH_GL_PROFILE_ES20=OFF \ -DWITH_LLVM=ON \ - -DWITH_CYCLES_CUDA_BINARIES=ON \ -DWITH_CYCLES_PTEX=OFF \ - -DCYCLES_CUDA_BINARIES_ARCH="sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_62;sm_70;sm_72;sm_75" \ + -DWITH_OPENVDB_3_ABI_COMPATIBLE=ON \ -DPYTHON_VERSION=3.7 \ -DPYTHON_LIBPATH=/usr/lib \ -DPYTHON_LIBRARY=python3.7m \ Deleted: ffmpeg4.0.patch =================================================================== --- ffmpeg4.0.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ ffmpeg4.0.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,113 +0,0 @@ -diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp -index e9eea195208..84aea330313 100644 ---- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp -+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp -@@ -264,9 +264,9 @@ AUD_FFMPEGReader::AUD_FFMPEGReader(boost::shared_ptr<AUD_Buffer> buffer) : - m_membuffer(buffer), - m_membufferpos(0) - { -- m_membuf = reinterpret_cast<data_t*>(av_malloc(FF_MIN_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE)); -+ m_membuf = reinterpret_cast<data_t*>(av_malloc(AV_INPUT_BUFFER_MIN_SIZE + AV_INPUT_BUFFER_PADDING_SIZE)); - -- m_aviocontext = avio_alloc_context(m_membuf, FF_MIN_BUFFER_SIZE, 0, this, -+ m_aviocontext = avio_alloc_context(m_membuf, AV_INPUT_BUFFER_MIN_SIZE, 0, this, - read_packet, NULL, seek_packet); - - if(!m_aviocontext) -diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp -index 3f95ac7a4da..2c2f0916406 100644 ---- a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp -+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp -@@ -163,7 +163,7 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs, - try - { - if(m_formatCtx->oformat->flags & AVFMT_GLOBALHEADER) -- m_codecCtx->flags |= CODEC_FLAG_GLOBAL_HEADER; -+ m_codecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - - AVCodec* codec = avcodec_find_encoder(m_codecCtx->codec_id); - if(!codec) -@@ -185,11 +185,11 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs, - if(avcodec_open2(m_codecCtx, codec, NULL)) - AUD_THROW(AUD_ERROR_FFMPEG, codec_error); - -- m_output_buffer.resize(FF_MIN_BUFFER_SIZE); -+ m_output_buffer.resize(AV_INPUT_BUFFER_MIN_SIZE); - int samplesize = AUD_MAX(AUD_SAMPLE_SIZE(m_specs), AUD_DEVICE_SAMPLE_SIZE(m_specs)); - - if(m_codecCtx->frame_size <= 1) { -- m_input_size = FF_MIN_BUFFER_SIZE * 8 / m_codecCtx->bits_per_coded_sample / m_codecCtx->channels; -+ m_input_size = AV_INPUT_BUFFER_MIN_SIZE * 8 / m_codecCtx->bits_per_coded_sample / m_codecCtx->channels; - m_input_buffer.resize(m_input_size * samplesize); - } - else -diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c -index d7fcd896e11..9e82df17dce 100644 ---- a/source/blender/blenkernel/intern/writeffmpeg.c -+++ b/source/blender/blenkernel/intern/writeffmpeg.c -@@ -619,8 +619,6 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int - c->rc_buffer_aggressivity = 1.0; - #endif - -- c->me_method = ME_EPZS; -- - codec = avcodec_find_encoder(c->codec_id); - if (!codec) - return NULL; -@@ -682,14 +680,14 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int - ) - { - PRINT("Using global header\n"); -- c->flags |= CODEC_FLAG_GLOBAL_HEADER; -+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } - - /* Determine whether we are encoding interlaced material or not */ - if (rd->mode & R_FIELDS) { - PRINT("Encoding interlaced video\n"); -- c->flags |= CODEC_FLAG_INTERLACED_DCT; -- c->flags |= CODEC_FLAG_INTERLACED_ME; -+ c->flags |= AV_CODEC_FLAG_INTERLACED_DCT; -+ c->flags |= AV_CODEC_FLAG_INTERLACED_ME; - } - - /* xasp & yasp got float lately... */ -@@ -779,7 +777,7 @@ static AVStream *alloc_audio_stream(FFMpegContext *context, RenderData *rd, int - } - - if (of->oformat->flags & AVFMT_GLOBALHEADER) { -- c->flags |= CODEC_FLAG_GLOBAL_HEADER; -+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } - - set_ffmpeg_properties(rd, c, "audio", &opts); -@@ -798,14 +796,14 @@ static AVStream *alloc_audio_stream(FFMpegContext *context, RenderData *rd, int - st->codec->time_base.den = st->codec->sample_rate; - - #ifndef FFMPEG_HAVE_ENCODE_AUDIO2 -- context->audio_outbuf_size = FF_MIN_BUFFER_SIZE; -+ context->audio_outbuf_size = AV_INPUT_BUFFER_MIN_SIZE; - #endif - - if (c->frame_size == 0) - // used to be if ((c->codec_id >= CODEC_ID_PCM_S16LE) && (c->codec_id <= CODEC_ID_PCM_DVD)) - // not sure if that is needed anymore, so let's try out if there are any - // complaints regarding some ffmpeg versions users might have -- context->audio_input_samples = FF_MIN_BUFFER_SIZE * 8 / c->bits_per_coded_sample / c->channels; -+ context->audio_input_samples = AV_INPUT_BUFFER_MIN_SIZE * 8 / c->bits_per_coded_sample / c->channels; - else { - context->audio_input_samples = c->frame_size; - #ifndef FFMPEG_HAVE_ENCODE_AUDIO2 -diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c -index eaf4dfd84b4..9c2f42feb52 100644 ---- a/source/blender/imbuf/intern/indexer.c -+++ b/source/blender/imbuf/intern/indexer.c -@@ -537,7 +537,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffmpeg( - av_opt_set_int(rv->c, "qmax", ffmpeg_quality, 0); - - if (rv->of->flags & AVFMT_GLOBALHEADER) { -- rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER; -+ rv->c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } - - if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) { Deleted: gcc8.patch =================================================================== --- gcc8.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ gcc8.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,24 +0,0 @@ -commit e5767eaad1c48a23eb3d8fed4616722189a70aa1 -Author: Sergey Sharybin <sergey....@gmail.com> -Date: Mon Jul 2 15:11:48 2018 +0200 - - Cycles: Fix missing curve hair when building with GCC-8 in release mode - - Reshuffle cast intrinsics to make XOR to operate on __m128i rather - than on __m128. - - Hopefully this does not affect performance. - -diff --git a/intern/cycles/util/util_ssef.h b/intern/cycles/util/util_ssef.h -index bb007ff84a9..e9a617bb2cc 100644 ---- a/intern/cycles/util/util_ssef.h -+++ b/intern/cycles/util/util_ssef.h -@@ -606,7 +606,7 @@ ccl_device_inline const ssef uint32_to_float(const ssei &in) - template<size_t S1, size_t S2, size_t S3, size_t S4> - ccl_device_inline const ssef set_sign_bit(const ssef &a) - { -- return a ^ cast(ssei(S1 << 31, S2 << 31, S3 << 31, S4 << 31)); -+ return cast(cast(a) ^ ssei(S1 << 31, S2 << 31, S3 << 31, S4 << 31)); - } - - //////////////////////////////////////////////////////////////////////////////// Deleted: opencollada1.patch =================================================================== --- opencollada1.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ opencollada1.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,78 +0,0 @@ -commit 10c50d7dbf7578b35b3bf19a1948f556f9eb203b -Author: Gaia Clary <gaia.cl...@machinimatrix.org> -Date: Tue Dec 4 19:11:33 2018 +0100 - - fix T58568 build errors when using collada 1.6.68 or newer - -diff --git a/source/blender/collada/CMakeLists.txt b/source/blender/collada/CMakeLists.txt -index 293049a1a05..c250384b989 100644 ---- a/source/blender/collada/CMakeLists.txt -+++ b/source/blender/collada/CMakeLists.txt -@@ -25,6 +25,18 @@ - - remove_strict_flags() - -+FIND_FILE(_opencollada_with_animation_clip -+ NAMES -+ COLLADAFWAnimationClip.h -+ PATHS -+ ${OPENCOLLADA_INCLUDE_DIRS} -+ NO_DEFAULT_PATH -+ ) -+ -+IF(_opencollada_with_animation_clip) -+ add_compile_definitions(OPENCOLLADA_WITH_ANIMATION_CLIP) -+ENDIF() -+ - set(INC - . - ../blenkernel -diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp -index 67fd9d648c7..24b7fc4317d 100644 ---- a/source/blender/collada/DocumentImporter.cpp -+++ b/source/blender/collada/DocumentImporter.cpp -@@ -1349,6 +1349,19 @@ bool DocumentImporter::writeAnimationList(const COLLADAFW::AnimationList *animat - return anim_importer.write_animation_list(animationList); - } - -+#if OPENCOLLADA_WITH_ANIMATION_CLIP -+// Since opencollada 1.6.68 -+// called on post-process stage after writeVisualScenes -+bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip) -+{ -+ if (mImportStage != General) -+ return true; -+ -+ return true; -+ //return animation_clip_importer.write_animation_clip(animationClip); // TODO: implement import of AnimationClips -+} -+#endif -+ - /** When this method is called, the writer must write the skin controller data. - * \return The writer should return true, if writing succeeded, false otherwise.*/ - bool DocumentImporter::writeSkinControllerData(const COLLADAFW::SkinControllerData *skin) -diff --git a/source/blender/collada/DocumentImporter.h b/source/blender/collada/DocumentImporter.h -index 17e61326032..5e9f899d42c 100644 ---- a/source/blender/collada/DocumentImporter.h -+++ b/source/blender/collada/DocumentImporter.h -@@ -49,8 +49,6 @@ - #include "MeshImporter.h" - #include "ImportSettings.h" - -- -- - struct bContext; - - /** Importer class. */ -@@ -108,6 +106,11 @@ public: - - bool writeAnimationList(const COLLADAFW::AnimationList*); - -+#if OPENCOLLADA_WITH_ANIMATION_CLIP -+ // Please enable this when building with Collada 1.6.65 or newer (also in DocumentImporter.cpp) -+ bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip); -+#endif -+ - bool writeGeometry(const COLLADAFW::Geometry*); - - bool writeMaterial(const COLLADAFW::Material*); Deleted: opencollada2.patch =================================================================== --- opencollada2.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ opencollada2.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,32 +0,0 @@ -commit 22bba02bc8109f392fce50a24a4825390bca1bda -Author: Gaia Clary <gaia.cl...@machinimatrix.org> -Date: Tue Dec 4 20:28:20 2018 +0100 - - fix T58568: used wrong case in variable name - -diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp -index 24b7fc4317d..7f93dd4823f 100644 ---- a/source/blender/collada/DocumentImporter.cpp -+++ b/source/blender/collada/DocumentImporter.cpp -@@ -1352,7 +1352,7 @@ bool DocumentImporter::writeAnimationList(const COLLADAFW::AnimationList *animat - #if OPENCOLLADA_WITH_ANIMATION_CLIP - // Since opencollada 1.6.68 - // called on post-process stage after writeVisualScenes --bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip) -+bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *animationClip) - { - if (mImportStage != General) - return true; -diff --git a/source/blender/collada/DocumentImporter.h b/source/blender/collada/DocumentImporter.h -index 5e9f899d42c..110389030de 100644 ---- a/source/blender/collada/DocumentImporter.h -+++ b/source/blender/collada/DocumentImporter.h -@@ -108,7 +108,7 @@ public: - - #if OPENCOLLADA_WITH_ANIMATION_CLIP - // Please enable this when building with Collada 1.6.65 or newer (also in DocumentImporter.cpp) -- bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip); -+ bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *animationClip); - #endif - - bool writeGeometry(const COLLADAFW::Geometry*); Deleted: openvdb3-abi.patch =================================================================== --- openvdb3-abi.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ openvdb3-abi.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bfea2dd1a97..c59aff4c62c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -252,6 +252,10 @@ option(WITH_OPENSUBDIV "Enable OpenSubdiv for surface subdivision" _init_OPEN - option(WITH_OPENVDB "Enable features relying on OpenVDB" OFF) - option(WITH_OPENVDB_BLOSC "Enable blosc compression for OpenVDB, only enable if OpenVDB was built with blosc support" OFF) - -+if(WITH_OPENVDB) -+ add_definitions(-DOPENVDB_3_ABI_COMPATIBLE=TRUE) -+endif() -+ - # GHOST Windowing Library Options - option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF) - mark_as_advanced(WITH_GHOST_DEBUG) -diff --git a/intern/openvdb/intern/openvdb_writer.cc b/intern/openvdb/intern/openvdb_writer.cc -index e886c5a76a8..bedcfe65552 100644 ---- a/intern/openvdb/intern/openvdb_writer.cc -+++ b/intern/openvdb/intern/openvdb_writer.cc -@@ -45,7 +45,7 @@ void OpenVDBWriter::insert(const openvdb::GridBase::Ptr &grid) - - void OpenVDBWriter::insert(const openvdb::GridBase &grid) - { --#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER == 3) -+#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER <= 3) || defined(OPENVDB_3_ABI_COMPATIBLE) - m_grids->push_back(grid.copyGrid()); - #else - m_grids->push_back(grid.copyGridWithNewTree()); Added: python3.7.patch =================================================================== --- python3.7.patch (rev 0) +++ python3.7.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -0,0 +1,13 @@ +diff --git a/object_facemap_auto/auto_fmap_widgets.py b/object_facemap_auto/auto_fmap_widgets.py +index 5b26f75..646e844 100644 +--- a/object_facemap_auto/auto_fmap_widgets.py ++++ b/object_facemap_auto/auto_fmap_widgets.py +@@ -324,7 +324,7 @@ class AutoFaceMapWidgetGroup(ManipulatorGroup): + + # foo;bar=baz;bonzo=bingo --> {"bar": baz", "bonzo": bingo} + mpr.fmap_target_rules = dict( +- item.partition("=")[::2] for item in fmap_rules, ++ item.partition("=")[::2] for item in fmap_rules + ) + + # XXX, we might want to have some way to extract a 'center' from a face-map Deleted: python37.patch =================================================================== --- python37.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ python37.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,40 +0,0 @@ -From 1db47a2ccd1e68994bf8140eba6cc2a26a2bc91f Mon Sep 17 00:00:00 2001 -From: Campbell Barton <ideasma...@gmail.com> -Date: Thu, 12 Jul 2018 08:28:06 +0200 -Subject: [PATCH] Fix PyRNA class registration w/ Python 3.7 - -In Python3.7 this now raises an error. ---- - source/blender/python/intern/bpy_rna.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c -index 9052b6f580a..80b0aa7a51b 100644 ---- a/source/blender/python/intern/bpy_rna.c -+++ b/source/blender/python/intern/bpy_rna.c -@@ -7577,10 +7577,12 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v - if (!(flag & PROP_REGISTER)) - continue; - -+ /* TODO(campbell): Use Python3.7x _PyObject_LookupAttr(), also in the macro below. */ - identifier = RNA_property_identifier(prop); - item = PyObject_GetAttrString(py_class, identifier); - - if (item == NULL) { -+ PyErr_Clear(); - /* Sneaky workaround to use the class name as the bl_idname */ - - #define BPY_REPLACEMENT_STRING(rna_attr, py_attr) \ -@@ -7596,6 +7598,9 @@ static int bpy_class_validate_recursive(PointerRNA *dummyptr, StructRNA *srna, v - } \ - Py_DECREF(item); \ - } \ -+ else { \ -+ PyErr_Clear(); \ -+ } \ - } /* intentionally allow else here */ - - if (false) {} /* needed for macro */ --- -2.18.0 - Deleted: tree_hpp.patch =================================================================== --- tree_hpp.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ tree_hpp.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,183 +0,0 @@ -diff --git a/intern/itasc/kdl/tree.hpp b/intern/itasc/kdl/tree.hpp -index c8a253fc901..bd35f82d185 100644 ---- a/intern/itasc/kdl/tree.hpp -+++ b/intern/itasc/kdl/tree.hpp -@@ -1,177 +1,177 @@ - // Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be> - - // Version: 1.0 - // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be> - // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be> - // URL: http://www.orocos.org/kdl - - // This library is free software; you can redistribute it and/or - // modify it under the terms of the GNU Lesser General Public - // License as published by the Free Software Foundation; either - // version 2.1 of the License, or (at your option) any later version. - - // This library is distributed in the hope that it will be useful, - // but WITHOUT ANY WARRANTY; without even the implied warranty of - // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - // Lesser General Public License for more details. - - // You should have received a copy of the GNU Lesser General Public - // License along with this library; if not, write to the Free Software - // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - #ifndef KDL_TREE_HPP - #define KDL_TREE_HPP - - #include "segment.hpp" - #include "chain.hpp" - - #include <string> - #include <map> - #include <Eigen/Core> - - namespace KDL - { - //Forward declaration - class TreeElement; - // Eigen allocator is needed for alignment of Eigen data types -- typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap; -+ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, TreeElement> > > SegmentMap; - - class TreeElement - { - public: - TreeElement():q_nr(0),parent(0) - {}; - public: - Segment segment; - unsigned int q_nr; - SegmentMap::value_type const *parent; - std::vector<SegmentMap::const_iterator > children; - TreeElement(const Segment& segment_in,const SegmentMap::value_type& parent_in,unsigned int q_nr_in) - { - q_nr=q_nr_in; - segment=segment_in; - parent=&parent_in; - }; - static TreeElement Root() - { - return TreeElement(); - }; - }; - - /** - * \brief This class encapsulates a <strong>tree</strong> - * kinematic interconnection structure. It is build out of segments. - * - * @ingroup KinematicFamily - */ - class Tree - { - private: - SegmentMap segments; - unsigned int nrOfJoints; - unsigned int nrOfSegments; - - bool addTreeRecursive(SegmentMap::const_iterator root, const std::string& tree_name, const std::string& hook_name); - - public: - /** - * The constructor of a tree, a new tree is always empty - */ - Tree(); - Tree(const Tree& in); - Tree& operator= (const Tree& arg); - - /** - * Adds a new segment to the end of the segment with - * hook_name as segment_name - * - * @param segment new segment to add - * @param segment_name name of the new segment - * @param hook_name name of the segment to connect this - * segment with. - * - * @return false if hook_name could not be found. - */ - bool addSegment(const Segment& segment, const std::string& segment_name, const std::string& hook_name); - - /** - * Adds a complete chain to the end of the segment with - * hook_name as segment_name. Segment i of - * the chain will get chain_name+".Segment"+i as segment_name. - * - * @param chain Chain to add - * @param chain_name name of the chain - * @param hook_name name of the segment to connect the chain with. - * - * @return false if hook_name could not be found. - */ - bool addChain(const Chain& chain, const std::string& chain_name, const std::string& hook_name); - - /** - * Adds a complete tree to the end of the segment with - * hookname as segment_name. The segments of the tree will get - * tree_name+segment_name as segment_name. - * - * @param tree Tree to add - * @param tree_name name of the tree - * @param hook_name name of the segment to connect the tree with - * - * @return false if hook_name could not be found - */ - bool addTree(const Tree& tree, const std::string& tree_name,const std::string& hook_name); - - /** - * Request the total number of joints in the tree.\n - * <strong> Important:</strong> It is not the same as the - * total number of segments since a segment does not need to have - * a joint. - * - * @return total nr of joints - */ - unsigned int getNrOfJoints()const - { - return nrOfJoints; - }; - - /** - * Request the total number of segments in the tree. - * @return total number of segments - */ - unsigned int getNrOfSegments()const {return nrOfSegments;}; - - /** - * Request the segment of the tree with name segment_name. - * - * @param segment_name the name of the requested segment - * - * @return constant iterator pointing to the requested segment - */ - SegmentMap::const_iterator getSegment(const std::string& segment_name)const - { - return segments.find(segment_name); - }; - - SegmentMap::value_type const* getSegmentPtr(const std::string& segment_name)const - { - SegmentMap::const_iterator it = segments.find(segment_name); - - if (it == segments.end()) - return 0; - - return &*it; - }; - - const SegmentMap& getSegments()const - { - return segments; - } - - virtual ~Tree(){}; - }; - } - #endif - - - - - Deleted: util_sseb.patch =================================================================== --- util_sseb.patch 2018-12-25 13:48:30 UTC (rev 418066) +++ util_sseb.patch 2018-12-25 14:05:40 UTC (rev 418067) @@ -1,13 +0,0 @@ -diff --git a/intern/cycles/util/util_sseb.h b/intern/cycles/util/util_sseb.h -index 6e669701f3b..9ffe391666a 100644 ---- a/intern/cycles/util/util_sseb.h -+++ b/intern/cycles/util/util_sseb.h -@@ -116,7 +116,7 @@ __forceinline const sseb unpacklo( const sseb& a, const sseb& b ) { return _mm_u - __forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); } - - template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a ) { -- return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)); -+ return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0))); - } - - template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) {