Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Dec 2018 18:27:51 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r486971 - in head/graphics/blender: . files
Message-ID:  <201812081827.wB8IRpQ7080982@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Sat Dec  8 18:27:51 2018
New Revision: 486971
URL: https://svnweb.freebsd.org/changeset/ports/486971

Log:
  graphics/blender: Changes to adapt to updated dependencies
  
  - Changes needed for blender to work with OSL 1.10.x
  - Switch to using llvm60 and patch included osl scripts.
  - Also includes support for opencollada >= 1.6.65
  
  PR:		225942
  Submitted by:	Shane Ambler <FreeBSD@ShaneWare.Biz>

Added:
  head/graphics/blender/files/patch-osl110   (contents, props changed)
  head/graphics/blender/files/patch-source_blender_collada_DocumentImporter.cpp   (contents, props changed)
  head/graphics/blender/files/patch-source_blender_collada_DocumentImporter.h   (contents, props changed)
Modified:
  head/graphics/blender/Makefile

Modified: head/graphics/blender/Makefile
==============================================================================
--- head/graphics/blender/Makefile	Sat Dec  8 18:08:08 2018	(r486970)
+++ head/graphics/blender/Makefile	Sat Dec  8 18:27:51 2018	(r486971)
@@ -24,8 +24,7 @@ RUN_DEPENDS=	${PYNUMPY}
 # 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=compiler is needed to support gcc built archs
 USES=		cmake:outsource compiler:c++14-lang desktop-file-utils \
 		jpeg python:3.5 shebangfix
 USE_XORG=	x11 xext xfixes xmu xrender
@@ -69,10 +68,10 @@ CYCLES_CMAKE_BOOL=		WITH_CYCLES
 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

Added: head/graphics/blender/files/patch-osl110
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-osl110	Sat Dec  8 18:27:51 2018	(r486971)
@@ -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);
+ }
+ 

Added: head/graphics/blender/files/patch-source_blender_collada_DocumentImporter.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-source_blender_collada_DocumentImporter.cpp	Sat Dec  8 18:27:51 2018	(r486971)
@@ -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)

Added: head/graphics/blender/files/patch-source_blender_collada_DocumentImporter.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/blender/files/patch-source_blender_collada_DocumentImporter.h	Sat Dec  8 18:27:51 2018	(r486971)
@@ -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*);
+ 



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