diff options
| author | Natanael Copa <ncopa@alpinelinux.org> | 2020-01-02 08:06:46 +0000 |
|---|---|---|
| committer | Natanael Copa <ncopa@alpinelinux.org> | 2020-01-02 11:23:29 +0000 |
| commit | 8283ba556ffe47eaf56e968ae54e4883dc04143d (patch) | |
| tree | ae820777f80b4db9e8f5b6e1e1987ced1ac666a6 /testing | |
| parent | 13b4d2dddb44d7c8268a63912d97380543ed30ff (diff) | |
| download | aports-8283ba556ffe47eaf56e968ae54e4883dc04143d.tar.bz2 aports-8283ba556ffe47eaf56e968ae54e4883dc04143d.tar.xz | |
testing/blender: upgrade to 2.81a
Diffstat (limited to 'testing')
| -rw-r--r-- | testing/blender/APKBUILD | 39 | ||||
| -rw-r--r-- | testing/blender/blender-2.78a-musl.patch | 67 | ||||
| -rw-r--r-- | testing/blender/ffmpeg4.0.patch | 113 | ||||
| -rw-r--r-- | testing/blender/gcc8.patch | 196 | ||||
| -rw-r--r-- | testing/blender/musl-fixes.patch | 78 | ||||
| -rw-r--r-- | testing/blender/openimageio-lib.patch | 13 | ||||
| -rw-r--r-- | testing/blender/python-3.8.patch | 49 |
7 files changed, 160 insertions, 395 deletions
diff --git a/testing/blender/APKBUILD b/testing/blender/APKBUILD index f02359e87d..f41af20b9b 100644 --- a/testing/blender/APKBUILD +++ b/testing/blender/APKBUILD @@ -1,43 +1,43 @@ # Contributor: Mark Riedesel <mark@klowner.com> # Maintainer: Mark Riedesel <mark@klowner.com> pkgname=blender -pkgver=2.79b +pkgver=2.81a _pkgver=${pkgver/[a-z]} -pkgrel=7 +pkgrel=0 pkgdesc="3D Creation/Animation/Publishing System" url="https://www.blender.org/" arch="x86_64" license="GPL-2.0-or-later" depends="blender-shared=$pkgver-r$pkgrel" -makedepends="cmake libx11-dev jpeg-dev zlib-dev libpng-dev freetype-dev python3-dev +makedepends="cmake libx11-dev libjpeg-turbo-dev zlib-dev libpng-dev freetype-dev python3-dev openimageio-dev opencolorio-dev glew-dev openal-soft-dev ffmpeg-dev fftw-dev tiff-dev mesa-dev libxi-dev libsndfile-dev libxmu-dev boost-dev - openexr-dev py3-numpy-dev opensubdiv-dev" + openexr-dev py3-numpy-dev opensubdiv-dev lzo-dev libxrender-dev openjpeg-dev" subpackages="$pkgname-doc $pkgname-shared::noarch $pkgname-headless $pkgname-player py3-$pkgname:python" -source="http://download.blender.org/source/${pkgname}-${pkgver}.tar.gz - blender-2.78a-musl.patch - gcc8.patch - ffmpeg4.0.patch +source="https://download.blender.org/source/blender-$_pkgver.tar.xz + musl-fixes.patch + python-3.8.patch + openimageio-lib.patch " -builddir="$srcdir"/$pkgname-$pkgver +builddir="$srcdir"/$pkgname-$_pkgver build() { # Headless cd "$builddir" - mkdir "$builddir"/build-headless + mkdir -p "$builddir"/build-headless cd "$builddir"/build-headless _build -C../build_files/cmake/config/blender_headless.cmake # Full cd "$builddir" - mkdir "$builddir"/build-full + mkdir -p "$builddir"/build-full cd "$builddir"/build-full _build -C../build_files/cmake/config/blender_full.cmake # Python module cd "$builddir" - mkdir "$builddir"/build-py + mkdir -p "$builddir"/build-py cd "$builddir"/build-py _build -C../build_files/cmake/config/bpy_module.cmake @@ -52,10 +52,11 @@ _build() { -DWITH_PYTHON_INSTALL:BOOL=OFF \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_OPENCOLORIO:BOOL=ON \ + -DWITH_IMAGE_OPENEXR=ON \ + -DWITH_IMAGE_OPENJPEG=ON \ + -DWITH_TBB:BOOL=OFF \ + -DWITH_SYSTEM_LZO=ON \ -DPYTHON_VERSION=$PY_VERSION \ - -DPYTHON_LIBPATH=/usr/lib \ - -DPYTHON_LIBRARY=python${PY_VERSION}m \ - -DPYTHON_INCLUDE_DIRS=/usr/include/python${PY_VERSION}m \ -DNO_EXECINFO:BOOL=ON make } @@ -111,7 +112,7 @@ python() { ln -s /usr/share/blender/${_pkgver} "$subpkgdir"/usr/lib/python${PY_VERSION}/site-packages/${_pkgver} } -sha512sums="2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f blender-2.79b.tar.gz -47e8a6a017cea8c004d7e4205f201f167dd81ba95a4aadf9e55d01e81cc4a23e4d7f1d6aa7a6d1300fe3a5f5c98c664f584e7551fcde7fb1137147e2438f7ed5 blender-2.78a-musl.patch -59cc54ddc772ed02db8e6ef94b18bad5c7ec8c1bb8cdc2231a6747063ac386f31a77e58322acf32ef4d5d9278ac0449bbf78e440134bfb612d1c86bb67f9df55 gcc8.patch -446dd46557c7c976a68010c62e04693c61171980abea1cd0a900b00bcc3d525b83bb6ee200739623110e592e37e8f4783a18f234b40e9f85483830ea9785640d ffmpeg4.0.patch" +sha512sums="b7eed47afc4bdb87e9e8a579565935ae8489459197fb9b5978285cfe255ea4fc4151a1178526857921f3b2d54cf63b68dda66586565340f7bfd4274b82e7e9ff blender-2.81.tar.xz +f931712c27d5012f1fb01b97107eba9e3bc195c0aafb0a1e782030b5eedf8beb4d15153b46464492098974e17e0b0a1659a078e811423b5a27cdd350209d90c3 musl-fixes.patch +d95456d26bcf0b28776d4b36a20a210235b11b2ee32b6f051c88d08199792484811573b55f1850f3c1cda816d491ef332de1fe81421b761a7b4be515df726b4e python-3.8.patch +42ed74bfae38721b7e8301dfe00a97cba0b25886cb39017620d442f9403386b5ca68daa0907d003e210ae01321986772c9721ea3de512701e6565d60a19f0c8e openimageio-lib.patch" diff --git a/testing/blender/blender-2.78a-musl.patch b/testing/blender/blender-2.78a-musl.patch deleted file mode 100644 index 1ffd09cd57..0000000000 --- a/testing/blender/blender-2.78a-musl.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff -ru blender-2.78.orig/CMakeLists.txt blender-2.78a/CMakeLists.txt ---- blender-2.78.orig/CMakeLists.txt 2016-10-25 12:09:56.000000000 +0000 -+++ blender-2.78a/CMakeLists.txt 2017-02-07 14:50:03.967828817 +0000 -@@ -181,6 +181,18 @@ - set(_init_SDL OFF) - set(_init_FFTW3 OFF) - set(_init_OPENSUBDIV OFF) -+ # musl-libc related checks (missing execinfo.h, and feenableexcept()) -+ include(CheckIncludeFiles) -+ check_include_files(execinfo.h HAVE_EXECINFO_H) -+ if (HAVE_EXECINFO_H) -+ add_definitions(-DHAVE_EXECINFO_H) -+ endif() -+ -+ include(CheckLibraryExists) -+ check_library_exists(m feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT) -+ if (HAVE_FEENABLEEXCEPT) -+ add_definitions(-DHAVE_FEENABLEEXCEPT) -+ endif() - elseif(WIN32) - set(_init_JACK OFF) - elseif(APPLE) -diff -ru blender-2.78.orig/intern/guardedalloc/intern/mallocn_intern.h blender-2.78a/intern/guardedalloc/intern/mallocn_intern.h ---- blender-2.78.orig/intern/guardedalloc/intern/mallocn_intern.h 2016-09-28 09:26:55.000000000 +0000 -+++ blender-2.78a/intern/guardedalloc/intern/mallocn_intern.h 2017-02-07 14:44:35.213040733 +0000 -@@ -52,7 +52,7 @@ - #undef HAVE_MALLOC_STATS - #define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */ - --#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || defined(__GLIBC__) -+#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || defined(__GLIBC__) - # include <malloc.h> - # define HAVE_MALLOC_STATS - #elif defined(__FreeBSD__) -diff -ru blender-2.78.orig/source/blender/blenlib/intern/system.c blender-2.78a/source/blender/blenlib/intern/system.c ---- blender-2.78.orig/source/blender/blenlib/intern/system.c 2016-10-25 09:59:23.000000000 +0000 -+++ blender-2.78a/source/blender/blenlib/intern/system.c 2017-02-07 14:44:35.213040733 +0000 -@@ -31,7 +31,7 @@ - #include "MEM_guardedalloc.h" - - /* for backtrace */ --#if defined(__linux__) || defined(__APPLE__) -+#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || defined(__APPLE__) - # include <execinfo.h> - #elif defined(WIN32) - # include <windows.h> -@@ -77,7 +77,7 @@ - { - /* ------------- */ - /* Linux / Apple */ --#if defined(__linux__) || defined(__APPLE__) -+#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || defined(__APPLE__) - - #define SIZE 100 - void *buffer[SIZE]; -diff -ru blender-2.78.orig/source/creator/creator_signals.c blender-2.78a/source/creator/creator_signals.c ---- blender-2.78.orig/source/creator/creator_signals.c 2016-10-24 14:13:56.000000000 +0000 -+++ blender-2.78a/source/creator/creator_signals.c 2017-02-07 14:47:01.888625973 +0000 -@@ -309,7 +309,7 @@ - * set breakpoints on sig_handle_fpe */ - signal(SIGFPE, sig_handle_fpe); - --# if defined(__linux__) && defined(__GNUC__) -+# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT) - feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); - # endif /* defined(__linux__) && defined(__GNUC__) */ - # if defined(OSX_SSE_FPE) diff --git a/testing/blender/ffmpeg4.0.patch b/testing/blender/ffmpeg4.0.patch deleted file mode 100644 index 4fd7801bc3..0000000000 --- a/testing/blender/ffmpeg4.0.patch +++ /dev/null @@ -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) { diff --git a/testing/blender/gcc8.patch b/testing/blender/gcc8.patch deleted file mode 100644 index c3aafd8593..0000000000 --- a/testing/blender/gcc8.patch +++ /dev/null @@ -1,196 +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 - - - - - -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 ) { diff --git a/testing/blender/musl-fixes.patch b/testing/blender/musl-fixes.patch new file mode 100644 index 0000000000..89ecee7087 --- /dev/null +++ b/testing/blender/musl-fixes.patch @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0c2e4f8..5b7b747 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,6 +185,18 @@ if(UNIX AND NOT APPLE) + set(_init_OPENSUBDIV OFF) + set(_init_OPENVDB OFF) + set(_init_OPENIMAGEDENOISE OFF) ++ # musl-libc related checks (missing execinfo.h, and feenableexcept()) ++ include(CheckIncludeFiles) ++ check_include_files(execinfo.h HAVE_EXECINFO_H) ++ if (HAVE_EXECINFO_H) ++ add_definitions(-DHAVE_EXECINFO_H) ++ endif() ++ ++ include(CheckLibraryExists) ++ check_library_exists(m feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT) ++ if (HAVE_FEENABLEEXCEPT) ++ add_definitions(-DHAVE_FEENABLEEXCEPT) ++ endif() + elseif(WIN32) + set(_init_JACK OFF) + elseif(APPLE) +diff --git a/intern/guardedalloc/intern/mallocn_intern.h b/intern/guardedalloc/intern/mallocn_intern.h +index e6e0907..6868a88 100644 +--- a/intern/guardedalloc/intern/mallocn_intern.h ++++ b/intern/guardedalloc/intern/mallocn_intern.h +@@ -40,7 +40,8 @@ + #undef HAVE_MALLOC_STATS + #define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */ + +-#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \ ++#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) \ ++ || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \ + defined(__GLIBC__) + # include <malloc.h> + # define HAVE_MALLOC_STATS +diff --git a/source/blender/blenlib/intern/system.c b/source/blender/blenlib/intern/system.c +index 941c2b6..2b710a4 100644 +--- a/source/blender/blenlib/intern/system.c ++++ b/source/blender/blenlib/intern/system.c +@@ -38,7 +38,9 @@ + # include <dbghelp.h> + # pragma warning(pop) + #else +-# include <execinfo.h> ++# if defined(HAVE_EXECINFO_H) ++# include <execinfo.h> ++# endif + # include <unistd.h> + #endif + +diff --git a/source/creator/creator_signals.c b/source/creator/creator_signals.c +index e8c6e92..5b54ea9 100644 +--- a/source/creator/creator_signals.c ++++ b/source/creator/creator_signals.c +@@ -329,7 +329,7 @@ void main_signal_setup_fpe(void) + * set breakpoints on sig_handle_fpe */ + signal(SIGFPE, sig_handle_fpe); + +-# if defined(__linux__) && defined(__GNUC__) ++# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT) + feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); + # endif /* defined(__linux__) && defined(__GNUC__) */ + # if defined(OSX_SSE_FPE) +diff --git a/source/blender/blenlib/intern/system.c b/source/blender/blenlib/intern/system.c +index 2b710a4..0e2948c 100644 +--- a/source/blender/blenlib/intern/system.c ++++ b/source/blender/blenlib/intern/system.c +@@ -83,7 +83,7 @@ void BLI_system_backtrace(FILE *fp) + { + /* ------------- */ + /* Linux / Apple */ +-#if defined(__linux__) || defined(__APPLE__) ++#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || defined(__APPLE__) + + # define SIZE 100 + void *buffer[SIZE]; diff --git a/testing/blender/openimageio-lib.patch b/testing/blender/openimageio-lib.patch new file mode 100644 index 0000000000..81d2a20936 --- /dev/null +++ b/testing/blender/openimageio-lib.patch @@ -0,0 +1,13 @@ +diff --git a/build_files/cmake/Modules/FindOpenImageIO.cmake b/build_files/cmake/Modules/FindOpenImageIO.cmake +index 5652e16..9358cc7 100644 +--- a/build_files/cmake/Modules/FindOpenImageIO.cmake ++++ b/build_files/cmake/Modules/FindOpenImageIO.cmake +@@ -71,7 +71,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG + OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) + + IF(OPENIMAGEIO_FOUND) +- SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) ++ SET(OPENIMAGEIO_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${OPENIMAGEIO_LIBRARY}) + SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) + IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp) + SET(OPENIMAGEIO_PUGIXML_FOUND TRUE) diff --git a/testing/blender/python-3.8.patch b/testing/blender/python-3.8.patch new file mode 100644 index 0000000000..c26934e344 --- /dev/null +++ b/testing/blender/python-3.8.patch @@ -0,0 +1,49 @@ +Index: blender-2.80_patched/source/blender/python/generic/py_capi_utils.c +=================================================================== +--- blender-2.80_patched/source/blender/python/generic/py_capi_utils.c ++++ blender-2.80_patched/source/blender/python/generic/py_capi_utils.c +@@ -717,9 +717,11 @@ + ****************************************************************************/ + PyObject *PyC_DefaultNameSpace(const char *filename) + { +- PyInterpreterState *interp = PyThreadState_GET()->interp; ++ PyObject *modules = PyImport_GetModuleDict(); ++ PyObject *builtins = PyDict_GetItemString(modules, "builtins"); ++ + PyObject *mod_main = PyModule_New("__main__"); +- PyDict_SetItemString(interp->modules, "__main__", mod_main); ++ PyDict_SetItemString(modules, "__main__", mod_main); + Py_DECREF(mod_main); /* sys.modules owns now */ + PyModule_AddStringConstant(mod_main, "__name__", "__main__"); + if (filename) { +@@ -727,8 +729,8 @@ + * note: this wont map to a real file when executing text-blocks and buttons. */ + PyModule_AddObject(mod_main, "__file__", PyC_UnicodeFromByte(filename)); + } +- PyModule_AddObject(mod_main, "__builtins__", interp->builtins); +- Py_INCREF(interp->builtins); /* AddObject steals a reference */ ++ PyModule_AddObject(mod_main, "__builtins__", builtins); ++ Py_INCREF(builtins); /* AddObject steals a reference */ + return PyModule_GetDict(mod_main); + } + +@@ -755,15 +757,15 @@ + /* restore MUST be called after this */ + void PyC_MainModule_Backup(PyObject **main_mod) + { +- PyInterpreterState *interp = PyThreadState_GET()->interp; +- *main_mod = PyDict_GetItemString(interp->modules, "__main__"); ++ PyObject *modules = PyImport_GetModuleDict(); ++ *main_mod = PyDict_GetItemString(modules, "__main__"); + Py_XINCREF(*main_mod); /* don't free */ + } + + void PyC_MainModule_Restore(PyObject *main_mod) + { +- PyInterpreterState *interp = PyThreadState_GET()->interp; +- PyDict_SetItemString(interp->modules, "__main__", main_mod); ++ PyObject *modules = PyImport_GetModuleDict(); ++ PyDict_SetItemString(modules, "__main__", main_mod); + Py_XDECREF(main_mod); + } + |
