diff -Nru graphics/blender.orig/files/patch-osl110 graphics/blender/files/patch-osl110 --- graphics/blender.orig/files/patch-osl110 1970-01-01 09:30:00.000000000 +0930 +++ graphics/blender/files/patch-osl110 2018-12-03 18:18:35.197873000 +1030 @@ -0,0 +1,168 @@ +--- intern/cycles/kernel/shaders/node_brick_texture.osl.orig 2018-12-03 16:56:43 UTC ++++ intern/cycles/kernel/shaders/node_brick_texture.osl +@@ -19,10 +19,10 @@ + + /* Brick */ + +-float brick_noise(int n) /* fast integer noise */ ++float brick_noise(int ns) /* fast integer noise */ + { + int nn; +- n = (n + 1013) & 2147483647; ++ int n = (ns + 1013) & 2147483647; + n = (n >> 13) ^ n; + nn = (n * (n * n * 60493 + 19990303) + 1376312589) & 2147483647; + return 0.5 * ((float)nn / 1073741824.0); +@@ -30,7 +30,7 @@ float brick_noise(int n) /* fast integer noise */ + + float brick(point p, float mortar_size, float mortar_smooth, float bias, + float BrickWidth, float row_height, float offset_amount, int offset_frequency, +- float squash_amount, int squash_frequency, float tint) ++ float squash_amount, int squash_frequency, output float tint) + { + int bricknum, rownum; + float offset = 0.0; +--- intern/cycles/kernel/shaders/node_checker_texture.osl.orig 2018-12-03 16:56:43 UTC ++++ intern/cycles/kernel/shaders/node_checker_texture.osl +@@ -19,11 +19,12 @@ + + /* Checker */ + +-float checker(point p) ++float checker(point ip) + { +- p[0] = (p[0] + 0.000001) * 0.999999; +- p[1] = (p[1] + 0.000001) * 0.999999; +- p[2] = (p[2] + 0.000001) * 0.999999; ++ point p; ++ p[0] = (ip[0] + 0.000001) * 0.999999; ++ p[1] = (ip[1] + 0.000001) * 0.999999; ++ p[2] = (ip[2] + 0.000001) * 0.999999; + + int xi = (int)fabs(floor(p[0])); + int yi = (int)fabs(floor(p[1])); +--- intern/cycles/kernel/shaders/node_environment_texture.osl.orig 2018-12-03 16:56:43 UTC ++++ intern/cycles/kernel/shaders/node_environment_texture.osl +@@ -25,8 +25,9 @@ vector environment_texture_direction_to_equirectangular(vector dir) + return vector(u, v, 0.0); + } + +-vector environment_texture_direction_to_mirrorball(vector dir) ++vector environment_texture_direction_to_mirrorball(vector idir) + { ++ vector dir = idir; + dir[1] -= 1.0; + + float div = 2.0 * sqrt(max(-0.5 * dir[1], 0.0)); +--- intern/cycles/kernel/shaders/node_musgrave_texture.osl.orig 2018-12-03 16:56:43 UTC ++++ intern/cycles/kernel/shaders/node_musgrave_texture.osl +@@ -26,13 +26,14 @@ + * from "Texturing and Modelling: A procedural approach" + */ + +-float noise_musgrave_fBm(point p, float H, float lacunarity, float octaves) ++float noise_musgrave_fBm(point ip, float H, float lacunarity, float octaves) + { + float rmd; + float value = 0.0; + float pwr = 1.0; + float pwHL = pow(lacunarity, -H); + int i; ++ point p = ip; + + for (i = 0; i < (int)octaves; i++) { + value += safe_noise(p, "signed") * pwr; +@@ -54,13 +55,14 @@ float noise_musgrave_fBm(point p, float H, float lacunarity, float octaves) + * octaves: number of frequencies in the fBm + */ + +-float noise_musgrave_multi_fractal(point p, float H, float lacunarity, float octaves) ++float noise_musgrave_multi_fractal(point ip, float H, float lacunarity, float octaves) + { + float rmd; + float value = 1.0; + float pwr = 1.0; + float pwHL = pow(lacunarity, -H); + int i; ++ point p = ip; + + for (i = 0; i < (int)octaves; i++) { + value *= (pwr * safe_noise(p, "signed") + 1.0); +@@ -83,12 +85,13 @@ float noise_musgrave_multi_fractal(point p, float H, float lacunarity, float oct + * offset: raises the terrain from `sea level' + */ + +-float noise_musgrave_hetero_terrain(point p, float H, float lacunarity, float octaves, float offset) ++float noise_musgrave_hetero_terrain(point ip, float H, float lacunarity, float octaves, float offset) + { + float value, increment, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; ++ point p = ip; + + /* first unscaled octave of function; later octaves are scaled */ + value = offset + safe_noise(p, "signed"); +@@ -118,13 +121,14 @@ float noise_musgrave_hetero_terrain(point p, float H, float lacunarity, float oc + * offset: raises the terrain from `sea level' + */ + +-float noise_musgrave_hybrid_multi_fractal(point p, float H, float lacunarity, ++float noise_musgrave_hybrid_multi_fractal(point ip, float H, float lacunarity, + float octaves, float offset, float gain) + { + float result, signal, weight, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; ++ point p = ip; + + result = safe_noise(p, "signed") + offset; + weight = gain * result; +@@ -156,13 +160,14 @@ float noise_musgrave_hybrid_multi_fractal(point p, float H, float lacunarity, + * offset: raises the terrain from `sea level' + */ + +-float noise_musgrave_ridged_multi_fractal(point p, float H, float lacunarity, ++float noise_musgrave_ridged_multi_fractal(point ip, float H, float lacunarity, + float octaves, float offset, float gain) + { + float result, signal, weight; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; ++ point p = ip; + + signal = offset - fabs(safe_noise(p, "signed")); + signal *= signal; +--- intern/cycles/kernel/shaders/node_noise_texture.osl.orig 2018-12-03 16:56:43 UTC ++++ intern/cycles/kernel/shaders/node_noise_texture.osl +@@ -19,9 +19,10 @@ + + /* Noise */ + +-float noise(point p, float distortion, float detail, float fac, color Color) ++float noise(point ip, float distortion, float detail, output color Color) + { + point r; ++ point p = ip; + int hard = 0; + + if (distortion != 0.0) { +@@ -32,7 +33,7 @@ float noise(point p, float distortion, float detail, float fac, color Color) + p += r; + } + +- fac = noise_turbulence(p, detail, hard); ++ float fac = noise_turbulence(p, detail, hard); + + Color = color(fac, noise_turbulence(point(p[1], p[0], p[2]), detail, hard), + noise_turbulence(point(p[1], p[2], p[0]), detail, hard)); +@@ -55,6 +56,6 @@ shader node_noise_texture( + if (use_mapping) + p = transform(mapping, p); + +- Fac = noise(p * Scale, Distortion, Detail, Fac, Color); ++ Fac = noise(p * Scale, Distortion, Detail, Color); + } + diff -Nru graphics/blender.orig/files/patch-source_blender_collada_DocumentImporter.cpp graphics/blender/files/patch-source_blender_collada_DocumentImporter.cpp --- graphics/blender.orig/files/patch-source_blender_collada_DocumentImporter.cpp 1970-01-01 09:30:00.000000000 +0930 +++ graphics/blender/files/patch-source_blender_collada_DocumentImporter.cpp 2018-12-03 07:41:41.798881000 +1030 @@ -0,0 +1,14 @@ +--- source/blender/collada/DocumentImporter.cpp.orig 2018-12-03 07:38:07 UTC ++++ source/blender/collada/DocumentImporter.cpp +@@ -1340,6 +1340,11 @@ bool DocumentImporter::writeAnimationLis + return anim_importer.write_animation_list(animationList); + } + ++bool DocumentImporter::writeAnimationClip(const COLLADAFW::AnimationClip *AnimationClip) ++{ ++ return true; ++} ++ + /** 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 -Nru graphics/blender.orig/files/patch-source_blender_collada_DocumentImporter.h graphics/blender/files/patch-source_blender_collada_DocumentImporter.h --- graphics/blender.orig/files/patch-source_blender_collada_DocumentImporter.h 1970-01-01 09:30:00.000000000 +0930 +++ graphics/blender/files/patch-source_blender_collada_DocumentImporter.h 2018-12-03 07:41:57.367251000 +1030 @@ -0,0 +1,11 @@ +--- source/blender/collada/DocumentImporter.h.orig 2018-12-03 07:38:12 UTC ++++ source/blender/collada/DocumentImporter.h +@@ -107,6 +107,8 @@ public: + bool writeAnimation(const COLLADAFW::Animation*); + + bool writeAnimationList(const COLLADAFW::AnimationList*); ++ ++ bool writeAnimationClip( const COLLADAFW::AnimationClip* ); + + bool writeGeometry(const COLLADAFW::Geometry*); + diff -Nru graphics/blender.orig/Makefile graphics/blender/Makefile --- graphics/blender.orig/Makefile 2018-12-04 14:14:32.712426000 +1030 +++ graphics/blender/Makefile 2018-12-03 08:19:19.344059000 +1030 @@ -24,9 +24,7 @@ # libraries are used, if either of the most common options in blender # are set. We will pull boost in just to be on the safe side. -# 10.4 fails to build with clang3.4 so we want to use clang50 -# clang50 is already in place for opengl -USES= cmake:outsource compiler:c++14-lang desktop-file-utils \ +USES= cmake:outsource desktop-file-utils \ jpeg python:3.5 shebangfix USE_XORG= x11 xext xfixes xmu xrender USE_GL= gl glu glew @@ -69,10 +67,10 @@ CYCLESOSL_IMPLIES= CYCLES CYCLESOSL_CMAKE_BOOL= WITH_CYCLES_OSL WITH_LLVM CYCLESOSL_CMAKE_ON= -DLLVM_STATIC:BOOL=OFF \ - -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config40" -CYCLESOSL_BUILD_DEPENDS= llvm-config40:devel/llvm40 + -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config60" +CYCLESOSL_BUILD_DEPENDS= llvm-config60:devel/llvm60 CYCLESOSL_LIB_DEPENDS= liboslcomp.so:graphics/openshadinglanguage -CYCLESOSL_RUN_DEPENDS= llvm-config40:devel/llvm40 +CYCLESOSL_RUN_DEPENDS= llvm-config60:devel/llvm60 DDS_CMAKE_BOOL= WITH_IMAGE_DDS FFMPEG_CMAKE_BOOL= WITH_CODEC_FFMPEG FFMPEG_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg